Summary
Track the small, reviewable fixes that make Beads behave consistently when commands are run from git worktrees.
The goal is to ensure that worktree execution resolves the shared Beads state from the main repository when appropriate, instead of assuming a local ./.beads or worktree-local repo root.
Background
A number of commands still have command-specific assumptions about:
- local
./.beads
- worktree root vs main repo root
- hooks/config/doctor checks using relative paths that only work in non-worktree repos
These PRs intentionally split the work into focused units so each behavior can be reviewed independently without bundling unrelated cleanup.
PRs in this tracking set
Expected outcome
After these land, worktree usage should be more consistent across:
bd init --force
bd reset
bd bootstrap
bd hooks install
bd config validate
bd preflight
bd doctor
bd rename-prefix
Scope boundary
This issue is only for the targeted worktree path/root resolution fixes above.
It does not bundle larger design changes or unrelated cleanup. The split is intentional to keep review complexity low while preserving a shared review context.
Summary
Track the small, reviewable fixes that make Beads behave consistently when commands are run from git worktrees.
The goal is to ensure that worktree execution resolves the shared Beads state from the main repository when appropriate, instead of assuming a local
./.beadsor worktree-local repo root.Background
A number of commands still have command-specific assumptions about:
./.beadsThese PRs intentionally split the work into focused units so each behavior can be reviewed independently without bundling unrelated cleanup.
PRs in this tracking set
fix: remove stale worktree guard in rename-prefix- remove an outdated guard that blockedbd rename-prefixin worktreesfix: add worktree fallback to countExistingIssues- makebd init --forcecount issues via worktree-aware fallbackfix: use FindBeadsDir for worktree-aware reset- makebd resetresolve the shared Beads dir correctlyfix: use worktree fallback in bootstrap path synthesis- avoid creating stray.beadsin worktrees during bootstrapfix: use main repo root for hooks path in worktrees- make hooks install/reset target the main repo root in worktreesfix: worktree-aware path resolution in config validate and preflight- make config/preflight checks resolve Beads paths correctly in worktreesfix: use worktree-aware beads dir in doctor checks- make doctor checks use worktree-aware Beads dir resolutionExpected outcome
After these land, worktree usage should be more consistent across:
bd init --forcebd resetbd bootstrapbd hooks installbd config validatebd preflightbd doctorbd rename-prefixScope boundary
This issue is only for the targeted worktree path/root resolution fixes above.
It does not bundle larger design changes or unrelated cleanup. The split is intentional to keep review complexity low while preserving a shared review context.