| name | session-history |
| description | Access session history to continue work, see what happened, or search past sessions. Use this instead of relying on memory - the raw data is always more accurate. |
Session History
Core principle: Less context stuffing, more lookup. Your memory degrades (context rot), but the raw session data doesn't.
Quick Commands
SH=~/.claude/skills/session-history/session.sh
$SH status
$SH list
$SH tail 10
$SH prompts
$SH summaries
$SH grep "search term"
$SH files
Commands Reference
| Command | Description |
|---|
status | Overview: current + previous session summaries |
list | All sessions with first prompt and summaries |
current | Print current session ID |
previous | Print previous session ID |
tail [n] [id] | Last N messages (default: 10, current session) |
prompts [id] | All user prompts from session |
summaries [id] | Auto-generated summaries |
grep <term> | Search across all project sessions |
files [id] | Files touched (from tool calls) |
When to Use
- Starting work →
$SH status to see where things left off
- Context rot →
$SH tail 20 to see what you ACTUALLY did recently
- Continue previous →
$SH prompts $(session.sh previous)
- Find past work →
$SH grep "feature name"
How It Works
Adhoc sessions (you just ran claude):
- Derives project from current working directory
- Sessions stored in
~/.claude/projects/<encoded-cwd>/
Worker agents (HumanWork orchestrated):
- Context injected via
HW_SESSION_DIR and HW_SESSION_ID
- Same commands, explicit context
Data Location
~/.claude/projects/<encoded-cwd>/
├── <session-id>.jsonl ← each session
└── ...
JSONL contains:
- type: "user" → user prompts
- type: "assistant" → responses (with tool calls)
- type: "summary" → auto-generated summaries
- type: "file-history-snapshot" → file state
Example: Continue From Last Session
SH=~/.claude/skills/session-history/session.sh
$SH status
$SH prompts $($SH previous)
$SH files $($SH previous)