Continuation checkpoints.
Preserve enough selected project state to continue after a rate limit, context compaction, or intentional agent switch. Checkpoints are ordinary local packets—not transcripts or hidden model memory.
Enable Claude Code checkpoints
$ notch onboard --yes --mcp claude-code --checkpoints prompt
prompt asks before the agent writes a semantic checkpoint. Choose auto to write at configured milestones, script for deterministic recovery fallbacks only, or off to remove the 3Notch-owned hooks.
Optional --checkpoint-stop evaluates every Claude response. It can produce frequent checkpoints, so onboarding warns before enabling it.
What the recovery layer records
TaskCreatedandTaskCompletedaggregate structured task progress without creating one packet per checklist item.PostCompactuses Claude Code's documentedcompact_summary.StopFailure:rate_limituses accumulated tasks and Git state when recoverable work exists.- Optional
Stopuses the final assistant message and deduplicates unchanged state.
Fallbacks include branch, short commit, dirty state, and changed-file names. They do not copy file contents or artifacts automatically.
Resume safely
At the next session start, 3Notch offers the latest matching checkpoint once. The agent must not load the packet body until you confirm. Every automatic or agent-authored checkpoint is unreviewed and targets next-agent.
Streams resolve from an explicit override, the current Git branch, a detached commit, or default. Each new checkpoint explicitly supersedes the latest checkpoint in that stream.
Privacy boundary
- Hook scripts never open
transcript_path. - Ignored accumulators live under
.notch/index/continuation/. - Project checkpoints may appear in Git; private checkpoints use ignored
.notch/private/outbox/. - Private mode intentionally enables local MCP private reads and warns during setup.
- 3Notch never commits, pushes, imports, or transports a checkpoint automatically.
A fallback cannot recover reasoning that was never reflected in a task, compact summary, Git state, final message, or prior semantic checkpoint.