things3-cli

A Go command-line client for Things 3 with a skill: reads the local task database, writes via URL scheme, undoes bulk edits.

  • 124 ★ on the repository
  • Last commit
CLI

Extended access

Why this level

  • The agent creates, edits and deletes tasks and projects in Things, including in bulk.
  • Reading the database requires Full Disk Access for the terminal or agent host.
All reasons and checks

ossianhempel/things3-cli

Install

Manual install

make install

Build from source in a repository clone, the first README option. The skill file is `skills/things/SKILL.md`.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The agent creates, edits and deletes tasks and projects in Things, including in bulk.
  • Reading the database requires Full Disk Access for the terminal or agent host.

This is third-party code. Review the repository files before installing.

What it does

things3-cli is a Go command-line program for the Things 3 task manager from Cultured Code. Commands read the local Things database: inbox, today, upcoming, logbook, projects, areas and tags, with search and filters. Writes go through the Things URL scheme and deletes through AppleScript. The repository ships a ready skill at `skills/things/SKILL.md`. It gives the agent a safe order: read, find the UUID, preview the write with `--dry-run`, write by `--id`, verify by reading again. Bulk edits and deletes by `--query` are listed first, and `things undo` reverts the last bulk operation.

Who it is for. Things users on a Mac who hand inbox triage, task moves and project setup to Claude Code or Codex.

Good fit when

  • The inbox is overflowing and the agent should sort tasks into projects and areas.
  • A project with a checklist and deadlines must be created from notes or an email.
  • The agent builds a weekly report from the logbook for chosen dates.
  • A tag must be set in bulk by a `--query` search, with a preview before applying.

Not a fit when

  • The computer runs Windows or Linux: the program works on macOS only.
  • Repeating tasks are needed: the CLI does not create them, recurrence is set up in Things itself.
  • An MCP server with no shell is required: here the agent calls `things` commands.

Example request

List my Things inbox, propose a project for each group of tasks and create them with `--dry-run` until I confirm.

Limitations

Works on macOS only. The README calls the project a work in progress with the goal of full Things URL scheme coverage. URL-scheme updates need a token in `THINGS_AUTH_TOKEN`, and reading the database needs Full Disk Access for the terminal or agent host. Direct writes to the live database are blocked on purpose. The repository states no license, and the last commit is from October 2026. Delete commands ask for confirmation interactively and need `--confirm` in scripts.

How to disable. Remove the skill from the agent skills directory, delete the `things` program and the `THINGS_AUTH_TOKEN` variable from the shell profile. Tasks in Things stay as they are.

FAQ

Where do I get the token for edits?

In Things open Settings, the Things URLs section, copy the token or enable access for the CLI. Then run `export THINGS_AUTH_TOKEN=...`; `things auth` shows the token status.

Can it write straight into the Things database?

No. Writes to a Things-managed database are rejected before any URL is built, and repeating tasks are created in the app itself.

How do I avoid losing tasks in a bulk edit?

Run the command with `--dry-run` first, then with `--yes`. `things undo` reverts the last bulk operation and has its own `--dry-run`.

Does it need special permissions on the Mac?

Yes. Reading the database needs Full Disk Access for the terminal or agent host, and AppleScript deletes ask for permission to automate Things.

How do I find completed tasks for a period?

Use `things logbook` with `--completed-after` and `--completed-before`. Sort by completion date with `--sort -completed`.

Discussion

No questions or reviews yet.

CLI tools

An MCP server for Things 3 on Mac: Claude reads lists, searches tasks and creates or updates them, including in bulk.

MCP serverExtended access642Repository stars

T3 Tots lets an agent read T3 Code thread state, answer questions and send reports, including to a phone

SkillBroad access137Repository stars

Official Todoist command line with an agent skill: tasks, projects and inbox from the terminal

CLIExtended access332Repository stars
Official

Skills Manager keeps skills in one library and mounts them into Claude Code, Cursor, Codex and other agents through symlinks, with no file copies

CLIExtended access466Repository stars

A CLI that keeps agent skills in a Notion database: browse a shared store, install the ones you need, sync and publish for a team

CLIExtended access79Repository stars

redmine-cli runs Redmine issues and time tracking from a terminal and exposes them to agents as a skill or MCP server

CLIExtended access63Repository stars

README in short

The README lists commands for adding, updating, deleting and listing, token setup, reading the local database, the rules for repeating tasks and a note about the agent skill.

README badge

Report a problem