Guide

An inbox for coding agents

An inbox makes sense when messages arrive in different places and only some of them need a reply. Agent sessions work the same way.

Updated October 16, 2026 · 4 min read

Interactive Inbox

Try the Inbox with your keyboard

Inbox
esc
Click inside, then use J/K to move, 1–3 to answer, E to archive, Esc to undo.

The four states

Working means the agent is moving and there is nothing to do. Needs you means there is a question or an approval. Done means the diff is ready for a look, even if nobody has opened it. Error means it stopped on something concrete, like a missing variable.

Those states come from transcripts, from Claude’s hooks, and from live processes. You do not type them. A bar on the edge of the screen leaves one dot per agent, in the color of its state, so doki’s window does not even have to be in front.

The keyboard is the short path

J and K move through the list. R replies. E archives. O opens that agent’s terminal. Esc cancels a send that has not left yet. If the agent offered options, 1, 2, and 3 pick them.

That covers the common case: three plans, one recommendation, and you only confirm. Writing a paragraph is still there when the answer does not fit in a number.

  • ⌥Space or a double-tap of ⌥ opens Talk, to dictate or type with the router.
  • The Mac notification lets you reply inline.
  • You attach an image, a screenshot, a file, or a voice note that is already transcribed.
  • You can pin the model for that conversation, by provider.

Undo before it leaves

Every send waits about two seconds. In that window, Esc cancels it and the agent receives nothing. It is there for the rushed “yes” and for dictation that came out wrong.

It is not an undo of a commit the agent already made. It is an undo of the message you are about to send. What the agent does next still goes through Guard if the command is sensitive.

The same Inbox away from the Mac

On iPhone it is the app. On Android it is the page, installable on the home screen. You arrive over the local network, a direct link, or the server’s public link. You pair by scanning the code in Settings → Remote. Each new device stays pending until you approve it, and the token expires after 90 days.

From there you pick options, send photos, and change the model. The agent’s session does not move to the phone. The phone is a remote.

Recaps when the thread is long

doki can summarize the conversation and suggest a next step, so you do not read a hundred and fifty lines of tool output before deciding. The summary is a reading aid. You still give the answer, unless you have turned autopilot on for reversible things.

Autopilot, if you enable it, answers things like “yes, go on” or “run the tests”, and escalates anything that deletes, spends, deploys, or touches credentials. It ships off.

Frequently asked questions

Is the Inbox another chat with a model?

No. It is the list of sessions from the agents already using your repo. doki does not write the code in their place.

Can I archive without answering?

Yes. E archives. The agent does not receive a message because of that. It is for work that finished and that you have already seen.

Do notifications repeat every session?

They alert when attention is needed: a question, an approval, finished work. An agent that is only working does not chase you.

Does it work with the app in the background?

Yes. Discovery and hooks do not depend on the window being visible. The sidebar and notifications cover that case.

Never leave an agent waiting.

doki pulls Claude Code, Codex, Cursor and the other agents you already use into one Inbox, on your Mac, your iPhone and your servers.

See pricing →