Install

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-cli is 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 Silicon
  • things_<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.