Connect Todoist to Claude Code and manage your tasks without leaving your terminal. Once connected, Claude Code can create, read, and update your Todoist tasks and projects, great for staying in flow while you work.
There are two ways to connect: the Todoist CLI (the quickest, and what we recommend) or the Todoist MCP (Model Context Protocol) server.
Prefer a chat-first workflow instead? You can also connect Todoist to Claude via the Todoist connector. See Use Todoist with Claude (via the connector) for the instructions.
Set up the Todoist CLI (recommended)
The Todoist CLI lets Claude Code manage your tasks by running td commands right in your terminal.
Check the requirements
- Node.js and npm installed on your machine.
- Claude Code installed and authenticated.
- A Todoist account to sign in to.
Install and connect
1. Install the CLI
npm install -g @doist/todoist-cliUsing a different coding agent? The Todoist CLI also installs skills for Codex, Copilot, Cursor, Gemini, and more. See the Todoist CLI repo for the full setup.
2. Install the Claude Code skill so Claude Code knows how to use it.
td skill install claude-code3. Authenticate with Todoist
td auth logintd auth login opens your browser to sign in with OAuth, then stores your token securely in your operating system’s credential manager (Keychain on macOS, Credential Manager on Windows, Secret Service on Linux). Once connected, just ask Claude Code in plain language and it runs the right td commands for you.
td auth login --read-only instead. In read-only mode, any command that would create, update, or delete data is blocked.Set up Todoist MCP in Claude Code
Prefer to connect through the Model Context Protocol server instead of the CLI? You can. Once connected, you can create, read, and update Todoist tasks and projects without ever leaving your coding environment.
Check the requirements
- A paid Claude plan: Pro, Max, Team, Enterprise, or Console. The free Claude.ai plan doesn’t include Claude Code access.
- Claude Code installed and authenticated on your machine.
- You’ll be signing in with OAuth, which authorizes Claude Code to access Todoist through the official Todoist MCP server.
There are two ways to connect Todoist to Claude Code. The Todoist plugin is the quickest, so it’s the one we recommend. If you’d rather set things up yourself, you can add the server manually instead.
Connect with the Todoist plugin (recommended)
In Claude Code, run these two commands:
/plugin marketplace add doist/todoist-mcp
/plugin install todoist@doistThe first time you use a Todoist tool, Claude Code opens your browser so you can sign in with OAuth. Once you’ve approved access, there’s nothing else to set up.
Connect manually
If you prefer to add the server yourself, run this command in your terminal:
claude mcp add --transport http todoist https://ai.todoist.net/mcpThen open Claude Code, run /mcp, select Todoist from the list, and complete the OAuth flow in your browser.
claude mcp add again creates a duplicate entry, which can cause sign-in loops. Run /mcp first to check whether Todoist is already connected.What Claude Code will have access to
Once connected through either the CLI or MCP, Claude Code can:
- Read your Todoist tasks and projects
- Create tasks and projects
- Update tasks and projects (for example: rename, reschedule, or move to a different project)
Examples of what you can do
Here are a few prompts that work well once you’re connected:
| Category | Example prompts |
|---|---|
| Capture tasks from your code | Add a task to Todoist: 'Fix the auth bug in login.js' and put it in the Engineering project. Create a task for 'Write unit tests for the payment module' and set it due this Friday. |
| Plan your work | List all my overdue Todoist tasks and help me decide what to tackle today. Show me everything due this week and suggest what I can realistically finish. |
| Triage your inbox | Go through my Todoist Inbox and turn each item into a clear, actionable next step. Move any tasks tagged 'waiting' into a 'Waiting for' section and add a follow-up task for next Monday. |
| Stay in flow | I’m working on the checkout feature, check Todoist and tell me if there are any related open tasks. Add a task for every TODO comment in this file and put them all in the current sprint project. |
Privacy and data handling
When you connect Todoist through MCP, your task data is shared with both Todoist’s servers and Claude. Data handling on Todoist’s side is governed by Todoist’s privacy policy; data that enters Claude’s context (your tasks, projects, and so on) is also subject to Anthropic’s privacy policy.
For extra peace of mind, review what permissions you’ve granted at any time by visiting Todoist’s Settings > Integrations.
Disconnect Todoist from Claude Code
If you connected with the CLI: run td auth logout to remove the saved token, then revoke access from Todoist’s Settings > Integrations.
If you connected with the MCP server, you can disconnect from two places:
-
In Claude Code: run
claude mcp remove todoistin your terminal to remove the server. - In Todoist: revoke access from Settings > Integrations to revoke Claude Code’s access.
Tips for best results
A few habits will help you get the most out of Todoist in Claude Code:
Batch tasks when adding several at once
The Todoist MCP supports up to 25 tasks per call. Tell Claude to add them all together: “Add all of these in a single call.” Creating them one by one can exhaust Claude’s tool-call limit before your list is complete.
Use “reschedule” for recurring tasks
To move a recurring task to a new date, say “reschedule this task to [date]” rather than “change the date.” The reschedule tool keeps the recurrence pattern; the other one doesn’t.
Create team-folder projects first, then move them
The Todoist MCP can’t place a new project inside a workspace folder when it’s created. Ask Claude to create the project, then drag it into the right folder in Todoist.
Check your connection before opening a new session
If Claude stops responding to Todoist requests mid-conversation, run /mcp to check whether the connection’s still active. Reconnecting from there is faster than starting a new session.
Troubleshooting
The claude mcp add command isn’t recognized
Make sure Claude Code is installed and up to date. See the Claude Code documentation for installation instructions.
The OAuth browser window doesn’t open
Try running the Claude Code command again. If the window still doesn’t appear, check that your browser isn’t blocking pop-ups and retry.
The server shows in claude mcp list but Todoist tools aren’t available
Start a new Claude Code session after adding the server. MCP servers only load at session start, so an existing one won’t pick up new connections.
“No transport found for sessionId” error
Go to Todoist Settings > Integrations and remove all Claude Code entries. Then run /mcp in Claude Code, select Todoist, and sign in again. (Our team is aware of this issue and working on a fix.)
Multiple “Claude Code” entries in Settings > Integrations
This happens when claude mcp add runs more than once. Remove all Claude Code entries in Todoist Settings > Integrations, then reconnect once via /mcp.
Claude stops partway through creating a long task list
This is Claude’s tool-call limit, not a Todoist one. Ask Claude to batch the tasks: “Add all of these in a single call.” The Todoist MCP supports up to 25 tasks per call.
A recurring task lost its repeat schedule
This happens when Claude changes the date instead of rescheduling the task. For recurring tasks, say “reschedule this task to [date]” rather than “change the date.” If the recurrence was lost, set it again in the task’s date field.
Claude created a project outside the right team folder
The Todoist MCP can’t place a project inside a workspace folder when it’s created. Ask Claude to create the project, then move it to the right folder in Todoist.
Report a bug or request a feature
The Todoist MCP server is open source. You can report bugs, request features, or browse known issues in the official Todoist AI repository on GitHub.
Get in touch
If you have questions about connecting Todoist MCP to Claude Code or want to learn more, get in touch with us.