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

  1. Read the wrapped cause in the error to find the specific config problem
  2. Restore/repair the managed server config at the path bd reports, or delete it to regenerate
  3. 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

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


AI-assisted analysis of gastownhall/beads@71377f2769 (2026-08-30). Data as JSON: /api/errors/4f4fc26f7cb34461. Report an issue: GitHub.