Docs
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) with PRAGMA query_only = ON, so the CLI cannot mutate the Things database.
  • Writes go through the official things:///add and things:///update URL 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.

MIT licensed.