CronCreate session-scoped jobs never fire even when REPL is idle (2.1.111 desktop app)
Bug
Session-scoped CronCreate jobs (default durable: false) do not fire within the active session, even when the REPL is idle.
The tool schema documents: "Jobs only fire while the REPL is idle (not mid-query)" - but empirical evidence shows jobs never fire even across long idle periods (session waiting for user, no active work, no pending tool calls).
Reproduction
- Open Claude Code desktop app (2.1.111 on Windows 11)
- Call
CronCreatewith a near-future one-shot:
{
"cron": "5 20 23 4 *",
"prompt": "ping",
"recurring": false
}
- Tool returns "Session-only (not written to disk, dies when Claude exits)" - expected for
durable: false - Leave session idle (no prompts, no tool calls) past the scheduled time
- Job never fires - no output, no notification, nothing appears in the session
Expected
At the scheduled time, while REPL is idle, the scheduled prompt should fire and produce model output in the current session (per documented CronCreate behavior).
Additional observations
.claude/scheduled_tasks.lockis created whenCronCreateis called.claude/scheduled_tasks.jsonis never written, even withdurable: true(see #40228)- Issue persists for ~7 days across many sessions
- Desktop app reports "You are running the latest version" at 2.1.111 (CLI is already 2.1.114)
- Problem affects both
durable: false(this issue) anddurable: true(#40228)
Environment
- Claude Code desktop app 2.1.111
- Windows 11
- Model: Claude Opus 4.7 (1M context)
- Multiple CWDs tested (gadki + programming sessions)
Related
- #40228 -
durable: trueflag ignored,scheduled_tasks.jsonnever written - #44128 - desktop app lifecycle blocking scheduled tasks
Workaround
None found that fires in the current session. mcp__scheduled-tasks__create_scheduled_task works but spawns a new session instead of firing in the current one - not a substitute for in-session scheduling.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗