Things 3 from your terminal,
or from your agent.
List, add, edit and complete your Things tasks from the shell. Pipe JSON into scripts. Hand your coding agent the bundled skill and it can do the same.
$ things Home 1. [ ] ★ Book the car in for its MOT 2. [ ] Renew passport Launch 3. [ ] ★ Write the release notes for v0.7 4. [ ] Record the demo GIF $ things add "Reply to Sam about the deck" --when today --tags work $ things complete 3 $ things --json today | jq '.[] | select(.projectTitle == "Launch") | .title' "Record the demo GIF" "Reply to Sam about the deck"
Your tasks stay on the Mac
Reads open the Things database read-only. Writes go through the same URL scheme Things gives Shortcuts. The CLI adds no server or account of its own. Things Cloud keeps syncing your devices exactly as before.
JSON everywhere
Every command takes --json. Failures come back as one object with a stable error token, and the CLI never blocks on a prompt. Safe in scripts, cron, Raycast and Alfred.
Your agent already knows it
One command teaches Claude Code, Codex or any agent to use it. Ask in plain words and your agent adds, edits and completes tasks in Things for you.
Teach your agent to drive it in one command.
The bundled skill tells the agent what is safe to run freely, what changes real data, and how to read a failure. Prefer UUIDs, never trust an index you did not just list, confirm before completing anything.
Any other agent: things skill show prints the neutral source for your AGENTS.md.
$ things skill install claude ✓ installed ~/.claude/skills/things-cli/SKILL.md
Ten seconds to your first things.
Needs Things 3 by Cultured Code, launched at least once. The script verifies the download against checksums.txt before installing.