About

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.

1
2
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.