Ms Todo Oauth
PassAudited by ClawScan on May 10, 2026.
Overview
This appears to be a legitimate Microsoft To Do CLI, but it needs Microsoft task read/write access, stores an OAuth token locally, can delete tasks/lists, and installs Python dependencies.
Install this only if you want an agent-accessible CLI to manage your Microsoft To Do account. Review the Microsoft OAuth consent screen, consider using your own Azure app credentials, be careful with delete commands and the -y flag, and keep the local token cache protected or revoke/logout when done.
Findings (5)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
After login, the tool can read and modify Microsoft To Do data, and the login can persist across sessions until logout or revocation.
The script requests delegated Microsoft Graph read/write access to To Do tasks and stores the resulting token cache locally.
self.scopes = ["Tasks.ReadWrite"] ... cache_file = os.path.join(Path.home(), ".mstodo_token_cache.json")
Only authorize the Microsoft account you intend to manage, review the Microsoft consent prompt, protect the token cache file, and use the logout command or Microsoft account consent settings to revoke access when finished.
Users are granting Microsoft To Do permissions to the app identity embedded in the skill, which may be less transparent than using their own Azure app registration.
The OAuth flow is tied to an embedded Azure application identity rather than a user-created app registration.
It contains a generated Azure Client ID and Secret ID ... IF YOU WORRIED ABOUT YOUR PRIVACY, CONSIDER REPLACING THEM TO YOUR OWN
If provenance matters, replace the embedded Azure client details with your own registered Microsoft application before logging in.
If invoked accidentally or autonomously by an agent, tasks or entire lists could be deleted from the user's Microsoft To Do account.
The documented CLI includes destructive delete operations and a flag that skips confirmation.
Delete list: ms-todo-oauth delete-list "List Name" -y ... Delete task: ms-todo-oauth delete -l "List" "Task Title" -y
Use delete commands only with explicit user intent, avoid the -y flag unless you are certain, and consider requiring confirmation before allowing an agent to run destructive commands.
Running tests against a real account will create and delete To Do data, and interrupted tests may leave behind test lists.
The optional test suite performs live mutations in the authenticated Microsoft To Do account.
The script will create and delete a test list automatically
Run the test suite only on an account where temporary test data is acceptable, and verify cleanup afterward.
Dependency behavior could change over time if newer package versions are installed.
The installation uses minimum dependency versions rather than exact pinned versions, so future installs may resolve to newer package releases.
msal>=1.34.0 ... requests>=2.32.5
Install in a virtual environment and consider using a lockfile or pinned versions for reproducible installs.
