Coding Agent Session Search (cass) CLI
CLI and TUI that search the local session history of Claude Code, Codex, Cursor, Gemini CLI and other agents, with a --robot mode for the agents themselves
- 1,196 ★ on the repository
- Last commit
Extended access
Why this level
- Reads the local session history of all agents, which can hold code, paths and secrets
- Builds an index on disk, and cass doctor --fix rebuilds derived data
- Syncs sessions from other machines over SSH and rsync and downloads a model from Hugging Face, but only on your command
Install
- Works in
Manual install
brew install dicklesworthstone/tap/cassThe Homebrew tap installs prebuilt archives for Linux and Apple Silicon macOS. On Windows use Scoop: scoop bucket add dicklesworthstone https://github.com/Dicklesworthstone/scoop-bucket, then scoop install dicklesworthstone/cass.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Reads the local session history of all agents, which can hold code, paths and secrets
- Builds an index on disk, and cass doctor --fix rebuilds derived data
- Syncs sessions from other machines over SSH and rsync and downloads a model from Hugging Face, but only on your command
This is third-party code. Review the repository files before installing.
What it does
cass is a Rust program that gathers the local session history of many AI agents into one index and searches it. Sources include Codex, Claude Code, Gemini CLI, Cline, OpenCode, Amp, Cursor, ChatGPT, Aider, GitHub Copilot, Goose and other agents from the README. Agents store sessions in different formats (JSONL, SQLite, markdown); cass normalizes them into one schema and shows a single timeline. A person works in the interactive TUI, an agent calls `cass search ... --robot` and gets JSON where each hit carries source_path and line_number for the `cass view` command. SQLite is the source of truth, and the search index is rebuilt from it if it breaks. Semantic search turns on with a separate `cass models install` command.
Who it is for. For developers who work with several agents and want to find past solutions, and for agents that need a reference from a project's earlier sessions.
Good fit when
- You need to recall how a similar problem was solved in Cursor two weeks ago while you now work in Claude Code
- An agent needs a reference from this project's earlier sessions before a task: search with --workspace and --days
- You need the current or latest session of a working directory: `cass sessions --current --json`
- You want to search the history of a laptop, a desktop and servers over SSH
- A noisy agent has to be dropped from the index: `cass sources agents exclude openclaw`
Not a fit when
- You need project memory that the agent writes itself while working: cass only searches an existing history
- An agent runs commands without flags: bare cass opens the interactive TUI and blocks the session
- You are on Intel macOS and do not want to build from source: prebuilt binaries cover Linux and Apple Silicon
- You work for OpenAI or Anthropic: the license grants no rights to those companies or people acting on their behalf
Example request
Search my sessions for this project from the last week for how we fixed the performance regression, and show me the spot in the sessionLimitations
The author marks the project as alpha, and the recipe for agents is verified on version 0.8.0: older builds may lack the --no-maintenance flag. The license is MIT with a rider: it grants no rights to OpenAI, Anthropic, their affiliates or people acting on their behalf without the author's written permission. Prebuilt Linux binaries need glibc 2.28 or newer, and Intel macOS installs with the script and --from-source. While the first index is being built, search is lexical only. Session history often holds code, paths and secrets, so do not pass search results to third parties. Some index repairs need the sqlite3 utility.
How to disable. Remove the cass binary: after a Homebrew install that is `brew uninstall cass`. The data directory with the index and the SQLite database (data_dir, described in the README) has to be deleted by hand.
FAQ
How do I search Claude Code and Codex history with cass?
Install cass and call search with --robot, for example cass search "performance regression" --workspace /path/to/project --days 7 --mode lexical --robot. The answer is JSON, and cass view opens the exact spot using the path and line number from a hit.
Why must an agent never run cass without flags?
Bare cass launches the interactive TUI, which blocks the session's terminal. For agents the README requires --robot or --json: stdout then carries data only and diagnostics go to stderr.
Does cass send my history over the network?
The README states everything stays local and nothing phones home. The network is used only on your command: cass models install downloads a model from Hugging Face, and cass sources connects over SSH and rsync to hosts you name.
Which agents does cass support?
The README list is long: Codex, Claude Code, Gemini CLI, Cline, OpenCode, Amp, Cursor, ChatGPT, Aider, GitHub Copilot Chat and CLI, OpenClaw, Goose, Hermes, Kimi Code, Qwen Code, OpenHands, Antigravity, Kiro CLI, Continue and more.
Can cass be used at OpenAI or Anthropic?
Not without the author's written permission. The MIT license carries a rider that withdraws rights from OpenAI, Anthropic, their affiliates and people acting on their behalf.
Discussion
No questions or reviews yet.
Related
CLI toolsA CLI for instant search across coding-agent session history on your machine, like git blame for sessions
A CLI and skill that gather coding-agent session history into one SQLite file the agent can search for past decisions
Local search across your whole Claude Code session history: decisions, commands, variable values and code you already wrote, through 13 MCP tools
continues carries a session from Claude Code, Codex, Cursor and 13 other agents into any other one, with messages, file edits and commands in tow
Indexes agent sessions saved on disk (Claude Code, Codex, Cursor and 35 more tools) and gives the current agent what it needs. No model and no embeddings
A Rust CLI that builds a knowledge graph of code and decisions and feeds the agent the right slice through Claude Code hooks
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Repository stars | Main difference |
|---|---|---|---|
| Coding Agent Session Search (cass) (this entry) | no | 1,196 | |
| Claude Code History Viewer | no | 2,289 | a desktop app for browsing and analysing conversation history, without an agent mode |
| Recall | no | 764 | local project memory for Claude Code: a session log and a compressed summary instead of a search across many agents |
| continues | no | 1,584 | continues carries a session from Claude Code |
README in short
The README opens with installation (a script for Linux, macOS and Windows, Homebrew, Scoop) and a quick start for agents with --robot mode and search examples. It goes on to the rationale, features, a query language and keyboard reference, how the index works and recovers, source sync over SSH and a command reference. It closes with system requirements, environment variables and a troubleshooting section.