[BUG] Scheduled-task MCP tools (list_scheduled_tasks / update_scheduled_task) missing from session context on Windows — existing local tasks can't be read or edited by prompt
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
The scheduled-task MCP tools are not present in session context.
Per the Desktop scheduled tasks docs, a session can "list, create, edit, and pause tasks by asking Claude in any Desktop session," and update_scheduled_task is documented as callable from a running session. In practice neither list_scheduled_tasks nor update_scheduled_task exists in the tool context — no mcp__scheduled-tasks__* server is registered at all.
Tested on the same Windows machine in two surfaces:
- Cowork remote session (
entrypoint: remote_cowork) - Code tab with the environment dropdown set to Local
Both are missing the tools. They are absent from context, not present-and-erroring.
Result: an existing local scheduled task cannot be read or edited by prompt. The Routines Edit form and hand-editing ~/.claude/scheduled-tasks/<task-name>/SKILL.md are the only remaining paths. This also breaks the documented self-rescheduling behaviour, where a running task modifies its own prompt or schedule via update_scheduled_task.
The task itself is healthy — it appears in the Routines list and its runs execute normally. It is only unreachable from session context.
Concrete case: a task named "Obsidian Daily Knowledge Sync" whose prompt needed a block inserted at a specific position, with a possible conflict against rules already in the prompt. Doing that merge safely is exactly what a session could have done and now cannot.
What Should Happen?
list_scheduled_tasks returns local scheduled tasks with their ids and SKILL.md paths, and update_scheduled_task replaces a task's prompt — as described under "Manage scheduled tasks" in https://code.claude.com/docs/en/desktop-scheduled-tasks.
If cloud Cowork sessions are intentionally unable to reach local task definitions, that is reasonable, but the docs say "any Desktop session" and should be corrected. The local Code session failing looks like a genuine bug either way.
Error Messages/Logs
No error is raised — the tools are simply absent. Evidence gathered in-session:
ToolSearch "select:mcp__scheduled-tasks__list_scheduled_tasks,mcp__scheduled-tasks__update_scheduled_task"
-> No matching deferred tools found
list_triggers (Claude Code Remote MCP), including include_completed: true
-> {"data":[],"has_more":false}
CronList
-> No scheduled jobs.
No mcp__scheduled-tasks__* server appears anywhere in the session's tool listing.
Session metadata: {"entrypoint":"remote_cowork","version":"2.1.237"}
Steps to Reproduce
- On Windows, create a local scheduled task from the Routines page (Routines → New routine → Local). Give it a folder and any prompt. Confirm it appears in the Routines list and that its runs execute.
- Open a Cowork session on the same machine. Ask Claude to list your scheduled tasks, or have it run
ToolSearchforlist_scheduled_tasks/update_scheduled_task.
→ No such tools exist in context.
- Open the Code tab, set the environment dropdown to Local, start a session, and repeat step 2.
→ Same result: tools absent from context.
- Re-check the Routines list — the task is still there and still healthy.
Expected at steps 2 and 3: the tools resolve, and list_scheduled_tasks returns the task with its id and SKILL.md path.
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.237 (Cowork session runtime — see Additional Information)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Other
Additional Information
Possibly the same root cause as #29022 (create_scheduled_task not injected into session context on Windows Cowork, labeled a regression). That issue covers the create path via the /schedule skill; this is the read and update path, and it also reproduces in a local Code session. Filed separately and cross-linked rather than appended there.
Version note — please read, the version field above is not a normal one. The "Claude Code Version" field contains the Cowork session runtime version (2.1.237) read from session metadata, not the desktop app build number. The desktop app's own version could not be read from inside the product: computer_resolve_access on "Claude" returns no resolvable app, so the app will not expose Settings → About to a session it is hosting. Chrome, Firefox, Obsidian and Outlook all resolve on the same device. I checked the "latest version" preflight box on the assumption that the desktop app auto-updates, but I could not verify the build — please treat that box as unconfirmed rather than attested. Happy to add the real build number in a comment.
Regression status: left unchecked deliberately. I have no evidence this path ever worked, so I'm not claiming a regression. #29022 was reported as one for the adjacent create path.
Docs referenced: https://code.claude.com/docs/en/desktop-scheduled-tasks
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗