Use Done in Codex
Connect Done to OpenAI Codex: add https://trydone.app/mcp with codex mcp add or config.toml, sign in with codex mcp login, and Codex can work your Done tasks.
Who this is for
For developers using the Codex CLI, the Codex IDE extension or Codex in the ChatGPT desktop app. All three share one configuration file, so you set Done up once. ChatGPT on the web doesn't read it — see Use Done in ChatGPT for that.
Set it up
Done's MCP server URL
https://trydone.app/mcpAdd the server and sign in Sign in with OAuth
- Add Done to Codex's configuration:
codex mcp add done --url https://trydone.app/mcp - Sign in, and approve access in Done in the browser window that opens. Codex registers itself with Done and receives the sign-in on 127.0.0.1.
codex mcp login done - Ask Codex something from the list below to check it can reach your tasks.
The first command writes a [mcp_servers.done] table with url = "https://trydone.app/mcp" to ~/.codex/config.toml — you can add that by hand instead.
Or use a token MCP token
- Generate an MCP token in Done under Settings → Agent access, and put it in an environment variable — for example in your shell profile:
export DONE_MCP_TOKEN="<your-mcp-token>" - Point Codex at that variable in
~/.codex/config.toml:[mcp_servers.done] url = "https://trydone.app/mcp" bearer_token_env_var = "DONE_MCP_TOKEN"
A token suits a remote or headless machine, where the browser sign-in can't reach Codex's local callback.
What to say to it
Once Done is connected, talk to the assistant normally. Each of these maps to a real Done tool:
get_todays_planquick_capturenext_task → propose_planask_decisionpropose_completionEvery tool, prompt and resource Done exposes is listed in the MCP reference.
The approval gate
By default an assistant can't close your tasks. When it thinks a task is finished it calls propose_completion, which parks the task as Pending approval until you approve it or send it back from Needs you; substantial work starts with propose_plan, which waits for your go-ahead. A question goes through ask_decision: that task waits for your answer while the agent moves on to the next one. Done enforces this on its own server, so it holds whatever the assistant tries — an agent can only complete a task directly when you've set that task's Autonomy to let it.
Troubleshooting
- The sign-in never completes on a remote machine
- Codex waits for the sign-in on 127.0.0.1 of the machine it runs on, which your browser can't reach over SSH. Use the token setup there.
- 401 Unauthorized with a token
- The variable isn't set in the shell Codex started from, or the token was regenerated. Check
echo $DONE_MCP_TOKEN, then restart Codex.
FAQ
Does Codex in ChatGPT on the web use this?
No. The local config file covers the Codex CLI, the IDE extension and the ChatGPT desktop app. For ChatGPT on the web, add Done as a custom MCP server.
OAuth or a token?
OAuth keeps nothing secret in your files. A token works on headless machines and can be read-only or limited to one project.
Is there a shared API key for Done?
No. Every connection belongs to one Done account: an OAuth sign-in, or an MCP token you generate yourself. There is no shared or global key. Each connected assistant is listed under Settings → Agent access, where you can revoke it in a click.
What can the assistant see?
Only what your account can see: your workspaces and anything shared with you. A read-only, one-project or one-workspace token narrows that further.
Does it cost anything?
The Free plan includes 100 agent (MCP) calls a month; Pro and Teams are unlimited. The assistant's own plan is separate.
Steps checked against the official documentation on October 23, 2026: