CronCreate: durable:true flag silently dropped, task runs as session-only
Bug: CronCreate with durable: true silently dropped — task runs as session-only
Model: claude-opus-4-7
Observed: 2026-04-18, reproduced 2026-04-21
Severity: Medium — no errors, but durable cron is effectively unavailable (silent-fail)
Summary
When invoking the CronCreate tool with durable: true, the flag is silently ignored. The tool returns the standard success response noting the task is "Session-only (not written to disk, dies when Claude exits)" — even though durable was explicitly requested. .claude/scheduled_tasks.json is never written.
Expected behaviour
With durable: true, the scheduled task should persist across Claude Code sessions, be written to .claude/scheduled_tasks.json, and fire on schedule whether or not a REPL is active.
Actual behaviour
durable: trueis accepted without warning or error- Tool response says
"Session-only (not written to disk, dies when Claude exits)" .claude/scheduled_tasks.jsonis not created- Task dies when the session ends
Reproduction
Invoke CronCreate with any valid schedule and durable: true. Compare the response text to what's documented for durable tasks. Check whether .claude/scheduled_tasks.json was written.
Workaround currently in use
Bypassed via crontab + tmux send-keys dispatcher:
crontab -lentries invoke.claude/scripts/cron-dispatch.sh <automation-name>- Dispatcher uses
tmux send-keysto push an invocation prompt into a persistentclaude-agentpane - A launchd plist (
com.sani.claude-channel) keeps the pane alive and relaunches Claude if the REPL exits
This works, but it's a fair bit of plumbing for what durable: true should handle natively.
Suggested fix
Either:
- Honour
durable: trueby writing to.claude/scheduled_tasks.jsonand running a persistent scheduler, or - Reject the flag explicitly with an error so callers aren't silently downgraded
Silent downgrade is the worst outcome — users who pass the flag believe they have durability until the first cross-session miss.
Environment
- Claude Code CLI
- macOS (Darwin 21.6.0)
- Model:
claude-opus-4-7
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗