[FEATURE]
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
Here's something that happens to me pretty much every day: I run a Claude Code session, get a solid chunk of work done — refactors, a set of fixes, a feature half-built — and then I have to close the terminal and walk away. Maybe it's the end of the day. Maybe I need to hand the work off to a teammate. Maybe I just need to context-switch for a few hours.
When I come back and start a new session, Claude Code has no memory of what just happened. It can read the files that were changed, sure — but it doesn't know why those decisions were made. It doesn't know what was tried and abandoned. It doesn't know what's still half-done, what the next logical step was, or what edge cases came up mid-session that need attention.
The automatic compaction that exists today is great for keeping a session alive longer, but it's lossy and not designed for cross-session continuity. /resume helps with direct continuation but doesn't help when a session is truly done and you want a clean start that still has full situational awareness. There's a real gap here between "session ended" and "next session starts cold."
Proposed Solution
When a session ends — either via /exit, an idle timeout, or a new SessionEnd hook — Claude Code automatically generates a structured handoff briefing and writes it to a well-known location, something like .claude/handoff.md. Think of it as the kind of note a senior engineer leaves when they hand a task to someone else mid-flight.
The briefing would cover roughly:
1)What was accomplished this session (files changed, why, key decisions made)
2)What was tried and explicitly abandoned, and the reason
3)What's still in progress or intentionally left half-done
4)Recommended next steps, in priority order
Any gotchas, edge cases, or open questions that came up and weren't fully resolved
On the next claude invocation in the same project, if a handoff.md exists and is recent (say, less than 24 hours old), Claude Code would surface it automatically — something low-friction like: "Looks like you left off working on the auth refactor. Want me to pick up where you left off?" — and then consume and archive the file so it doesn't clutter the next session's context.
Alternative Solutions
_No response_
Priority
High - Significant impact on productivity
Feature Category
Configuration and settings
Use Case Example
_No response_
Additional Context
I'm not prescriptive about the implementation — the team knows the internals better than I do — but a rough mental model:
- fires at session end, generates the briefing
Session End hook → claude summarize-session → .claude/handoff.md
2.on next startup, reads and surfaces if recent
claude startup → check handoff.md age → prompt user → archive to .claude/handoffs/
The SessionEnd hook infrastructure could also expose this as a building block for teams who want to customize what goes into the handoff — pipe it to Slack, post it as a PR comment, append it to a project log. The core behavior could be on by default with a generateHandoff: false opt-out in settings for anyone who doesn't want it.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗