Capture and manage Microsoft To Do tasks from Raycast using the local ms-todo CLI. The extension asks the CLI for cached tasks; the CLI's daemon owns sync and sign-in. This extension does not connect to Microsoft Graph, read the cache directly, or collect analytics.
Install Microsoft To Do via ms-todo from the Raycast Store.
Install the official ms-todo Homebrew formula on macOS:
brew install planetaryescape/ms-todo/ms-todo
You can also install from source. The release binary is not currently code signed; follow the main project's installation guidance when choosing how to install it.
Sign in and check the local cache:
ms-todo auth login
ms-todo sync --wait
ms-todo doctor
The extension looks for ms-todo in the standard Homebrew paths, ~/.local/bin, and Raycast's PATH. If it cannot find the binary, set the absolute ms-todo CLI Path in extension preferences.
Each command checks the local CLI diagnostics before showing its task UI. Missing CLI, sign-in, and first-sync states have direct instructions and retry actions. Choose Start Initial Sync to run and wait for a fresh sync; if the daemon already started its first sync, choose Retry Setup Check after it finishes. Task forms stay hidden until the initial task cache is ready. After a task cache exists, a new list's first sync or a later Microsoft sync failure does not block cached task use.
Buy milk tomorrow #Groceries. With no list, the task goes to Tasks. An unknown explicit #List is rejected.Open any task for details: status, importance, due date, reminder, notes, My Day membership, and sync state. The action menu can complete or reopen it, edit its title/due date/importance, add or remove it from My Day, or delete it after confirmation. Notes are read-only here because editing them as plain text could remove formatting; use the ms-todo CLI or TUI for notes edits. Changes are applied locally first and may still be pending upstream.
Reads come from the local cache and may lag Microsoft To Do until the daemon syncs. An empty result while initial sync is running is marked as incomplete. Local writes appear immediately and may still be pending upstream; use ms-todo doctor or ms-todo outbox list to inspect sync problems.
To run this folder as a local extension, import it in Raycast or run npm run dev after installing dependencies.
npm ci
npm test
npm run typecheck
npm run lint
npm run build
The subprocess tests use a fake CLI and do not write to a Microsoft account. The extension is MIT licensed.