TUI for browsing, searching, and resuming Claude Code sessions
Project description
clack
A terminal UI for browsing, searching, and resuming Claude Code sessions.
Browse your full session history, read past conversations, jump into stats, and resume any session — all without leaving the terminal.
Install
# pipx
pipx install clack-tui
# uvx (run without installing)
uvx clack-tui
The package name is clack-tui because clack is already taken on PyPI. The package installs both clack and clack-tui executables.
Requires Python 3.11+ and Claude Code installed.
Quick start
clack
clack reads your Claude Code session files directly from ~/.claude/projects/ — no configuration needed.
Features
| Tab | Key | What it does |
|---|---|---|
| Dashboard | 1 |
Browse all sessions, search with full-text search (DuckDB FTS / BM25) |
| Stats | 2 |
Token usage and model breakdown, daily sparklines |
| Dialog | 3 |
Read any conversation turn-by-turn, export to HTML |
| Query | 4 |
Write SQL directly against your session data (DuckDB) |
Dashboard key bindings
| Key | Action |
|---|---|
/ |
Focus search |
Esc |
Clear search |
Enter |
Resume session (opens claude --resume) |
v |
View full conversation |
r |
Refresh session list |
q |
Quit |
tmux: If clack is running inside a tmux session, resuming opens the session in a new tmux window. Otherwise it suspends the TUI, runs claude --resume, and returns when you exit.
If the DuckDB FTS extension is unavailable, dashboard search falls back to simple substring matching.
Query console
The Query console exposes your session data as DuckDB SQL views:
| View | Contents |
|---|---|
v_sessions |
One row per session — date, project, summary, model, turn count |
v_assistant_turns |
Individual assistant turns with token counts |
v_stats |
Aggregated usage by model |
v_sessions_by_day |
Daily session and token totals |
raw_records |
Raw JSONL records |
Example queries:
-- Sessions from the last week
SELECT title, cwd, turn_count FROM v_sessions
WHERE last_active > now() - INTERVAL '7 days';
-- Most token-heavy sessions
SELECT sessionId, SUM(output_tokens) AS total
FROM v_assistant_turns GROUP BY 1 ORDER BY 2 DESC LIMIT 10;
Dev setup
git clone https://github.com/jcc-ne/clack
cd clack
uv sync
uv run clack
Release notes for TestPyPI and Trusted Publishing live in docs/releasing.md.
Requirements
- Python 3.11+
- Claude Code (session files at
~/.claude/projects/) - tmux (optional — enables opening resumed sessions in a new window)
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 clack_tui-0.1.1.tar.gz.
File metadata
- Download URL: clack_tui-0.1.1.tar.gz
- Upload date:
- Size: 22.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 |
02c20ec4995dd88dbe204533ec9d6856e9304ddc32c97e9a8f19141879d1f4dd
|
|
| MD5 |
77dee5662a83cf34e0a1b3ab12f4ca9a
|
|
| BLAKE2b-256 |
709ade8c805df4ef23f60eae82c9c365b089f8b3a68741e9b67f4195232aec95
|
Provenance
The following attestation bundles were made for clack_tui-0.1.1.tar.gz:
Publisher:
publish.yml on jcc-ne/clack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
clack_tui-0.1.1.tar.gz -
Subject digest:
02c20ec4995dd88dbe204533ec9d6856e9304ddc32c97e9a8f19141879d1f4dd - Sigstore transparency entry: 1383314092
- Sigstore integration time:
-
Permalink:
jcc-ne/clack@ccc6eb2dd2c43261b6426110bb556d2d5627c1b7 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jcc-ne
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ccc6eb2dd2c43261b6426110bb556d2d5627c1b7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file clack_tui-0.1.1-py3-none-any.whl.
File metadata
- Download URL: clack_tui-0.1.1-py3-none-any.whl
- Upload date:
- Size: 26.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 |
d93b37fd45b3be6326b3326b027cd6b7af655a59740fd9a8358d5f2f58a5b8f0
|
|
| MD5 |
9e5b3b02366310b2d5b5624a5e8d94d1
|
|
| BLAKE2b-256 |
cf56ce7fe2467e4d4ff10ae3bf928ff1f6260ffc720a6b021981eaa06b176354
|
Provenance
The following attestation bundles were made for clack_tui-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on jcc-ne/clack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
clack_tui-0.1.1-py3-none-any.whl -
Subject digest:
d93b37fd45b3be6326b3326b027cd6b7af655a59740fd9a8358d5f2f58a5b8f0 - Sigstore transparency entry: 1383314099
- Sigstore integration time:
-
Permalink:
jcc-ne/clack@ccc6eb2dd2c43261b6426110bb556d2d5627c1b7 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jcc-ne
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ccc6eb2dd2c43261b6426110bb556d2d5627c1b7 -
Trigger Event:
release
-
Statement type: