# Dashbar > Dashbar shows which Claude Code and Codex sessions are working, how much of your plan is left, and which dev servers are idling. Free and open source. Version 0.7.2. Needs macOS 14 or later. Notarised by Apple. MIT licence. - [Download for macOS](https://github.com/stevenmckinnon/dashbar/releases/download/v0.7.2/Dashbar-0.7.2.dmg) - Homebrew: `brew install --cask stevenmckinnon/tap/dashbar` - [Source on GitHub](https://github.com/stevenmckinnon/dashbar) ## What it shows Everything an agent-heavy day throws at your Mac, in one small panel. ### Agents, and when they need you Each Claude Code session by project: working, idle or waiting for you, for how long, and how full its context window is. Click one to go back to the app it runs in. Turn on permission prompts in Settings and a request shows up under its session with Allow once and Deny. The terminal still asks too, and Dashbar never answers by itself. ### Plan limits, with pace Your 5-hour and weekly limits, with a mark for where an even pace would be and a projection of when you would run out at the current rate. Each tool has its own card, and the one closest to running out comes first. Codex’s limits come from its own logs. Claude’s come from Claude Code’s status line: add Dashbar to it in Settings and your usage updates after each Claude Code reply, with no network request. ### Usage and estimated cost Tokens for Claude Code and Codex today, or over the last 7 or 14 days, by hour or by day, and what they would cost at public API list prices. One choice at the top sets the span for every card, and in the Dashbar window each card also lists its projects and models. The cost is a guide, not your bill, and Settings can hide it. History, in the Dashbar window, keeps 30 days of usage and how full each plan window got. ### Idle servers Dev servers grouped under the project that owns them. One that has been up for over an hour and is barely using the CPU is marked, and so is one an agent started. ### System CPU, memory, GPU, network and battery, and the busiest apps right now. None of it is new; it is just in the same place as everything else. ### Clean-up Finds `node_modules`, `.next`, build folders and Xcode’s DerivedData, shows what you would get back, and moves them to the Trash only after you confirm. ## Or a whole window Press ⌃⌥D (Control-Option-D), or the arrow at the top of the panel, and Dashbar opens as a window. Its pages and every running workspace sit in a sidebar. A workspace’s page adds up what it is using right now, its dev servers, its agents and everything they started, and shows the processes behind the numbers. You can stop a server, quit a process or move the workspace’s caches to the Trash from there. History shows 30 days of usage and estimated cost, and how full each plan window got. ## When would you run out? Dashbar projects your current rate forward to 100%. The bar is a copy of the one in the app. The mark is where an even pace would be by now. ## What it reads and sends ### Reads - Claude Code’s session files and transcripts: `~/.claude/sessions` and `~/.claude/projects` - Codex’s session logs: `~/.codex/sessions` - The same folders for any other Claude Code or Codex account you add in Settings - If you use Google’s agents: Gemini CLI’s chat logs in `~/.gemini/tmp`, and only the status columns of the Antigravity app’s conversation list, opened read-only. If you add Dashbar to the Antigravity CLI’s status line, its plan quota and each session’s folder, model, token totals and state. Never titles, transcripts or your Google sign-in. - The listening ports on your Mac and the processes behind them, through the system’s own process API - The folders you choose, to size the caches in clean-up - If you add Dashbar to Claude Code’s status line: the plan usage Claude Code passes it after each reply. Dashbar changes only that one setting, keeps a backup, and puts your previous status line back when you remove it. - If you turn on answering permission prompts: what Claude Code is about to ask you (the command, file or address), through a hook Dashbar adds to Claude Code’s settings. File contents and edits are left out, and nothing leaves your Mac. ### Sends Nothing, with two exceptions. The app has no account and no analytics. - If you turn on the experimental way of reading Claude plan limits: one request to `api.anthropic.com` with Claude Code’s own sign-in. Dashbar never refreshes or stores that sign-in. The status line way sends nothing. - Update checks, from version 0.3.0: a small feed fetched from GitHub to see whether a newer version exists. The code is [on GitHub](https://github.com/stevenmckinnon/dashbar) if you want to check. This website, not the app, counts visits with Cloudflare Web Analytics, which uses no cookies. [Read the full privacy policy](https://usedashbar.com/privacy). ## What’s new ### 0.7.2 (2026-11-15) - An account whose folder doesn't exist no longer counts as a second account, so Dashbar stops naming everything "Claude · Personal" when you only use one. Settings → Accounts marks it "Folder not found" and keeps it, and Dashbar starts reading it within a minute of the folder appearing - A permission prompt that was settled some other way, by the app you run Claude Code in or by Claude Code denying it on its own, now leaves Dashbar's notch and panel straight away instead of staying until its timer runs out ### 0.7.1 (2026-11-15) - **The dashbar command**: type `dashbar` in Terminal to see which agents need you, which are working and how much of each plan limit is left, or put `dashbar line` in your tmux status bar or shell prompt. It reads what Dashbar already shows, so Dashbar has to be running. Homebrew adds it to your PATH; with the DMG, copy the command from Settings → Integrations - **A notification when a used-up limit resets**: once a 5-hour or Weekly limit has been used up, Dashbar tells you when it resets so you can pick up where you left off. It's covered by the same setting, now "When a plan limit runs low or resets" - The Claude Code status line script no longer writes session ids to disk. Dashbar updates the script by itself the next time it opens - `brew uninstall --cask --zap dashbar` now also removes Dashbar's caches ### 0.7.0 (2026-11-15) - **Answer permission prompts from Dashbar**: turn it on in Settings → Integrations, and when Claude Code asks for permission, the panel, the window, the island and the notification show the whole request with Allow once and Deny. Dashbar never answers by itself, and the prompt in your terminal still works - **Dashbar Island**: on a Mac with a notch, a banner grows out of it when an agent finishes, needs you or asks for permission, then folds away. On other screens it sits below the menu bar. A small status beside the notch is optional - **A new Overview**: agents that need you come first, then the ones working. The Now card has labelled buttons for your editor, terminal, Finder and localhost, other workspaces follow, a strip shows the plan left on each account, and one line tells you how much rebuildable cache Clean-up can clear - **The Usage tab** (was Agents): one card per tool, the most urgent first, with its limits, tokens, estimated cost and chart. One period picker sets every card and is remembered, and with more than one tool a line gives the total - **History**: each past plan window and how much of it you used, plus 30 days of tokens and estimated cost by agent, project and model - **Gemini CLI and Antigravity**: Gemini CLI sessions and their tokens, the Antigravity app's conversations, and Antigravity CLI sessions. Add Dashbar to the Antigravity CLI's status line to see Antigravity's plan limits. All of it stays hidden if you don't use them - **Claude plan limits from Claude Code's status line**: Add to Status Line in Settings → Integrations reads your limits with no Keychain access and no network request. Remove puts your status line back as it was - **More than one account**: add other Claude Code and Codex accounts in Settings → Accounts - **Estimated cost** at API list prices, per day, model and project. You can hide it in Settings - Each Claude Code session shows its running subagents and their share of usage - The menu bar icon shows what's happening: it moves while agents work, turns amber with a count when one needs you, and says Done when one finishes. It can also show the plan left for the 5-hour window, the weekly one or both, for Claude, Codex and Antigravity - Clicking a session or its notification brings back the app it runs in, such as your terminal or editor - Limits read the same everywhere: 5-hour and Weekly for every tool, resets as "in 2h 10m" or "Thu 09:00", and a caption that says what's left ("At this rate, lasts until it resets"). A limit on course to run out turns amber - VoiceOver announces when an agent needs you, asks for permission or finishes, and reads names, headings and figures with their meaning. Keyboard focus is now visible - The panel fits what's in it instead of a fixed height - A welcome window on first run. Dashbar asks for notifications only when you choose to turn them on - Settings has shorter tabs in a resizable window, and it opens on the desktop you're looking at - Your Claude plan updates after an upgrade, instead of showing the old one - Fixed: on macOS 27, Open Dashbar in the welcome window did nothing - Fixed: the plan history file could grow until Dashbar hung at launch [All releases on GitHub](https://github.com/stevenmckinnon/dashbar/releases) ## Questions ### Which agents does Dashbar support? Claude Code and Codex get full support: it reads their session files on your Mac for working status and usage. If you use Google’s agents, Gemini CLI shows its sessions and usage, and Antigravity its sessions, plus usage and plan limits once you add Dashbar to the Antigravity CLI’s status line. Other tools, such as T3 Code, Cursor and Aider, show up as a chip when they are running, without usage numbers. If you want one added, open an issue on GitHub. ### Can I keep it open in a window? Yes. Press Control-Option-D, or the arrow at the top of the panel, to open the Dashbar window: the panel’s pages, History and every running workspace in a sidebar. A workspace’s page shows its uptime, CPU, memory and energy, its dev servers and agents, and the processes behind the numbers. It never starts anything. It acts only when you click: stopping a server, quitting a process after you confirm, or moving a workspace’s caches to the Trash. A pin keeps it on top of other windows. ### Does it work on Intel Macs? Yes. The app is universal, so it runs on Apple silicon and on Intel, on macOS 14 or later. ### Does it use my tokens or send my data anywhere? Reading sessions, ports and folders happens on your Mac and costs nothing. The app has no account and no analytics. The only requests are update checks from GitHub, and, if you turn on the experimental way of reading Claude plan limits, one read-only request to api.anthropic.com. If that sign-in has expired, the Refresh button runs Claude Code once in the background, which uses a few tokens. Reading Claude plan limits from Claude Code’s status line sends nothing. ### How does Dashbar read my Claude limits? Claude does not save them on your Mac, but after each reply Claude Code passes your 5-hour and weekly usage to its status line (on Pro, Max and Ultra plans). In Settings, under Integrations, Add to Status Line changes one setting in Claude Code’s settings.json, statusLine, to a small script. The script saves just those numbers and the time to a file Dashbar reads, then runs the status line you already had, so it looks the same. Dashbar backs up the settings file first. To undo it, press Remove in the same place, and your previous status line comes back exactly. Nothing is sent and the Keychain isn’t read. The numbers are as fresh as your last Claude Code reply. An older, experimental setting instead reads Claude Code’s sign-in from your Keychain and asks an undocumented endpoint; it is off by default. Codex’s limits come from its own logs and need no setup. ### Is the cost my bill? No. It is what your tokens would cost on the pay-as-you-go API at public list prices, worked out on your Mac from the token counts. On a Claude or ChatGPT plan you pay the plan’s price, so treat it as a guide to how much you use. Models without a known price are named rather than counted as $0. Settings, under General, can hide it. ### Can Dashbar approve things on its own? No. Answering permission prompts is off until you turn it on in Settings, under Integrations, which adds one hook to Claude Code’s settings (after a backup; Remove takes it out). Then Dashbar shows what Claude Code wants to do, and answers only when you click Allow once or Deny. Allow once adds nothing to your permission rules. Claude Code keeps its own prompt up in the terminal the whole time, so you can answer there instead. If you don’t answer, Dashbar isn’t running or anything goes wrong, the terminal prompt is the one that counts. ### Does it work with more than one account? Yes. If you run Claude Code with CLAUDE_CONFIG_DIR or Codex with CODEX_HOME, add each folder in Settings, under Accounts. Dashbar suggests folders like ~/.claude-work that have logs. It reads every account’s sessions and usage, labels them by account, and shows each Claude account’s plan limits from its own status line. ### Can Clean-up delete something I need? It only looks for caches you can rebuild: node_modules, .next, build folders and Xcode’s DerivedData. It shows what you would get back and moves items to the Trash only after you confirm, so you can put them back. ### How do I update it? From version 0.3.0 Dashbar checks for updates itself: open Settings, then About, then Check for Updates. With Homebrew, run brew upgrade --cask dashbar. ### How do I uninstall it? If you added Dashbar to Claude Code’s or the Antigravity CLI’s status line, or turned on permission prompts, press Remove for each in Settings, under Integrations, first, so their settings go back to how they were. Then quit Dashbar and drag it to the Trash. With Homebrew, run brew uninstall --cask dashbar, and add --zap to remove its settings, data and caches too. ### Is it affiliated with Anthropic or OpenAI? No. Dashbar is an independent open source project. ## Install Free and open source. The app has no account and no analytics. ### Download Open the DMG and drag Dashbar to Applications. It is signed and notarised by Apple, and needs macOS 14 or later. [Download for macOS](https://github.com/stevenmckinnon/dashbar/releases/download/v0.7.2/Dashbar-0.7.2.dmg). ### Homebrew One command. `brew upgrade` keeps it current. ```sh brew install --cask stevenmckinnon/tap/dashbar ``` --- A menu bar app for Claude Code and Codex. Made by [Steve McKinnon](https://steve.mn). Free and open source under the [MIT licence](https://github.com/stevenmckinnon/dashbar/blob/main/LICENSE). Dashbar is not affiliated with Anthropic or OpenAI. Claude and Codex are their trademarks. Contact: hello@usedashbar.com ## Every release ### 0.7.2 (2026-11-15) - An account whose folder doesn't exist no longer counts as a second account, so Dashbar stops naming everything "Claude · Personal" when you only use one. Settings → Accounts marks it "Folder not found" and keeps it, and Dashbar starts reading it within a minute of the folder appearing - A permission prompt that was settled some other way, by the app you run Claude Code in or by Claude Code denying it on its own, now leaves Dashbar's notch and panel straight away instead of staying until its timer runs out ### 0.7.1 (2026-11-15) - **The dashbar command**: type `dashbar` in Terminal to see which agents need you, which are working and how much of each plan limit is left, or put `dashbar line` in your tmux status bar or shell prompt. It reads what Dashbar already shows, so Dashbar has to be running. Homebrew adds it to your PATH; with the DMG, copy the command from Settings → Integrations - **A notification when a used-up limit resets**: once a 5-hour or Weekly limit has been used up, Dashbar tells you when it resets so you can pick up where you left off. It's covered by the same setting, now "When a plan limit runs low or resets" - The Claude Code status line script no longer writes session ids to disk. Dashbar updates the script by itself the next time it opens - `brew uninstall --cask --zap dashbar` now also removes Dashbar's caches ### 0.7.0 (2026-11-15) - **Answer permission prompts from Dashbar**: turn it on in Settings → Integrations, and when Claude Code asks for permission, the panel, the window, the island and the notification show the whole request with Allow once and Deny. Dashbar never answers by itself, and the prompt in your terminal still works - **Dashbar Island**: on a Mac with a notch, a banner grows out of it when an agent finishes, needs you or asks for permission, then folds away. On other screens it sits below the menu bar. A small status beside the notch is optional - **A new Overview**: agents that need you come first, then the ones working. The Now card has labelled buttons for your editor, terminal, Finder and localhost, other workspaces follow, a strip shows the plan left on each account, and one line tells you how much rebuildable cache Clean-up can clear - **The Usage tab** (was Agents): one card per tool, the most urgent first, with its limits, tokens, estimated cost and chart. One period picker sets every card and is remembered, and with more than one tool a line gives the total - **History**: each past plan window and how much of it you used, plus 30 days of tokens and estimated cost by agent, project and model - **Gemini CLI and Antigravity**: Gemini CLI sessions and their tokens, the Antigravity app's conversations, and Antigravity CLI sessions. Add Dashbar to the Antigravity CLI's status line to see Antigravity's plan limits. All of it stays hidden if you don't use them - **Claude plan limits from Claude Code's status line**: Add to Status Line in Settings → Integrations reads your limits with no Keychain access and no network request. Remove puts your status line back as it was - **More than one account**: add other Claude Code and Codex accounts in Settings → Accounts - **Estimated cost** at API list prices, per day, model and project. You can hide it in Settings - Each Claude Code session shows its running subagents and their share of usage - The menu bar icon shows what's happening: it moves while agents work, turns amber with a count when one needs you, and says Done when one finishes. It can also show the plan left for the 5-hour window, the weekly one or both, for Claude, Codex and Antigravity - Clicking a session or its notification brings back the app it runs in, such as your terminal or editor - Limits read the same everywhere: 5-hour and Weekly for every tool, resets as "in 2h 10m" or "Thu 09:00", and a caption that says what's left ("At this rate, lasts until it resets"). A limit on course to run out turns amber - VoiceOver announces when an agent needs you, asks for permission or finishes, and reads names, headings and figures with their meaning. Keyboard focus is now visible - The panel fits what's in it instead of a fixed height - A welcome window on first run. Dashbar asks for notifications only when you choose to turn them on - Settings has shorter tabs in a resizable window, and it opens on the desktop you're looking at - Your Claude plan updates after an upgrade, instead of showing the old one - Fixed: on macOS 27, Open Dashbar in the welcome window did nothing - Fixed: the plan history file could grow until Dashbar hung at launch