What is Beads?
Beads (bd) is an issue tracker designed specifically for AI-supervised coding workflows. It helps AI agents and developers:
- Track work with a simple CLI
- Discover and link related tasks during development
- Maintain context across coding sessions
- Sync issues via Dolt remotes for distributed workflows
Installation
Prerequisites
- Install beads CLI:
Install Plugin
There are two ways to install the beads plugin:Option 1: From GitHub (Recommended)
Option 2: Local Development
cd to that repo’s directory in your terminal, then use ./beads (or the relative path to the beads directory) in Claude Code.
Restart Claude Code
After installation, restart Claude Code to load the plugin’s commands and hooks.Quick Start
Available Commands
Version Management
/beads:version- Check bd CLI and plugin versions
Core Workflow Commands
/beads:ready- Find tasks with no blockers, ready to work on/beads:create [title] [type] [priority]- Create a new issue interactively/beads:show [issue-id]- Show detailed information about an issue/beads:update [issue-id] [status]- Update issue status or other fields/beads:close [issue-id] [reason]- Close a completed issue
Project Management
/beads:init- Initialize beads in the current project/beads:workflow- Show the AI-supervised issue workflow guide/beads:stats- Show project statistics and progress
Agents
@task-agent- Autonomous agent that finds and completes ready tasks
MCP Tools
The plugin does not bundle an MCP server — it works through the bd CLI, which Claude Code drives directly (lower token overhead than MCP tool schemas). If you want MCP tools as well — for example in MCP-only surfaces — configure the standalonebeads-mcp server alongside the
plugin; see MCP Server for its install
options and full tool catalog.
Workflow
The beads workflow is designed for AI agents but works great for humans too:- Find ready work:
/beads:ready - Claim your task:
/beads:update <id> in_progress - Work on it: Implement, test, document
- Discover new work: Create issues for bugs/TODOs found during work
- Complete:
/beads:close <id> "Done: <summary>" - Repeat: Check for newly unblocked tasks
Issue Types
bug- Something broken that needs fixingfeature- New functionalitytask- Work item (tests, docs, refactoring)epic- Large feature composed of multiple issueschore- Maintenance work (dependencies, tooling)
Priority Levels
0- Critical (security, data loss, broken builds)1- High (major features, important bugs)2- Medium (nice-to-have features, minor bugs)3- Low (polish, optimization)4- Backlog (future ideas)
Dependency Types
blocks- Hard dependency (issue X blocks issue Y from starting)related- Soft relationship (issues are connected)parent-child- Epic/subtask relationshipdiscovered-from- Track issues discovered during work
blocks dependencies affect the ready work queue.
Configuration
Auto-Approval Configuration
These settings apply if you configure the standalone beads-mcp server alongside the plugin. By default, Claude Code asks for confirmation every time an MCP server wants to run a command. This is a security feature, but it can disrupt workflow during active development. Available Options:1. Auto-Approve All Beads Tools (Recommended for Trusted Projects)
Add to your Claude Codesettings.json:
2. Auto-Approve Project MCP Servers
Add to your Claude Codesettings.json:
.mcp.json file. Useful when working across multiple projects with different MCP requirements.
3. Manual Approval (Default)
No configuration needed. Claude Code will prompt for approval on each MCP tool invocation. Security Trade-offs:- Manual approval (default): Maximum safety, but interrupts workflow frequently
- Server-level auto-approval: Convenient for trusted projects, but allows any beads operation without confirmation
- Project-level auto-approval: Good balance for multi-project workflows with project-specific trust levels
bd ready, bd show) while requiring confirmation for mutations (like bd create, bd update). It’s all-or-nothing at the server level.
Recommended Configuration:
For active development on trusted projects where you’re frequently using beads:
Examples
Basic Task Management
Discovering Work During Development
Using the Task Agent
Auto-Sync with Dolt
Beads automatically commits changes to Dolt history after every write operation. This enables seamless collaboration:Updating
The beads plugin has three components that may need updating:1. Plugin Updates
Check for plugin updates:2. bd CLI Updates
The plugin requires thebd CLI to be installed. Update it separately:
3. Version Compatibility
The MCP server automatically checks bd CLI version on startup and will fail with a clear error if your version is too old. Check version compatibility manually:- bd CLI version
- Plugin version
- MCP server status
- Compatibility warnings if versions mismatch
- Check versions:
/beads:version - Update bd CLI if needed (see above)
- Update plugin:
/plugin update beads - Restart Claude Code
- Verify:
/beads:version
Version Numbering
Beads follows semantic versioning. The plugin version tracks the bd CLI version; major version bumps may introduce breaking changes — check CHANGELOG.md for release notes.Troubleshooting
Plugin not appearing
- Check installation:
/plugin list - Restart Claude Code
- Verify
bdis in PATH:which bd - Check uv is installed:
which uv
MCP server not connecting
- Check MCP server list:
/mcp - Look for “beads” server with plugin indicator
- Restart Claude Code to reload MCP servers
- Check logs for errors
Commands not working
- Make sure you’re in a project with beads initialized:
/beads:init - Check if database exists:
ls -la .beads/ - Try direct MCP tool access instead of slash commands
- Check the beads CLI works:
bd --help
MCP tool errors
- Verify
bdexecutable location:BEADS_PATHenv var - Check
bdworks in terminal:bd stats - Review MCP server logs in Claude Code
- Try reinitializing:
/beads:init
Learn More
- GitHub: https://github.com/gastownhall/beads
- Documentation: See README.md in the repository
- Examples: Check
examples/directory for integration patterns - MCP Server: See
integrations/beads-mcp/for server details