Skip to main content

A lightweight, local-first web app to browse, inspect, and export logs from CLI-based AI coding agents — Claude Code, OpenAI Codex, and Gemini CLI.

Features • Supported Tools • Installation • Usage • Screenshots

Python 3.7+ FastAPI License MIT PRs Welcome


Installation

Via uv tool (Recommended)

uv is a fast Python package installer. Install it first if you haven't:

curl -LsSf https://astral.sh/uv/install.sh | sh

Then install clicodelog as an isolated tool:

uv tool install clicodelog

To upgrade:

uv tool upgrade clicodelog

Via pip

pip install clicodelog

From source

git clone https://github.com/monk1337/clicodelog.git
cd clicodelog
uv tool install -e .
# or with pip:
pip install -e .

Usage

After installation, simply run:

clicodelog

The app will:

  • Auto-kill any process on port 6126 (if occupied)
  • Sync data from all AI coding agent sources
  • Start a web server at http://localhost:6126

Command Options

clicodelog --help               # Show all options
clicodelog --port 8080          # Use custom port
clicodelog --host 0.0.0.0       # Bind to all interfaces
clicodelog --no-sync            # Skip initial data sync
clicodelog --debug              # Run in debug mode

Alternative: Run from source

git clone https://github.com/monk1337/clicodelog.git
cd clicodelog
python -m clicodelog.cli

Features

  • Multi-source support — View logs from Claude Code, OpenAI Codex, and Gemini CLI
  • Three-panel layout — Projects → Sessions → Conversation
  • Auto-sync — Backs up data from source directories every hour
  • Export — Download any session as a .txt file
  • Theme support — Light (soft blue) and Dark modes
  • Rich display — User/assistant messages, thinking blocks, tool usage, token stats
  • Search — Quickly find projects and sessions

Supported Tools

Tool Source Directory Status
Claude Code ~/.claude/projects/ ✅ Supported
OpenAI Codex ~/.codex/sessions/ ✅ Supported
Gemini CLI ~/.gemini/tmp/ ✅ Supported

Claude Code

  • Sessions organized by project directory
  • Displays summaries, messages, thinking blocks, and tool usage
  • Shows model metadata and token usage

OpenAI Codex

  • Sessions organized by date (YYYY/MM/DD/)
  • Groups sessions by working directory (cwd) as projects
  • Displays messages, function calls, and reasoning blocks
  • Filters out system prompts for cleaner inspection

Gemini CLI

  • Sessions stored as JSON files in {hash}/chats/session-*.json
  • Groups sessions by project hash
  • Displays messages, thoughts (thinking), and tool calls
  • Shows token usage (input, output, cached)

CLI Options

clicodelog --help               # Show help message
clicodelog --version            # Show version
clicodelog --port 8080          # Run on custom port (default: 6126)
clicodelog --host 0.0.0.0       # Bind to all interfaces (default: 127.0.0.1)
clicodelog --no-sync            # Skip initial data sync
clicodelog --debug              # Run in debug mode

Note: The app automatically kills any process running on the specified port before starting.


How It Works

  • Startup sync — Copies logs from source directories into local ./data/
  • Background sync — Automatically refreshes every hour
  • Manual sync — Trigger a sync for the active source via UI
  • Source switching — Switch between Claude Code, Codex, and Gemini CLI

Data Storage

data/
├── claude-code/          # Claude Code backup
│   ├── -Users-project1/
│   │   ├── session1.jsonl
│   │   └── session2.jsonl
│   └── -Users-project2/
├── codex/                # OpenAI Codex backup
│   └── 2026/
│       └── 01/
│           ├── 16/
│           │   └── rollout-xxx.jsonl
│           └── 17/
└── gemini/               # Gemini CLI backup
    ├── {project-hash-1}/
    │   └── chats/
    │       ├── session-2026-01-17T12-57-xxx.json
    │       └── session-2026-01-17T13-04-xxx.json
    └── {project-hash-2}/

Controls

Control Action
Source dropdown Switch between supported tools
📥 Export Download current session as .txt
🔄 Sync Manually refresh logs from source
☀️ / 🌙 Theme Toggle light/dark mode

Screenshots

Light Mode Dark Mode
Light Mode Dark Mode

Project Structure

clicodelog/
├── app.py              # Flask backend (multi-source support)
├── run.sh              # Run script
├── requirements.txt    # Dependencies
├── data/               # Synced logs (auto-created)
│   ├── claude-code/
│   ├── codex/
│   └── gemini/
└── templates/
    └── index.html      # Frontend

API Endpoints

Endpoint Method Description
/api/sources GET List available sources
/api/sources/<id> POST Set active source
/api/projects?source= GET List projects
/api/projects/<id>/sessions?source= GET List sessions
/api/projects/<id>/sessions/<id>?source= GET Fetch session
/api/sync?source= POST Trigger sync
/api/status?source= GET Sync status

Requirements

  • Python 3.7+
  • Flask 2.0+
  • flask-cors

Adding New Sources

To add support for another CLI-based AI tool, update app.py:

SOURCES = {
    "claude-code": {
        "name": "Claude Code",
        "source_dir": Path.home() / ".claude" / "projects",
        "data_subdir": "claude-code"
    },
    "codex": {
        "name": "OpenAI Codex",
        "source_dir": Path.home() / ".codex" / "sessions",
        "data_subdir": "codex"
    },
    "gemini": {
        "name": "Gemini CLI",
        "source_dir": Path.home() / ".gemini" / "tmp",
        "data_subdir": "gemini"
    },
    # Add new tool here
}

Then implement the corresponding parser for its log format.


License

MIT


Built for inspecting what AI coding agents actually did.

Metadata

Release files for clicodelog 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for clicodelog 0.2.2
File Size Uploaded
clicodelog-0.2.2.tar.gz 25.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for clicodelog 0.2.2
File Interpreter ABI Platform
clicodelog-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 49.0 kB

Release files / clicodelog-0.2.2.tar.gz

Download URL clicodelog-0.2.2.tar.gz
Size 25.5 kB
Tags Source
SHA-256 checksum
How to use checksums
827c3df2112fef5626a03bd5c566f3d607322df426d5048bf27ef41eb5d9a406
BLAKE2b-256 checksum
How to use checksums
549e798e5eaf8778cb7fd13d95e0fff63feddc3b79cf66e707420c79060bd7a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.2

Release files / clicodelog-0.2.2-py3-none-any.whl

Download URL clicodelog-0.2.2-py3-none-any.whl
Size 23.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
71724bc729803aa4ff32cd74a2f700cd0bb79761649a9780f7b00ba6d46ca6cf
BLAKE2b-256 checksum
How to use checksums
1b28b86a4887ee4fe9c0381ab01f012c70b8be9b9d6d671c0454e7987563684e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.2

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page