Chatlens — Development skill for Claude Code
Local-first CLI for searching Codex, Claude Code, and Hermes sessions and recovering work context.
How to install Chatlens
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open jonah-ux/chatlens and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Chatlens does
Local-first CLI for searching Codex, Claude Code, and Hermes sessions and recovering work context.
Alternatives in Development
- Resume Work From A Handoff Document — You are tasked with resuming work from a handoff document through an interactive process 10k ★
- Petdex — A public gallery of animated pets for Codex, Claude Code, DeepSeek Harness, Hermes, OpenCode, Gemini CLI, and 4k ★
- Harnessrouter — HarnessRouter Community Edition: the self-hosted, Apache-2.0 edition of the unified interface for agent harnes 618 ★
README
Chatlens

**Read, search, and recover context from local AI coding sessions.**
Chatlens reads Codex, Claude Code, and Hermes conversation stores, builds a local searchable index, and turns a session into a compact work card. Use it when you remember an agent solving a problem but have lost the conversation—or when the next agent needs evidence to continue.
Python 3.11+ · Zero runtime dependencies · MIT · Local only · Early release
chatlens search 'release parser' --json
chatlens read codex:SESSION_ID --mode brief --budget 2500
chatlens card codex:SESSION_ID --json
Install
Install the versioned GitHub release in a virtual environment:
python3 -m venv .venv
. .venv/bin/activate
python -m pip install 'git+https://github.com/jonah-ux/chatlens.git@v0.1.0'
chatlens --version
chatlens --help
Alternatively, install a wheel from [GitHub Releases](https://github.com/jonah-ux/chatlens/releases). Python must provide SQLite FTS5. No API key, model account, or daemon is needed. Windows support has not been verified; CI covers Linux and macOS.
Quick start
chatlens list --json --limit 10
chatlens index --json --fail-on-error
chatlens search 'release parser' --json
chatlens read codex:SESSION_ID --mode brief --budget 2500
chatlens card codex:SESSION_ID --json
Use the source and ID from `list` or `search`. Unique bare IDs and prefixes work too; ambiguous IDs fail with candidates. Refresh the index after new conversations or exclusions. Search includes the last refresh time and coverage for each indexed source; cached results do not prove that a session is still active.
To try all three readers without using your own history:
git clone --branch v0.1.0 https://github.com/jonah-ux/chatlens.git
cd chatlens
python demos/demo.py
The demo creates temporary synthetic stores and exercises the installed package.
Related Skills
AllSessions
A local-first desktop workspace for browsing, searching, and managing Codex, Claude Code, and Gemini CLI sessi
Lacp
Local-first policy, evidence, memory, and recovery controls for Claude, Codex, Hermes, and other CLI coding ag
Decant
Local-first analysis of Claude Code and Codex sessions: token spend, context windows, files touched, and cost.
Codex Claude Transfer
Local-first CLI (cct) that moves Codex & Claude Code sessions between machines: export to a .codexbundle, copy
LegCli
Local kanban board that hands a coding agent's unfinished work to the next agent CLI when the first one hits i
Omnisession
Search, resume, fork, and transfer local coding-agent sessions across Claude Code, Codex, OpenCode, Grok, Herm
Related Agents
Ade
Agent sessions routinely outlast the machine that started them, and checking a Claude Code or Codex run from a
Recover
Recover lost context from compacted sessions by searching Aspy logs
Search Conversations
Use when searching Claude Code and Codex history for information learned in past conversations or prior experi