{"record":{"id":"a347313fe70c3675","repo":"gastownhall/beads","slug":"proxied-server-root-path-requires-proxied-serv","errorCode":null,"errorMessage":"--proxied-server-root-path requires --proxied-server","messagePattern":"--proxied-server-root-path requires --proxied-server","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/bd/init.go","lineNumber":471,"sourceCode":"\t\t\t}\n\t\t\tif err := validateProxiedServerConfig(serverConfigPath); err != nil {\n\t\t\t\treturn fmt.Errorf(\"--proxied-server-config-path %v\", err)\n\t\t\t}\n\t\t}\n\t\tif serverLogPath != \"\" {\n\t\t\tif !initProxiedServer {\n\t\t\t\treturn fmt.Errorf(\"--proxied-server-log-path requires --proxied-server\")\n\t\t\t}\n\t\t\tif !filepath.IsAbs(serverLogPath) {\n\t\t\t\treturn fmt.Errorf(\"--proxied-server-log-path must be an absolute path, got %q\", serverLogPath)\n\t\t\t}\n\t\t\tif err := validateProxiedServerLogPath(serverLogPath); err != nil {\n\t\t\t\treturn fmt.Errorf(\"--proxied-server-log-path %v\", err)\n\t\t\t}\n\t\t}\n\t\tif serverRootPath != \"\" {\n\t\t\tif !initProxiedServer {\n\t\t\t\treturn fmt.Errorf(\"--proxied-server-root-path requires --proxied-server\")\n\t\t\t}\n\t\t\tif !filepath.IsAbs(serverRootPath) {\n\t\t\t\treturn fmt.Errorf(\"--proxied-server-root-path must be an absolute path, got %q\", serverRootPath)\n\t\t\t}\n\t\t\tif err := validateProxiedServerRootPath(serverRootPath); err != nil {\n\t\t\t\treturn fmt.Errorf(\"--proxied-server-root-path %v\", err)\n\t\t\t}\n\t\t}\n\t\tif serverProxyPort != 0 {\n\t\t\tif !initProxiedServer {\n\t\t\t\treturn fmt.Errorf(\"--proxied-server-port requires --proxied-server\")\n\t\t\t}\n\t\t\tif serverProxyPort < 1 || serverProxyPort > 65535 {\n\t\t\t\treturn fmt.Errorf(\"--proxied-server-port must be between 1 and 65535, got %d\", serverProxyPort)\n\t\t\t}\n\t\t}\n\t\tif idleTimeoutSet {\n\t\t\tif !initProxiedServer {","sourceCodeStart":453,"sourceCodeEnd":489,"githubUrl":"https://github.com/gastownhall/beads/blob/71377f276968b452ee607177637970a4ff888584/cmd/bd/init.go#L453-L489","documentation":"`bd init` validates that proxied-server related flags are only used together with `--proxied-server`. When `--proxied-server-root-path` is set but `--proxied-server` was not passed, init aborts before creating the repository. The proxied-server flags configure a managed dolt sql-server behind a proxy; without `--proxied-server` they have no meaning, so the CLI rejects them eagerly instead of silently ignoring them.","triggerScenarios":"Running `bd init --proxied-server-root-path /some/path` (or with BEADS_DOLT_PROXIED_SERVER unset) without the `--proxied-server` flag. Exact check: `serverRootPath != \"\" && !initProxiedServer` at cmd/bd/init.go:469-472.","commonSituations":"Copy-pasting a proxied-server init command from docs or a teammate and dropping the `--proxied-server` flag; scripts that append root-path flags conditionally; environments where the BEADS_DOLT_PROXIED_SERVER=1 env var (which implies --proxied-server) was removed while flag arguments remained.","solutions":["Add `--proxied-server` to the `bd init` command line.","Set the environment variable BEADS_DOLT_PROXIED_SERVER=1, which makes initProxiedServer true (cmd/bd/init.go:424-426).","Remove `--proxied-server-root-path` if you did not intend to set up a proxied server."],"exampleFix":"// before\nbd init --proxied-server-root-path /var/lib/beads/dolt\n// after\nbd init --proxied-server --proxied-server-root-path /var/lib/beads/dolt","handlingStrategy":"validation","validationCode":"#!/usr/bin/env bash\nif [[ -n \"$ROOT_PATH\" ]] && [[ -z \"$PROXIED\" ]]; then\n  echo \"--proxied-server-root-path requires --proxied-server\" >&2; exit 2\nfi\nbd init ${PROXIED:+--proxied-server} ${ROOT_PATH:+--proxied-server-root-path \"$ROOT_PATH\"}","typeGuard":"func proxiedFlagsValid(useProxied, hasRootPath bool) bool { return !hasRootPath || useProxied }","tryCatchPattern":"if out, err := exec.Command(\"bd\", \"init\", args...).CombinedOutput(); err != nil {\n    if strings.Contains(string(out), \"requires --proxied-server\") {\n        // add --proxied-server and retry\n    }\n}","preventionTips":["Build the bd init argument list in one place so mode flags and their dependent flags are added together.","Prefer the BEADS_DOLT_PROXIED_SERVER=1 env var in environments that always use proxied mode.","Lint shell wrappers for proxied-server-* flags lacking --proxied-server."],"tags":["cli","flag-validation","init","proxied-server"],"backgroundTag":"flag-requires-flag","analyzedSha":"71377f276968b452ee607177637970a4ff888584","analyzedAt":"2026-08-30T18:55:39.744Z","schemaVersion":2},"datasetVersion":"2026-08-30T23:17:21.991Z"}