Todos, for you and your agents.

createtodo is the task manager I built for myself: a keyboard-first list that opens instantly, works offline and syncs in real time. When my coding agents needed somewhere to file their work too, it grew an MCP server and a command line.

Open appRead the docsFree while in alpha
MZ-45Write the launch announcement
writing
Today
MZ-46Fix the login redirect on Safari
High priority
SR
bug
MZ-48Review the pricing page copy
AI
MZ-50Renew the domain
Oct 31
MZ-52Draft the Q4 roadmap
Medium priority
MZ-41Set up the workspace
MZ-42Invite the team

Why I built it

I wanted something between a text file and Linear. A text file is fast but falls apart the moment two people, or a person and an agent, share it. Linear is excellent, and far more process than my projects need. So I built the middle: short identifiers like MZ-123, statuses, labels and due dates when a project calls for them, and a quiet list when it doesn't.

Speed and restraint decide most things. The app is local-first, so it opens instantly and keeps working on a train; changes reach every tab, device and teammate as they happen. A feature earns its place by removing friction, not by adding an option.

I build createtodo with createtodo. Every entry on the changelog started as a todo in it, and these days most of them are filed, claimed and closed by agents while I decide what matters.

— Martin, about createtodo

What's in it

Keyboard first
J and K through the rows, C to create, K for everything else. Every action has a key, shown where you'd look for it.
Local first
A database in your browser holds your todos, so the app opens instantly and works offline. Sync is real time when you're back.
Lists, views and a board
Lists hold the work. Saved views filter across them, Today, Upcoming and My todos to begin with, and V turns any list into a board.
Structure on demand
Subtodos, labels, priorities, due dates, recurrence and dependencies. Each one is optional, and the list stays quiet until you reach for them.
Descriptions that hold things
Collaborative rich text with images, bookmarks and embeds. Two people, or a person and an agent, can edit the same description at once.
Many at once
Drag a marquee or hold with the arrows to select rows, then change, move or archive them together.
Undo everything
Z takes back edits, moves, deletes and bulk changes, one step at a time.
Made for agents
An MCP server, a JSON-first CLI, an installable skill, and questionnaires an agent can send you when it needs a decision.

Your agents can work here too

Give an agent an API key and it gets the same workspace you see, through whichever door it prefers: an MCP server for Claude Code, Cursor and friends, or ct, a command line that prints JSON. A skill file teaches it the house rules: reference todos by identifier, never invent one, write a real description, ask instead of guessing.

npm install -g @createtodo/cli
ct ready            # open, unblocked, unclaimed work
ct claim MZ-123     # take it and mark it started
ct close MZ-123     # done; reports what it unblocked

Everything for agents — the MCP server, the CLI, the skill, questionnaires and memory.

Recent changes

All changes