Install
things-cli runs on macOS and ships as a single static Go binary. Three ways to install — pick whichever fits your workflow.
You’ll need Things3. This CLI talks to the Things3 app by Cultured Code — a paid task manager for macOS, iPad, iPhone, and Apple Watch. It must be installed and have been launched at least once for the database to exist.
things-cliis an independent third-party tool and is not affiliated with Cultured Code.
One-line install script
1
curl -fsSL https://raw.githubusercontent.com/ryanlewis/things-cli/main/install.sh | sh
Downloads the latest release for your architecture, verifies the checksum against checksums.txt, and installs the things binary to /usr/local/bin.
The script reads two optional environment variables:
1
2
3
4
5
# Install somewhere other than /usr/local/bin
INSTALL_DIR=$HOME/.local/bin curl -fsSL https://raw.githubusercontent.com/ryanlewis/things-cli/main/install.sh | sh
# Pin a specific version (defaults to the latest release)
VERSION=v0.1.0 curl -fsSL https://raw.githubusercontent.com/ryanlewis/things-cli/main/install.sh | sh
go install
If you have a recent Go toolchain:
1
go install github.com/ryanlewis/things-cli/cmd/things@latest
The binary lands in $GOBIN (or $GOPATH/bin) as things.
Prebuilt binary
Grab a .tar.gz from the latest release:
things_<version>_darwin_arm64.tar.gz— Apple Siliconthings_<version>_darwin_amd64.tar.gz— Intel
Extract, move things onto your $PATH, and you’re done.
1
2
3
tar -xzf things_<version>_darwin_arm64.tar.gz
mv things /usr/local/bin/
things --version
Verifying the install
1
2
things --version # prints the build version
things # default view: today
The first invocation reads the Things3 database from ~/Library/Group Containers/JLMPQHK86H.com.culturedcode.ThingsMac/ThingsData-*/Things Database.thingsdatabase/main.sqlite in read-only mode. Things3 must be installed and have been launched at least once for the database to exist.