Things 3 CLI
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
- Install:
GOBIN=/opt/homebrew/bin go install github.com/ossianhempel/things3-cli/cmd/things@latest - If DB reads fail: grant Full Disk Access to the calling app.
- Optional: set
THINGSDBor pass--dbto point at yourThingsData-*folder. - Optional: set
THINGS_AUTH_TOKENto avoid passing--auth-tokenfor update ops.
Read-only (DB)
things inbox --limit 50things todaythings upcomingthings search "query"things projects/things areas/things tags
Write (URL scheme)
- Prefer safe preview:
things --dry-run add "Title" - Add:
things add "Title" --notes "..." --when today --deadline 2026-01-02 - With tags:
things add "Call dentist" --tags "health,phone" - Checklist:
things add "Trip prep" --checklist-item "Passport" --checklist-item "Tickets"
Modify (needs auth token)
- Get ID:
things search "milk" --limit 5 - Title:
things update --id <UUID> --auth-token <TOKEN> "New title" - Complete:
things update --id <UUID> --auth-token <TOKEN> --completed
Notes
- macOS-only.
--dry-runprints the URL and does not open Things.