Reference
About
things-cli is a small Go CLI for Things3
on macOS, written by Ryan Lewis.
How it works
- Reads go through
modernc.org/sqlite(pure Go, no cgo) withPRAGMA query_only = ON, so the CLI cannot mutate the Things database. - Writes go through the official
things:///addandthings:///updateURL schemes for creating and editing tasks, and through AppleScript for completing and cancelling them. This is the same interface Things exposes to Shortcuts and other automation tools. - Task resolution accepts a UUID, a title (with interactive disambiguation when multiple tasks match), or a numeric index into the last listing.
Your data never leaves the machine. Things3 stays the source of truth.
AI-friendly
Every command speaks JSON (-j / --json). A bundled agent skill ships
inside the binary — install it once for Claude Code, Codex CLI, or Pi
and your agent learns when to reach for things instead of guessing at
AppleScript.
things skill install claude
things skill show
Credits
Things3 is built and maintained by
Cultured Code. things-cli is an
independent, unaffiliated third-party tool that talks to the official
things:/// URL scheme and reads the on-disk SQLite database — same
interfaces Cultured Code expose to Shortcuts and other automation.
Source
The full command reference and contributing guide live on GitHub. Issues and pull requests welcome.