claude-code - 💡(How to fix) Fix [FEATURE] Add delete_scheduled_task to the scheduled-tasks MCP (Cowork)

Official PRs (…)
ON THIS PAGE

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

The Cowork scheduled-tasks MCP exposes only create_scheduled_task, list_scheduled_tasks, and update_scheduled_task. There is no delete_scheduled_task. Disabled or obsolete tasks accumulate in the list permanently and cannot be removed from inside Claude Code.

Error Message

  • Returns a clear result: { deleted: true, taskId } or an error if the taskId does not exist.

Root Cause

The Cowork scheduled-tasks MCP exposes only create_scheduled_task, list_scheduled_tasks, and update_scheduled_task. There is no delete_scheduled_task. Disabled or obsolete tasks accumulate in the list permanently and cannot be removed from inside Claude Code.

Fix Action

Fix / Workaround

  • Cannot maintain a clean task list. Old experiments and renamed tasks remain visible forever.
  • Workaround (closing Claude Code, editing the file, reopening) is fragile and loses the active session.
  • update_scheduled_task accepts no delete: true flag, so even a privileged side-channel deletion is unavailable.
RAW_BUFFERClick to expand / collapse

Summary

The Cowork scheduled-tasks MCP exposes only create_scheduled_task, list_scheduled_tasks, and update_scheduled_task. There is no delete_scheduled_task. Disabled or obsolete tasks accumulate in the list permanently and cannot be removed from inside Claude Code.

Reproduction

  1. Create two tasks via create_scheduled_task (or via the Cowork UI).
  2. Disable one of them by calling update_scheduled_task(taskId: "...", enabled: false).
  3. Call list_scheduled_tasks — the disabled task still appears.
  4. There is no MCP method to remove it.

Editing the underlying state file does not help: the MCP keeps the canonical state in memory and rewrites the file every few minutes, restoring the entries.

Tested state file (Windows): %APPDATA%\Claude\claude-code-sessions\<accountId>\<sessionId>\scheduled-tasks.json

Observed sequence on my machine (2026-05-17):

  • 11:03 — file shows 5 tasks (4 disabled, 1 active).
  • 11:04 — I edited the file on disk to remove the 4 disabled entries (file shrunk to ~80 KB, 1 entry).
  • 11:07 — MCP server rewrote the file (back to 232 KB, 5 entries).
  • 11:08 — Disk again shows 5 tasks; list_scheduled_tasks likewise.

Impact

  • Cannot maintain a clean task list. Old experiments and renamed tasks remain visible forever.
  • Workaround (closing Claude Code, editing the file, reopening) is fragile and loses the active session.
  • update_scheduled_task accepts no delete: true flag, so even a privileged side-channel deletion is unavailable.

Proposed fix

Add delete_scheduled_task(taskId) to the MCP:

  • Removes the entry from in-memory state and from the persisted state file in the same atomic write.
  • Refuses if enabled: true unless force: true is provided (safety check against accidental deletion of live schedules).
  • Returns a clear result: { deleted: true, taskId } or an error if the taskId does not exist.

Environment

  • Claude Code version: 2.1.138
  • OS: Windows 11
  • MCP server: built-in scheduled-tasks (Cowork)

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING