[FEATURE]

Resolved 💬 4 comments Opened Apr 6, 2026 by lochanharishwar Closed May 19, 2026

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:

  1. 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.

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗