| description | Save and resume development sessions across conversations - preserves context, decisions, and progress for continuity |
|---|---|
| argument-hint | save|resume|list [name] |
| version | 1.0.1 |
.claude/sessions/
├── active.json # Current session pointer
└── <session-id>/
├── metadata.json # Session info (name, created, branch, task)
├── context.md # Decisions, architecture, key context
├── progress.json # Completed steps, current step, blockers
└── files.json # Key files being worked on
Save current session state for later resumption.
-
Create session directory with timestamp ID
-
Capture metadata:
- Session name (from argument or auto-generate from task)
- Current git branch
- Timestamp
- Brief task description
-
Write context.md with:
- What we're building and why
- Key architectural decisions made
- Important constraints or requirements
- Current approach and alternatives considered
-
Write progress.json with:
- Completed steps
- Current step in progress
- Known blockers or open questions
- Next steps planned
-
Write files.json with:
- Key files being modified
- Files to review on resume
-
Update active.json to point to this session
Example:
/session save "auth-refactor"Resume a saved session.
- Load session from
.claude/sessions/<id>/ - Read and present context.md summary
- Show progress status
- List key files for quick orientation
- Ask if ready to continue from last step
If no name/id provided, resume the active session (from active.json).
Example:
/session resume auth-refactor
/session resume # Resume active sessionShow all saved sessions with:
- Session name and ID
- Creation date
- Branch
- Brief task description
- Progress status (X of Y steps)
Sort by most recently modified.
When saving context, capture decisions that matter for resumption:Good context entries:
- "Using event-driven architecture for loose coupling between services"
- "Chose PostgreSQL over MongoDB for ACID compliance requirements"
- "Auth flow: JWT with refresh tokens, 15min access / 7day refresh"
Skip transient details:
- Specific error messages (they'll be different on resume)
- File contents (read them fresh)
- Conversation history (that's what context.md replaces)
{
"completed": [
"Set up database schema",
"Implement user model",
"Add authentication middleware"
],
"current": "Writing login endpoint tests",
"blockers": ["Need to decide on rate limiting strategy"],
"next": ["Implement password reset flow", "Add email verification"]
}Ask before auto-saving: "Save session before [action]? (y/n)"
When resuming a session:- Orient: "Resuming session 'auth-refactor' from 2 hours ago"
- Context: Brief summary of what we were doing and key decisions
- Progress: "Completed 3 of 7 steps. Currently on: Writing login tests"
- Blockers: Any open questions or blockers noted
- Ready check: "Ready to continue with [current step]?"
This gets the user (and Claude) back up to speed quickly without re-explaining everything.
Session files may contain sensitive information including architectural decisions, code context, and file paths. The `.claude/sessions/` directory is gitignored by default.Never commit session data to version control. Review session contents before sharing with team members.
Save sessions when: - Ending a work session (lunch, EOD, context switch) - Before risky operations - At major milestones - When you'd want to remember "where was I?"Resume sessions when:
- Starting a new Claude Code conversation
- Returning to a task after a break
- Handing off to another developer
- Context got compacted and you lost state