Use things to read your local Things database (inbox/today/search/projects/areas/tags) and to add/update todos via the Things URL scheme.
Setup
GOBIN=/opt/homebrew/bin go install github.com/ossianhempel/things3-cli/cmd/things@latestOpenClaw.app for gateway runs).THINGSDB (or pass --db) to point at your ThingsData-* folder.THINGS_AUTH_TOKEN to avoid passing --auth-token for update ops.Read-only (DB)
things inbox --limit 50things todaythings upcomingthings search "query"things projects / things areas / things tagsWrite (URL scheme)
things --dry-run add "Title"things add "Title" --notes "..." --when today --deadline 2026-01-02things --foreground add "Title"Examples: add a todo
things add "Buy milk"things add "Buy milk" --notes "2% + bananas"things add "Book flights" --list "Travel"things add "Pack charger" --list "Travel" --heading "Before"things add "Call dentist" --tags "health,phone"things add "Trip prep" --checklist-item "Passport" --checklist-item "Tickets"cat <<'EOF' | things add -Title lineNotes line 1Notes line 2EOFExamples: modify a todo (needs auth token)
things search "milk" --limit 5THINGS_AUTH_TOKEN or pass --auth-token <TOKEN>things update --id <UUID> --auth-token <TOKEN> "New title"things update --id <UUID> --auth-token <TOKEN> --notes "New notes"things update --id <UUID> --auth-token <TOKEN> --append-notes "..." / --prepend-notes "..."things update --id <UUID> --auth-token <TOKEN> --list "Travel" --heading "Before"things update --id <UUID> --auth-token <TOKEN> --tags "a,b" / things update --id <UUID> --auth-token <TOKEN> --add-tags "a,b"things update --id <UUID> --auth-token <TOKEN> --completed / --canceledthings --dry-run update --id <UUID> --auth-token <TOKEN> --completedDelete a todo?
things3-cli right now (no “delete/move-to-trash” write command; things trash is read-only listing).--completed / --canceled via things update.Notes
--dry-run prints the URL and does not open Things.npx skills add openclaw/openclaw/skills/things-macCopy the installation command above and run it in your terminal to install globally.
Add the required environment variables to your MCP client according to the skill description.
Configure and enable this skill in any MCP-compatible app (e.g. Claude or Cursor).