Free desktop app for coding agentsSee every coding agent you run. Wherever it runs.

Who is waiting on you, who is stuck, how close the limit is. What each pull request cost.

Nothing leaves your machine. No account, no cloud, no telemetry.

  • Claude Code
  • OpenCode
  • Codex
  • Gemini CLI
  • DeepSeek Harness
Download for Mac
All install options →
Caprock on a phone: today's cost at API list price, sessions and turns, and the Claude Max 5-hour and weekly windowsCaprock on a phone: today's cost at API list price, sessions and turns, and the Claude Max 5-hour and weekly windows

The macOS app replaying a real Caprock work session, and a paired phone. Example figures.

Or run it yourself

curl -fsSL https://caprock.dev/mac.sh | sh

Paste in Terminal: it installs Caprock and opens it.Or with Homebrew: brew install --cask dspv/tap/caprock-app

Pipeline

Every pull request, from agent to release.

Read from your git and GitHub, on your machine: where each pull request is, what the agents on its branch cost, and what went out in each version.

Open, CI, merged, released, and what the agents spent on it.

Example figures from a demo machine. Agent cost is at API list price, an estimate.

Work

Who is on what, how far it got, and who is stuck.

Every branch at its furthest stage, with the agent and model on it, how long it has run and what it has cost so far. A session calling the same tool over and over gets a loop alert.

Example figures from a demo machine. Agent cost is at API list price, an estimate.

Your agents

Run them here, or in your own terminal.

Claude Code, Codex, OpenCode, Gemini CLI and Hermes Agent in tabs and split panes, each in its project or worktree. Or keep your terminal: Caprock records those sessions too, and the ledger is the same.

Sessions waiting on you come first; a new agent is one line away.

Claude Code desktop app options →

Example figures.

What did that feature cost?

Cost per pull request, with the tokens behind it.

The pull requests open now or merged this week that cost the most, each priced from the agent sessions on its branch. Not one total for the month.

At API list price: an estimate of what those tokens cost, not a bill. Example figures from a demo machine.

A real week, read on the maker's machine 16 Oct 2026: 45 pull requests merged into dspv/caprock in 7 days, $343.78 of agent cost — about $7.64 each; the dearest, #720, $71.13. At API list price.

On the Home screen, with GitHub connected.

Cost and limits

What each repository costs, and how close the limit is.

Every turn priced at API list price when it is written, however you pay, with your Claude and Codex plan windows beside it.

In August I ran $5,898 of Claude Code on a $200 Max plan — 29× at API list prices.

Cost

Claude Code cost per repository — and per service in a monorepo.

A turn counts toward the directory of the last file it touched, so the rows add up to the repository.

127.0.0.1:22776
Projects30d
example-app
41.2M
$3,426
by files touched · share of this repository’s tokens
/app
25.1M 61% · $2,090
/.ai
2.8M 6.8% · $233
/app/tests
1.1M 2.8% · $96
outside the repository
10.7M 26% · $891

A turn counts toward the directory of the most recent file it touched, and keeps counting there until work moves elsewhere. Each turn goes whole to one row, so the rows add up to the repository’s total exactly.

Example figures.

How close the limit is

Six days to 99%, then the reset.

One Claude plan's seven-day window on the maker's Mac, read every hour by the app. The 5-hour window sits beside it in the app, with when each resets and when this pace reaches 100%.

One Claude plan’s seven-day limit, 13 to 21 October 2026Per cent of the weekly limit used, read every hour. It climbs from 5% on 13 October to 99% on the morning of 19 October, drops to 1% at the reset at 16:00 that day, and reaches 29% by the end of 21 October.100%50099%reset131415161718192021Oct
One developer’s Mac, 13 to 21 October 2026: one Claude plan’s seven-day window, read every hour.

Plan limits

Claude and Codex plan limits, live.

Each plan's 5-hour and weekly windows, when they reset, and when this pace reaches 100%.

How to check Claude Code usage →

What your agents shipped today.

Free and open source · macOS, Windows and Linux · no account

View on GitHub →
Download for Mac

Notarized by Apple. One file for Apple silicon and Intel, macOS 13 or later.

Or run it yourself:

curl -fsSL https://caprock.dev/mac.sh | sh

Paste in Terminal: it installs Caprock and opens it.Or with Homebrew: brew install --cask dspv/tap/caprock-app

Private by design

Your sessions stay on your machine.

No account, no telemetry. Network features, a paired phone among them, are each off until you turn them on, and the app says what each one sends.

Your computer

127.0.0.1:22776caprock.db · SQLite

Off until you turn it on

Release check · offGitHub · offPhone · offTelegram · off

Local by default

Data stays in a SQLite file on your disk. There is no account or telemetry. It goes online only for what you switch on: update checks, GitHub, a paired phone, your own Telegram bot, a week card you post. Each is listed where it is switched on, with what it sends.

~30 MB

The daemon, idle.

~40 MB while reading 1,414 transcripts. Measured 2026-08-18.

hook fails → exits in < 1 s

Hooks exit safely on error

If the hook fails, your session goes on.

your terminal · observedstarted by Caprock · controlled

You control your terminal sessions

Observes what you start; controls only what it starts.

priced from a dated list

No invented numbers

Every dollar is a list-price estimate, never a bill.

macOSWindowsLinux

Three operating systems

macOS, Windows, Linux. Tested on all three.

Compared

Caprock and other apps for running coding agents.

Each runs agents in parallel. What differs is the price and licence, the platforms, how a phone reaches your machine, and what you see of cost and limits.

FeatureCaprockOrcaConductorClaude appChatGPT appWarpNimbalyst
macOS, Windows and Linux✓✓—◐◐✓✓
Phone with no account✓◐—————
Cost per repository✓——————
Claude and Codex plan limits✓✓✓◐◐—✓
Approve from a notification◐——————
System prompt per project✓✓✓◐◐——
Free and open source✓✓◐—◐✓✓

✓ yes · ◐ partly · — no, or not in their docs · read 21 October 2026 · All columns, with sources → · Claude Code GUIs →

Claude Code compared with Codex · Cursor · OpenCode · Gemini CLI · Copilot · Antigravity · Kiro

  • Caprock fits

    Several agents, several repos, one ledger: who is waiting, who is stuck, the limits, what each PR cost. On your machine.
  • Look elsewhere

    You want an editor or cloud workspaces. Cloud and CI sessions are not observed.

Try it

On the sessions you already run.

Install the app and it picks up the sessions already on this machine, past ones too.

Notarized by Apple, for Apple silicon and Intel. Other ways →

Caprock with six Claude Code agents in tabs, a shell under the running one, and its cost on the rightCaprock with six Claude Code agents in tabs, a shell under the running one, and its cost on the right

The ledger

Keep your coding agents’ history.

Caprock imports the sessions still on disk, not ones already deleted, and records new ones. You can search them after your agents delete the original transcripts.

127.0.0.1:22776
Last 30 days
$342.09
at API list prices · 3 models
opus-4.8 · $270
sonnet-4.6 · $50
haiku-4.5 · $22

Example figures.

  • Kept past 30 days

    Claude Code deletes transcripts after 30 days by default. On the maker's machine, 67 of 114 transcripts were gone, including 10 from worktrees he deleted. All 67 remained searchable in Caprock. The numbers →
  • Six agents, one table

    Claude Code, Codex, OpenCode, Gemini CLI, DeepSeek Harness and Hermes Agent each write their own format. Caprock reads all six into one table on your disk; caprock export gives it to you as TSV, CSV or JSON lines. How →
“not just tracking spend, but seeing what's really happening on your projects. … PyCharm restarts and the session is gone. Caprock takes that pain away.”
Vladimir Konov
Vladimir KonovSoftware Engineer · Rust, distributed systemsread the whole note
“I see its future value as a central, independent store of my sessions across different models, providers and projects … use as parallel documentation or extra memory.”
Sergey Aksёnov

Every note in full, with how long each person used it →

FAQ

Questions.

What does Caprock do?+

Caprock is a free desktop app for macOS, Windows and Linux that keeps the ledger of every coding agent you run — Claude Code, Codex, OpenCode, Gemini CLI and others, the sessions you start in your own terminal included: who is waiting on you, who is stuck, how close each plan is to its limit, and what each pull request cost, on your machine. Caprock records every session on the machine whether or not it started it, across Claude Code, Codex, OpenCode, Gemini CLI and others, prices each turn at list price when it is written, and joins it to the repository, pull request, CI run and release it produced. Run your agents in Caprock's terminal tabs and split panes, or keep your own terminal and your own phone: the ledger is the same either way. In the app each session has a terminal tab, with split panes, your projects and their worktrees in the sidebar and the sessions waiting on you first; a paired phone opens the same Caprock.

Is there a desktop app and a phone app?+

A desktop app, yes; the phone needs no app of its own. The desktop app runs on macOS (download it, or brew install --cask dspv/tap/caprock-app; signed with an Apple Developer ID and notarized by Apple), Windows and Linux, with the daemon — the background service that records your sessions — inside. It opens on your agent terminals and projects, and when a Claude Code session Caprock started asks for permission, the notification on macOS and Linux has Deny, and Approve when it shows the whole request. A phone pairs by QR code and opens Caprock in its browser, from anywhere, through an end-to-end encrypted relay: it reads a session as a chat and reconnects by itself, and once you allow control it answers prompts, clones a project and starts an agent in it.

Do I have to change how I work?+

No. Keep running claude in your own terminal. Caprock adds a small hook to ~/.claude/settings.json — backed up first, removed with caprock hooks uninstall — and reads the transcripts Claude Code already writes.

Will it see sessions from before I installed it?+

Yes. Caprock imports transcripts still on disk, which Claude Code keeps for 30 days by default. It then records new sessions and keeps them after Claude Code deletes the original files.

Does anything leave my machine?+

Only if you enable a network feature. By default, data stays in a SQLite file on your disk and Caprock listens on 127.0.0.1. There is no account or telemetry. You can enable update checks (the app asks once), connect GitHub to clone and open pull requests, send weekly reports and phone alerts to your Telegram bot, or ask Gemini using your API key. Updating downloads the new app from GitHub's release files. You can also pair a phone, which reaches Caprock from anywhere, through an end-to-end encrypted relay that sees only ciphertext. A phone you pair can control sessions unless you untick that when you pair it, and you can take control away in settings. A bug report or a survey answer reaches us only when you press Send. Pressing X, Threads or LinkedIn on the Week card uploads the picture you chose, alone, to caprock.dev so the post shows it; Settings → Privacy lists each one with Remove. The code is Apache-2.0 on GitHub.

How does it spot a stuck session?+

When a session calls the same tool with nearly the same input five times within three minutes, a banner goes up. Repeated reads and searches don't count: re-reading a file is normal work, and on 64,733 real tool calls they were over half of all alerts. Sessions Caprock started can be paused automatically.

Is it free?+

Yes, for solo use, and what is free stays free: live sessions, cost per repository, plan-limit warnings, history and search. A licence — $30 a year or $100 once — adds 8 features: Auto-pause at a daily budget, Pause at the plan limit, Answer from Telegram, A weekly report, Ask about your usage, Where each tool failed, Custom agents, More than three sign-ins per agent. The desktop app is free too. Caprock adds nothing to your Claude bill. The costs it shows are at API list prices: on a flat plan, an equivalent, not a charge.

How is it different from ccusage?+

ccusage prints usage tables in your terminal when you ask, with nothing running in between. Caprock runs in the background and keeps a ledger: live sessions, loop alerts, plan limits, cost per repository and per pull request, and history kept past Claude Code's 30-day cleanup. Use ccusage for a quick table, Caprock for every agent in one place.

What is the task runner?+

An opt-in way to run tasks unattended. You write a task and the commands that must pass, such as tests, type checks and lint. Each task runs in its own git worktree; Caprock runs your commands itself before marking the task done. It never merges into your branches. Workers skip permission prompts and your commands run with your permissions, unsandboxed — give it independent tasks you would run yourself.

For teams

The ledger of agent work, for the whole team.

Every coding agent on every machine, what it is doing now, what it cost per pull request however you pay, kept on servers you own. Counted by repository, pull request and release, not by person; prompts and code stay on each laptop.

From $500 a month, billed yearly — one flat price for the team, never a share of your AI spend. The Community Edition stays free.

See every coding agent you run.

Who is waiting on you, who is stuck, how close the limit is. Free and open source; nothing leaves your machine.

Download for Mac

Notarized by Apple. One file for Apple silicon and Intel, macOS 13 or later.

Or run it yourself:

curl -fsSL https://caprock.dev/mac.sh | sh

Paste in Terminal: it installs Caprock and opens it.Or with Homebrew: brew install --cask dspv/tap/caprock-app

Free and open source. Premium adds a daily budget stop and Telegram.

Teams: every machine, by repository and pull request, on your servers.