Keha

For developers running many coding agents at once

Say it. The right agent hears it.

Keha keeps every Claude Code, Codex and Pi session on your Macs and iPhone in one place. Hold ⌥ Space and talk. Keha works out which session you mean and shows you before it sends.

Works withClaude CodeCodexPi· any terminal

5 sessions · 3 machines
apiRunning migration tests · 14/31claude · mbp
webForm.test.tsx failing (1)codex · mbp
infraterraform plan · staging-2claude · studio
docsUpdated 4 pagespi · mini
New sessionStart something new · copied, never auto-sent

“infra, run the plan against staging two first”

Named project. “infra” matches one session, so there is nothing to guess.

The receipt shows here within 700 ms of letting go, with two seconds to undo.
Scripted demo. Your microphone is never used.
One glance, one key slab · panel · hotkeys

Read every agent from the corner of your eye.

The slab under your notch shows one mark per session. Its shape tells you the state, so it reads in grayscale and for any kind of color vision. It grows sideways and never covers your window. When an agent asks, answer with a number.

  • Idle
  • Working
  • Needs you
  • Done
  • Stalled
⌥ Space
Tap to open the panel, hold to talk.
1–9
Answer. Numbers never move between sessions.
⌥⇧Space
Jump to the agent's terminal pane. While a voice receipt shows, undo it.
@apiMessage, or hold ⌥ Space to talk⏎ send

Working

apiRunning migration tests · 14/31claude · mbp
webForm.test.tsx failing (1)codex · mbp
infraterraform plan · staging-2claude · studio
webquiet for 9 minclaude · studio

Done

docsUpdated 4 pagespi · mini
apiWaiting for a taskcodex · mini
1–9answer J Kmove esccloseClaude work@ 5-hour62%

Live. This panel shares state with the slab at the top of the page. Press ? for shortcuts.

Every Mac, your pocket end-to-end encrypted

Every Mac and your iPhone. One inbox, through a relay that can't read it.

studioMac Studio · infra
relay · sees ciphertext
iPhonenotification
infra: Apply plan?9f2c51e0a7…d41b
studioanswer arrives
forwards · never decrypts
iPhoneFace ID · option 2
answer: 204be7d93c1…ae90
  • Answer from the lock screenTop three options on the notification. Approvals need Face ID.
  • Voice on the phone tooSame routing, same receipt, same undo.
  • Pairs by itselfSame Apple ID, one banner on your Mac. No QR codes.
  • Linux servers (coming soon)Your servers will join the same inbox.
Only in Keha what other agent tools skip

Which account pays, how much is left, who went quiet, and what's next.

Billing readout

Every session shows the account and plan it bills, before you send work.

infrastudiowork@acme · Max
webmbppersonal · API key

Usage ledger

Usage from every machine, added up per account against each plan's own limit.

accountcurrent windowused
Claude · work@5-hour · resets in 1 h 12 min62%
Codex · personalweekly · resets Thu33%

Stall heartbeat

No output and no question for 8 minutes? The session turns into a dash.

web · studio · quiet for 9 min
you · this tab · readinglive

GitHub signals

Review requests and failed CI arrive as a drafted task. Nothing starts without you.

review requested · acme/web PR #418 · @mira Review PR #418. Focus on form validation regressions.
Privacy every AI call logged with the exact text

See exactly what left your Mac.

AI features stay off until you say yes, with one switch each. Secrets are scrubbed first, and every request is logged locally with its exact text. Keha never touches your Claude Code login. How Keha handles your sessions.

What left this machine · todaystored on your Mac
utterance: "infra, run the plan against staging two first"
sessions:  infra · studio · waiting · "Apply plan to staging-2?"
           api · mbp · working · "Running migration tests 14/31"
window:    Ghostty · "~/src/infra $ terraform plan -out staging2.plan"
FAQ

Questions

Is there a free plan?

No. Every plan starts with a trial on your own agents. Cancel from the app before it ends and you won't be charged.

Does it use my Claude subscription?

No. Keha attaches through Claude Code's documented hooks and never reads your Claude Code login. Its own AI runs on Keha AI or on your own key.

Can Keha read my code?

Sessions are encrypted on the machine running the agent and opened only on your devices. AI features, when you turn them on, send a scrubbed snippet and log the exact text locally.

What if voice picks the wrong session?

You see the target before anything is sent, with two seconds to undo. When Keha isn't sure, it shows two candidates and waits for you.

Which agents and terminals work?

Claude Code, Codex and Pi, in any terminal. If Keha quits, hooks step aside and your agents ask in the terminal as usual.

Windows? Teams?

Not in the first release. Keha is built for one developer with many machines.

Your agents are waiting on you right now.

  1. Open Keha and sign in. It finds the agents already running. No wrapper command.
  2. Approve the hooks. You see the exact change to your agent settings first.
  3. Add your iPhone. It joins through iCloud with one banner on your Mac.
  4. Servers next. Linux servers are coming soon, with a one-line install.

Keyboard shortcuts

They work on this page exactly as they do in the app.

⌥Space
Tap to open the panel. Hold to talk.
1–9
Answer the question the slab is asking.
JK
Move between sessions in the panel.
⌥⇧Space
Undo a voice command while its receipt shows. In the app it otherwise jumps to the agent's terminal.
Esc
Undo, or close the panel.
?
Show this list.
Try Keha