/handoff — Session Handoff Generator
When the user types /handoff, your job is to produce one self-contained message they can paste into a brand new Claude Code session and pick up exactly where they left off. No back-and-forth, no "what were we doing?", no lost state.
What to do
Re-read the current conversation in your context. Mentally separate:
- The goal (what the user is ultimately trying to accomplish in this session)
- The state (what's already been done, decided, or built)
- The next move (what was about to happen when /handoff was called)
- The traps (anything tried that didn't work, dead ends, gotchas the next session needs to know)
Write the handoff message using the template below. Output it as a single fenced code block so it's one-click copyable.
After the code block, copy the handoff text to the system clipboard automatically:
- macOS:
pbcopy - Linux:
xclip -selection clipboardorwl-copy(Wayland) - Windows (WSL or Git Bash):
clip.exe
Detect the platform and use the right command. If none are available, skip silently — the user can still copy from the code block.
- macOS:
End with one short line: "Copied. Paste this into a fresh session." (or "Ready to copy from the block above." if clipboard tooling wasn't available).
Handoff template
Fill every section. Keep each one tight. No filler, no restating what the next Claude can infer from the artifacts. If a section genuinely doesn't apply, write n/a rather than removing it.
# Session handoff from previous Claude Code conversation
## What I'm trying to do
<1-3 sentence statement of the overall goal>
## Where we left off
<bullet list of the current state: files created/modified, decisions made, what's working, what's half-done>
## Key files & paths
<absolute paths to any file the next session will need to read or edit, with a one-line note on each>
## What was just about to happen
<the very next step that was queued up when /handoff was called>
## Things that already failed / dead ends
<approaches tried that didn't work, errors hit, or gotchas, so the next session doesn't repeat them. "n/a" if clean.>
## Important context the next Claude needs
<any user preferences surfaced this session, external IDs, account IDs, URLs, credentials locations, in-flight decisions that aren't yet saved anywhere>
## Pick up by
<one concrete first action for the next session, e.g. "Read X, then run Y">
Rules
- Be specific. "We were working on the landing page" is useless. "We were editing the hero copy in
src/app/page.tsxto test a new headline variant; the current draft is at line 42" is useful. - Include absolute file paths so the next session can
Readthem directly. - Quote exact strings for IDs, URLs, error messages, and credentials locations. Paraphrasing loses information.
- Don't restate CLAUDE.md or persistent memory files. The next session auto-loads those. Only mention things from them if they were overridden or contradicted this session.
- Keep it under ~400 words. Thorough, not bloated. If you're approaching 500 words, you're including stuff the next Claude can re-derive.
- Don't include this conversation's tool-call noise. Summarize outcomes, not the path taken to get there.
Output shape
Your response to /handoff should be exactly:
- A fenced code block containing the filled-in handoff template.
- A clipboard copy command (platform-aware, see above).
- One closing line confirming clipboard copy (or that the block is ready to copy manually).
Nothing else. No preamble, no "here's your handoff," no postscript.
Built by @tenfoldmarc. Follow for daily AI automation builds, real systems not theory.