# claude-grep > Search your Claude Code conversation history (`~/.claude/projects`). Find any past session by what was said, then resume it with one keypress. Built on ripgrep + fzf. Open source, MIT. claude-grep is an open-source command-line tool (run with the `ccfind` command) for developers who use Anthropic's Claude Code. Claude Code stores every conversation as a JSONL transcript under `~/.claude/projects/`. claude-grep searches across all of them, live as you type, and lets you jump straight back into any session. ## Why it exists - Claude Code's built-in `claude --resume` only matches a session's title / first prompt, not what was discussed inside it. - Conversation history is fragmented per working directory, so older work is hard to find and continue. - claude-grep searches the full transcript body across every project, so you can find a conversation by something that came up halfway through it. ## Key facts - Command: `ccfind`. Project/repo name: claude-grep. - Built on: ripgrep (fast candidate search) + fzf (interactive UI) + a single Python script. No index, no background daemon — it reads the JSONL files directly. - Resumes sub-agent sessions by resolving their transcript to the parent session. - Requirements: fzf >= 0.38, ripgrep, Python 3.8+, and the `claude` CLI. - License: MIT. ## Install ``` brew install fzf ripgrep git clone https://github.com/coolcorexix/claude-grep ln -sf "$PWD/claude-grep/ccfind" ~/.local/bin/ccfind ``` Then run `ccfind`. ## Multi-agent (Claude Code, OpenCode, Hermes) `ccfind` auto-detects which AI coding agents are installed and searches them all from one UI. Results are tagged per source: - `[c]` Claude Code — JSONL under `~/.claude/projects/` - `[h]` Hermes — sessions under `~/.hermes/sessions/` and `~/.hermes/profiles//sessions/` - `[o]` OpenCode — the SQLite database at `~/.local/share/opencode/opencode.db` Press Enter and it routes to the right agent's resume command (`claude --resume` / `hermes --resume` / `opencode --session`). Scope with `ccfind --source claude,hermes`. Use `ccfind --sources` to see what is detected. ## Common questions - How do I search my Claude Code conversation history? Run `ccfind` and type a phrase; it searches every transcript under ~/.claude/projects and lets you resume the matching session. - Can I search past Claude Code sessions by content instead of the title? Yes — that is the core purpose; `claude --resume` only matches titles. - Where does Claude Code store conversations? JSONL files under ~/.claude/projects//.jsonl (sub-agents in a subagents/ subfolder). - Does it work with sub-agent sessions? Yes — it resolves them to the resumable parent session. ## Links - Repository: https://github.com/coolcorexix/claude-grep - Author: https://github.com/coolcorexix