Agent Sessions (macOS)

August 18, 2026 · View on GitHub

Build

App Icon

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, 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 — 19 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.md and docs/security.md

Download Agent Sessions 5.0.1 (DMG)All ReleasesInstallResume WorkflowsDevelopment

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, and Qwen Code 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

Quota Meter Session Runway switching its rate unit from percent of quota per hour to tokens per hour to estimated API-equivalent cost per hour

Sessions search with transcript and image preview

Main Sessions window with local agent history and transcript preview

Saved Sessions with restore actions

Saved Sessions window listing stored sessions and restore actions

Image Browser for visual session outputs

Image Browser window with thumbnail grid and selected screenshot preview

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.0

TL;DR - Agents are now plug-in adapters instead of hand wiring across every surface, which is why this release is 5.0. Qwen Code joins as the thirteenth source, and adding a fourteenth is a documented recipe: 26 shared-file edits before, 12 now, each one listed.

New in 5.0:

  • Plug-in adapters for every agent — the session list, search, the filter pills, Analytics, the Settings panes and the launch state each carried their own hand-written list of agents, so an agent could appear in one and be quietly missing from another. They all derive from a single source description now. Switching an agent off reaches every surface at once, and adding an agent is a documented, tested recipe rather than fourteen scattered edits.
  • Qwen Code, the thirteenth agent source — local JSONL chats in browsing, search, filtering, Analytics and the transcript view, with reasoning and tool activity, rewound branches reconstructed along the active parent chain, and Settings controls for binary and storage root. Active chats offer --resume; archived histories stay browse-only. Format verified against real 0.14.3 transcripts.
  • Add the agent you use — a proposal form, an implementation brief you can hand to your own coding agent, and a PR template, surfaced once from inside the app by a dismissible card. Shipped agents can pick up a steward who keeps their format verified as the CLI moves.
  • The agent switches reach everywhere — disabled agents no longer surface in filter-view search results, Kimi and Grok report when their loading has finished, and OpenClaw stops marking Analytics out of date on every launch.
  • OpenCode and Hermes transcripts are searchable — both store sessions in SQLite behind one shared file path, and search ingest could not tell their sessions apart, so their transcript text was never indexed.

Recent releases — 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.db storage.
  • 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.
  • 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.

AgentStatus
CodexMaintained
Claude CodeMaintained
Cursor AgentSteward wanted
GitHub Copilot CLISteward wanted
OpenCodeSteward wanted
Antigravity CLISteward wanted
PiSteward wanted
Kimi CodeSteward wanted
Grok CLISteward wanted
OpenClawSteward wanted
HermesSteward wanted
Qwen CodeSteward 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 formdocs/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 showing Codex and Claude 5h/weekly limits with Session Runway per-session burn-rate bars

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

  1. Download AgentSessions-5.0.1.dmg
  2. 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

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/projects and ~/.cursor/chats
    • ~/.factory/sessions and ~/.factory/projects
    • ~/.hermes/state.db and ~/.hermes/sessions
    • ~/.openclaw/agents and legacy ~/.clawdbot/agents
    • ~/.pi/agent/sessions
    • ~/.local/share/opencode/opencode.db and ~/.local/share/opencode/storage/session
  • Details: docs/PRIVACY.md and docs/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.