I Made a Thaing

2026/01/18

Matt Webb’s idea about agents acting on Reminders inspired me. So I built Thaings.

Thaings adds agentic workers to my to-dos in Things. It’s AI inside of Things. Thaings. You get it.

I’m really proud of the name. It’s a testament to the creative energy I can manifest from pursuing something with a stupid name.

Here’s how it works. I manage my to-dos in Things, same as ever. If there’s ever a to-do that I believe an agent can complete, or at least accelerate, I select the to-do and call an Apple Shortcut. The shortcut broadcasts information about the to-do to my ~/.thaings folder, where an orchestration of scripts communicates receipt by adding the Working tag and begins executing on the to-do. The progress from working is reported back by appending to the to-do’s notes and replacing the Working tag with the Ready tag. I am the human in the loop, so only I decide whether or not it is ready to mark complete. If it’s not quite there yet, I can add more notes and re-broadcast back to Thaings by re-invoking the shortcut.

I’m shelling out to Claude Code under the hood. Which means this only works on macOS. There’s probably a better way to make this generic so the shortcut and it’s side-effects could run across all Apple platforms targeting a plurality of LLMs. The first exploration of this idea was actually completely self contained in a Shortcut. It worked, but completely relied on a one-shot request/response assumption. It would use “Ask Claude” on iOS, and “Execute Shell Script” to call Claude Code on macOS. And even though it worked, seeing all those one shot chats when I opened the Claude app was gross. And even though the platform-dependent branching both returned strings, Shortcuts wouldn’t accept that reality and provide the control flows I wanted.

The invocation of the shortcut with to-dos selected is kinda goofy. I experimented with Things’ “Find Items” action in Shortcuts as the mechanism for finding to-dos within a specific project, with a specific tag, etc. In practice, Shortcuts is paranoid of this interaction that results in sending a bunch of Things data to a shell script. It asks for permissions every time, no matter how many times I select “always allow”. I’ve got a few ideas on ways I can try to code around this. Or maybe leveraging LaunchAgents and AppleScript to potentially rely only on actions within Things, and eliminate the need for the shortcut entirely. That would cement the constraint of working only on macOS.

So that’s Thaings. Is it useful? Maybe. I’ve been able to execute on a few to-dos without leaving Things. Was it fun to build? Heck yeah. Building is the best part.

Use Things and Claude Code and wanna kick the tires? Installation instructions are in README.