things-cli

things-cli

A small Go CLI for Things3 on macOS. Reads tasks, projects, areas and tags straight from the Things3 SQLite database (read-only) and writes via the things:/// URL scheme and AppleScript — so the app stays the source of truth and your data never leaves the machine.

AI-friendly by design. Every command speaks JSON (-j / --json) for clean piping into jq, agents, or scripts. A bundled agent skill ships in the binary itself — things skill install claude drops it into Claude Code, and things skill show prints the neutral source so you can append it to whatever your agent reads for instructions.

Latest release
MIT licensed
GitHub

Quickstart

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# What's on today
things

# Inbox, upcoming, anytime — all built-in views
things inbox
things upcoming -t urgent

# Capture a task
things add "Buy milk" --when today --tags errand,shopping

# Show, edit, complete
things show 3
things edit 3 --add-tags urgent --deadline 2026-05-01
things complete 3

# Reveal in the Things app
things open today

Every command takes -j / --json for structured output:

1
things upcoming --json | jq '.[] | select(.deadline)'

Where next