The unified history viewer for AI coding assistants. Browse, search, and analyze conversations from Claude Code, Gemini CLI, Antigravity, Codex CLI, Cline, Cursor, Aider, OpenCode, ForgeCode, CodeBuddy Code, and Grok CLI — as a desktop app or headless server.
From the author’s README · Quick Start · not verified by Flowy
$ brew install --cask jhlee0409/tap/claude-code-history-viewer
Repo: jhlee0409/claude-code-history-viewer
What's inside
The unified history viewer for AI coding assistants.
Browse, search, and analyze conversations from Claude Code, Gemini CLI, Antigravity, Codex CLI, Cline, Cursor, Aider, OpenCode, ForgeCode, CodeBuddy Code, and Grok CLI — as a desktop app or headless server. 100% offline.
Website · Download · Report Bug
Languages: English | 한국어 | 日本語 | 中文 (简体) | 中文 (繁體)
Desktop app — download and run:
| Platform | Download |
|---|---|
| macOS (Universal) | .dmg |
| Windows (x64) | .exe / .zip (portable) |
| Linux (x64) | .AppImage |
Homebrew (macOS):
brew install --cask jhlee0409/tap/claude-code-history-viewer
Headless server — access from any browser:
brew install jhlee0409/tap/cchv-server # or: curl -fsSL https://raw.githubusercontent.com/jhlee0409/claude-code-history-viewer/main/install-server.sh | sh
cchv-server --serve # → http://localhost:3727
See Server Mode for Docker, VPS, and systemd setup.
Choose a mode:
| Mode | Best for | What it does |
|---|---|---|
| Desktop app | Local browsing | Opens local conversation files in a native app |
| Headless server | Browser, VPS, or remote access | Serves local conversation files through the WebUI; keep authentication enabled |
AI coding assistants generate thousands of conversation messages, but none of them provide a way to look back at your history across tools. CCHV solves this.
Twenty-nine assistants. One viewer. Switch between Claude Code, GitHub Copilot, Gemini CLI, Antigravity, Codex CLI, Cline (incl. Roo Code & Kilo Code), Cursor, Cursor Agent, Aider, OpenCode, ForgeCode, CodeBuddy Code, Grok CLI, Kimi, Kiro, Amazon Q CLI, Continue.dev, PearAI, Goose, Crush, llm, Open Interpreter, Pi, oh-my-pi, Mistral Vibe, Qwen Code, Zed, OpenHands, and Trae sessions seamlessly — compare token usage, search across providers, and analyze your workflow in a single interface.
| Provider | Data Location | What You Get |
|---|---|---|
| Claude Code | ~/.claude/projects/ | Full conversation history, tool use, thinking, costs |
| GitHub Copilot | ~/.copilot/session-state/ (CLI & Desktop), VS Code workspaceStorage/.../chatSessions/ | Copilot CLI, Copilot Desktop, and VS Code Copilot Chat history (read-only, WSL-aware) |
| Gemini CLI | ~/.gemini/history/ | Conversation history with tool calls |
| Antigravity | ~/.gemini/antigravity/ | Conversation state under brain/ plus token monitor data under .token-monitor/rpc-cache/v1/ |
| Codex CLI | ~/.codex/sessions/ | Session rollouts with agent responses |
| Cline (incl. Roo Code, Kilo Code) | VS Code globalStorage/<ext>/tasks/ | Task-based history across the Cline family |
| Cursor | ~/.cursor/ | Composer and chat conversations |
| Cursor Agent | ~/.cursor/projects/.../agent-transcripts/ | Agent transcripts, distinct from the Cursor IDE source |
| Aider | Project directories | Chat history and edit logs |
| OpenCode | ~/.local/share/opencode/ | Conversation sessions and tool results |
| ForgeCode | ~/.forge/.forge.db | Conversation history from SQLite database |
| CodeBuddy Code | ~/.codebuddy/projects/ | Conversation history with tool calls (Claude Code fork format) |
| Grok CLI | ~/.grok/sessions/ | Grok CLI conversations, tool calls, and model usage |
| Kimi | ~/.kimi/ | Session history with kimi -r resume |
| Kiro | kiro-cli/data.sqlite3 | SQLite-backed conversation history |
| Amazon Q CLI | …/amazon-q/data.sqlite3 | SQLite conversations store (shares format with the Kiro CLI provider) |
| Continue.dev | ~/.continue/sessions/*.json | Per-session JSON, grouped by workspace (honors CONTINUE_GLOBAL_DIR) |
| PearAI | ~/.pearai/sessions/ | Continue fork — same session format |
| Goose | …/goose/sessions/sessions.db | Block's agent — SQLite sessions + messages |
| Crush | per-project ./.crush/crush.db | Charm's TUI — SQLite, discovered across common code roots |
| llm | …/io.datasette.llm/logs.db | Simon Willison's CLI — SQLite conversations/responses with token counts |
| Open Interpreter | ~/.openinterpreter/sessions/ | Codex-format rollouts (reuses the Codex parser; INTERPRETER_HOME override) |
| Pi | ~/.pi/agent/sessions/ | Per-cwd JSONL transcripts — messages, thinking, tool calls, token usage |
| oh-my-pi | ~/.omp/agent/sessions/ | Pi-format sessions from the omp fork (shared parser) |
| Mistral Vibe | ~/.vibe/logs/session/ | OpenAI-style chat transcripts with reasoning and tool calls (VIBE_HOME override) |
| Qwen Code | ~/.qwen/projects/.../chats/ | Per-session JSONL transcripts (tool calls, thinking, token usage) |
| Zed | …/Zed/threads/threads.db | Agent Panel threads — SQLite + Zstd-compressed JSON |
| OpenHands | ~/.openhands/sessions/ | Classic event-store conversations |
| Trae | …/Trae/User/workspaceStorage/.../state.vscdb | Per-workspace chat (icube store; experimental, reverse-engineered) |
No vendor lock-in. No cloud dependency. Your local conversation files, beautifully rendered.
Antigravity note: the viewer resolves the Antigravity root as ~/.gemini/antigravity and then reads session state from brain/ plus usage/cache artifacts from .token-monitor/rpc-cache/v1/; this matches the current runtime layout and root resolver in src-tauri/src/commands/antigravity.rs.
| Feature | Description |
|---|---|
| Multi-Provider Support | Unified viewer for 29 AI coding assistants — Claude Code, GitHub Copilot, Gemini CLI, Codex CLI, Cursor / Cursor Agent, Cline (incl. Roo Code & Kilo Code), Aider, OpenCode, ForgeCode, CodeBuddy Code, Grok CLI, Kimi, Kiro, Antigravity, Amazon Q CLI, Continue.dev, PearAI, Goose, Crush, llm, Open Interpreter, Pi, oh-my-pi, Mistral Vibe, Qwen Code, Zed, OpenHands, and Trae — filter by provider, compare across tools |
| Conversation Browser | Navigate conversations by project/session with worktree grouping |
| Global Search | Search across all conversations from all providers instantly |
| Analytics Dashboard | Dual-mode token stats (billing vs conversation), cost breakdown, and provider distribution charts |
| Session Board | Multi-session visual analysis with pixel view, attribute brushing, and activity timeline |
| Settings Manager | Scope-aware Claude Code settings editor with MCP server management |
| Message Navigator | Right-side collapsible TOC for quick conversation navigation |
| Real-time Monitoring | Live session file watching for instant updates |
| Provider | Notes |
|---|---|
| Antigravity | Loaded through the standard provider pipeline. Sessions come from the token monitor cache and participate in project/session views, token stats, analytics, and global search without a separate UI mode. |
| Feature | Description |
|---|---|
| Grok CLI provider | Browse Grok CLI sessions from ~/.grok/sessions/, search across them, and include model/token usage in analytics |
| Session continuity | Related Claude transcript files are merged into one browsable conversation |
| WebUI deep links | Shareable links can open a specific session and message directly |
| Safer navigation and resume | Global-search selection syncs the owning project/session; unavailable worktree history stays visible with invalid resume actions disabled; Windows resume commands work in both CMD and PowerShell |
| Provider discovery fixes | Provider-specific and WSL-only scans no longer assume a native Claude data directory exists |
| Feature | Description |
|---|---|
| Faster startup | Provider scanners now run concurrently instead of sequentially, so a locked SQLite database from a tool running alongside the viewer no longer stalls the whole scan — eliminating multi-second "Initializing app…" hangs |
| Search result context | Global search results now show which conversation each match belongs to, so matches that share the same text across sessions are easy to tell apart |
| Collapsible provider filter | The sidebar provider-filter panel can collapse to reclaim vertical space for the session list; the collapsed header still surfaces the active filter summary and count |
| Verifiable project names | Project identity prefers the on-disk folder name over a stale cwd recorded in old transcripts, so moved or subagent-recorded projects group correctly (one-time transparent re-scan) |
| Fixes | Exporting a subagent session now includes its messages instead of producing an empty file; OpenCode global sessions split by directory (and empty-directory sessions load correctly); the OpenCode session cache is bounded to prevent unbounded memory growth |
| Feature | Description |
|---|
FAQ
claude-code-history-viewer is a Claude Code plugin with hand-picked skills for data work, indexed on Flowy. Install it with the command on its page. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it