Catalog PyPI
Back to packageRELEASE DETAILS

0.3.2

PyPI

agent-session-viewer

A web viewer for AI agent coding sessions (Claude Code, Codex, etc.)

Published19 Jan 2026
Direct dependencies6
Transitive dependenciesNot calculated

README

Version 0.3.2 documentation

Agent Session Viewer

Browse, search, and revisit your AI coding sessions. Never lose track of that clever solution your AI pair programmer came up with three weeks ago.

Session Viewer

Why?

AI coding sessions pile up fast. Finding that one conversation where you solved a tricky bug or implemented a specific pattern means digging through session files by hand. This tool gives you instant full-text search across every session from Claude Code and Codex, organized by project.

Features

  • Full-text search - Find any message across all your sessions instantly
  • Live updates - Active sessions refresh automatically as new messages arrive
  • Auto-sync - Background sync every 15 minutes, plus manual sync with r
  • Keyboard-first - Vim-style navigation (j/k/[/]) for fast browsing
  • Project organization - Sessions grouped by codebase
  • Export & publish - Download sessions as HTML or publish to GitHub Gist for sharing
  • Local-first - All data stays on your machine in ~/.agent-session-viewer/
  • Zero config - Works out of the box

Install

# With uv (recommended)
uv tool install agent-session-viewer

# With pip
pip install agent-session-viewer

Usage

# If installed via uv tool install or pip
agent-session-viewer

# Or run directly without installing
uvx agent-session-viewer@latest

Opens a browser at http://localhost:8080.

Options:

  • --port 9000 - Use a custom port
  • --no-browser - Don't open browser automatically
  • --host 0.0.0.0 - Bind to all interfaces

Keyboard Shortcuts

KeyAction
j / kNext / previous message
] / [Next / previous session
oToggle message order
rSync sessions
eExport session as HTML
pPublish session to Gist
⌘KFocus search
?Show all shortcuts

Export & Publish

Share your AI coding sessions with teammates, for blog posts, or to document how you solved a problem.

Export to HTML

Press e or click Export to download the current session as a self-contained HTML file.

  • Works offline in any browser
  • Interactive toggles for thinking blocks and message order (pure CSS, no JavaScript)
  • Can be hosted on any static file server or shared directly

Publish to GitHub Gist

Press p or click Publish to instantly share a session via GitHub Gist.

First-time setup:

  1. Click "Publish" — a setup modal appears
  2. Click the link to create a GitHub token (only needs the gist scope)
  3. Paste the token and click "Save Token"

After setup, publishing is one click. You'll get two URLs:

URLPurpose
View URLShareable link that renders the HTML directly in the browser
Gist URLLink to the gist on GitHub (for editing or deleting)

Publish Modal

Your token is stored locally in ~/.agent-session-viewer/config.json with restricted file permissions.

Supported Agents

  • Claude Code - syncs from ~/.claude/projects/
  • Codex - syncs from ~/.codex/sessions/

How It Works

The viewer syncs sessions from each agent's local storage into its own database with full-text search indexing. When you're viewing an active session, it watches the source file and updates the UI within seconds of new messages.

Acknowledgements

Inspired by claude-history-tool by Andy Fischer and claude-code-transcripts by Simon Willison.

License

MIT

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 6

Native requirements
6 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
apscheduler
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
apscheduler>=3.10.0runtime
fastapi
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
fastapi>=0.109.0runtime
python-multipart
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
python-multipart>=0.0.6runtime
uvicorn
Environment
{
  "extras": "standard",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
uvicorn[standard]>=0.27.0runtime
pytest-asyncio
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest-asyncio>=0.23.0; extra == "dev"runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest>=8.0.0; extra == "dev"runtime

Distribution files

2 collected
agent_session_viewer-0.3.2-py3-none-any.whl

bdist_wheel · 1,473.55 KB · Python py3

Source file
agent_session_viewer-0.3.2.tar.gz

sdist · 1,529.87 KB · Python source

Source file

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 23:21 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:870526bb28b71222a7463848d2d678809cdfb1be37b6f67e5fa5bfa4937f32bc

Other collected versions

View all collected versions →