gastownhall/beads · error

--proxied-server-config-path must be an absolute path, got %

Error message

--proxied-server-config-path must be an absolute path, got %q

What it means

When provided, --proxied-server-config-path must be an absolute path so the generated server config resolves unambiguously regardless of working directory; relative paths are rejected with %q of the given value.

Source

Thrown at cmd/bd/init.go:452

		if initProxiedServer && initServerMode {
			return fmt.Errorf("--server and --proxied-server are mutually exclusive")
		}
		if initProxiedServer {
			if sharedServer || externalServer ||
				serverHost != "" || serverPort != 0 || serverSocket != "" || serverUser != "" || cmd.Flags().Changed("server-tls") {
				return fmt.Errorf("--proxied-server cannot be combined with --shared-server, --external, or any --server-* flag")
			}
		}
		if initTeamServer && !initProxiedServer {
			return fmt.Errorf("--team-server requires --proxied-server")
		}
		if serverConfigPath != "" {
			if !initProxiedServer {
				return fmt.Errorf("--proxied-server-config-path requires --proxied-server")
			}
			if !filepath.IsAbs(serverConfigPath) {
				return fmt.Errorf("--proxied-server-config-path must be an absolute path, got %q", serverConfigPath)
			}
			if err := validateProxiedServerConfig(serverConfigPath); err != nil {
				return fmt.Errorf("--proxied-server-config-path %v", err)
			}
		}
		if serverLogPath != "" {
			if !initProxiedServer {
				return fmt.Errorf("--proxied-server-log-path requires --proxied-server")
			}
			if !filepath.IsAbs(serverLogPath) {
				return fmt.Errorf("--proxied-server-log-path must be an absolute path, got %q", serverLogPath)
			}
			if err := validateProxiedServerLogPath(serverLogPath); err != nil {
				return fmt.Errorf("--proxied-server-log-path %v", err)
			}
		}
		if serverRootPath != "" {
			if !initProxiedServer {

View on GitHub (pinned to 71377f2769)

Solutions

  1. Convert the path to absolute (realpath / absolute $PWD join) before passing it
  2. Replace a leading ~ with $HOME — tilde does not make a path absolute for filepath.IsAbs

Example fix

// before
bd init --proxied-server --proxied-server-config-path ./proxied.json
// after
bd init --proxied-server --proxied-server-config-path "$(pwd)/proxied.json"
Defensive patterns

Strategy: validation

Validate before calling

CONFIG=/etc/bd/proxied.json
case "$CONFIG" in /*) ;; *) echo "must be absolute: $CONFIG"; exit 1;; esac

Prevention

When it happens

Trigger: Running `bd init --proxied-server --proxied-server-config-path ./proxied.json` (or any path not starting with /).

Common situations: Using ~ or relative paths in shell scripts; composing the path from a variable that is not absolute.

Related errors


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