BlackFlare is out
- release
- blackflare
The gap I kept falling into: you give an agent a real task, it says it’s working, and you go do something else. Ten minutes later it has been sitting on a clarifying question for nine of them. Or it finished in two and you found out at lunch.
Neither failure is dramatic. Both waste the whole point of handing work off.
BlackFlare closes that gap. It sits in the menu bar, watches your Claude Code and Codex sessions, and taps you the instant one of them is waiting for input or finishes a turn. Terminal sessions and IDE sessions alike. If you’d rather be away from the desk entirely, it forwards the same alerts to Telegram or Slack — and can be told to do that only when you’re actually away, so it stays quiet while you’re sitting right there.
The parts that took the longest
Getting “waiting” right. Terminal sessions and IDE sessions need completely different plumbing. Terminals go through a Claude Code hook, because a transcript-only watch misses the moment the CLI blocks — the write is still buffered on disk. IDE sessions go through a transcript watch on FSEvents, because there’s no hook for them. Two paths that must never both fire for the same event, or you get a duplicate banner every single time. The two entry points don’t overlap, by construction.
Not wrecking your config files. BlackFlare switches model, effort, and
permission defaults by editing ~/.claude/settings.json and
~/.codex/config.toml — files you wrote by hand, with your comments and your
key order. So the edits are surgical: only the changed value’s bytes move.
Atomic, so a partial file is impossible. Backed up once before the first write.
Re-parsed and verified before the rename commits. And if a file doesn’t parse,
BlackFlare refuses to touch it rather than helpfully reformatting it. There are
golden-diff tests that fail if an edit disturbs a single unrelated byte.
Saying what’s actually true. Codex publishes no waiting signal — approval
prompts never reach its rollout file. So BlackFlare reports every Codex turn end
as “finished” and never guesses at “waiting”. The ChatGPT desktop app ignores
config.toml entirely and sends model and effort per thread from its own
picker, so changing the model there does nothing; the docs have the full matrix
of which front-end honors which key. A Codex session paused on an approval
prompt keeps your Mac awake longer than it should. All of that is written down,
because you’ll hit it eventually and I’d rather you read it than debug it.
What it doesn’t do
No account. No analytics. No telemetry. No crash reporter. It reads Claude Code’s token from your Keychain — read-only, opt-in, off by default — to show your real plan usage, and that token goes nowhere except Anthropic. Everything else stays on your machine. The privacy policy lists every server the app can contact, all five of them, and why.
It’s also not on the Mac App Store, and can’t be: the sandbox the store requires
would block reading the Keychain, launching the claude CLI, and writing to
~/.claude — which is most of the app. It ships as a notarized disk image you
buy on Gumroad.
Start here
Getting started is the ten-minute version: install, two permissions, first notification. From there, Notifications explains what fires when, and Keep Mac awake covers the feature that stops your Mac napping through a long build.
Requires macOS 13 or later. If something breaks, the Debug tab exports a redacted diagnostic bundle — send it over.