AgentSkillsCN

session-recovery

针对 Claude Code 会话问题进行故障排查。常见触发因素包括:未找到对话、会话缺失、会话损坏等。

SKILL.md
--- frontmatter
name: session-recovery
description: Troubleshoot Claude Code session issues. TRIGGERS - No conversations found, missing sessions, session corruption.
allowed-tools: Read, Bash

Claude Code Session Recovery Skill

When to Use This Skill

Use this skill when:

  • "No conversations found to resume" when running claude -r
  • New conversations not creating session files
  • Sessions appearing in wrong locations (/tmp/ instead of ~/.claude/projects/)
  • Session history missing after environment changes
  • IDE/terminal settings affecting session creation
  • Need to migrate or recover 600+ legacy sessions

Quick Reference

Official Session Storage

Standard Location: ~/.claude/projects/

Structure:

code
~/.claude/projects/
├── -home-username-my-project/     # Encoded absolute path
│   └── 364695f1-13e7-4cbb-ad4b-0eb416feb95d.jsonl
└── -tmp-another-project/
    └── a8e39846-ceca-421d-b4bd-3ba0eb1b3145.jsonl

Format: One JSON event per line (JSONL), UUID-based filenames

Critical Pitfall: HOME Variable

Problem

Claude Code uses $HOME environment variable to determine session storage location. If $HOME is incorrect, sessions go to wrong directory or disappear.

Symptoms

  • claude -r shows "No conversations found to resume"
  • New conversations work but files don't appear in expected location
  • Sessions found in /tmp/ or other unexpected paths
  • Works on one machine but not another

Diagnosis

bash
/usr/bin/env bash << 'PREFLIGHT_EOF'
# Step 1: Check current HOME
echo "Current HOME: $HOME"

# Step 2: Check system expectation
echo "Expected HOME: $(getent passwd $(whoami) | cut -d: -f6)"

# Step 3: Find where Claude is actually writing
find /tmp -name "*.jsonl" -path "*/.claude/projects/*" 2>/dev/null
PREFLIGHT_EOF

Reference Documentation

For detailed diagnostic steps and solutions, see:


Troubleshooting

IssueCauseSolution
"No conversations found"Wrong HOME variableVerify $HOME matches expected user directory
Sessions in /tmp/HOME set incorrectlyFix HOME in shell profile, restart terminal
Session files missingDisk space or permissionsCheck ~/.claude/projects/ permissions and disk
Wrong project sessions shownPath encoding mismatchCheck encoded path matches current working directory
Sessions not persistingFile system issuesVerify write permissions to ~/.claude/projects/
IDE sessions separateDifferent HOME per environmentEnsure consistent HOME across terminal and IDE
Legacy sessions not visibleMigration not completeSee migration section in TROUBLESHOOTING.md
UUID filename corruptionIncomplete writesCheck for partial .jsonl files, remove corrupt ones