clawdo - Todo List for Agents
Todo list and task management for AI agents. Add, track, and complete tasks with autonomy levels — agents propose work, humans approve. Works in heartbeats, cron, and conversations. Persistent SQLite
Todo list and task management for AI agents. Add, track, and complete tasks with autonomy levels — agents propose work, humans approve. Works in heartbeats, cron, and conversations. Persistent SQLite
Real data. Real impact.
Growing
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
Your agent has memory files, cron jobs, and chat. It has no todo list.
No way to say "do this when you get to it." Not "do this at 14:00 UTC." Not "do this right now in this conversation." Just... remember to do it. Track it. Pick it up when there's a gap.
That's clawdo.
clawhub install clawdo # installs skill + docs into your workspace npm install -g clawdo # install the CLI binary
Requirements: Node.js ≥18
# Capture a task clawdo add "update dependencies" --urgency soonAgent checks its queue (heartbeat, cron, conversation — wherever)
clawdo inbox --format json
Agent works it
clawdo start a3f2 clawdo done a3f2 --json
add → inbox → start → done. Persistent state in SQLite. Every command has --json so agents parse structured output, not terminal art.
clawdo works everywhere agents work:
# In HEARTBEAT.md — runs every ~30 minutes TASKS=$(clawdo inbox --format json) AUTO=$(echo "$TASKS" | jq '.autoReady | length')if [ "$AUTO" -gt 0 ]; then TASK=$(clawdo next --auto --json | jq -r '.task.id') clawdo start "$TASK" --json
... do the work ...
clawdo done "$TASK" --json fi
Tasks can be tagged with permission tiers that control what the agent is allowed to do unsupervised:
| Level | Time Limit | What it means |
|---|---|---|
| auto | 10 min | Agent does it silently. Fix a typo, run tests. |
| auto-notify | 30 min | Agent does it, tells the human when done. |
| collab | Unlimited | Human required. Complex, risky, or ambiguous. |
Default:
collab (safe).
Key rule: Autonomy is a permission, not a suggestion. Once set, agents can't change it. If an agent fails 3 times, autonomy demotes to
collab. Safety only moves down, never up.
Agents propose, humans approve. Agent tasks always start as
proposed. The human runs clawdo confirm <id> or it doesn't happen.
# Add tasks — inline metadata parsing clawdo add "deploy new API +backend auto-notify now" # └── text ──────┘ └project┘ └─level──┘ └urg┘View
clawdo list # active tasks clawdo list --status proposed # agent suggestions clawdo next # highest priority
Review agent proposals
clawdo confirm <id> # approve clawdo reject <id> # reject
Work
clawdo start <id> clawdo done <id> clawdo done abc,def,ghi # complete several
# Check inbox (structured) clawdo inbox --format jsonPropose work
clawdo propose "add input validation" --level auto --json
Execute
TASK=$(clawdo next --auto --json | jq -r '.task.id // empty') if [ -n "$TASK" ]; then clawdo start "$TASK" --json
... do the work ...
clawdo done "$TASK" --json fi
The inbox returns:
autoReady, autoNotifyReady, urgent, overdue, proposed, stale, blocked.
clawdo add "fix auth bug +backend @code auto soon"
+word → project@word → contextauto / auto-notify / collab → autonomy levelnow / soon / whenever / someday → urgencydue:YYYY-MM-DD → due datecrypto.randomInt(), no modulo biasclawdo --helpMIT
No automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.