A desktop app to explore, manage, and work with your local Claude Code data — macOS, with experimental Linux and Windows support.
If you use Claude Code heavily, you know how opaque ~/.claude/ is. ClaudeLens makes it navigable: read your past sessions, manage memory and CLAUDE.md, edit skills and agents — and pick a conversation back up, either in an embedded terminal or in an in-app chat. Everything stays in sync with ~/.claude/ in real time, so changes you make in the terminal show up instantly, and vice versa.
| Global Home — Light | Global Home — Dark |
|
|
| Project Overview — Light | Project Overview — Dark |
|
|
| Skill Editor — Light | Skill Editor — Dark |
|
|
| Agent View — Light | Agent View — Dark |
|
|
- Projects & sessions — every project from
~/.claude/projects/in one sidebar, with token usage and cost per project and per session. Open any session to replay the full conversation: messages, thinking blocks, and tool calls rendered for what they are (code diffs, terminal output, web results, sub-agent transcripts). - Analytics — token and cost trends across your history.
- Memory — read and edit memory topics with full CRUD, kept in the exact
MEMORY.md+ topic-file format Claude Code expects, with a warning when the index grows large enough to risk truncation. - CLAUDE.md & rules — the complete instruction hierarchy active for a project (global → project → local → subdir) plus conditional
.claude/rules/. - Skills, agents, plugins & MCP — browse global and per-project skills, agents, installed plugins, and MCP servers; create or edit skills and agents straight from the UI.
- Plans & tasks — plan-mode plans (filterable, searchable, editable) and the tasks Claude creates during sessions, grouped per session.
- Embedded terminal — pick up any session in a real terminal inside the app, side by side with its read-only Lens view.
- In-app chat — continue a conversation through the Claude Agent SDK without leaving ClaudeLens: streaming replies, native slash commands, and interactive tool approvals (Allow / Always / Deny). Chats persist to the same transcript files as the terminal, so the two are interchangeable.
- Live Monitor (experimental) — real-time view of active Claude processes: status (idle / thinking / busy), a sliding activity chart, tool-frequency breakdown, and elapsed timer.
- Duplicate projects — detect project folders that point to the same directory and merge their history and memory.
Everything updates live: any change under ~/.claude/ while you work in the terminal is reflected immediately, and vice versa.
- macOS 12 Monterey or later, or Linux / Windows (experimental)
- Claude Code installed and used at least once (so
~/.claude/exists)
macOS — download the .dmg from the Releases page, open it, and drag ClaudeLens to Applications.
Linux (experimental) — download the .AppImage from the Releases page and make it executable with chmod +x. Opening a session in a terminal relies on a common terminal emulator being installed (gnome-terminal, konsole, xfce4-terminal, or xterm).
Windows (experimental) — download and run the .exe installer from the Releases page. Opening a session launches it in a new cmd window.
First launch — Gatekeeper warning
The app is not code-signed. macOS will block it on first open. Right-click the app in Finder and choose Open, then confirm in the dialog.
Alternatively, run this command once in Terminal:
xattr -d com.apple.quarantine /Applications/ClaudeLens.app
npm install
npm run dev # Vite dev server + Electron
npm run electron:build # Generate distributable DMG- The embedded terminal and in-app chat require the
claudeCLI installed and inPATH - Session list is not paginated — may be slow with very large histories (500+ sessions)
- No automatic updates
- App is not code-signed (see installation note above)
- On Windows, the Live Monitor and background agents are not yet supported (they rely on Unix process tooling); browsing sessions, memory, CLAUDE.md, and opening sessions in a terminal all work







