Interactive simulation
How doki handles Codex
Inbox0Waiting for the agent…
Which layout do you want for pricing?
Click an option or press 1, 2, or 3
- 1Finds the sessionReads sessions in ~/.codex/sessions and the live process.
- 2Tells youThe question rises to the Inbox with its options.
- 3You answerA key, your voice, or the iPhone. Two seconds to undo.
- 4Delivers the replydoki types into the terminal · or codex exec resume
- Codex is enoughOne task, one visible terminal, and the OpenAI plan you already use for that agent.
- doki adds somethingCodex keeps running while you look at something else, or it shares the day with Claude and Cursor and you do not want a monitor per agent.
| Codex | doki | |
|---|---|---|
| Role | Agent that edits the repo | Inbox and session control |
| Where the session is stored | ~/.codex/sessions | Read on the Mac. Not uploaded |
| Reply with the terminal closed | You reopen it | codex exec resume in the background |
| Next to other agents | Its own window | Same Inbox as Claude, Cursor, and the rest |
| Model | Whichever you pick in Codex | doki does not replace it. You can pin the thread’s model |
| Account | OpenAI | A separate doki account |
How Codex behaves in the terminal
Codex takes a goal, walks the code, and applies changes. When it is unsure, it asks in that same session. If the window is on another desktop, the question waits just like the rest of the work.
doki treats that wait as an Inbox item: needs you, with the question text and the options if the agent offered them. Answering does not mean copying text by hand from one window to another.
Why the shared Inbox matters
Codex often has a specific job: implement a bounded change while Claude explores another, or review what another agent left behind. Those sessions do not share a UI. Without a common layer, “is it done?” means checking every terminal.
In doki the status words are the same for everyone: working, needs you, done, error. Codex finished and nobody looked is exactly the case where the Inbox keeps finished work from being forgotten. You can then run the diff through automatic review.
Voice, keyboard, and phone
⌥Space, or a double-tap of ⌥, opens Talk. You dictate or type, and the router sends the request to the Codex already on that task, or starts a new one. From the iPhone it is the same thread: options, photos, files, and voice notes.
Every send waits a couple of seconds. Esc cancels it. That matters more with Codex than with a short chat, because a casual “yes, push it” should not leave if you take it back immediately.
What does not change when you install doki
You still pay OpenAI for Codex usage. doki is a separate subscription, the steering layer. No config file is required for Codex to show up: if the session is on disk or the process is alive, it joins the list.
On a server, Codex is reached over SSH. If it runs inside tmux, you type to it live. The detail is in agents on other machines.
Frequently asked questions
Does doki include Codex credits?
No. Codex is billed by OpenAI. doki only steers the session you already have.
Can I reply if I closed Codex’s terminal?
Yes. doki resumes that session in the background with codex exec resume and delivers the message.
Do Codex and Claude Code merge into one conversation?
No. Each agent keeps its own thread. They share the Inbox, which is the list of what needs attention.
Does this work with the ChatGPT app, or only the CLI?
doki follows Codex sessions on the Mac, the ones in ~/.codex/sessions, and replies through the terminal or by resuming the CLI.
