Local-first web viewer for Codex CLI and Claude Code session logs
Project description
Codex & Claude History Viewer
Local-first, dependency-free web viewer for Codex CLI and Claude Code session logs.
- Browse sessions and projects (work dirs)
- Search sessions by keyword + date range
- Filter messages by role, and search within a session (highlight + next/prev)
- Sort sidebar by start time or last activity
- Highlight interruptions and common error outputs
Not affiliated with OpenAI or Anthropic. “Codex” and “Claude” are trademarks of their respective owners.
More screenshots
Why
Codex CLI and Claude Code both generate local, machine-readable transcripts (JSONL). This project turns those logs into a fast, searchable “history inbox” you can use to:
- find past commands/patches/discussions quickly
- audit tool failures and interruptions
- compare sessions across days/projects
- keep everything local (no uploads by default)
Quick start
Requirements:
- Python 3.8+ (standard library only)
- A modern browser
Run:
python3 app.py
or install and use the global CLI:
CCHV install
CCHV serve
Open:
By default it reads:
- Codex logs:
~/.codex/sessions - Claude logs:
~/.claude/projects
Indexes (SQLite) are stored by default in ~/.cache/cchv (or $XDG_CACHE_HOME/cchv) unless you set --data-dir.
Configuration
Show all options:
python3 app.py --help
CCHV subcommands:
CCHV --help
CCHV serve --help
CCHV demo --help
CCHV install
Demo data (included)
This repo includes a small set of synthetic Codex/Claude logs under demo/ so you can try the UI without using your own transcripts.
python3 app.py \
--codex-dir ./demo/codex \
--claude-dir ./demo/claude \
--data-dir ~/.cache/cchv/demo
Common examples:
# Store indexes outside the repo (recommended)
python3 app.py --data-dir ~/.cache/cchv
# Same thing via the bundled CLI
CCHV serve --data-dir ~/.cache/cchv
# Bind to LAN (be careful: your logs may contain secrets)
python3 app.py --host 0.0.0.0 --port 8787
# Launch with bundled synthetic logs
CCHV demo
# Install CCHV into ~/.local/bin so it works globally
CCHV install
# Custom log locations (these are the *base dirs* that contain `sessions/` and `projects/`)
python3 app.py --codex-dir ~/.codex --claude-dir ~/.claude
# Faster/slower auto-rescan (seconds)
python3 app.py --scan-interval 2
Using the UI
- Source: switch between Codex / Claude Code logs.
- Browse:
- Sessions: list individual sessions.
- Projects: group sessions by working directory (cwd).
- Sidebar sort: top-right dropdown in the sessions list:
Start time(default)Last activity
- Roles: toggle user/assistant/system/developer/tool/other.
- Role jump: click a message on the right, then use each role row’s
▲/▼buttons to jump across that role. Then/mcounter shows the selected message’s position within that role. - Search
- Left panel: keyword search across sessions + optional date range, with a keyword clear button.
- Right panel: search within the opened session (highlight + ▲/▼ navigation). The summary uses
n/mformat.
- Error highlighting
- User interruptions (e.g.
turn_aborted) are highlighted. - Common tool failures (HTTP 4xx/5xx, Traceback/Exception,
Status: error, etc.) are highlighted.
- User interruptions (e.g.
Privacy & safety notes
- Your local transcripts may contain sensitive info (API keys, file paths, proprietary code).
- If you bind
--host 0.0.0.0, anyone on your network may be able to access the UI. Prefer127.0.0.1. - Index files are local SQLite databases; this repo’s
.gitignoreexcludes them.
License
MIT (see LICENSE).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file codex_claude_history_viewer-0.1.0.tar.gz.
File metadata
- Download URL: codex_claude_history_viewer-0.1.0.tar.gz
- Upload date:
- Size: 32.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f155cb0a31ebf2a11f78c036dff3c8a466ab140eb76fe11db3d17b9069201f5
|
|
| MD5 |
3f4b90cfa47f55a07153462477c35253
|
|
| BLAKE2b-256 |
e1cb17b3ba3caae6a32fd82226df03d08742eb3529eda71a012796f65df5e5dc
|
File details
Details for the file codex_claude_history_viewer-0.1.0-py3-none-any.whl.
File metadata
- Download URL: codex_claude_history_viewer-0.1.0-py3-none-any.whl
- Upload date:
- Size: 31.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08b01a85f11d12d9e705d9cceaad59bdddb0177312321e81abff1e1bef3c8fc2
|
|
| MD5 |
1eea0600cb578760cc178ca918192aa7
|
|
| BLAKE2b-256 |
93acb38683bcb8505b5fa7fdd70ed9a8800c813984aead6acca7ab71f076adca
|