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
- Convert the path to absolute (realpath / absolute $PWD join) before passing it
- 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
- Always build the config path from an absolute base ($(pwd) or /etc/...)
- Do not rely on ~ expansion inside variables
- Run realpath on user-supplied paths before passing them
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
- --proxied-server-log-path must be an absolute path, got %q
- --proxied-server cannot be combined with --shared-server, --
- --proxied-server-config-path requires --proxied-server
- --proxied-server-config-path %v
- --proxied-server-log-path requires --proxied-server
AI-assisted analysis of gastownhall/beads@71377f2769 (2026-08-30).
Data as JSON: /api/errors/225ce774dee8bad5.
Report an issue: GitHub.