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.

Download for macOS

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

The terminal chip wires up Claude Code, Kimi Code, or Cursor — macOS and Linux, tested on both.

Unsigned build — first launch, right-click Curcuna.app → Open, or run xattr -cr /Applications/Curcuna.app.

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.

The decision loop

One ask, every surface.

$ claude Bash: git push origin main waiting for you…

01The hook intercepts

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. Curcuna's Manager window showing the Pending list — two waiting asks, one from Kimi Code and one from Cursor, each with Allow, Deny, Details, Open, and Dismiss buttons.

02You see it, you tap

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.

03The session keeps going

~300 ms ask → phone web push on a locked phone 45 s fallback to the terminal one token, every phone

No tap in 45 seconds? The normal terminal prompt takes over — nothing ever hangs.