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.
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)'