Claude Code Integration
How to use beads with Claude Code.
Setup
Quick Setup
bd setup claude
This installs:
- SessionStart hook - Runs
bd primeon session start - PreCompact hook - Runs
bd syncbefore context compaction
Manual Setup
Add to your Claude Code hooks configuration:
{
"hooks": {
"SessionStart": ["bd prime"],
"PreCompact": ["bd sync"]
}
}
Verify Setup
bd setup claude --check
How It Works
- Session starts →
bd primeinjects ~1-2k tokens of context - You work → Use
bdCLI commands directly - Session compacts →
bd syncsaves work to git - Session ends → Changes synced via git
Essential Commands for Agents
Creating Issues
# Always include description for context
bd create "Fix authentication bug" \
--description="Login fails with special characters in password" \
-t bug -p 1 --json
# Link discovered issues
bd create "Found SQL injection" \
--description="User input not sanitized in query builder" \
--deps discovered-from:bd-42 --json
Working on Issues
# Find ready work
bd ready --json
# Start work
bd update bd-42 --status in_progress --json
# Complete work
bd close bd-42 --reason "Fixed in commit abc123" --json
Querying
# List open issues
bd list --status open --json
# Show issue details
bd show bd-42 --json
# Check blocked issues
bd blocked --json
Syncing
# ALWAYS run at session end
bd sync
Best Practices
Always Use --json
bd list --json # Parse programmatically
bd create "Task" --json # Get issue ID from output
bd show bd-42 --json # Structured data
Always Include Descriptions
# Good
bd create "Fix auth bug" \
--description="Login fails when password contains quotes" \
-t bug -p 1 --json
# Bad - no context for future work
bd create "Fix auth bug" -t bug -p 1 --json
Link Related Work
# When you discover issues during work
bd create "Found related bug" \
--deps discovered-from:bd-current --json
Sync Before Session End
# ALWAYS run before ending
bd sync
Plugin (Optional)
For enhanced UX with slash commands:
# In Claude Code
/plugin marketplace add steveyegge/beads
/plugin install beads
# Restart Claude Code
Adds slash commands:
/beads:ready- Show ready work/beads:create- Create issue/beads:show- Show issue/beads:update- Update issue/beads:close- Close issue
Troubleshooting
Context not injected
# Check hook setup
bd setup claude --check
# Manually prime
bd prime
Changes not syncing
# Force sync
bd sync
# Check system health
bd doctor
Database not found
# Initialize beads
bd init --quiet
See Also
- MCP Server - For MCP-only environments
- IDE Setup - Other editors