claude-code-history-viewer
Health Gecti
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 2 days ago
- Community trust — 767 GitHub stars
Code Basarisiz
- child_process — Shell command execution capability in .github/workflows/updater-release-retry.yml
- execSync — Synchronous shell command execution in .github/workflows/updater-release-retry.yml
- fs.rmSync — Destructive file system operation in .github/workflows/updater-release-retry.yml
- process.env — Environment variable access in .github/workflows/updater-release-retry.yml
- fs module — File system access in .github/workflows/updater-release-retry.yml
- network request — Outbound network request in .github/workflows/updater-release-retry.yml
- child_process — Shell command execution capability in .github/workflows/updater-release.yml
- execSync — Synchronous shell command execution in .github/workflows/updater-release.yml
- rm -rf — Recursive force deletion command in .github/workflows/updater-release.yml
- fs.rmSync — Destructive file system operation in .github/workflows/updater-release.yml
- process.env — Environment variable access in .github/workflows/updater-release.yml
- fs module — File system access in .github/workflows/updater-release.yml
- network request — Outbound network request in .github/workflows/updater-release.yml
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
desktop app to browse and analyze your Claude Code conversation history
Claude Code History Viewer
The unified history viewer for AI coding assistants.
Browse, search, and analyze conversations from Claude Code, Gemini CLI, Codex CLI, Cline, Cursor, Aider, and OpenCode — as a desktop app or headless server. 100% offline.
Quick Start
Desktop app — download and run:
| Platform | Download |
|---|---|
| macOS (Universal) | .dmg |
| Windows (x64) | .exe |
| 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://...install-server.sh | sh
cchv-server --serve # → http://localhost:3727
See Server Mode for Docker, VPS, and systemd setup.
Why This Exists
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.
Seven assistants. One viewer. Switch between Claude Code, Gemini CLI, Codex CLI, Cline, Cursor, Aider, and OpenCode 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 |
| Gemini CLI | ~/.gemini/history/ |
Conversation history with tool calls |
| Codex CLI | ~/.codex/sessions/ |
Session rollouts with agent responses |
| Cline | ~/.cline/tasks/ |
Task-based conversation history |
| Cursor | ~/.cursor/ |
Composer and chat conversations |
| Aider | Project directories | Chat history and edit logs |
| OpenCode | ~/.local/share/opencode/ |
Conversation sessions and tool results |
No vendor lock-in. No cloud dependency. Your local conversation files, beautifully rendered.
Table of Contents
- Features
- Installation
- Build from Source
- Server Mode (WebUI)
- Usage
- Accessibility
- Tech Stack
- Data Privacy
- Troubleshooting
- Contributing
- License
Features
Core
| Feature | Description |
|---|---|
| Multi-Provider Support | Unified viewer for Claude Code, Gemini CLI, Codex CLI, Cline, Cursor, Aider, and OpenCode — 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 |
New in v1.9.0
| Feature | Description |
|---|---|
| 4 New Providers | Added Gemini CLI, Cline, Cursor, and Aider — now supports 7 AI coding assistants |
| WSL Support | Windows Subsystem for Linux integration — scan Claude Code projects inside WSL distros |
| Enhanced Global Search | Project filter, LRU cache, aho-corasick multi-pattern optimization, and message navigation |
| Zoom Controls | Keyboard shortcuts for zoom in/out |
v1.6.0
| Feature | Description |
|---|---|
| WebUI Server Mode | Run as a headless web server with --serve — access from any browser, deploy on VPS/Docker |
| Screenshot Capture | Long screenshot with range selection, preview modal, and multi-selection export |
| Archive Management | Create, browse, rename, and export session archives with per-file download |
| Accessibility | Full keyboard navigation, screen reader support, font scaling, and high contrast mode |
| Mobile UI | Responsive 390px viewport support with bottom tab bar |
| External Links | All links open in system browser instead of the app's WebView |
More
| Feature | Description |
|---|---|
| Session Context Menu | Copy session ID, resume command, file path; native rename with search integration |
| ANSI Color Rendering | Terminal output displayed with original ANSI colors |
| Multi-language | English, Korean, Japanese, Chinese (Simplified & Traditional) |
| Recent Edits | View file modification history and restore |
| Auto-update | Built-in updater with skip/postpone options |
Installation
Homebrew (macOS)
brew tap jhlee0409/tap
brew install --cask claude-code-history-viewer
Or install directly with the full cask path:
brew install --cask jhlee0409/tap/claude-code-history-viewer
If you see No Cask with this name exists, run the full cask path command above.
To upgrade:
brew upgrade --cask claude-code-history-viewer
To uninstall:
brew uninstall --cask claude-code-history-viewer
Migrating from manual (.dmg) installation?
Remove the existing app before installing via Homebrew to avoid conflicts.
Choose one installation method — do not mix manual and Homebrew installs.# Remove the manually installed app first rm -rf "/Applications/Claude Code History Viewer.app" # Then install via Homebrew brew tap jhlee0409/tap brew install --cask claude-code-history-viewer
Build from Source
git clone https://github.com/jhlee0409/claude-code-history-viewer.git
cd claude-code-history-viewer
# Option 1: Using just (recommended)
brew install just # or: cargo install just
just setup
just dev # Development
just tauri-build # Production build
# Option 2: Using pnpm directly
pnpm install
pnpm tauri:dev # Development
pnpm tauri:build # Production build
Requirements: Node.js 18+, pnpm, Rust toolchain
Server Mode (WebUI)
Run the viewer as a headless HTTP server — no desktop environment required. Ideal for VPS, remote servers, or Docker. The server binary embeds the frontend — a single file is all you need.
New to server deployment? See the full Server Mode Guide (한국어) for step-by-step instructions covering local testing, VPS setup, Docker, and more.
Quick Install
# Homebrew (macOS / Linux)
brew install jhlee0409/tap/cchv-server
# Or one-line script
curl -fsSL https://raw.githubusercontent.com/jhlee0409/claude-code-history-viewer/main/install-server.sh | sh
Both methods install cchv-server to your PATH.
Start the Server
cchv-server --serve
Output:
🔑 Auth token: b77f41d4-ec24-4102-8f7a-8a942d6dd4a0
Open in browser: http://192.168.1.10:3727?token=b77f41d4-ec24-4102-8f7a-8a942d6dd4a0
👁 File watcher active: /home/user/.claude/projects
🚀 WebUI server running at http://0.0.0.0:3727
Open the URL in your browser — the token is saved automatically.
Pre-built Binaries
| Platform | Asset |
|---|---|
| Linux x64 | cchv-server-linux-x64.tar.gz |
| Linux ARM64 | cchv-server-linux-arm64.tar.gz |
| macOS ARM | cchv-server-macos-arm64.tar.gz |
| macOS x64 | cchv-server-macos-x64.tar.gz |
Download from Releases.
CLI options:
| Flag | Default | Description |
|---|---|---|
--serve |
— | Required. Starts the HTTP server instead of the desktop app |
--port <number> |
3727 |
Server port |
--host <address> |
0.0.0.0 |
Bind address (127.0.0.1 for local only) |
--token <value> |
auto (uuid v4) | Custom authentication token |
--no-auth |
— | Disable authentication (not recommended for public networks) |
--dist <path> |
embedded | Override built-in frontend with external dist/ directory |
Authentication
All /api/* endpoints are protected by Bearer token authentication. The token is auto-generated on each server start and printed to stderr.
- Browser access: Use the
?token=...URL printed at startup. The token is saved tolocalStorageautomatically. - API access: Include
Authorization: Bearer <token>header. - Custom token:
--token my-secret-tokento set your own. - Environment variable:
CCHV_TOKEN=your-token cchv-server --serve(useful for systemd/Docker). - Disable:
--no-authto skip authentication entirely (only use on trusted networks).
Real-time Updates
The server watches ~/.claude/projects/ for file changes and pushes updates to the browser via Server-Sent Events (SSE). When you use Claude Code in another terminal, the viewer updates automatically — no manual refresh needed.
Docker
docker compose up -d
Check the token after startup:
docker compose logs webui
# 🔑 Auth token: ... ← paste this URL in your browser
The docker-compose.yml mounts ~/.claude, ~/.codex, and ~/.local/share/opencode as read-only volumes.
systemd Service
For persistent server on Linux, use the provided systemd template:
sudo cp contrib/cchv.service /etc/systemd/system/
sudo systemctl edit --full cchv.service # Set User= to your username
sudo systemctl enable --now cchv.service
Build from Source (Server Only)
just serve-build # Build frontend + embed into server binary
just serve-build-run # Build and run (embedded assets)
# Or run in development (external dist/):
just serve-dev # Build frontend + run server with --dist
Health Check
GET /health
→ { "status": "ok" }
Usage
- Launch the app
- It automatically scans for conversation data from all supported providers (Claude Code, Gemini CLI, Codex CLI, Cline, Cursor, Aider, OpenCode)
- Browse projects in the left sidebar — filter by provider using the tab bar
- Click a session to view messages
- Use tabs to switch between Messages, Analytics, Token Stats, Recent Edits, and Session Board
Accessibility
The app includes accessibility features for keyboard-only, low-vision, and screen-reader users.
- Keyboard-first navigation:
- Skip links for Project Explorer, Main Content, Message Navigator, and Settings
- Project tree navigation with
ArrowUp/ArrowDown/Home/End, type-ahead search, and*to expand sibling groups - Message navigator navigation with
ArrowUp/ArrowDown/Home/EndandEnterto open the focused message
- Visual accessibility:
- Persistent global font size scaling (
90%,100%,110%,120%,130%) - High contrast mode toggle in settings
- Persistent global font size scaling (
- Screen reader support:
- Landmark and tree/list semantics (
navigation,tree,treeitem,group,listbox,option) - Live announcements for status/loading and project tree navigation/selection changes
- Inline keyboard-help descriptions via
aria-describedby
- Landmark and tree/list semantics (
Tech Stack
| Layer | Technology |
|---|---|
| Backend | |
| Frontend | |
| State | |
| Build | |
| i18n |
Data Privacy
100% offline. No conversation data is sent to any server. No analytics, no tracking, no telemetry.
Your data stays on your machine.
Troubleshooting
| Problem | Solution |
|---|---|
| "No Claude data found" | Make sure ~/.claude exists with conversation history |
| Performance issues | Large histories may be slow initially — the app uses virtual scrolling |
| Update problems | If auto-updater fails, download manually from Releases |
Contributing
Contributions are welcome! Here's how to get started:
- Fork the repository
- Create a feature branch (
git checkout -b feat/my-feature) - Run checks before committing:
pnpm tsc --build . # TypeScript pnpm vitest run # Tests pnpm lint # Lint - Commit your changes (
git commit -m 'feat: add my feature') - Push to the branch (
git push origin feat/my-feature) - Open a Pull Request
See Development Commands for the full list of available commands.
License
MIT — free for personal and commercial use.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi