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.

Release Go version License Platform GitHub stars

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.

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