AI Session Manager

Answer your AI agents
from one place.

Curcuna gathers every coding session that's waiting on your approval — and lets you say yes or no from the notch, a window, or your phone.

Free · macOS 13+ · Apple silicon & Intel

Every agent in ask mode pauses and waits for you.

Run three Claude Code sessions and you're switching windows all day, hunting for whichever one is blocked. Curcuna collects every pending request in one place — the notch, your phone, or the manager window — and sends your decision straight back to the session that's waiting.

See it

One glance, every waiting agent.

Curcuna's notch island on macOS showing two agents waiting — api-server (Claude) asking to run git push, and web-app (Codex) asking to run a build — each with Allow and Deny buttons.
On your Mac — the notch island stacks every ask. Allow, deny, expand, or jump to the terminal.
Curcuna's phone web app showing a pending Claude Code approval — a Bash command with Deny and Allow buttons — with a live connection indicator and Asks/Terminal tabs.
On your phone — the same asks, pushed through Curcuna's relay. Answer from anywhere.

What each source can do

Full remote control needs one thing: a blocking hook.

SourceNotify & viewJump to terminalRemote Allow / Deny
Claude CodeYesYesYes
Codex CLIYesYesTerminal
Gemini CLIYesYesTerminal
Any tool (HTTP API)YesIf it reports a ttyTerminal

Remote Allow/Deny needs a blocking pre-tool hook, which today only Claude Code exposes. Everything else gets notify, view, and jump — and answers in its own terminal.

If nothing answers in time — the app isn't running, the relay's unreachable, nobody's watching their phone — the request falls back to the normal terminal prompt; nothing hangs, nothing fails silently.

Private by design

Your Mac, and a token that's yours alone.

The Mac app's hooks talk to it over 127.0.0.1 only — nothing on your network can feed it asks. The terminal-only install skips that step and talks straight to Curcuna's relay over HTTPS, with a private token minted the moment you install (or your own Cloudflare Worker, if you deploy one). Either way, the relay holds only the current asks so your phone can render them; nothing is kept after you answer.

Get Curcuna

Two ways to run it.

The full Mac app with the notch island — or a single terminal script that works anywhere, including Linux.

macOS app

The notch island, the Manager window, and your phone — the full experience.

Download for macOSCurcuna.app · Universal · ~0.7 MB

Unsigned build — first launch, right-click Curcuna.app → Open, or clear the quarantine flag:

$ xattr -cr /Applications/Curcuna.app

Terminal-only

No app, no GUI — just Allow/Deny from your phone. Works on macOS and Linux.

$ curl -fsSL https://curcuna.sh/install.sh | bash -s -- install

Installs a curcuna command on your PATH — run curcuna status, curcuna devices, or curcuna uninstall any time after. Add --token=… on other machines to answer them all from one phone.