Things 3

Manage Things 3 via the things CLI on macOS. Add/update projects and todos via URL scheme; read, search, and list from the local Things database.

Things 3 is Cultured Code's award-winning task manager for macOS and iOS — beloved for its beautiful design, intuitive UX, and GTD-inspired workflow with projects, areas, headings, tags, and repeating tasks. The things3-cli by Ossian Hempel brings this to the terminal with a Go-based CLI that reads directly from Things' local SQLite database and writes via the Things URL scheme. The dual-interface design is key to understanding this skill. Reading (inbox, today, upcoming, someday, logbook, projects, areas, tags, search) goes through the SQLite database for speed and rich filtering. Writing (add todos, update projects, create checklists) goes through Things' x-callback-url scheme, which is the officially supported automation method. This split means reads are fast and comprehensive, while writes respect Things' internal data integrity. For OpenClaw users, this skill bridges your AI assistant to your task management system. 'Add a todo to buy groceries tomorrow' creates a task in Things that syncs to your iPhone. 'What's on my today list?' reads directly from the database. The skill supports the full Things taxonomy: projects with headings, areas for life categories, tags for cross-cutting labels, and repeating tasks with natural language schedules. Things 3 requires a one-time purchase ($50 for Mac, $10 for iPhone), which puts off some users. But for those invested in the ecosystem, it's arguably the best-designed task manager available — and this CLI brings its full power to terminal workflows. The database lives inside Things' app sandbox, so your terminal needs Full Disk Access permission in System Settings. This is a one-time setup step that some users find surprising. Best suited for: Things 3 users who want terminal/AI access to their tasks, GTD practitioners using OpenClaw, macOS users who prefer CLI over clicking through the Things app, anyone wanting their AI assistant to manage tasks in a premium task manager.

Tags: tasks, things3, macos, productivity, todo

Category: Productivity

Use Cases

  • Morning briefing: check today's tasks as part of daily routine
  • Quick capture: 'Add a todo to...' without opening the app
  • Project management: create projects with multiple tasks from the terminal
  • Weekly review: list completed tasks from the logbook for retrospectives
  • Search: find specific tasks across all projects and areas
  • Automation: create tasks from email/calendar events via OpenClaw cron

Tips

  • Grant Full Disk Access to your terminal app once — System Settings > Privacy & Security > Full Disk Access
  • Use `things today --json` for structured output in automation pipelines
  • Combine with OpenClaw cron for a morning task briefing: 'Here are your tasks for today'
  • Use areas and projects to organize tasks — the CLI supports filtering by both
  • For repeating tasks: `things add --title 'Weekly review' --repeat 'every friday at 5pm'`
  • Search across all tasks with `things search 'keyword'` — searches title, notes, and checklist items
  • Use `things logbook` to review completed tasks for weekly retrospectives
  • Pair with the Apple Reminders skill — use Things for projects/GTD, Reminders for quick location-based alerts

Known Issues & Gotchas

  • macOS only — Things 3 is an Apple ecosystem app with no Windows/Linux version
  • Terminal needs Full Disk Access in System Settings > Privacy & Security to read the Things database
  • Things 3 requires purchase ($50 Mac, $10 iPhone) — no free tier
  • Database path changes with app sandboxing — things3-cli auto-discovers it but updates may break this
  • URL scheme writes open Things briefly — you'll see a flash of the app window
  • Repeating tasks use RRULE format — natural language parsing may not cover all patterns
  • Read operations go through SQLite, writes through URL scheme — different latency characteristics
  • The app must be installed (not just purchased) for the database to exist

Alternatives

  • Apple Reminders (remindctl)
  • Todoist
  • OmniFocus
  • Taskwarrior
  • clings (dan-hart)

Community Feedback

Things is the award-winning personal task manager that helps you plan your day, manage your projects, and make real progress toward your goals.

— Cultured Code

CLI for Things 3, implemented in Go. Read local database (inbox/today/projects/tags/search) and write via URL scheme (add/update todos and projects).

— GitHub (things3-cli)

Things CLI is a handy shell script that peeks into Things SQLite database. I use it to turn to-dos into text and then manipulate the result for reports and reviews.

— Mac Power Users

I recently wrote a load of shortcuts on my Mac for Things 3 and automating project creation. All working beautifully — the URL scheme is powerful.

— Reddit r/thingsapp

Configuration Examples

Install and grant access

# Install
go install github.com/ossianhempel/things3-cli/cmd/things@latest

# Grant Full Disk Access to Terminal.app or iTerm2
# System Settings > Privacy & Security > Full Disk Access > Add terminal app

# Verify
things today

Read tasks

# Today's tasks
things today --json | jq '.[].title'

# Inbox
things inbox

# Search across everything
things search 'meeting' --json

# List projects in an area
things projects --area 'Work'

Add and update tasks

# Add a simple todo
things add --title 'Buy groceries' --list 'Personal'

# Add with due date and tags
things add --title 'Submit report' --when 'tomorrow' --tags 'work,urgent'

# Add a project with todos
things add-project --title 'Website Redesign' --area 'Work' \
  --todos 'Design mockups' 'Build frontend' 'Deploy to production'

# Complete a task
things complete --id <task-id>

Installation

go install github.com/ossianhempel/things3-cli/cmd/things@latest

Homepage: https://github.com/ossianhempel/things3-cli

Source: bundled