gastownhall/beads · error
managed proxied-server config: %w
Error message
managed proxied-server config: %w
What it means
For proxied-server inits, bd validates the managed proxied-server configuration before touching the filesystem. If validation of the beads-dir config (serverConfigPath/serverRootPath) fails, init aborts with 'managed proxied-server config' wrapping the cause.
Source
Thrown at cmd/bd/init.go:936
plannedDBPath = doltserver.DoltDirPath(beadsDirForInit)
}
// Determine if we should create .beads/ directory in CWD or main repo root
// For worktrees, .beads should always be in the main repository root
cwd, err := os.Getwd()
if err != nil {
return fmt.Errorf("failed to get current directory: %v", err)
}
hasExplicitBeadsDir := os.Getenv("BEADS_DIR") != ""
// Use the beadsDir computed earlier (before any directory creation)
// to ensure consistent path representation.
beadsDir := beadsDirForInit
if initProxiedServer && externalConfig == nil {
if err := validateManagedProxiedServerConfigAtInit(beadsDir, serverConfigPath, serverRootPath); err != nil {
return fmt.Errorf("managed proxied-server config: %w", err)
}
}
// Prevent nested .beads directories
// Check if current working directory is inside a .beads directory
if strings.Contains(filepath.Clean(cwd), string(filepath.Separator)+".beads"+string(filepath.Separator)) ||
strings.HasSuffix(filepath.Clean(cwd), string(filepath.Separator)+".beads") {
fmt.Fprintf(os.Stderr, "Error: cannot initialize bd inside a .beads directory\n")
fmt.Fprintf(os.Stderr, "Current directory: %s\n", cwd)
fmt.Fprintf(os.Stderr, "Please run 'bd init' from outside the .beads directory.\n")
return &exitError{Code: 1}
}
// Convert the workspace to an absolute path before gate planning.
beadsDirAbs, err := filepath.Abs(beadsDir)
if err != nil {
beadsDirAbs = filepath.Clean(beadsDir)
}View on GitHub (pinned to 71377f2769)
Solutions
- Read the wrapped cause in the error to find the specific config problem
- Restore/repair the managed server config at the path bd reports, or delete it to regenerate
- If you use an external config, make sure it is actually detected (externalConfig != nil)
Defensive patterns
Strategy: validation
Validate before calling
test -f "$(bd config path 2>/dev/null)/server.yaml" || echo "managed server config missing"
Prevention
- Do not hand-edit managed proxied-server config; regenerate via bd commands
- After upgrading bd, re-run init/doctor to refresh managed config
- Track server config paths in a single documented location for your team
When it happens
Trigger: `bd init` with the proxied-server flag active (initProxiedServer) and no external config supplied, where validateManagedProxiedServerConfigAtInit fails — e.g. missing or invalid managed server config at the expected path.
Common situations: Hand-edited managed server config with a missing field; config path moved after a version upgrade; leftover stale config from a prior proxied-server run.
Related errors
- no proxied-server unit-of-work provider available
- --proxied-server cannot be combined with --shared-server, --
- --proxied-server-config-path requires --proxied-server
- --proxied-server-config-path must be an absolute path, got %
- --proxied-server-config-path %v
AI-assisted analysis of gastownhall/beads@71377f2769 (2026-08-30).
Data as JSON: /api/errors/4f4fc26f7cb34461.
Report an issue: GitHub.