Skip to main content

Installing Beads

Beads is available for macOS, Linux, Windows, and FreeBSD. Choose the installation method that works best for your environment.
Important: Beads is installed system-wide, not cloned into your project. The .beads/ directory in your project only contains the issue database.

Shell Script

The installer will:
  • Detect your platform (macOS/Linux/FreeBSD, amd64/arm64)
  • Install via go install if Go is available
  • Fall back to building from source if needed
  • Guide you through PATH setup if necessary
Why Homebrew?
  • ✅ Simple one-command install
  • ✅ Automatic updates via brew upgrade
  • ✅ No need to install Go
  • ✅ Handles PATH setup automatically

Package Managers

Homebrew

Works on macOS and Linux.

npm

Convenient for JavaScript/Node.js projects.

Go

Requires Go 1.24+. Builds from source.

Arch Linux (AUR)

Community-maintained by @v4rgas.

Alternative Package Managers

Mise-en-place

Mise works on all platforms and supports version management:
The -g flag enables Beads globally. Omit it for project-specific versions.

Bun

Building from Source

Prerequisites

For go install or building from source, you need CGO dependencies:
If you see unicode/uregex.h missing, icu4c is keg-only:

Build Steps

1

Clone the repository

2

Build

On Windows, the -tags gms_pure_go flag enables pure Go regex (no ICU needed).
3

Verify installation

Installation Comparison

TL;DR: Use Homebrew if available. Use npm if you’re in a Node.js environment. Use the script for quick one-off installs or CI.

Verify Installation

After installing, verify Beads is working:
Expected output:

IDE and Editor Integrations

After installing the CLI, set up your editor:

Claude Code / Cursor / Windsurf

Recommended approach for editors with shell access:
How it works:
  • Editor hooks/rules inject bd prime on session start
  • bd prime provides ~1-2k tokens of workflow context
  • You use bd CLI commands directly
  • Git hooks (from bd init) auto-sync the database
Why this is recommended:
  • Context efficient - ~1-2k tokens vs 10-50k for MCP
  • Lower latency - Direct CLI calls, no protocol overhead
  • Universal - Works with any editor that has shell access
Verify installation:

GitHub Copilot (VS Code)

For VS Code with GitHub Copilot, use the MCP server:
1

Install beads-mcp

2

Configure MCP

Create .vscode/mcp.json in your project:
For all projects, add to user-level MCP config:
3

Initialize project

4

Reload VS Code

Restart VS Code to load the MCP server.
MCP has higher context overhead (10-50k tokens for tool schemas) compared to direct CLI usage (~1-2k tokens).

Claude Desktop (MCP-only)

For environments without shell access:
1

Install beads-mcp

2

Configure Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
3

Restart Claude Desktop

Close and reopen Claude Desktop to load the MCP server.

Troubleshooting

bd: command not found

Beads is not in your PATH. Either:

zsh: killed bd (macOS crashes)

Some macOS users report crashes. This is typically a CGO/SQLite compatibility issue. Workaround:
If you installed via Homebrew, CGO is already enabled. If you’re still seeing crashes, please file an issue.

MCP server fails to start (Claude Code)

If the MCP server fails immediately after installation, uv is likely 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:

Missing unicode/uregex.h (macOS)

On macOS, icu4c is keg-only (not in PATH by default). Solution:

Windows: Pure Go regex backend

Windows builds automatically use Go’s stdlib regexp instead of ICU to avoid CGO dependencies. If you need full ICU regex semantics, use Linux/macOS (or WSL on Windows) with ICU installed.

Updating Beads

Use the update command that matches how you installed:

After Upgrading

Run these commands to check for updates and refresh hooks:

Next Steps

Quickstart

Get up and running in 2 minutes

Initialize Your Project

Run bd init to set up Beads in your project