Issue Rename
Rename issues while preserving references:- All dependencies pointing to old ID
- All references in other issues
- Comments and descriptions
Prefix Rename
Change the issue prefix for every issue in the database — for example, shorteningknowledge-work- to kw-:
bd rename-prefix <prefix> --repair
consolidates them. See bd rename-prefix.
Duplicate Detection and Merge
Find issues with identical content (title, description, design, acceptance criteria) and consolidate them:--auto-merge:
- Re-parents children of the duplicates onto the target
- Closes the duplicates with reason
Duplicate of <target> - Links each duplicate to the target with a
relateddependency
bd show bd-41 and bd dep tree bd-41.
Database Compaction
Reduce database size by compacting old issues:- Database > 10MB with old closed issues
- After major milestones
- Before archiving project phase
Restore from History
Recover the pre-compaction content of a compacted issue:bd restore falls back to a best-effort
reconstruction from Dolt version history, which can only be displayed, not
applied.
Database Inspection
bd sql requires Dolt server mode (bd dolt start, see Performance Tuning
below); it is not available against the default embedded-mode database.
Database Redirects
Multiple git clones can share one beads database — useful when several agents or checkout directories work the same issues. Create a.beads/redirect file
in the secondary clone containing a single path (relative or absolute) to the
target .beads directory:
- Redirect chains are not followed — only a single level works, so a redirect
must point directly at the real
.beadsdirectory. - The target directory must exist and contain a valid database.
- Give separate projects and long-lived forks their own databases instead of redirects.
- Git worktrees don’t need redirects — linked worktrees discover the
repository’s
.beadsworkspace automatically. See Git Worktrees.
Extensible Database
For Dolt-backed projects, keep extension state outside the beads database and connect it to beads through stable CLI surfaces:Audit Data
Beads records issue lifecycle events in the database for audit and recovery workflows. There is no standalonebd events command; inspect current issue
state through JSON output, or query the audit tables directly when needed:
issue.createdissue.updatedissue.closeddependency.addedsync.completed
Batch Operations
Create Multiple
Bootstrap a new database from a JSONL export:Update Multiple
Close Multiple
Integration Access
Use the CLI as the supported integration boundary:internal/ are not a public Go API.
The MCP server is a stateless adapter over the
same boundary: it translates MCP calls into bd CLI invocations and routes
each call to the correct .beads workspace based on the working directory.
It never caches or stores issue data itself.