Manage bd daemon processes across all repositories and worktrees.
Manages bd daemon processes across all repositories and worktrees with health checks and logs.
/plugin marketplace add Toowiredd/beads/plugin install toowiredd-beads@Toowiredd/beadsManage bd daemon processes across all repositories and worktrees.
bd daemons <subcommand> [flags]
The bd daemons command provides tools for discovering, monitoring, and managing multiple bd daemon processes across your system. This is useful when working with multiple repositories or git worktrees.
List all running bd daemons with metadata.
bd daemons list [--search DIRS] [--json] [--no-cleanup]
Flags:
--search - Directories to search for daemons (default: home, /tmp, cwd)--json - Output in JSON format--no-cleanup - Skip auto-cleanup of stale socketsExample:
bd daemons list
bd daemons list --search /Users/me/projects --json
Check health of all bd daemons and report issues.
bd daemons health [--search DIRS] [--json]
Reports:
Flags:
--search - Directories to search for daemons--json - Output in JSON formatExample:
bd daemons health
bd daemons health --json
Stop a specific daemon gracefully.
bd daemons stop <workspace-path|pid> [--json]
Arguments:
<workspace-path|pid> - Workspace path or PID of daemon to stopFlags:
--json - Output in JSON formatExample:
bd daemons stop /Users/me/projects/myapp
bd daemons stop 12345
bd daemons stop /Users/me/projects/myapp --json
Restart a specific daemon gracefully.
bd daemons restart <workspace-path|pid> [--search DIRS] [--json]
Stops the daemon gracefully, then starts a new one in its place. Useful after upgrading bd or when a daemon needs to be refreshed.
Arguments:
<workspace-path|pid> - Workspace path or PID of daemon to restartFlags:
--search - Directories to search for daemons--json - Output in JSON formatExample:
bd daemons restart /Users/me/projects/myapp
bd daemons restart 12345
bd daemons restart /Users/me/projects/myapp --json
View logs for a specific daemon.
bd daemons logs <workspace-path|pid> [-f] [-n LINES] [--json]
Arguments:
<workspace-path|pid> - Workspace path or PID of daemonFlags:
-f, --follow - Follow log output (like tail -f)-n, --lines INT - Number of lines to show from end (default: 50)--json - Output in JSON formatExample:
bd daemons logs /Users/me/projects/myapp
bd daemons logs 12345 -n 100
bd daemons logs /Users/me/projects/myapp -f
bd daemons logs 12345 --json
Stop all running bd daemons.
bd daemons killall [--search DIRS] [--force] [--json]
Uses escalating shutdown strategy:
Flags:
--search - Directories to search for daemons--force - Use SIGKILL immediately if graceful shutdown fails--json - Output in JSON formatExample:
bd daemons killall
bd daemons killall --force
bd daemons killall --json
After upgrading bd, restart all daemons to use the new version:
bd daemons health # Check for version mismatches
bd daemons killall # Stop all old daemons
# Daemons will auto-start with new version on next bd command
# Or restart a specific daemon
bd daemons restart /path/to/workspace
Check daemon status and view logs:
bd daemons list
bd daemons health
bd daemons logs /path/to/workspace -n 100
Remove stale daemon sockets:
bd daemons list # Auto-cleanup happens by default
bd daemons list --no-cleanup # Skip cleanup
Discover daemons in specific directories:
bd daemons list --search /Users/me/projects
bd daemons health --search /Users/me/work
If you see stale sockets (dead process but socket file exists):
bd daemons list # Auto-cleanup removes stale sockets
If daemon version != CLI version:
bd daemons health # Identify mismatched daemons
bd daemons killall # Stop all daemons
# Next bd command will auto-start new version
If graceful shutdown fails:
bd daemons killall --force # Force kill with SIGKILL
If daemon isn't discovered:
bd daemons list --search /path/to/workspace
Or check the socket manually:
ls -la /path/to/workspace/.beads/bd.sock