Reproduced on 0.1.8-nightly.20261108.4380. schedule_task with scheduledTaskId + freshSession: true returns success, but scheduled_tasks.thread_mode stays new_thread. Saving the same task through scheduledTasks.upsert (the Settings path) stores fresh_session. Any of #31696, #31649, #32367 fixes it.
[Bug]: schedule_task silently drops freshSession when updating an existing task#32258
What happens
Updating an existing scheduled task with freshSession: true returns success, but the saved task still has freshSession: false. The field isn't applied, and no error or warning is given. The same field works when creating a task.
Repro
- Have an existing bound scheduled task with
freshSession: false(in our case afixed_timeweekly task bound to a thread). - Call
schedule_taskwith only{ scheduledTaskId, projectId, freshSession: true }. - The response, and a later
list_scheduled_tasks, both showfreshSession: false. Prompt, schedule and enabled state stay unchanged. - Adding
bindToCurrentThread: trueto the update doesn't help. - By contrast, creating a new task with
bindToCurrentThread: true, freshSession: truereturns and persistsfreshSession: true.
Reproduced on three separate tasks (two fixed_time daily, one weekly). Prompt updates on the same tasks apply fine.
Expected
An update with freshSession changes the stored value, as the tool description says ("only given fields change"). If changing it on an existing task isn't supported, the call should be rejected with an error rather than reported as a success.
Impact The only way to switch an existing routine to fresh sessions is to delete it and recreate it, which changes its id and loses its run history.