Skip to content

Give Claude Code your to-do list

Claude Code already knows what’s left to do in your code. Connect it to SwitchDesk and those loose ends become real to-dos in the right category, and the to-do for a fix gets checked off when the fix ships. Your key stays in the macOS Keychain.

  • Connects over MCP or the CLI
  • About 5 minutes
  • Set up on your Mac · Pro
Illustration: follow-ups from a Claude Code session, waiting for your tap.
Your calls too. How to give Claude Code access to your calls

What Claude Code can do with your list

Claude Code reaches SwitchDesk the same way it reaches any other MCP server: as a set of tools it can call while it works. With your permission it can:

  • Read before it starts. Today, This Week, a category, one to-do’s notes and sub-to-dos, or a search across titles and notes.
  • Capture what it finds. New to-dos in Incoming by default, or under a category or a parent to-do, with a due date.
  • Close the loop. Mark a to-do in progress while it works and done when it’s finished, or add a progress note.
  • Leave notes for your team. A Team Note on a shared to-do, so teammates see what changed.

The switchdesk CLI does the same from a plain shell: it can list, add, check off and edit your to-dos, and it can act as Claude Code’s MCP server too.

Why a coding agent should see your list

Coding sessions end with loose threads: a TODO comment, a test you skipped, a reviewer’s “can we handle this later?”. They tend to stay in the code, where nobody plans from. Claude Code can move them into SwitchDesk as it goes, filed under the project’s category because it reads the category bios.

The list also helps the session. Ask Claude Code to read Today at the start, and it knows which piece of work you meant before you explain it. When the change is merged, it can find the matching to-do and check it off, so your list matches what actually shipped.

Things to ask Claude Code

  • “Read my SwitchDesk Today list and pick the item that belongs to this repo.”

    ReadsReads Today and the to-do’s notes, then plans the session around it.

  • “Find the TODO comments on this branch and add each one under Fernhill.”

    ChangesAdds them to the bottom of Fernhill. In Assistant they wait for your tap; sent together, they’re one “Add” card.

  • “Put the reviewer’s follow-ups in Incoming.”

    ChangesAdds them to Incoming straight away; no card needed in Assistant.

  • “Add a sub-to-do under “Fernhill billing page”: write the migration tests.”

    ChangesNests a new to-do under the parent. In Assistant this waits for your tap.

  • “The Lumora import fix is merged. Check off its to-do and note the branch.”

    ChangesChecks it off and appends a short note. In Assistant, both wait for your tap.

  • “What’s still open in Fernhill that touches billing?”

    ReadsSearches titles and notes in that category and lists what’s left.

Set it up

You need SwitchDesk for Mac, signed in, Node.js for npm, and Claude Code installed.

  1. SwitchDesk on your Mac

    Click Connect an AI and choose Terminal & coding tools (CLI)

    Open Settings → AI Access and click Connect an AI. Choose Terminal & coding tools (CLI) (“Claude Code, Cursor, Codex”).

  2. SwitchDesk on your Mac

    Answer “What can it do?”, then Continue

    Pick Read only, Assistant or Full control; Fine-tune sets each permission on its own. Click Continue (with Full control the button reads Allow & Continue). Keep Assistant. The connection is named “Terminal” on its cards and in Activity.

  3. Terminal

    Install the CLI.

    You need Node.js 20 or newer.

    npm install -g switchdesk
  4. Terminal

    Run switchdesk login and paste this key.

    Run it in Terminal. Nothing shows while you paste. The key is checked, then saved in your macOS Keychain (service switchdesk), never in a plain file, never in Claude Code’s chat or your repo. The setup page shows the key (it starts with sda_) once: “Copy the key now. It won’t be shown again.”

  5. Terminal

    Add it to your coding tool.

    For Claude Code, run this once. It starts switchdesk mcp, a local MCP server that forwards to SwitchDesk with the key from your Keychain, so no config file holds it.

    claude mcp add switchdesk -- switchdesk mcp
  6. Claude Code

    Check the connection

    Click Done in SwitchDesk. Start Claude Code in any project, type /mcp and look for switchdesk. Then ask: “What’s on my SwitchDesk Today list?”

No Node.js, or a machine where you’d rather not install the CLI? The setup page’s Without the CLI disclosure shows the plain HTTP setup instead: the key saved in your Keychain once, read through SWITCHDESK_TOKEN, and sent as Authorization: Bearer to https://api.switchdesk.org/mcp.

Claude Code can also connect by signing in instead: add https://mcp.switchdesk.org/mcp and authenticate from /mcp. The key route stays the default, since it sets up the CLI too.

switchdesk CLI reference →

To make the habit stick, add a line to your project’s CLAUDE.md, such as “At the start of a session, read my SwitchDesk Today list. File follow-ups under Fernhill.”

Claude Code skill for SwitchDesk →

Choose how much Claude Code can do

A coding agent runs many tool calls in a row, so the defaults matter more here than in a chat. The to-do rows of each preset:

What each preset allows: Read only, Assistant (the default) and Full control.
What it may doRead onlyAssistantdefaultFull control
See to-dosEvery to-do, done ones, sub-to-dos, notes and repeat rulesOnOnOn
Add to IncomingNew to-dos in Incoming, above TodayOffOnOn
Add anywhereAny category, Today, This Week (and a day), Next Week, sub-to-dosOffAskOn
Edit to-dos and notesTitles, notes, due dates, repeats, moves, urgent, backlogOffAskOn
Check offDone, in progress or openOffAskOn
DeleteDelete, with 7-day UndoOffAskOn
Shared categoriesAny change your teammates can seeOffAskOn

Assistant already lets Claude Code capture follow-ups into Incoming without interrupting you. If approving every check-off gets old, set Check off to On with Fine-tune. Leave Delete on Ask. Every permission, explained.

Keeping it safe

  • Keep the key out of the repo. It belongs in the Keychain only. Never in a committed file, a chat with Claude Code or a command line.
  • Don’t pre-approve the CLI. Claude Code can be told to run commands without asking. Don’t do that for switchdesk: a README or issue it reads could tell it to delete things.
  • Deletes have a brake. In Assistant, more than 20 deletes in 10 minutes pauses the connection’s writes by itself.
  • Every call is logged. Activity lists every call each connection makes, with Undo for 7 days on anything it changed.
  • It can’t raise its own access. Claude Code can’t approve its cards, change its permissions or touch your settings, billing or team.

If something doesn’t work

You seeWhat to do
switchdesk isn’t listed in /mcpRun claude mcp add switchdesk -- switchdesk mcp again and restart Claude Code. If Claude Code can’t find switchdesk, use the full path from which switchdesk.
“Not signed in”Run switchdesk login yourself and paste the key (never let the agent handle it).
“Not allowed”That permission is Off. Change it in Settings → AI Access; it applies on the next call.
“Waiting for approval”Expected in Assistant. Tap the card in Needs Your Approval on your Mac.
Writes stopped workingThe connection is paused, perhaps after a burst of deletes. Resume it in Settings → AI Access.
A repeating to-do won’t deleteAsk Claude Code to stop the series as well.
“Rate limited”Too many calls at once. Claude Code is told how many seconds to wait.
“SwitchDesk Pro is needed”AI Access is part of Pro. The connection resumes when your plan does. Pricing.

Published . How AI Access works →

Claude Code and SwitchDesk: questions

How AI Access works →
Can Claude Code turn TODO comments into real to-dos?
Yes. Ask it to collect the TODOs in a branch and add them to SwitchDesk. With Assistant, ones it puts in Incoming appear straight away; ones it files under a category wait in Needs Your Approval on your Mac (one card, if it sends them together).
Where is my SwitchDesk key stored?
In your macOS Keychain. switchdesk login saves it there, and switchdesk mcp reads it from there, so it never lands in your repo, your shell history or a config file. If it leaks anyway, click Revoke and connect again for a new key.
Should I let Claude Code run switchdesk commands without asking?
No. A file, issue or web page Claude Code reads could carry instructions meant for it. Keep its permission prompt on for SwitchDesk writes, and leave deletes on Ask in SwitchDesk too, so a bad instruction can’t empty your list unattended.
Does the same setup work for Cursor?
Yes. Cursor uses the same Terminal & coding tools (CLI) tile, the same key and the same Keychain entry. Only the last step differs: an mcp.json entry instead of a command. See Connect Cursor to your to-do list.
Can Claude Code sign in instead of using a key?
It can: add https://mcp.switchdesk.org/mcp as a server and authenticate from /mcp. The key route stays the default because it also gives you the CLI.
Which plan do I need?
SwitchDesk Pro for AI Access; the 14-day trial is Pro. SwitchDesk pricing.

Code ships. The to-do gets checked off.

Every AI app SwitchDesk connects to →

SwitchDesk is a Mac app

Send yourself the download link, then open it on your Mac.

switchdesk.org/download

Or scan it with your phone’s camera.