gastownhall/beads · error
--proxied-server-root-path %v
Error message
--proxied-server-root-path %v
What it means
`validateProxiedServerRootPath` performs additional semantic checks on the root path beyond absoluteness (e.g. existence/type of the directory); when it fails, init wraps its message with the `--proxied-server-root-path` prefix. This surfaces path-level problems (wrong kind of file, unusable directory) at init time rather than when the server later starts.
Source
Thrown at cmd/bd/init.go:477
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 {
return fmt.Errorf("--proxied-server-root-path requires --proxied-server")
}
if !filepath.IsAbs(serverRootPath) {
return fmt.Errorf("--proxied-server-root-path must be an absolute path, got %q", serverRootPath)
}
if err := validateProxiedServerRootPath(serverRootPath); err != nil {
return fmt.Errorf("--proxied-server-root-path %v", err)
}
}
if serverProxyPort != 0 {
if !initProxiedServer {
return fmt.Errorf("--proxied-server-port requires --proxied-server")
}
if serverProxyPort < 1 || serverProxyPort > 65535 {
return fmt.Errorf("--proxied-server-port must be between 1 and 65535, got %d", serverProxyPort)
}
}
if idleTimeoutSet {
if !initProxiedServer {
return fmt.Errorf("--proxied-server-idle-timeout requires --proxied-server")
}
if serverProxyIdleTimeout < 0 {
return fmt.Errorf("--proxied-server-idle-timeout must be 0 (never) or a positive duration, got %s", serverProxyIdleTimeout)
}
if serverProxyIdleTimeout == 0 {View on GitHub (pinned to 71377f2769)
Solutions
- Read the wrapped message after the prefix — it names the specific validation failure — and correct the path accordingly.
- Ensure the path refers to the expected directory (create it if the validator requires it to exist).
- Point `--proxied-server-root-path` at a fresh, dedicated directory for the dolt data root.
Example fix
// before bd init --proxied-server --proxied-server-root-path /etc/hosts // exists, but not a directory // after mkdir -p /var/lib/beads/dolt-root bd init --proxied-server --proxied-server-root-path /var/lib/beads/dolt-root
Defensive patterns
Strategy: validation
Validate before calling
#!/usr/bin/env bash ROOT="/var/lib/beads/dolt-root" if [ -e "$ROOT" ] && [ ! -d "$ROOT" ]; then echo "$ROOT exists but is not a directory" >&2; exit 2 fi mkdir -p "$ROOT"
Type guard
func usableRootPath(p string) bool { return filepath.IsAbs(p) && isDir(p) } Try / catch
if out, err := exec.Command("bd", "init", args...).CombinedOutput(); err != nil {
if strings.Contains(string(out), "--proxied-server-root-path") && !strings.Contains(string(out), "absolute") {
// parse wrapped message for the specific path problem and fix the path
}
} Prevention
- Pre-provision the root directory with mkdir -p before running bd init.
- Verify the path is a directory, not a file, before pointing --proxied-server-root-path at it.
- Keep data-root paths in one config source to avoid stale paths after volume moves.
When it happens
Trigger: Running `bd init --proxied-server --proxied-server-root-path <abs path>` where the path passes filepath.IsAbs but fails validateProxiedServerRootPath — e.g. the path exists but is not a suitable root directory for the managed dolt sql-server.
Common situations: Pointing root-path at an existing regular file instead of a directory; typos in an absolute path pointing at a nonexistent location the validator expects to be prepared; stale paths left over from a moved data volume.
Related errors
- --proxied-server-root-path must be an absolute path, got %q
- --proxied-server-root-path requires --proxied-server
- cannot use multiple conflict resolution flags
- --server and --proxied-server are mutually exclusive
- --proxied-server cannot be combined with --shared-server, --
AI-assisted analysis of gastownhall/beads@71377f2769 (2026-08-30).
Data as JSON: /api/errors/9c98e5f6a41a5970.
Report an issue: GitHub.