Capture the current session into a structured handoff file so you (or another instance) can resume with full context. Creates a timestamped Markdown file in .claude/sessions/.
Produce a handoff document with the following structure:
[One paragraph: the goal, the approach, where things stand right now]
[List every file that was created, edited, or deleted, with the nature of the change]
path/to/file.ts - [what changed and why]
path/to/other.ts - [what changed and why]
[Architectural choices, tradeoffs accepted, approaches rejected and why]
[Where things are right now: what's working, what's broken, what's in-progress]
[The exact next actions to take to continue, specific enough that a fresh context can pick up without re-reading everything]
path/to/file.ts - [what to do][Files that must be read to resume with full understanding, keep this list short]
path/to/key-file.ts: [why it matters]CLAUDE.md: project rules[Anything unresolved that needs a decision or external input before proceeding]
Save the handoff to .claude/sessions/handoff-[YYYY-MM-DD-HHMM].md. Then output the file path so the user knows where to find it.
To resume from a handoff:
/session-resume .claude/sessions/handoff-YYYY-MM-DD-HHMM.md
Or manually: read the handoff file, then read the files listed in "Context to Reload" before continuing.
/session-save
Claude captures:
src/middleware/auth.ts, src/middleware/jwt.ts)refreshToken() in src/services/auth.service.ts, then update testsWhen context hits 70%, run /session-save before /compact to preserve decision context that compaction might lose.
See also: