A cat in your menu bar that watches your coding agents.

Every Claude Code and Codex session at a glance. Know the second one needs you, and see how much of your plan is left.

$ curl -fsSL https://raw.githubusercontent.com/kushalBanda/OpusBar/main/scripts/install.sh | bash

Free and open source · macOS 14+ · Apple silicon and Intel
Prefer a disk image? Download the DMG

1 needs you · 4 active

  • payments-apiClaude Code

    Needs you · Allow Bash?

  • design-systemClaude Code

    Done

  • web-appClaude Codemain

    Working · Edit

  • infraCodexcdn-cache

    Working · shell

  • ml-pipelineCodexevals

    Thinking

Sample sessions

Four terminals. One stuck agent.

A refactor in one terminal, a test fix in another, and Codex working on a migration behind your browser. One of them has waited on a permission prompt for ten minutes, and you find out only when you go and look.

OpusBar puts every running session in your menu bar. The cat shows the state of the most urgent one.

How the cat shows each state

Working

  1. Working

    A session is calling tools: editing files, running tests, using the shell. The cat runs while the work happens.

  2. Thinking

    The model is reasoning before it acts. Nothing for you to do yet, so the cat cleans its paws.

  3. Needs you

    A permission prompt or a question is waiting. The cat sits up, a badge counts the waiting sessions, and a notification tells you which one.

  4. Done

    The session finished its turn. The cat takes a nap until you give it more work. A ping for finished sessions is optional.

  5. Error

    The session stopped on an error. You get a notification, and the badge marks it until you look.

  6. Idle

    Nothing is running. The cat sits and waits, and stops animating so it uses no CPU.

See it in twenty seconds.

Sound on.

See how much of your plan is left.

Your 5-hour and weekly windows for every Claude Code and Codex account, read straight from your agents' own logs. Your history is there on first launch.

Every window, with its reset time.

Work and personal profiles, or a second CODEX_HOME, each keep their own limits. Claude figures refresh after every reply.

Claude Codework

5 hresets in 2h 29m75% left
Weekresets in 4d 3h69% left

Claude Codepersonal

5 hresets in 2h 59m68% left
Weekresets in 2d 1h40% left

Codex

30 dresets in 24d 17h90% left

Sample data

A warning before you hit the wall.

OpusBar warns at 80% and 95% of a window, and tells you when a window renews.

OpusBarnow

Claude Code limit 80% used

5-hour window · resets in 1h 12m

OpusBar2h ago

Your Claude Code window renewed

5-hour window · 100% left

What your tokens are worth.

Tokens over 24 hours, 7, 30 or 90 days, by agent, account, model and project. Next to them is the API value: what the same tokens cost at Anthropic's and OpenAI's list prices. On a subscription, that is what your plan covers.

API value Claude Code Codex

$2,815 8.9B tokens

Sample data

Pick your cat.

Twenty-one coats, from the original 1989 oneko to Catppuccin and Vaporwave. Pick one here and every cat on this page changes to it. In the app you also pick the pose for each state and the cat's size.

Everything stays on your Mac.

No account, no telemetry, no analytics. Here is the complete list.

It reads

  • Hook events from your agents: eleven fields such as session id, event name, folder and tool name. Your prompts, code and replies are dropped inside the hook, before they reach OpusBar.
  • Your agents' session logs, for usage: time, model, project, session id and token counts. Nothing older than 90 days.
  • Plan limits from Claude Code's status line and cache, and from Codex's logs.
  • The process list and .git/HEAD, for the folder and the branch name.

It writes

  • Hook entries, only in the agents you connect. Each file is backed up first.
  • Its own folder in ~/Library/Application Support/OpusBar.

It sends

  • One request: a daily update check to GitHub that carries only OpusBar's version. You can turn it off.

The hook has a 200 ms deadline and exits quietly when OpusBar is not running, so your agents never wait on it.

Install it in one line.

Paste this into Terminal. The script downloads the latest release, checks its SHA-256, puts OpusBar in Applications and opens it. Read the script first if you like.

$ curl -fsSL https://raw.githubusercontent.com/kushalBanda/OpusBar/main/scripts/install.sh | bash
  1. Install. The cat appears in your menu bar, dimmed until a session starts.
  2. Connect your agents. Open Settings › Agents and click Connect next to Claude Code and Codex. For Codex, run /hooks once and approve OpusBar's.
  3. Get back to work. The cat tells you when a session needs you.

Download the DMG Star on GitHub

The DMG is not notarized by Apple yet. Open the app once, then go to System Settings › Privacy & Security and click Open Anyway. The Terminal install skips this step.

Questions

Is OpusBar free?

Yes. OpusBar is free and open source under the Apache 2.0 license.

Which coding agents does it support?

Claude Code and Codex, in any terminal, tmux pane or editor. Running agents show up within 30 seconds, even before you connect anything. Connect them in Settings and the cat also knows what each session is doing. Codex needs version 0.155 or later for hooks.

Does it send my code or prompts anywhere?

No. Everything stays on your Mac. The hook drops your prompts, code and replies before they reach OpusBar. The only network request is a daily update check to GitHub that carries OpusBar's version, and you can turn it off in Settings › About.

Can it show my Claude Code usage limits?

Yes. It shows your 5-hour and weekly windows for every Claude Code and Codex account, with the time each one resets, and warns at 80% and 95%. Claude limits appear after the first reply in a connected session.

Does it slow down my Mac?

No. The menu bar cat never draws more than 4 frames a second, stops 30 seconds after the last change, and holds still when Reduce Motion is on. Once still, it uses no CPU.

I can't see the cat.

On a MacBook with a notch, a crowded menu bar hides items behind it. Hold ⌘ and drag other icons out of the menu bar to make room.

How do I uninstall it?

In Settings › Agents, click Disconnect for each agent first. This removes the hooks and puts your own status line back. Then quit OpusBar and drag it to the Trash. Optionally, delete ~/Library/Application Support/OpusBar.