Your coding agents. One terminal dashboard.
See which agents are working or need attention, read their replies, and check token usage without hunting through tabs. Keep launching your agents as usual; run firekeeper beside them.
brew install DanBradbury/tap/firekeeperStart agents as usual
Claude Code, Codex, Copilot CLI and the rest, with their normal commands and sign-in.
firekeeper Open it beside them
In another terminal, from any directory. Sessions show up within a couple of seconds.
c Read the latest reply
Follow the conversation live, then Esc back or s to jump to that terminal.
- Works with
- Claude Code
- Codex
- GitHub Copilot CLI
- Cursor CLI
- Gemini CLI
- OpenCode
- Kimi Code
See what is running
Every agent, one list. A keyboard-driven terminal UI finds your agent processes, groups each with its children, and shows state, model, working directory, Git branch, and tokens. It refreshes every two seconds.
- Active
- Waiting
- Needs input
- ↑↓ Select
- Enter Expand
- Tab Switch view
Read the reply. Jump to the terminal.
No more tab hunting. Select a session and press c to read its available prompts and replies, following new messages live. Press Esc to return.
Press s to focus the terminal holding that session: Ghostty, Terminal.app, and iTerm2 on macOS. On Windows it raises the terminal window; you pick the tab. Reply and approve tool calls in the agent's own terminal.
Understand usage
Local totals, provider limits, side by side. Compare local token history by model for Codex, Copilot CLI, Kimi Code, and Claude Code. See provider limits where available, separately from local totals.
Every session also gets a per-session token breakdown: input, output, cache read, and cache write. Understand the data sources.
Also in the box
Nothing to configure
No login, server, or daemon for the local dashboard. Quitting Firekeeper leaves your agents running.
Read-only on provider data
Firekeeper never changes your agents' databases, logs, or launch commands.
Ignore whole repos
A repository containing .firekeeper-ignore, or an excluded directory, is never read.
Sessions as JSON
firekeeper snapshot --json prints every discovered session for your own scripts.
Keys for everything
Tab switches Processes, Overview, and Usage. ? lists every key, q quits.
Verified installs
The install scripts check the binary against the release's SHA-256 checksums. No sudo or admin rights.
Seven agent CLIs, one view
Process discovery works without any integration. Each provider also has an adapter that reads its local session data, read-only.
| Provider | Process discovery | State & metadata | Usage tab | Optional transcript upload |
|---|---|---|---|---|
| Codex | Yes | Yes | Limits and history | Yes |
| GitHub Copilot CLI | Yes | Yes | Local history and plan details | Yes |
| Claude Code | Yes | Yes | Limits and token history | Yes |
| Kimi Code | Yes | Metadata | Token history | Yes |
| OpenCode | Yes | Yes | No | Yes |
| Gemini CLI | Yes | Yes, no NEEDS INPUT | No | Yes |
| Cursor CLI | Yes | Yes, no NEEDS INPUT | No | Yes, no timestamps or tokens |
States describe the latest event Firekeeper can see, not ground truth. Provider data formats can change between CLI releases, and adapters evolve with them. macOS is the main target; Linux is best effort; Windows is supported with limits and has had the least real-world use.
Stay local. Add a web dashboard only if you need it.
The terminal dashboard is complete on its own. Sending history to a server is a separate opt-in workflow: backfill and the daemon read your agents' local history, redact it, and upload it to the dashboard server you name, over an open API.
Preview first with firekeeper backfill --all --dry-run; it uploads nothing. If you enable uploads, session metadata and full transcripts go through best-effort redaction, and the server's operator can read them. Reporting guide.
Your transcripts, your rules
The terminal dashboard reads provider data locally and uploads no conversations. Provider usage lookups and release checks can contact the network. Transcript reporting is separate and opt-in.
Opt-in per provider
An unconfigured report or daemon sends nothing. You name each provider you allow.
Redacted first
Every event passes through redaction before it leaves the machine.
You pick the server
Uploads go only to the server you name, over HTTPS unless it is on this machine, with a token bound to this machine.
Plain talk: redaction is best effort, and whoever operates a server can read what is uploaded. Read what is uploaded and what is not caught before you turn uploads on.
Install
All releasesmacOSHomebrew · recommended
brew install DanBradbury/tap/firekeeperUpgrade later with brew upgrade firekeeper. No Homebrew? Use the macOS / Linux script below.
macOS / LinuxInstall script
curl -fsSL https://raw.githubusercontent.com/DanBradbury/firekeeper/main/install.sh | shInstalls to ~/.local/bin without sudo and checks the binary against the release's SHA-256 checksums. Command not found?
WindowsPowerShell 5.1 or 7
irm https://raw.githubusercontent.com/DanBradbury/firekeeper/main/install.ps1 | iexInstalls to %LOCALAPPDATA%\Programs\firekeeper, adds it to your user PATH, needs no administrator rights. Binaries are not code-signed. s raises the terminal window but not the tab. What differs on Windows.
From sourceGo 1.26+
go install github.com/DanBradbury/firekeeper@latestBuilds from source report their version as dev and never check for updates.
firekeeper --versionfirekeeper in another terminalThe script commands download and execute code. Prefer to inspect first? See verification, version pinning, and manual installation. Read the installation steps without the command pills.
Pricing
The terminal dashboard is free and open source, with no subscription. The separate commercial web dashboard is free for local use on your own machine. For remote or shared use, pick a server license.
Free
Terminal dashboard
- Terminal dashboard for seven agent CLIs
- Local chat history and usage
- Open source, Apache 2.0
Personal
Web dashboard server for one
- A year of updates included
- Then $29 a year for updates
Team
Shared, self-hosted
- $144 per seat a year, billed annually
- 3-seat minimum
- Monthly billing? Talk to us
Enterprise
For larger organizations
- Up to 50 seats
- SSO and the fleet agent
- Source review under an NDA
- Data processing agreement
Prices are in US dollars and exclude tax. Payment is handled by Stripe. After you buy, your license key is emailed to you within one business day. Full refund within 14 days: see the refund policy and the license terms.
Design partners: run a free 60–90 day pilot, then pay half price for the first year. In return we ask for feedback, a case study, and your logo. Talk to us.
The command line
Plain firekeeper opens the dashboard. Everything else is an explicit subcommand.
firekeeperTerminal dashboard: Processes, Overview, and Usagefirekeeper login --server URLLink this machine with a browser approvalfirekeeper reportUpload the sessions running right nowfirekeeper backfill --allImport past sessions from local historyfirekeeper daemon installReport in the background from loginfirekeeper whoamiServer, account, and machine this one reports asfirekeeper logoutRevoke and remove this machine's tokenfirekeeper snapshot --jsonPrint discovered sessions as JSONfirekeeper config showMerged configuration, token maskedKeep the fire going.
Watch every agent from one place.
Free, open source, and running in a minute.