jazzyalex/agent-sessions
Local-first macOS app to browse, search, analyze, and resume supported AI coding-agent session history across Codex, Claude Code, OpenCode, Cursor Agent, Hermes, OpenClaw, Copilot CLI, and more.
Agent Sessions is a local-only macOS application for tracking coding agent usage and browsing session history. It provides live quota monitoring for Codex and Claude sessions and aggregates searchable transcripts from fourteen different agent sources, including Hermes, Cursor, and Devin CLI.
- Tracks per-session quota burn for Codex and Claude models.
- Aggregates searchable transcripts and image previews from 14 agent sources.
- Operates locally with no telemetry or session data uploads.
full readme from github
Agent Sessions (macOS)
|
|
Live per-session quota burn for Codex and Claude — see which session is eating your 5-hour and weekly limits, priced per model. Plus searchable transcripts across Codex, Claude, OpenCode, Cursor, GitHub Copilot CLI, Pi, Kimi Code, Grok CLI, Qwen Code, Devin CLI, fx, Antigravity CLI, Hermes, and OpenClaw, with image browsing and one-click resume where the source supports them. macOS, local-only. Session-Bench: how ten agents' session formats score — 20 pass/fail gates, evidence behind every cell. |
If Agent Sessions hands you back something you thought you'd lost, star the repo. It is the only thing this project asks for.
- Requires: macOS 14+
- License: MIT
- Security & Privacy: Local-only. No telemetry. Details:
docs/PRIVACY.mdanddocs/security.md
Download Agent Sessions 5.0.2 (DMG) • All Releases • Install • Resume Workflows • Development
New in 5.0 — agents are now plug-in adapters, Qwen Code joins as the thirteenth source, and adding the agent you use is a documented recipe (26 shared files before, 12 now). See what's new ↓
Overview
Run three agents at once and a normal quota meter tells you "60% used" — not which one spent it. Agent Sessions attributes burn to the individual session, live, against your Codex and Claude 5-hour and weekly windows. Pick the lens you want (5-hour, weekly, tokens/hour, or dollars); the $ lens prices each model in a session at its own rate, so an Opus orchestrator driving Sonnet subagents is costed per model instead of blended into one number.
It's also a local-first Mac app for finding useful work coding agents already wrote to disk — Codex, Claude, OpenCode, Cursor Agent, Hermes, OpenClaw, Antigravity, GitHub Copilot CLI, Pi, Kimi Code, Grok CLI, Qwen Code, Devin CLI, and fx histories in one searchable view, with transcript inspection, image browsing, saved-session recovery, and resume commands for supported CLIs.
Session Runway — read the same burn as % of quota, tokens/hour, or cost/hour
Sessions search with transcript and image preview
Saved Sessions with restore actions
Image Browser for visual session outputs
Security & Privacy
- Local-first: session data stays on your Mac.
- No telemetry, analytics, remote logging, advertising identifiers, or session-history uploads.
- Reads local session folders you choose, plus supported default CLI locations.
- Builds local indexes/databases for search and navigation.
- Explicit actions may open Terminal/iTerm2 resume commands or run status/probe cleanup workflows.
- The only network activity is optional Sparkle update checks and an optional read-only fetch of a public model-price list (for the runway's $ estimate) — neither sends any personal or session data.
Details: docs/PRIVACY.md and docs/security.md.
What's New in 5.1
TL;DR - Two more coding agents: Devin CLI and fx (vercel-labs). Both land in the same searchable list as the rest, each with a Settings pane and a resume command.
New in 5.1:
- Devin CLI, the fourteenth agent source — browsing, search, filtering, Analytics and
the transcript view over Devin's shared SQLite store. Devin keeps every retry and edit as
a branch, so a session shows the live conversation rather than every path it took to get
there. Settings adds binary and storage-root controls, and Copy Resume Command produces
devin --resume <id>. Devin keeps only active sessions, so there is no archived history to browse, and image extraction is not yet supported. - fx (vercel-labs), the fifteenth — one directory per session under
~/.fx/sessions, with every kind of turn rendered: ordinary replies and their narrated tool steps, background commands and where their output went, the summary that replaces auto-compacted history, and interrupted turns with whatever finished before the cut. Text fx stored as raw bytes rather than UTF-8 decodes back to readable output instead of disappearing. - Both agents are contributed, not ported — @thedavidweng added them against the
documented recipe from 5.0, which is the first real test of whether that recipe works for
someone outside the project. Both stay
steward wanteduntil someone running the CLI confirms resume end to end; the support matrix says so on every surface.
Recent releases — 5.0: agents became plug-in adapters and Qwen Code joined as the thirteenth source. 4.8: Grok CLI joins as the eleventh agent source, and Analytics counts every agent you have enabled. 4.7: Kimi Code joins as the tenth source, and active Claude cloud sessions appear in the Quota Meter. 4.6.4: Compact and Full Agent Cockpit retired, leaving the Quota Meter as the only mode. 4.6: paste-a-cookie Claude web usage, no CLI or Full Disk Access needed. Full history in the changelog.
Core Features
- Browse and search Codex CLI, Codex Desktop, and Codex VS Code sessions in one place.
- Browse Claude CLI and Claude Desktop sessions with consistent labels and project context.
- Browse Cursor Agent transcripts from Cursor's local storage, enriched with Cursor chat metadata when available.
- Hermes Agent sessions participate in browsing, search, filtering, analytics, and resume workflows, including current
~/.hermes/state.dbstorage. - OpenClaw sessions participate in browsing, search, filtering, image browsing, and deleted-session visibility while ignoring trajectory traces. OpenClaw resume is not supported.
- Pi CLI sessions now participate in browsing, search, filtering, and resume workflows.
- Qwen Code sessions (new in 5.0) participate in browsing, search, filtering, and Analytics, including active-chain tool calls and reasoning recorded in local JSONL history. Active-chat resume actions are implemented from the installed CLI's help and reader behavior, but remain end-to-end untested because authentication blocked a disposable 0.21.13 run; archived Qwen histories remain browse-only. Qwen image extraction is not yet supported.
- Devin CLI sessions (new in 5.1) participate in browsing, search, filtering, Analytics, and resume workflows from the shared SQLite
sessions.dbunder the CLI data directory, with working directories read from the sessions table'sworking_directorycolumn. Devin keeps only active sessions in that database, so there is no archived-history surface; the records carry inline base64 images, but image extraction is not yet supported. Resume command plans are tested against probe-advertised capabilities, but remain end-to-end untested because authentication blocked a disposable run. - fx (vercel-labs) sessions (new in 5.1) participate in browsing, search, filtering, Analytics, and resume workflows from the per-session
checkpoint.jsontranscripts under~/.fx/sessions, with working directories read from each session'ssession.json. Resume command plans are tested against probe-advertised capabilities but remain end-to-end untested against an authenticated run; image extraction is not yet supported. - Unified browsing across supported agents, with strict filtering, saved sessions, and a single session list.
- Unified Search and Image Browser across sessions, plus in-session Find for fast transcript navigation.
- Readable tool calls/outputs and navigation between prompts, tools, and errors.
- Right-click Copy Resume Command or Resume for supported CLI sessions, with Terminal.app, iTerm2, and Warp launch targets.
- Quota Meter with Session Runway shows live burn rate per session against your Codex and Claude 5-hour and weekly limits — in percent, tokens/hour, or dollars priced per model.
- Local-only indexing designed for large histories.
Agent Support Status
Every agent here is read from its own local session files. Status says who keeps that reading correct as the agent's format changes.
| Agent | Status |
|---|---|
| Codex | Maintained |
| Claude Code | Maintained |
| Cursor Agent | Steward wanted |
| GitHub Copilot CLI | Steward wanted |
| OpenCode | Steward wanted |
| Antigravity CLI | Steward wanted |
| Pi | Steward wanted |
| Kimi Code | Steward wanted |
| Grok CLI | Steward wanted |
| OpenClaw | Steward wanted |
| Hermes | Steward wanted |
| Qwen Code | Steward wanted |
| Devin CLI | Steward wanted |
Maintained — the maintainer verifies it himself. Steward-verified — a named steward re-checks the format. Steward wanted — nobody has adopted it yet. Names, dates, and verified versions are in STEWARDS.md.
Help add — and keep — your agent
Missing agent? Open the new agent source form — docs/CONTRIBUTING.md explains what evidence makes a proposal usable, and you do not need to write Swift. Already using one of the agents above? Become its steward: you get pinged two or three times a year to run one command against your own sessions and say whether the format still reads correctly. It takes about ten minutes, needs no commit rights, and your name goes on the entry. Details and signup in STEWARDS.md.
Quota Meter — Session Runway
An ordinary quota meter says "60% used." It won't say which of your three running agents spent it. The Quota Meter attributes burn to the individual session, live, against your Codex and Claude 5-hour and weekly windows.
- Per-session burn bars — each active session gets its own rate against the live window, so you know which one to stop.
- Four lenses — 5-hour, weekly, tokens/hour, or dollars; chosen from the meter and remembered.
- Priced per model — the
$lens rates each model in a session at its own rate, so an Opus orchestrator driving Sonnet subagents is costed at what each actually runs at rather than blended into one number. - Honest states — a calm "no limit" when a provider drops a window, and "can't verify" rather than a wrong number if usage data changes shape.
- Stays where you put it — drag it anywhere, right-click for controls. Show or hide it from the View menu (⌘⌥⇧C).
Quota Meter Setup
Prerequisites
- Agent Sessions with live session detection enabled
- Agents running in a terminal, or in Codex or Claude Desktop
Ideal Setup
Session rows read best when your terminal names them clearly:
- Set the terminal window title to the repo name
- Run that repo's agents in that window
- Give each tab/session its own clear name
- Use the same name for the tab, session, and badge
Layout
- One repo per desktop/Space if possible
- Or keep several on one desktop if you prefer
- Keep the Quota Meter pinned in a corner so you can always see activity
Install
Option A — Download DMG
- Download AgentSessions-5.0.2.dmg
- Drag Agent Sessions.app into Applications.
Option B — Homebrew
brew tap jazzyalex/agent-sessions
brew install --cask agent-sessions
Automatic Updates (Sparkle)
Agent Sessions uses Sparkle for automatic updates (signed + notarized).
To force an update check (for testing):
defaults delete com.triada.AgentSessions SULastCheckTime
open "/Applications/Agent Sessions.app"
Documentation
- Guides:
- Release notes:
docs/CHANGELOG.md - Monthly summaries:
docs/summaries/ - Privacy:
docs/PRIVACY.md - Security:
docs/security.md - Maintainers:
docs/deployment.md
Resume Workflows
- Right-click any supported CLI session and choose Copy Resume Command to get the exact CLI command for that session.
- Open supported Resume sessions in your preferred terminal: Terminal.app, iTerm2, or Warp.
- Use Unified Search (across sessions) and Find (within a session) to jump to relevant tool calls and outputs quickly.
Privacy & Security
- Local-only. No telemetry.
- Reads agent session directories in read-only mode:
~/.codex/sessions~/.claude/projects~/.gemini/antigravity/brain~/.copilot/session-state~/.cursor/projectsand~/.cursor/chats~/.factory/sessionsand~/.factory/projects~/.hermes/state.dband~/.hermes/sessions~/.openclaw/agentsand legacy~/.clawdbot/agents~/.pi/agent/sessions~/.local/share/opencode/opencode.dband~/.local/share/opencode/storage/session
- Details:
docs/PRIVACY.mdanddocs/security.md
Development
Prerequisites:
- Xcode (macOS 14+)
Build:
xcodebuild -project AgentSessions.xcodeproj -scheme AgentSessions -configuration Debug -destination 'platform=macOS' build
Tests:
xcodebuild -project AgentSessions.xcodeproj -scheme AgentSessionsTests -destination 'platform=macOS' test
Contributing:
Don’t see your coding agent? You can propose it, contribute a sanitized format fixture, or use the AI-agent brief to prepare a draft integration PR. Every source remains ordinary reviewed code; Agent Sessions does not download provider plugins or infer support from an installed binary.
License
MIT. See LICENSE.