Fast, local search for Claude Code and Codex conversation history.
Chatfinder discovers the default chat folders on macOS, Windows, and Linux, extracts searchable conversation text into an incremental SQLite FTS index, and keeps the original JSONL files untouched.
- Searches message text, tool text, chat IDs, project paths, and source paths
- Supports active and archived Claude Code and Codex sessions
- Incremental indexing based on file size and modification time
- Skips oversized attachment and binary-like JSONL records
- Resumes a selected session in Claude Code or Codex
- Opens the chat project directly in Visual Studio Code
- Reveals the original chat file in Finder, Explorer, or the Linux file manager
- Uses the operating system WebView through Tauri; the macOS app bundle is about 12 MB
- Stores the index locally and makes no network requests
| Action | macOS | Windows / Linux |
|---|---|---|
| Focus search | ⌘ K |
Ctrl K |
| Move selection | ↑ / ↓ |
↑ / ↓ |
| Open selected chat | Enter |
Enter |
| Reveal selected file | ⌘ O |
Ctrl O |
| Copy chat ID | ⌘ Shift C |
Ctrl Shift C |
| Refresh index | ⌘ R |
Ctrl R |
Chatfinder automatically checks these folders under the current user profile:
.claude/projects
.codex/sessions
.codex/archived_sessions
The first index can take time for large histories. Later refreshes only process changed files. The local index can be removed safely; Chatfinder rebuilds it from the original JSONL files.
Prerequisites:
- Node.js 22+
- Rust stable
- Platform dependencies listed in the Tauri prerequisites
- Claude Code, Codex, and Visual Studio Code for their respective launch actions
npm install
npm run tauri devValidation:
npm run build
cargo test --manifest-path src-tauri/Cargo.toml
cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets --all-features -- -D warningsNative bundle:
npm run tauri build| Layer | Technology | Responsibility |
|---|---|---|
| Desktop shell | Tauri 2 | Native window, system WebView, file reveal |
| Search engine | Rust + SQLite FTS5 | Discovery, parsing, incremental indexing, ranking |
| Interface | React 19 + TypeScript | Keyboard-first search and result inspection |
| Build | Vite 7 | Small production frontend bundle |
All parsing and search happen on-device. Chatfinder does not upload conversation content, telemetry, or index data.