| name | Things |
| description | Interacting with Things 3 task manager for Mac. Use when working with the user's personal todos, tasks, projects, areas, tags, or task lists (inbox, today, upcoming, etc.). Supports creating, reading, updating, and navigating tasks. |
| allowed-tools | ["Bash(osascript:*)","Bash(open:*)","Read"] |
Things 3 Task Manager
Interact with Things 3, the user's personal task manager for Mac.
Quick Start
Read operations: Use TypeScript with esbuild to write type-safe JXA code via scripts/run-jxa.sh
Write operations: Use things:// URL schemes (things:///add, things:///update, things:///json)
Auth token: security find-generic-password -a "$USER" -s "things-auth-token" -w (see @1password.md for setup)
Common Commands
Read today's todos:
scripts/run-jxa.sh 'const app = Application("Things3"); const today = app.lists.byId("TMTodayListSource"); JSON.stringify(today.toDos().map(t => ({id: t.id(), name: t.name()})), null, 2);'
Create a todo:
open "things:///add?title=Task%20name&when=today&tags=Work"
Update a todo:
auth_token=$(security find-generic-password -a "$USER" -s -w)
open