Permission requests
The exact command, or a diff of the edit. Allow once, Always, or Deny. Long or multi-line input and extra fields are flagged, and Show full … opens all of it.
Every permission prompt, question, plan and “done” from all your Claude Code sessions, in one list that grows out of the MacBook notch. Hover, read, click. Never switch windows.
❯ /plugin install cc-unibrow --marketplace andriitk/cc-unibrow
Paste it into Claude Code. The app downloads, verifies and starts itself.
Interactive illustration of the Unibrow notch. Requests from Claude Code appear one after another and play on their own; every button works. Hover or focus the notch to pause, or use the Pause button below.
Nothing waiting.
Every button in the notch works. Hover or focus it to pause.
Five Claude Code sessions. Three projects. One has been waiting for you for two minutes.
A pulsing dot means Claude needs you. Hover to see what, and answer right there. The terminal keeps working exactly as before.
Requests from every session, grouped by project, each with the branch, session and app it came from.
The exact command, or a diff of the edit. Allow once, Always, or Deny. Long or multi-line input and extra fields are flagged, and Show full … opens all of it.
Pick one or more options, or type your own answer.
A plan from plan mode is ready. Approve to start, or Keep Planning to ask for changes.
A quiet green row when a session completes its turn. No sound, no number.
Click Cursor ↗, Terminal ↗ or PyCharm ↗ to land in the right window, even with ten open.
When an MCP server asks for input, fill in its form right there: text, choices, yes or no. Submit, Decline or Cancel. Links show the full URL with the real host highlighted.
A turn that ends on an API error shows up in red: rate limit, authentication, billing and more, with a hint for what to do next.
When a background agent is waiting for your input, a row says so. Click it to open that session.
Any terminal, the terminals inside IDEs, and the Claude desktop app.
Pause from the menu bar and every prompt goes back to the terminal. The eyebrow closes its eyes. Works with or without a notch, and on external displays.
Unibrow shows requests and passes your answer back. That’s the whole job.
There is no mode that approves on its own. Every Allow is your click.
Long or multi-line commands are flagged, invisible and control characters are shown escaped, and fields like dangerouslyDisableSandbox are highlighted.
Answer in either place. Quit or pause Unibrow and Claude Code asks in the terminal as always.
No network code, no analytics, no account. A private local socket only your user can open.
The app comes from this project’s GitHub Releases, checked by SHA-256 and code signature.
Copy the install command above and run it in Claude Code. No Homebrew, no Xcode.
Next time a session starts, the plugin downloads the app, verifies it and starts it. The eyebrow appears in the menu bar.
Hover when the dot pulses. Read, click, keep working. Restart sessions that were open before the install.
No. Unibrow has no network code, no analytics and no account. Hook data goes over a private local socket to the app on the same Mac and stays in memory.
No. It never reads your project files, so macOS never asks about Documents or Desktop. Accessibility is only for the optional Exact Window Focus, which raises the exact window of a session.
No. Hooks that only report events run in the background and finish in milliseconds.
Wherever Claude Code runs on your Mac. Not in cloud sessions or over SSH, where Claude Code runs on another machine.
Yes. Install the plugin per project with claude plugin install cc-unibrow@cc-unibrow --scope project.
Nothing. Unibrow is free and open source under the MIT license.
Free, open source, and one line away.
❯ /plugin install cc-unibrow --marketplace andriitk/cc-unibrow