[BUG] Deleted routine stays in sidebar; opening it shows loading spinner + 'not found' stuck simultaneously (Desktop, Windows)
Preflight Checklist
- [x] I have searched existing issues and this specific combination (stale sidebar entry pointing to an already-deleted local routine, detail panel stuck in a simultaneous loading+error state) hasn't been reported yet
- [x] This is a single bug report
- [x] I am using the latest version of Claude Code
What's Wrong?
In the Desktop app's "Routines" panel (local scheduled tasks), the sidebar keeps listing a routine that has already been deleted on the backend. Clicking the stale entry opens a detail panel that gets stuck showing a loading spinner and a "this routine could not be found" error at the same time, indefinitely — it never resolves to either "loaded" or a clean "not found" state, and the stale entry never disappears from the sidebar list on its own.
I confirmed this from main.log (Windows, Desktop app), not just from the visual symptom:
2026-09-11 14:46:05 [info] [CCDScheduledTasksApi] updateScheduledTaskStatus: scheduledTaskId=idle-session-candidates, status=deleted, removeFiles=undefined
2026-09-11 14:46:05 [info] [CCDScheduledTasks] Deleted scheduled task: idle-session-candidates
2026-09-11 14:46:05 [info] Skipping archive of active session local_fc14a95e-477c-4e56-b01a-c93c71461f88 for deleted scheduled task idle-session-candidates
So the backend/main process confirms the task record was deleted (and explicitly chose to leave its still-open associated session un-archived). Roughly 35+ minutes later, the renderer sidebar was still showing that routine as a clickable list item, and clicking it produced the stuck loading+error UI described above (screenshot attached by the user in the originating session).
Before the deletion, this same scheduled task had been failing to dispatch new runs for a long time — main.log shows it being skipped roughly once a minute for ~19 hours straight:
2026-09-10 19:35:10 [info] [CCDScheduledTasks] Skipping dispatch for idle-session-candidates: per_task_limit (active=1, limit=1)
... (repeats ~once/minute until the delete at 2026-09-11 14:46:05)
I don't know for certain whether the deletion at 14:46:05 was a manual UI action or some automatic cleanup reacting to the long-stuck active=1 state — I could only confirm the deletion itself and its effects from the logs, not its trigger. I'm flagging this in case it's relevant context for the same root cause.
What Should Happen?
- When a routine/scheduled task is deleted on the backend, the sidebar "Routines" list should stop showing it (or at least mark it clearly as removed) instead of leaving a stale clickable entry indefinitely.
- If a stale/deleted entry is still clicked, the detail panel should settle into one state (e.g. a clean "not found, remove from list?" prompt) rather than showing the loading spinner and the not-found error simultaneously forever.
Steps to Reproduce
I could not cleanly re-trigger this live (it looks like a race between routine deletion and sidebar cache invalidation), so this is reconstructed from main.log, not repeatedly reproduced by hand:
- Have a local scheduled task/routine that is stuck unable to dispatch new runs (e.g. stuck at
per_task_limit (active=1, limit=1)because a prior run's session never closes/archives). - At some point the scheduled task gets deleted on the backend (
CCDScheduledTasksApi.updateScheduledTaskStatus(status=deleted)), while a session tied to it is still open — the app explicitly skips archiving that session ("Skipping archive of active session ... for deleted scheduled task ..."). - The sidebar "Routines" panel still lists the deleted routine.
- Click the stale routine entry in the sidebar.
- Observed: the main panel shows a spinning loading indicator and "이 루틴을 찾을 수 없습니다" ("This routine could not be found") with a "루틴" (Routines) button underneath, at the same time, and stays that way. <!-- mask:allow -->
Related
- #88522 — a cloud routine (claude.ai/code routines API) disappeared from the list entirely with no delete action visible to the user. Different surface (cloud vs. this app's local scheduled tasks) and a different symptom (vanished from the list vs. ours where the stale entry stays and produces a stuck loading+error UI), but same broad area: routines getting deleted through a path the user didn't knowingly trigger.
- #83600 — recurring scheduled tasks "silently disappear" from the list. Again the opposite UI symptom from ours (task missing vs. task still shown but broken), so likely not the same bug, but close enough in subsystem to be worth cross-referencing.
- #86115 — paused/disabled scheduled tasks disappearing from the Routines list; also the opposite direction of stale-entry-not-removed, but same list-sync subsystem.
None of the above describe the specific combination here: a deleted routine remaining in the sidebar and its detail view getting stuck showing a loading spinner and a not-found error simultaneously.
Claude Model
None (this is a Desktop app UI/harness issue, not a model behavior issue)
Is this a regression?
Unknown — no prior-version baseline available.
Last Working Version
_No response_
Claude Code Version
Desktop app 1.46388.4 (Electron shell), CCD harness 2.1.260 (claude-code\2.1.260\claude.exe). Note: an update to Desktop app 1.52386.0 / CCD 2.1.266 was downloaded and pending install around the same time, but the process actually serving the session (and showing the stuck panel) was still on 1.46388.4 / 2.1.260.
Operating System
Windows 10 Home 10.0.19045 (x64)
Terminal/Shell
N/A — Desktop app UI, not a terminal session
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗