circuit
Concepts

Continuity

How a new session picks up the goal, next action, and run state an earlier one saved.

Continuity lets a new session pick up where an earlier one left off. A continuity record holds the goal, next action, and the intent to resume, plus the run state when it is saved against a live run. A continuity index picks which record is active.

Continuity is an ambient layer, not a new workflow. Flows stay the spine of how work gets done; continuity keeps their context from evaporating when a session ends.

How it works

Save, resume, or clear continuity with circuit handoff:

circuit handoff save --goal '<goal>' --next '<next action>'
circuit handoff resume
circuit handoff done

Each record carries a resume contract: the declared posture for how the next session resumes. A manual save always requires an explicit resume, so a new session never picks the work back up on its own.

In Claude Code this works with zero setup; the plugin ships the hooks. A SessionStart hook injects the saved brief into a fresh session, and Stop, SessionEnd, and PreCompact hooks harvest the live transcript into an automatic snapshot, so recent state is captured ambiently even when nothing was saved. Codex runs the SessionStart hook only, after a one-time install (below).

Resolving the active record

When several records exist, the index prefers a deliberate save over an automatic snapshot:

  • A manual save (pending_record) outranks an automatic snapshot.
  • The automatic snapshot is the fallback when nothing manual is pending.
  • An automatic snapshot is framed as context, not a plan; resume it only when asked.
yes no Records exist Manual save pending? Resume the manual save · explicit Automatic snapshot · context only

Codex setup

Claude Code ships the hooks. On Codex, install them once per machine:

circuit handoff hooks install --host codex

On this page