| name | claude-code-history |
| description | Query and summarize Claude Code terminal session history |
| triggers | ["claude code sessions","what was I working on","terminal history","continue where I left off","last session","what did I do in claude"] |
Claude Code History
Purpose
Query the user's Claude Code terminal session history to:
- See what projects were worked on recently
- Summarize specific sessions
- Provide context for picking up where he left off
- Search across terminal conversations
Note: This is read-only and on-demand. We don't auto-sync or store this data.
Data Location
Claude Code stores data at /hosthome/.claude/:
| Path | Contains |
|---|
history.jsonl | User messages with timestamps, projects, session IDs |
projects/<project-path>/ | Full conversation logs per session |
todos/ | Task lists from sessions |
Common Queries
List Recent Sessions
tail -50 /hosthome/.claude/history.jsonl | \
jq -r '[.timestamp, .project, .display[:80]] | @tsv' | \
column -t -s $'\t'
Find Sessions for a Project
ls -lt /hosthome/.claude/projects/-home-user-Workspace-myproject/ 2>/dev/null | head -10
grep -i "myproject" /hosthome/.claude/history.jsonl | \
jq -r '[(.timestamp/1000 | strftime("%Y-%m-%d %H:%M")), .display[:60]] | @tsv' | \
tail -20
Read a Session's Conversation
LATEST=$(ls -t /hosthome/.claude/projects/-home-user-Workspace-myproject/*.jsonl 2>/dev/null | head -1)
cat "$LATEST" | jq -r 'select(.type == "human") | .message.content' | head -50
Search Across All Sessions
grep -r "API design" /hosthome/.claude/projects/ 2>/dev/null | head -20
How to Use This
"What was I working on in Claude Code?"
- Read recent history:
tail -30 /hosthome/.claude/history.jsonl
- Parse out projects and messages
- Summarize the recent activity
"Summarize my last session on [project]"
- Find the project directory:
ls /hosthome/.claude/projects/ | grep -i <project>
- Get the latest session:
ls -t <project-dir>/*.jsonl | head -1
- Read the conversation
- Generate a summary
"Continue where I left off on [project]"
- Find the latest session for that project
- Read the last ~20 messages
- Summarize the state and any pending work
- Provide context for the new session
Important Notes
- Read-only - Never modify Claude Code's data
- On-demand - Only query when asked, don't background sync
- Summarize, don't dump - Generate useful summaries, not raw logs
- Privacy-aware - This is the user's terminal history, treat it appropriately
- Session-specific - Each .jsonl file is one conversation session
Example Workflow
User: "What was I working on in Claude Code recently?"
PCP:
tail -100 /hosthome/.claude/history.jsonl | \
jq -r '[(.timestamp/1000 | strftime("%m-%d %H:%M")), .project, .display[:50]] | @tsv' | \
sort -u | tail -20
Then summarize: "In the last few hours, you worked on:
- myproject: Positioning and workspace setup
- personal-site: Thesis-related content
- pcp: [this conversation]"