CronCreate with durable=true still reports and behaves as session-only

Resolved 💬 4 comments Opened Apr 21, 2026 by washyaderner Closed Apr 21, 2026

Summary

CronCreate accepts durable: true without error, but the resulting job is session-only — it is not written to disk and dies when Claude Code exits. The tool's own schema describes durable mode as writing to .claude/scheduled_tasks.json and surviving restarts; the observed behavior contradicts that.

Repro

CronCreate({
  cron: "7 9 12 5 *",
  recurring: false,
  durable: true,
  prompt: "..."
})

Expected

Per the tool description: "durable: true = persist to .claude/scheduled_tasks.json and survive restarts."

Actual

  1. Tool response message: Scheduled one-shot task 6e43fbac (7 9 12 5 *). Session-only (not written to disk, dies when Claude exits). It will fire once then auto-delete.
  2. CronList reports the job as [session-only].
  3. No ~/.claude/scheduled_tasks.json file is created (only a scheduled_tasks.lock is present).

Impact

Users following the documented behavior to set long-horizon reminders get silent no-ops at session exit. No warning, no schema-level rejection — just the task disappearing.

Suggested fix

Either implement durable persistence as described, or reject durable: true at schema validation until implemented (preferred: fail loud rather than silently downgrade).

Environment

  • Claude Code CLI on Darwin 25.3.0 (macOS)
  • Model: claude-opus-4-7 (1M context)
  • Date observed: 2026-04-21

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗