things-mac
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 (recommended, Apple Silicon):
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 (Terminal for manual runs;
ThinkFleetBot.appfor gateway runs). - Optional: set
THINGSDB(or pass--db) to 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 - Bring Things to front:
things --foreground add "Title"
Examples: add a todo
- Basic:
things add "Buy milk" - With notes:
things add "Buy milk" --notes "2% + bananas" - Into a project/area:
things add "Book flights" --list "Travel" - Into a project heading:
things add "Pack charger" --list "Travel" --heading "Before" - With tags:
things add "Call dentist" --tags "health,phone" - Checklist:
things add "Trip prep" --checklist-item "Passport" --checklist-item "Tickets" - From STDIN (multi-line => title + notes):
cat <<'EOF' | things add -Title lineNotes line 1Notes line 2EOF
Examples: modify a todo (needs auth token)
- First: get the ID (UUID column):
things search "milk" --limit 5 - Auth: set
THINGS_AUTH_TOKENor pass--auth-token <TOKEN> - Title:
things update --id <UUID> --auth-token <TOKEN> "New title" - Notes replace:
things update --id <UUID> --auth-token <TOKEN> --notes "New notes" - Notes append/prepend:
things update --id <UUID> --auth-token <TOKEN> --append-notes "..."/--prepend-notes "..." - Move lists:
things update --id <UUID> --auth-token <TOKEN> --list "Travel" --heading "Before" - Tags replace/add:
things update --id <UUID> --auth-token <TOKEN> --tags "a,b"/things update --id <UUID> --auth-token <TOKEN> --add-tags "a,b" - Complete/cancel (soft-delete-ish):
things update --id <UUID> --auth-token <TOKEN> --completed/--canceled - Safe preview:
things --dry-run update --id <UUID> --auth-token <TOKEN> --completed
Delete a todo?
- Not supported by
things3-cliright now (no “delete/move-to-trash” write command;things trashis read-only listing). - Options: use Things UI to delete/trash, or mark as
--completed/--canceledviathings update.
Notes
- macOS-only.
--dry-runprints the URL and does not open Things.
More from thinkfleetai/thinkfleet-engine
local-whisper
Local speech-to-text using OpenAI Whisper. Runs fully offline after model download. High quality transcription with multiple model sizes.
149flyio-cli-public
Use the Fly.io flyctl CLI for deploying and operating apps on Fly.io: deploys (local or remote builder), viewing status/logs, SSH/console, secrets/config, scaling, machines, volumes, and Fly Postgres (create/attach/manage databases). Use when asked to deploy to Fly.io, debug fly deploy/build/runtime failures, set up GitHub Actions deploys/previews, or safely manage Fly apps and Postgres.
24kagi-search
Web search using Kagi Search API. Use when you need to search the web for current information, facts, or references. Requires KAGI_API_KEY in the environment.
22feishu-bridge
Connect a Feishu (Lark) bot to ThinkFleet via WebSocket long-connection. No public server, domain, or ngrok required. Use when setting up Feishu/Lark as a messaging channel, troubleshooting the Feishu bridge, or managing the bridge service (start/stop/logs). Covers bot creation on Feishu Open Platform, credential setup, bridge startup, macOS launchd auto-restart, and group chat behavior tuning.
13video-subtitles
Generate SRT subtitles from video/audio with translation support. Transcribes Hebrew (ivrit.ai) and English (whisper), translates between languages, burns subtitles into video. Use for creating captions, transcripts, or hardcoded subtitles for WhatsApp/social media.
10freshrss
Query headlines and articles from a self-hosted FreshRSS instance. Use when the user asks for RSS news, latest headlines, feed updates, or wants to browse articles from their FreshRSS reader. Supports filtering by category, time range, and count.
9