name: freeze description: Freeze this session's state for later resumption with claude --resume when_to_use: When pausing work sessions to reclaim memory and wanting to resume them later allowed-tools: Bash(ls *), Bash(basename *), Bash(head ), Bash(tr ), Bash(date ), Bash(git status:), Bash(git branch:), Bash(git log:), Read, Write
Freeze Session
Freeze this session so it can be resumed later with claude --resume <session-id>.
Run /freeze in only ONE session at a time. The session detection relies on this being the most recently active session for this project.
Step 1: Detect Your Session ID
This session's JSONL file is the most recently modified one (because this skill is actively executing right now):
PROJECT_HASH=$(echo "$PWD" | tr '/.' '-')
SESSION_FILE=$(ls -t ~/.claude/projects/${PROJECT_HASH}/*.jsonl | head -1)
SESSION_ID=$(basename "$SESSION_FILE" .jsonl)
echo "Session ID: $SESSION_ID"
Store the UUID — this is your session's resume ID.
Step 2: Gather Objective State
git branch --show-current
git status --short
Step 3: Introspect and Summarize
YOU must introspect deeply on this conversation. Think about:
- What was the main task or feature being worked on?
- What specific decisions were made?
- What's done vs. still in progress?
- What was the VERY NEXT thing you were about to do?
- Which files matter most?
Be specific — a fresh Claude reading this needs enough context to continue seamlessly. Don't be generic ("working on frontend stuff"). Be precise ("building the drug candidate comparison table component in src/frontend/components/ComparisonTable.tsx, had just finished the sorting logic and was about to add the filter dropdown").
Step 4: Write to Freeze File
Create or append to .claude/frozen-sessions/sessions.md.
If the file doesn't exist, create it with this header:
# Frozen Sessions
Run `/thaw` in a fresh Claude session to get resume commands.
---
Then append an entry in this exact format:
## [Short 2-4 Word Label]
- **Session ID**: `<uuid>`
- **Resume**: `claude --resume <uuid>`
- **Branch**: `<branch-name>`
- **What we were doing**: <1-3 sentences — be specific about the task, not vague>
- **Current status**: <what's done, what's in progress, any blockers>
- **Immediate next step**: <the very next concrete action to take>
- **Key files**: <most important files, comma-separated>
- **Frozen**: <YYYY-MM-DD HH:MM>
---
Step 5: Confirm to User
Tell the user:
- This session is frozen — show the resume command
- They can safely close this terminal
- Remind: run
/freezein remaining sessions before closing them - When ready to resume all sessions, start a fresh Claude and run
/thaw