Who left the agents running?
ai9s is a terminal UI for the AI coding sessions already on your machine. It indexes them locally, then lets you search, preview, filter, resume, and — where it is safe — delete them.
The list works like a cluster browser: a hotkey menu, a crumbs bar, and one framed table. d describes the selected row. Ctrl-D deletes. Colors and plugins live in a config file, the same way k9s does. Nothing is uploaded.
brew tap AymanZahran/ai9s https://github.com/AymanZahran/ai9s
brew trust aymanzahran/ai9s
brew install ai9s
Source and go install are on the install page. Building from source requires Go 1.25 or newer.
Features
- Sessions at your fingertips
- Claude, Codex, Copilot CLI, Grok, Antigravity, Gemini CLI, Cursor, OpenCode, Hermes, OpenClaw, Junie, Jules, Goose, Cline, Aider, and Kiro.
- The directory you start in
- A project directory lists sessions in that directory and its subdirectories. Your home directory lists every session.
- Keyboard first
- Hotkeys stay on the top row.
/edits the filter.:opens views and filter tokens.?opens a scrollable manual.
- Hotkeys stay on the top row.
- Five views
1through5switch sessions, providers, directories, branches, and models. Branches shows the git branch and the worktree. Enter on a group applies that filter.
- Preview you can actually read
dreplaces the list with the excerpt.jandkscroll it. Esc returns to the list. Ctrl-D deletes.
- Resume in the original directory
- Enter runs that agent's own CLI.
--yoloadds an approval flag only when the agent documents one.
- Enter runs that agent's own CLI.
- Delete only when one file, one directory, or one CLI call is enough
- Grok, Gemini, Jules, and Kiro stay read-only. The preview says why.
- A local index
- SQLite under your cache directory. Files are skipped when their modification time has not changed. One agent failing does not drop the others.
- Metadata when the agent recorded it
- Context size, window, tokens, cache, reasoning, cost, and premium requests. The CTX column is the latest prompt size, not a sum of every turn.
Documentation
- Installation — source,
go install, and the cache directory - Commands — index, search, show, resume, delete
- Keys — the list, the preview, and command mode
- Agents — where each session lives, and what delete removes
- Filters — agent, directory, branch, model, date, and sort
- Config — colors, skins, mouse, read-only, and plugins
- Contributing — tests, formatting, and how to add an agent
Preview
A sketch of the session list. The rows below are examples, not a recording of anyone's sessions.
<1> sessions <2> providers <3> directories <4> branches <5> models
<j/k ↑/↓> line <h/l ←/→> pan <⌘↑/⌘↓> page <⌘←/⌘→> page
</> filter <d> describe <ctrl-d> delete <enter> resume <q> quit
<n> rename <u> usage <s> stats
ai9s › Sessions › all 4 sessions · 48 messages 1/4
claude 1 codex 1 hermes 1 kiro 1
agent: dir: branch: model: date:<7d sort:recent
AGE↓ DATE AGENT DIR BRANCH CTX TOKENS MSGS NAME
2h 2026-03-02 15:04 claude demo main 12k — 14 sketch the readme
5h 2026-03-02 12:10 codex cli main 8k — 22 rename the command
1d 2026-03-01 09:00 hermes ops main — — 6 check the deploy
3d 2026-02-27 18:20 kiro app main — — 6 kiro:btn
Get in touch
- Repository
- Issues — leave transcripts, tokens, and credentials out of the report
- Contributing