[FEATURE] Plan mode creates silent session split — no way to track or resume the original planning session
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
When using Plan mode with accept edits on, Claude Code silently creates a new session when transitioning to implementation. This session split is:
Undocumented — There is no mention in the official docs that enabling "accept edits" in Plan mode creates a separate session.
Invisible to the user — The user has no indication that a new session ID has been created when accept edits is toggled on. The transition happens silently.
Untrackable — There is no CLI command to list session IDs. --resume only shows a fuzzy picker with message previews (no session IDs visible), --continue only resumes the most recent session, and the only way to find session UUIDs is to manually inspect .jsonl files in ~/.claude/projects/.
This means if a user starts a planning session and then enables "accept edits," Claude proceeds in a new session, and the user loses easy access to the original planning context. The plan session and implementation session are disconnected with no clear way to navigate between them.
Proposed Solution
Several improvements would help:
1. Show session ID on session transitions
When Plan mode spawns an implementation session, display a message like:
📋 Plan session: 7ba133c0-...
🔨 Starting implementation session: 95244245-...
2. Add claude --sessions or claude --list-sessions command
A CLI command to list recent sessions with metadata:
$ claude --list-sessions
SESSION ID CREATED TYPE FIRST MESSAGE
95244245-... 2025-02-19 14:30 impl Implementing auth module...
7ba133c0-... 2025-02-19 14:25 plan Plan: Add authentication...
3. Show session IDs in --resume picker
The existing fuzzy picker should display session IDs alongside message previews so users can identify and reference specific sessions.
4. Link related sessions
Plan and implementation sessions should be linked. When resuming an implementation session, there should be a way to reference or jump back to the parent plan session (e.g., claude --resume 95244245 --show-plan).
Alternative Solutions
Current workarounds are all manual and fragile:
- Inspecting
.jsonlfiles directly:ls -lt ~/.claude/projects/<project-path>/to find session files by timestamp, then manually correlating UUIDs from filenames. - Using hooks: Setting up
PostToolUsehooks to log session IDs to a separate file, but this requires custom configuration and isn't a built-in solution. - Using
--continue: Only works for the most recent session. If you've started any other session after enabling "accept edits" in Plan mode, the original plan session is effectively lost without file inspection.
None of these are discoverable or user-friendly.
Priority
Low - Nice to have
Feature Category
Performance and speed
Use Case Example
- I start a Claude Code session and switch to Plan mode (shift+tab) to plan an authentication module for my project
- Claude creates a detailed plan (session ID:
7ba133c0-...) — I review and approve it - I enable "accept edits" and Claude begins implementation, which silently creates a new session (
95244245-...) - I step away. When I come back, I run
claude -c— this resumes the implementation session, not the plan - I want to review the original plan to check something, but I have no way to find or resume session
7ba133c0-... claude --resumeshows a fuzzy picker but without session IDs, I can't distinguish the plan session from others- My only option is to manually dig through
~/.claude/projects/directory to find the.jsonlfile
With the proposed feature, I could simply run claude --list-sessions to see both sessions and their relationship, or the implementation session would show me how to get back to the plan.
Additional Context
- Environment: macOS, Claude Code CLI
- Related: This is somewhat similar to #26820 (Show /resume command alongside claude --resume on session exit), but goes deeper — the core issue is that enabling "accept edits" in Plan mode silently creates a new session, and session IDs are not exposed through any CLI interface.
- Session storage location:
~/.claude/projects/<encoded-project-path>/<session-uuid>.jsonl - The only current way to discover session IDs is by listing these files with
ls -ltand correlating timestamps.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗