A local CLI for viewing, searching, and managing AI coding sessions across Claude Code, Codex, Gemini, and Cowork.
Project description
hades
The dead or the living will be seen by Hades. No AI session escapes.
A CLI for viewing, searching, and managing your AI coding sessions across Claude Code, Codex CLI, Gemini CLI, and Cowork — all from one terminal.
Why
Each AI tool keeps its own session store, so there's no single view across them — and it's easy to miss a session that's been waiting on you. hades gives you one place to see what's running, what's waiting, and what happened.
Install
pipx install hades-cli # recommended
uv tool install hades-cli # or with uv
pip install hades-cli # or plain pip
Commands
hades list # all sessions, all tools
hades list --tool claude --active # filter by tool or status
hades list --since 2d # filter by recency (e.g. 2d, 1w, 3h)
hades show <session-id> # pretty-print a transcript
hades show <session-id> --full # expand tool calls too
hades attention # what's been waiting on you
hades watch # live view + macOS notifications
hades watch --no-notify # live view only
How it works
On every command, hades scans your local session files, indexes them into a SQLite database, and checks running processes to show live status. Only changed files are re-parsed, so runs stay fast. Everything stays on your machine — nothing is sent anywhere.
hades list shows all sessions across tools, sorted by most recently active:
TOOL PROJECT LAST ACTIVE MSGS STATUS
claude hades 2m ago 47 ● running
claude dotfiles 3h ago 12 ○ idle
gemini api-server 1d ago 8 ○ idle
codex ml-pipeline 3d ago 31 ✕ ended
hades attention lists sessions that have been waiting on you for 3+ minutes, longest wait first.
hades watch keeps a live view open and fires a macOS notification when a session starts waiting.
Sources
| Tool | Default path | Format |
|---|---|---|
| Claude Code | ~/.claude/projects/ |
JSONL |
| Codex CLI | ~/.codex/sessions/ |
JSONL |
| Gemini CLI | ~/.gemini/tmp/ |
JSON |
| Cowork | ~/Library/Application Support/Claude/local-agent-mode-sessions/ |
JSON |
Paths are auto-discovered — no config needed. Override any with env vars:
HADES_CLAUDE_PATH=~/custom/path hades list
Development
Requires Python 3.11+ and uv.
git clone https://github.com/mnghn07/hades.git
cd hades
uv sync --group dev # install project + dev dependencies into .venv
uv run hades list # run the CLI from source
uv run pytest # run the test suite
uv run pylint $(git ls-files '*.py') # lint
uv build # build sdist + wheel into dist/
Versioning is derived from git tags (via hatch-vcs) — there's nothing to bump by hand. Pushing a tag like v0.1.1 builds and publishes that version to PyPI automatically:
git tag v0.1.1
git push origin v0.1.1
License
MIT
Project details
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 hades_cli-0.1.1.tar.gz.
File metadata
- Download URL: hades_cli-0.1.1.tar.gz
- Upload date:
- Size: 40.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ba11ed7acced87d09eeef23aea83f82893cea95b8cfb52958e60e316e7b116e
|
|
| MD5 |
e013d5b674cc30e37f6941b4f960a6cd
|
|
| BLAKE2b-256 |
ea5bd839f22eb43d37828fb5d29870558b9c446a63ee64cc660d71bd0a71d234
|
Provenance
The following attestation bundles were made for hades_cli-0.1.1.tar.gz:
Publisher:
python-publish.yml on mnghn07/hades
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hades_cli-0.1.1.tar.gz -
Subject digest:
7ba11ed7acced87d09eeef23aea83f82893cea95b8cfb52958e60e316e7b116e - Sigstore transparency entry: 2081670320
- Sigstore integration time:
-
Permalink:
mnghn07/hades@94e055d72da62b7143ab0de7bf72df308dbc8201 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/mnghn07
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@94e055d72da62b7143ab0de7bf72df308dbc8201 -
Trigger Event:
push
-
Statement type:
File details
Details for the file hades_cli-0.1.1-py3-none-any.whl.
File metadata
- Download URL: hades_cli-0.1.1-py3-none-any.whl
- Upload date:
- Size: 19.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fdd0ad39b743e922c2e025254184df1b8a886238b2aa82579aef30ca6f0acb53
|
|
| MD5 |
cd2cb29a10dd507673a2db6b73a4b0af
|
|
| BLAKE2b-256 |
6e56dc914322e1509c0518e2f2402b8d6f662de534a5bd8ca2253cd7cf5fec44
|
Provenance
The following attestation bundles were made for hades_cli-0.1.1-py3-none-any.whl:
Publisher:
python-publish.yml on mnghn07/hades
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hades_cli-0.1.1-py3-none-any.whl -
Subject digest:
fdd0ad39b743e922c2e025254184df1b8a886238b2aa82579aef30ca6f0acb53 - Sigstore transparency entry: 2081670377
- Sigstore integration time:
-
Permalink:
mnghn07/hades@94e055d72da62b7143ab0de7bf72df308dbc8201 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/mnghn07
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@94e055d72da62b7143ab0de7bf72df308dbc8201 -
Trigger Event:
push
-
Statement type: