add-command
Guide for adding new CLI commands or subcommands to todoist-cli. Use when implementing new SDK endpoints, adding subcommands to existing command groups, or…
Manage Todoist tasks, projects, labels, filters, sections, comments, reminders, and workspaces via the `td` CLI. Use when the user wants to view, create, update, complete, or organize Todoist items, or mentions tasks, inbox, today, upcoming, projects, labels, or filters.
$ npx -y skills add Doist/todoist-cli --skill todoist-cli --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/todoist-cliContext preview
The summary Claude sees to decide when to auto-load this skill.
Manage Todoist tasks, projects, labels, filters, sections, comments, reminders, and workspaces via the `td` CLI. Use when the user wants to view, create, update, complete, or organize Todoist items, or mentions tasks, inbox, today, upcoming, projects, labels, or filters.
name: todoist-cli description: "Manage Todoist tasks, projects, labels, filters, sections, comments, reminders, and workspaces via the `td` CLI. Use when the user wants to view, create, update, complete, or organize Todoist items, or mentions tasks, inbox, today, upcoming, projects, labels, or filters." compatibility: "Requires the td CLI (@doist/todoist-cli) to be installed and authenticated via 'td auth login'." license: MIT metadata: author: Doist
td auth login
td auth login --read-only
td auth login --additional-scopes=app-management
td auth login --read-only --additional-scopes=app-management
td auth login --additional-scopes=backups
td auth login --read-only --additional-scopes=backups
td auth login --additional-scopes=billing
td auth login --additional-scopes=app-management,backups
td auth login --callback-port 9000 # override the OAuth callback port
td auth login --no-browser-open # print the authorize URL instead of opening a browser
td auth login --credential-store=plaintext # explicitly store the credential in plaintext
td auth login --json # emit the new account record as JSON
td auth login --ndjson # one-line newline-delimited JSON
td auth token
td auth token "$TOKEN" --credential-store=plaintext
td auth status
td auth status --json # full status payload as JSON (--ndjson also supported)
TOKEN=$(td auth token view)
TOKEN=$(td auth token view --user you@example.com)
td auth logout
td auth logout --json # emits `{"ok": true}` (--ndjson is silent)`td auth login`, `td auth status`, and `td auth logout` all accept the standard `--json` / `--ndjson` machine-output flags. For `login` and `status` the body carries the account record (id, email, auth metadata, plus `storedUsers` and `source` from status); `logout` emits a `{"ok": true}` envelope under `--json` and stays silent under `--ndjson`. `td auth login` additionally accepts `--callback-port <n>` (default `8765`, with a small fallback range when the port is busy) and `--no-browser-open`, which prints the authorization URL for manual copy-paste instead of opening a browser (useful on headless or remote hosts).
Opt-in OAuth scopes are requested via `--additional-scopes=<list>` (comma-separated). Run `td auth login --help` for the full list. Currently supported:
Combine freely with `--read-only` to keep data access read-only while still granting an opt-in scope (e.g. `td auth login --read-only --additional-scopes=backups`). When a command fails for lack of a scope, the error suggests a re-login command that preserves whichever flags were originally used.
Tokens are stored in the OS credential manager by default. If it is unavailable, credential writes fail without a plaintext fallback. Pass `--credential-store=plaintext` to `td auth login` or `td auth token` only when you explicitly accept plaintext config-file storage; every such write emits a warning to stderr. `TODOIST_API_TOKEN` takes precedence over stored credentials.
`td auth token view` writes the stored token to stdout fo
Repo: Doist/todoist-cli
Guide for adding new CLI commands or subcommands to todoist-cli. Use when implementing new SDK endpoints, adding subcommands to existing command groups, or…