Complete installation guide for all platforms.
brew tap steveyegge/beads
brew install bdWhy Homebrew?
- ✅ Simple one-command install
- ✅ Automatic updates via
brew upgrade - ✅ No need to install Go
- ✅ Handles PATH setup automatically
curl -fsSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bashThe installer will:
- Detect your platform (macOS/Linux, amd64/arm64)
- Install via
go installif Go is available - Fall back to building from source if needed
- Guide you through PATH setup if necessary
Via Homebrew (recommended):
brew tap steveyegge/beads
brew install bdVia go install:
go install github.com/steveyegge/beads/cmd/bd@latestFrom source:
git clone https://github.com/steveyegge/beads
cd beads
go build -o bd ./cmd/bd
sudo mv bd /usr/local/bin/Via Homebrew (works on Linux too):
brew tap steveyegge/beads
brew install bdArch Linux (AUR):
# Install from AUR
yay -S beads-git
# or
paru -S beads-gitThanks to @v4rgas for maintaining the AUR package!
Via go install:
go install github.com/steveyegge/beads/cmd/bd@latestFrom source:
git clone https://github.com/steveyegge/beads
cd beads
go build -o bd ./cmd/bd
sudo mv bd /usr/local/bin/Beads now ships with native Windows support—no MSYS or MinGW required.
Prerequisites:
- Go 1.24+ installed (add
%USERPROFILE%\go\binto yourPATH) - Git for Windows
Via PowerShell script:
irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 | iexVia go install:
go install github.com/steveyegge/beads/cmd/bd@latestFrom source:
git clone https://github.com/steveyegge/beads
cd beads
go build -o bd.exe ./cmd/bd
Move-Item bd.exe $env:USERPROFILE\AppData\Local\Microsoft\WindowsApps\Verify installation:
bd versionWindows notes:
- The background daemon listens on a loopback TCP endpoint recorded in
.beads\bd.sock - Keep that metadata file intact
- Allow
bd.exeloopback traffic through any host firewall
The recommended approach for Claude Code, Cursor, Windsurf, and other editors with shell access:
# 1. Install bd CLI (see Quick Install above)
brew install bd
# 2. Initialize in your project
cd your-project
bd init --quiet
# 3. Setup editor integration (choose one)
bd setup claude # Claude Code - installs SessionStart/PreCompact hooks
bd setup cursor # Cursor IDE - creates .cursor/rules/beads.mdc
bd setup aider # Aider - creates .aider.conf.ymlHow it works:
- Editor hooks/rules inject
bd primeautomatically on session start bd primeprovides ~1-2k tokens of workflow context- You use
bdCLI commands directly - Git hooks (installed by
bd init) auto-sync the database
Why this is recommended:
- Context efficient - ~1-2k tokens vs 10-50k for MCP tool schemas
- Lower latency - Direct CLI calls, no MCP protocol overhead
- Universal - Works with any editor that has shell access
- More sustainable - Less compute per request
Verify installation:
bd setup claude --check # Check Claude Code integration
bd setup cursor --check # Check Cursor integration
bd setup aider --check # Check Aider integrationFor enhanced UX with slash commands:
# In Claude Code
/plugin marketplace add steveyegge/beads
/plugin install beads
# Restart Claude CodeThe plugin adds:
- Slash commands:
/bd-ready,/bd-create,/bd-show,/bd-update,/bd-close, etc. - Task agent for autonomous execution
See PLUGIN.md for complete plugin documentation.
Use MCP only when CLI is unavailable (Claude Desktop, Sourcegraph Amp without shell):
# Using uv (recommended)
uv tool install beads-mcp
# Or using pip
pip install beads-mcpConfiguration for Claude Desktop (macOS):
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"beads": {
"command": "beads-mcp"
}
}
}Configuration for Sourcegraph Amp:
Add to your MCP settings:
{
"beads": {
"command": "beads-mcp",
"args": []
}
}Trade-offs:
- ✅ Works in MCP-only environments
- ❌ Higher context overhead (MCP schemas add 10-50k tokens)
- ❌ Additional latency from MCP protocol
See integrations/beads-mcp/README.md for detailed MCP server documentation.
After installing, verify bd is working:
bd version
bd helpbd is not in your PATH. Either:
# Check if installed
go list -f {{.Target}} github.com/steveyegge/beads/cmd/bd
# Add Go bin to PATH (add to ~/.bashrc or ~/.zshrc)
export PATH="$PATH:$(go env GOPATH)/bin"
# Or reinstall
go install github.com/steveyegge/beads/cmd/bd@latestSome users report crashes when running bd init or other commands on macOS. This is typically caused by CGO/SQLite compatibility issues.
Workaround:
# Build with CGO enabled
CGO_ENABLED=1 go install github.com/steveyegge/beads/cmd/bd@latest
# Or if building from source
git clone https://github.com/steveyegge/beads
cd beads
CGO_ENABLED=1 go build -o bd ./cmd/bd
sudo mv bd /usr/local/bin/If you installed via Homebrew, this shouldn't be necessary as the formula already enables CGO. If you're still seeing crashes with the Homebrew version, please file an issue.
If the Claude Code plugin's MCP server fails immediately after installation, it's likely that uv is not installed or not in your PATH.
Symptoms:
- Plugin slash commands work, but MCP tools are unavailable
- Error logs show
command not found: uv - Server fails silently on startup
Solution:
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Restart your shell or update PATH
source ~/.local/bin/env
# Verify uv is available
which uv
# Restart Claude CodeSee the "Claude Code Plugin" section above for alternative installation methods (Homebrew, pip).
After installation:
- Initialize a project:
cd your-project && bd init - Configure your agent: Add bd instructions to
AGENTS.md(see README.md) - Learn the basics: Run
bd quickstartfor an interactive tutorial - Explore examples: Check out the examples/ directory
brew upgrade bdgo install github.com/steveyegge/beads/cmd/bd@latestcd beads
git pull
go build -o bd ./cmd/bd
sudo mv bd /usr/local/bin/To completely remove Beads from a repository, see UNINSTALLING.md.