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.
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 todayRead 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@latestHomepage: https://github.com/ossianhempel/things3-cli
Source: bundled