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.
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 unblockedEverything for agents — the MCP server, the CLI, the skill, questionnaires and memory.