| name | beads |
| description | Git-backed issue tracker for AI agents. Use when managing tasks, dependencies, or multi-step work. Triggers on task tracking, issue management, dependency graphs, ready work queues, or mentions of "beads" / "bd" CLI. |
| metadata | {"openclaw":{"emoji":"📿","requires":{"bins":["bd"]},"install":[{"id":"brew","kind":"brew","formula":"beads","bins":["bd"],"label":"Install beads (brew)"},{"id":"npm","kind":"npm","package":"@beads/bd","bins":["bd"],"label":"Install beads (npm)"}]}} |
Beads
Distributed, git-backed graph issue tracker for AI agents. Replaces markdown plans with a dependency-aware task graph stored as JSONL in .beads/.
Quick Start
bd init --quiet
bd ready --json
bd create "Complete task X" -p 1 --json
bd show bd-a1b2 --json
Core Workflow
bd ready --json — Find unblocked work
bd update <id> --status in_progress — Claim task
- Do the work
bd close <id> --reason "Done" — Complete task
bd sync — Force sync before ending session
Agent-Critical Rules
- Always use
--json for machine-readable output
- Never use
bd edit — opens $EDITOR, unusable by agents
- Use
bd update instead: bd update <id> --title "New title" --description "New desc"
- Run
bd sync at end of session to flush changes to git
Commands
Initialize
bd init --quiet
bd init --prefix myproj
bd init --stealth
bd init --contributor
Create Issues
bd create "Title" -p 1 --json
bd create "Title" -t epic -p 0 --json
bd create "Subtask" -p 1 --json
bd create "Found issue" --deps discovered-from:bd-a1b2 --json
Types: task, bug, feature, epic
Priorities: 0 (P0/critical) to 3 (P3/low)
Query Issues
bd ready --json
bd ready --priority 0 --json
bd ready --assignee agent-1 --json
bd list --json
bd list --status open --json
bd list --priority 1 --json
bd show bd-a1b2 --json
bd blocked --json
bd stats --json
Update Issues
bd update bd-a1b2 --status in_progress --json
bd update bd-a1b2 --title "New title" --json
bd update bd-a1b2 --description "Details" --json
bd update bd-a1b2 --priority 0 --json
bd update bd-a1b2 --assignee agent-1 --json
bd update bd-a1b2 --design "Design notes" --json
bd update bd-a1b2 --notes "Additional notes" --json
Status values: open, in_progress, blocked, closed
Close Issues
bd close bd-a1b2 --reason "Completed" --json
bd close bd-a1b2 bd-b2c3 --reason "Batch close" --json
Dependencies
bd dep add bd-child bd-parent
bd dep add bd-a1b2 bd-b2c3 --type related
bd dep add bd-a1b2 bd-epic --type parent
bd dep tree bd-a1b2
bd dep remove bd-child bd-parent
bd dep cycles
Dependency types: blocks (default), related, parent, discovered-from
Git Sync
bd sync
bd hooks install
The daemon auto-syncs with 30s debounce. Use bd sync to force immediate sync.
Maintenance
bd admin compact --dry-run --json
bd admin compact --days 90
bd doctor
Hierarchical IDs (Epics)
bd create "Project Alpha" -t epic -p 1 --json
bd create "Phase 1" -p 1 --json
bd create "Research" -p 1 --json
bd create "Review" -p 1 --json
Up to 3 levels: bd-a3f8 → bd-a3f8.1 → bd-a3f8.1.1
Multi-Agent Coordination
bd update bd-a1b2 --status in_progress --assignee agent-1 --json
bd ready --assignee agent-1 --json
bd create "Found issue" --deps discovered-from:bd-a1b2 --json
Commit Convention (Optional)
For git-tracked projects, include issue ID in commit messages for traceability:
git commit -m "Complete research phase (bd-a1b2)"
Session End Checklist
Before ending a session:
bd sync
bd ready --json