AI session manager

Your agents are asking.
Answer from anywhere.

Claude Code, Kimi Code, Cursor — every ask lands on your Mac's notch or your phone, and your tap is the decision.

Free · macOS 13+ · Apple silicon & Intel · 765 KB

Agent CLIs

Works with the agents you already run.

Claude Code
Full control
Kimi Code
Full control
Cursor
Full control
Codex
Notify + jump
Gemini
Notify + jump
opencode · any CLI
Track + jump

Full control means remote Allow/Deny over a blocking pre-tool hook. Codex and Gemini report in and jump to their terminal, and an unanswered ask always falls back to the prompt. Anything else can POST to the loopback API on 127.0.0.1:45789.

See it

One tap decides.

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 pending ask.
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, through the relay.
~300 ms ask → phone web push on a locked phone 45 s fallback to the terminal $0/mo on Cloudflare's free plan

The decision loop

How an ask gets answered.

  1. The hook intercepts

    The agent's pre-tool hook sends the ask to Curcuna and waits; sandboxed and auto-approved calls are skipped.

  2. You see what's about to run

    Project, the exact call — Bash: git push origin main — and a live countdown, on the notch and your phone.

  3. Your tap is the decision

    Allow runs the tool, Deny blocks it. The ↗ button jumps to the exact terminal tab instead.

  4. Or the terminal takes over

    After 45 seconds the normal prompt returns. If Curcuna isn't running, nothing changes at all.

Get Curcuna

Two ways to run it.

The full Mac app with the notch island, or one terminal script that puts your agents' prompts on your phone.

macOS app

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

Download for macOSCurcuna.app · Universal · 765 KB

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

$ xattr -cr /Applications/Curcuna.app

Setup wires Claude Code, Kimi Code, and Cursor, each with its own Install button.

Terminal-only

No app, no GUI — permission prompts on your phone. Works on macOS and Linux.

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

Asks which CLIs to wire — Claude Code, Kimi Code, Cursor, or all of them. Installs a curcuna command on your PATHcurcuna status, curcuna devices, curcuna uninstall. Add --token=… on other machines to answer them all from one phone.