English | Русский
Claude.Control.Bar.Demo_3.mp4
A macOS menu bar app for Claude Code. It shows what Claude is doing and lets you manage sessions, MCP servers and usage limits from the menu bar.
- Sessions. An animated icon while Claude works, a yellow dot when it waits for your permission, a turn timer and context-window usage for each session. Click a session to focus the terminal or editor it runs in.
- MCP. Every server and every tool has its own switch. A muted tool disappears from Claude's context at the next session start.
- Limits. 5-hour and 7-day usage as bars in the menu bar, with reset times in the menu.
/plugin marketplace add InfinityScripter/claude-control-bar/plugin install claude-control-barThe app compiles from source on your Mac at the next session start, so you need the Xcode Command Line Tools (xcode-select --install). Updates arrive with the plugin.
- Download
claude-control-bar.dmgfrom the latest release. - Drag Claude Control Bar into Applications.
- Launch it once to install the hooks — with no Claude session running it may quit again right away, and that's fine: the hooks are in.
Important
The DMG is not notarized, so macOS blocks the first launch. Open System Settings → Privacy & Security and press Open Anyway, or run
xattr -dr com.apple.quarantine "/Applications/Claude Control Bar.app".
Pick one install channel. With both installed every hook runs twice; the app resolves the conflict in favor of the plugin, but there is no reason to keep both.
The app has no window and no Dock icon — it lives in the menu bar, in the top-right corner of the screen, next to the clock. You don't open it yourself: it starts with the first Claude Code session and quits when the last one ends.
After installing:
- Start a new Claude Code session —
claudein a terminal, or a Code session in the desktop app. Sessions that were already open before the install show up only after their next prompt or tool call. - Plugin channel: wait out the first build. The first session start compiles the app from source, which takes a minute or three; the icon appears when the build finishes. If it never does, look in
~/.claude/control-bar/problems.log. - Find the crab in the menu bar. With no session working it sleeps; it walks while Claude works, and a yellow dot means a session waits for your permission. Click the icon — sessions, MCP switches, limits and Options all live in that menu.
No icon?
- A DMG-installed app opened by hand quits right away when no session is active — designed behavior, not a crash. Launch it once so it installs its hooks, then start a session.
- A full menu bar is the most common cause: macOS parks items that don't fit behind the
›overflow chevron, which from the outside looks exactly like "the app didn't start". Cmd-drag a few icons out of the bar to free a slot. pgrep -x ClaudeControlBarin a terminal: a number means the app is running and only the icon is hidden; no output means it isn't — start a session, or see TROUBLESHOOTING.md.
Sessions, limits, MCP switches and Options all live in the menu bar icon; the app starts and quits on its own, as described above.
Crab Walking is the default animation on a fresh install. The mascot changes with the number of Claude Code sessions working in parallel. Only sessions that are currently thinking or running a tool count; open but idle sessions do not.
| Working sessions | What the Crab does |
|---|---|
| 0 | Sleeps |
| 1 | Relaxes with a cigar |
| 2–3 | Uses the original walking animation |
| 4–5 | Turns red, sways and sweats |
| 6+ | Its head catches fire |
These previews use the same runtime frames and timing as the menu-bar app:
| 0 · Sleeping | 1 · Cigar | 2–3 · Walking |
|---|---|---|
![]() |
![]() |
![]() |
| 4–5 · Overheated | 6+ · On fire | Permission needed |
![]() |
![]() |
![]() |
When a session needs permission, the Crab switches to a separate waiting scene: it checks its watch, then looks at the screen. A yellow warning dot stays beside it, and the status text reads Needs you. Once permission is handled, it returns to the state for the current number of working sessions.
Server and tool switches apply to new sessions: Claude Code assembles the tool list at session start, so sessions that are already open keep their old set.
The limit figures come from the same Anthropic usage endpoint that the /usage command asks. The app polls it with the OAuth token Claude Code keeps in your Keychain and sends it to api.anthropic.com only. The poll has an off switch in Options. PRIVACY.md lists every file the app writes and every request it makes.
- macOS 12+
- Claude Code (CLI or Desktop app)
- Node.js and the system
/usr/bin/python3 - Xcode Command Line Tools for the plugin channel (it compiles the app locally); the DMG doesn't need them
Installed as a plugin: run /plugin uninstall claude-control-bar, then drag ~/Applications/Claude Control Bar.app to the Trash.
Installed from the DMG:
node "/Applications/Claude Control Bar.app/Contents/Resources/uninstall.js"The script removes the hooks; after that drag the app to the Trash. State lives in ~/.claude/control-bar/.
See TROUBLESHOOTING.md.
The project grew out of claude-status-bar by Mick Cesanek, merged with claude-mcp-bar. Contributors are listed in ACKNOWLEDGEMENTS.md.
MIT, see LICENSE. This is an unofficial project with no affiliation to Anthropic. "Claude" is a trademark of Anthropic, used nominatively.





