Claude Code sessions are ephemeral. When you need context from yesterday's debugging session or last week's architecture decision, there's no easy way to find it. cct makes your session history searchable — for you and for Claude itself.
Requires Claude Code. macOS and Linux.
brew install andyhtran/tap/cctTo update:
brew update && brew upgrade cctBuild from source
git clone https://github.com/andyhtran/cct.git
cd cct && go build -o cct ./cmd/cctSearch across all your conversations:
cct search "database migration" # Find sessions mentioning a topic
cct search "auth bug" -p backend # Filter to a specific projectList recent sessions:
cct # Quick view: 5 most recent
cct list -p myproject # Filter by project name
cct list -a # Show all sessionsView a session in your terminal:
cct view <id> # Interactive TUI viewerExport to markdown:
cct export <id> # Truncated output
cct export <id> --full # Complete conversation
cct export <id> --render # Syntax-highlighted terminal outputWhy not
claude --resume? There are known issues where resumed sessions don't load full context (#15837, #22107). Usecct vieworcct exportwhen you need the complete conversation.
cct resume <id> # cd to project dir and run claude --resumeAdd to your CLAUDE.md to let Claude search your session history:
Use `cct search <query>` to find relevant past sessions.
Use `cct export <id> --full` to read full conversation context.
Use `cct changelog --search <regex>` to look up Claude Code features, behavior changes, or disable flags.Then prompt naturally:
use cct to find sessions where we debugged the auth issue
This turns your session history into a searchable knowledge base that Claude can query.
cct changelog mirrors the upstream CHANGELOG.md locally (cached for 6h) and makes it searchable:
cct changelog # Latest release
cct changelog --search "disable|opt.?out" # Grep for ways to turn things off
cct changelog --search "plan.*name" # Find mentions of a specific feature
cct changelog --since 2.1.100 --all # Every change in a version window
cct changelog --refresh # Force re-fetch from GitHubUseful when you want to answer "did Claude Code add a flag for X?" or "what changed between versions?" without leaving the terminal.
cct info <id> # Session metadata: project, branch, timestamps
cct stats # Usage statistics across all projectsRun cct --help for additional commands.
All commands support --json for scripting:
cct search "bug" --json | jq -r '.[].short_id'cct reads session data from ~/.claude/projects/ (JSONL files). All operations are read-only.
The Claude Code data format is undocumented and may change between versions.
MIT
