Todoist in ChatGPT: App or Developer Mode
Todoist has an official plugin in ChatGPT and an official MCP server. Which route to take, how each connects, how ChatGPT asks before changing your tasks, the limits, and the same server in Codex and Gemini CLI.
6 min read
Todoist has an official plugin in ChatGPT, so for most people the answer is the plugin, not developer mode: open Plugins in ChatGPT’s sidebar, search for Todoist, select the official plugin, sign in to Todoist and approve. ChatGPT can then read, create and update your tasks and projects, and you call it up in a chat with /todoist. Behind the plugin is Todoist’s own MCP server at https://ai.todoist.net/mcp, which any MCP client can use. Developer mode lets you add that address as your own app, which is worth it only when you want to see and control each tool yourself. Codex and Gemini CLI connect to the same server.
The same server in Claude and Claude Code is in Todoist MCP with Claude, and whether an agent should use Todoist’s MCP server or its command-line tool is in Todoist MCP vs CLI. If a ChatGPT app will not connect at all, work through ChatGPT connectors not working.
Route 1: the official Todoist plugin
- Open ChatGPT on the web or in the desktop app and select Plugins in the sidebar.
- Search the directory for Todoist and select the official Todoist plugin.
- Click the plus icon to connect it. A browser tab opens on Todoist.
- Log in to Todoist and approve the requested permissions.
- In any chat, type
/todoistto bring it up, then say what you want in plain language.
Those are the steps in Todoist’s own article on ChatGPT (opens in a new tab). Connect once and Todoist is there wherever you are signed in to ChatGPT. If you have seen older guides that say Settings, then Apps or Connectors, the menu has moved; OpenAI now groups connected apps under Plugins, and ChatGPT connectors and apps explains the renaming. In a company ChatGPT workspace, an admin decides which plugins members can use.
Approvals: when ChatGPT stops to ask
Because the plugin can change your data, ChatGPT adds a confirmation step before it writes anything. Todoist is clear that the prompt comes from ChatGPT, not from Todoist, and that you can change how often it appears in the plugin’s permission settings, on a scale Todoist describes as running from “Always ask” to “Never ask”. It adds that ChatGPT may still pause on sensitive actions, and that the exact options depend on your ChatGPT plan.
The sensible setting is in the middle: let reads run, and keep writes asking until you have seen how ChatGPT names projects and dates. The connection itself has no read-only mode. Todoist’s overview of its MCP server (opens in a new tab) says every assistant asks for the data:read_write scope, which lets it create, edit and complete tasks, so the confirmation step is the control you have.
Route 2: a developer-mode app
Developer mode is ChatGPT’s way of adding any remote MCP server as your own app. OpenAI’s developer-mode guide (opens in a new tab) says it is available to Pro, Plus, Business, Enterprise and Education accounts on the web, supports OAuth, and gives full MCP client support for read and write tools, which it calls powerful but dangerous. The steps:
- In ChatGPT on the web, open Settings, then Security and login, and turn on Developer mode.
- Go to Plugins, select the plus button and create a developer-mode app. Name it, enter
https://ai.todoist.net/mcpand choose OAuth. - Sign in to Todoist and allow access. ChatGPT lists the tools it found.
- In a new chat, choose Developer mode from the plus menu and select your Todoist app.
https://ai.todoist.net/mcp
The difference you will notice is the approvals. In developer mode ChatGPT respects each tool’s readOnlyHint annotation and treats any tool without it as a write, so writes ask by default; you can remember a choice for the rest of a conversation, and a new conversation asks again. Doist’s open-source server (opens in a new tab) marks its reading tools, such as find-tasks, as read-only and marks delete-object as destructive, so reads run and changes ask. That per-tool view is the main reason to choose this route. The reasons not to: it is web only, it may be limited to admins on company plans, and you are one mis-typed URL away from connecting something that is not Todoist.
What it can do, and the limits
The server has tools to add, update, complete, reopen and reschedule tasks; manage projects, sections, labels, comments, filters and reminders; read activity and productivity stats; and assign tasks in shared projects. Todoist’s example prompts give the flavour: “What’s overdue across my projects? Suggest three tasks to tackle first,” or “Start a project called ‘Q3 launch’ with sections for Research, Build, and Review.” The limits Todoist documents:
- Recurring tasks. Ask ChatGPT to reschedule a recurring task, not to change its date, or the repeat can be lost.
- Completed recurring tasks move to their next date rather than showing as done. Ask for your activity log to see them; the Beginner plan keeps 7 days of activity, Pro and Business the full history.
- A new project cannot be placed straight into a team workspace folder. Create it, then ask for it to be moved.
- Connections can drop mid-conversation. Wait a few minutes and start again; if it keeps happening, disconnect from both sides and reconnect.
- Tools load at the start of a conversation. After connecting, open a new chat.
- Work or school ChatGPT accounts may need an administrator to allow the connection first.
- Your data is covered by both Todoist’s and OpenAI’s privacy policies once it moves between them.
To disconnect, remove the plugin in ChatGPT’s Plugins list (in the desktop app the option is labelled Uninstall), then in Todoist open Settings, Integrations, select ChatGPT and remove it. Todoist says revoking there ends the assistant’s access straight away.
Codex
Todoist documents one Codex route: connect the plugin in ChatGPT and it appears in Codex in the ChatGPT desktop app too, called up with @. For the Codex CLI on its own, add the server to ~/.codex/config.toml and sign in with codex mcp login todoist:
[mcp_servers.todoist] url = "https://ai.todoist.net/mcp" default_tools_approval_mode = "writes" disabled_tools = ["delete-object"]
The writes mode asks only for tools not marked read-only, which suits Todoist because its tools carry those annotations. disabled_tools hides the delete tool from the model altogether. Todoist does not document this manual route, so treat it as Codex’s generic remote-server setup. More on Codex’s file is in Codex CLI commands.
Gemini CLI
Todoist’s guides cover Gemini Spark, not Gemini CLI, but Gemini CLI reaches the same server as any streamable HTTP server: an httpUrl entry under mcpServers in ~/.gemini/settings.json, then /mcp auth todoist inside Gemini to sign in through the browser.
{
"mcpServers": {
"todoist": {
"httpUrl": "https://ai.todoist.net/mcp",
"excludeTools": ["delete-object"],
"trust": false
}
}
}Keep trust false, or Gemini skips every confirmation for the server. When a call asks, “Always allow this tool” is fine for reads such as find-tasks. Gemini CLI’s own sign-in rules changed on 18 June 2026; Gemini CLI best practices covers which accounts still work.
When the list becomes shared work
Todoist is a very good personal list, and ChatGPT makes it easy to talk to. When the list turns into work that several people and their assistants share, a board fits better. fenbs is one: people and AI assistants are members with roles, and every change is recorded under the name of whoever made it. ChatGPT connects to it at https://fenbs.ai/api/mcp as a developer-mode app with OAuth. Be aware of two things. fenbs sets no tool annotations yet, so in developer mode ChatGPT treats every fenbs tool as a write and asks each time, reads included. And fenbs has no due dates or reminders, and no Todoist importer; you paste a list of tasks instead. See connecting ChatGPT to fenbs and fenbs vs Todoist.
Related
Todoist in Claude and Claude Code: Todoist MCP with Claude. MCP or the command line: Todoist MCP vs CLI. When an app will not connect: ChatGPT connectors not working. What the sign-in approves: how MCP sign-in works.