Your Claude Code and Codex agents, live in the MacBook notch.
See who's working and who's waiting for you. Approve commands without switching windows.
brew install --cask forichok/tap/agent-notchDownload DMG · Watch the film (72 s) · Русский
You run three Claude Code sessions and a couple of Codex workers. One of them has been sitting on rm -rf dist? for twenty minutes, and you find out only when you switch windows.
Agent Notch puts one mark per agent beside the notch. A glance shows who is busy, and a click answers whoever is waiting. It reads the logs Claude Code and Codex already keep on your Mac and makes no network requests except when you press Check for Updates.
| Logo | Brightness | Dot |
|---|---|---|
| Claude or Codex | Full for big models, dimmed for haiku and luna | 🟢 working · 🟡 waiting for you · 🔴 stuck · ⚪ done |
Subagents are smaller and sit next to their parent. Past six agents in a project, the marks fold into counters.
Nothing is approved without your click or shortcut. “Always allow” is Claude Code only. If nobody answers in 100 seconds, the agent asks in its own window as usual.
Pasting goes through the clipboard and a ⌘V the app presses, so it needs Accessibility access; without it the prompt is copied. By default, the clipboard is put back after a short delay, unless another app has changed it. Prompts live in ~/Library/Application Support/AgentsNotch/prompts.json.
Thirteen themes for the list, from plain Terminal to Phosphor, Blueprint, Pixel and Rubber Ducks. Every theme except Terminal can also restyle the marks in the wing.
Sounds are set per event: an agent waits for permission, asks a question, proposes a plan, finishes, fails, or a limit runs low. Out of the box only "waiting for permission" makes a sound. Change it in Settings → Sounds.
The Keep awake switch sits at the top right of the agent list. It uses macOS's pmset disablesleep setting and shows the state read back from the system. The setting applies to the whole Mac and stays on after you quit Agent Notch, until you switch it off. Switch it off before putting the Mac in a bag.
To switch without entering a password each time:
- Right-click the wing and open Settings → General → Keep awake.
- Click Set up next to Passwordless switching and confirm the permission.
- Enter an administrator password in the macOS dialog once.
This installs /private/etc/sudoers.d/agent-notch-keep-awake-<UID>, a rule for your user that allows exactly /usr/bin/pmset disablesleep 0 and /usr/bin/pmset disablesleep 1 as root without a password. Any process running as your user can use this permission. The app validates the rule with visudo; it leaves the main sudoers file unchanged.
The settings section shows whether the rule is installed and the result of the last access check. Check access verifies the permission using the current sleep setting. If another sudo policy requires a password, the app reports that the rule is ineffective.
Click Remove permission in the same settings section to remove the rule. macOS asks for an administrator password to remove it. Removing the permission does not change the current sleep mode: use the panel's Keep awake switch to turn that off. The permission also survives uninstalling the app, so remove it in Settings before uninstalling. If the app is already gone, remove the rule in Terminal:
sudo rm "/private/etc/sudoers.d/agent-notch-keep-awake-$(id -u)"Without this permission, the panel switch still works through the usual macOS administrator dialog. An external caffeinate process is not needed.
brew install --cask forichok/tap/agent-notchTo answer from the notch, right-click the wing and choose Install Claude Code hooks and Install Codex hooks. Codex also wants you to trust notch-hook once: type /hooks in Codex.
DMG instead of Homebrew
Download the DMG from Releases and drag the app to Applications. It isn't notarized yet, so clear the download quarantine once:
xattr -dr com.apple.quarantine "/Applications/Agent Notch.app"Requires macOS 14+ on Apple Silicon.
| ⌃⌥A | Open or close the list |
| ⌃⌥Y / ⌃⌥N | Allow / deny the oldest request |
| ⌃⌥P | Paste a saved prompt or a skill call; ⇥ switches between them |
| Double-click a row | Open that agent's window |
| Right-click the wing | Hooks, sound, open at login, quit |
FAQ
Terminal, VS Code, desktop app? All of them. Agent Notch reads the session logs, so it doesn't matter where the agent runs.
Do I need the hooks? Only to answer from the notch. Without them you still see every agent and its state.
Language? English, or Russian on a Russian system. Force one with AGENT_NOTCH_LANG=en or ru.
What does it read? Files under ~/.claude and ~/.codex, plus the Claude app's plan-usage file. The Skills tab also reads SKILL.md files in the projects listed in ~/.claude.json and ~/.codex/config.toml. Hook decisions are logged to ~/Library/Application Support/AgentsNotch/decisions.jsonl.
Agent Notch uses CLAUDE_CONFIG_DIR and CODEX_HOME from its process environment when set (including ~ and trailing slashes), otherwise defaults to ~/.claude and ~/.codex; Finder/launchd may not inherit shell variables, and the app does not source shell files.
Why Accessibility? To shrink the wing when a menu reaches it and to press ⌘V when you paste a prompt. Nothing else.
Uninstall? brew uninstall --zap agent-notch also removes the hooks.
Build from source
Needs Xcode.
git clone https://github.com/Forichok/Agent-Notch.git && cd Agent-Notch
./scripts/test.sh && ./scripts/build.sh
open build/AgentsNotch.app--fixture <scene> shows a made-up scene, --snapshot <dir> renders every scene to PNG. The promo video is a Remotion project in promo/.
Contributing · Security · Changelog · MIT © 2026 Nikita Udalov
An independent project, not affiliated with Anthropic or OpenAI.








