{"record":{"id":"ecf24eb43c6ecbef","repo":"gastownhall/beads","slug":"contributor-is-not-supported-with-proxied-serv","errorCode":null,"errorMessage":"--contributor is not supported with --proxied-server","messagePattern":"--contributor is not supported with --proxied-server","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/bd/init_proxied_server.go","lineNumber":56,"sourceCode":"\texternalConfig         *configfile.ExternalDoltConfig\n\tquiet                  bool\n\tstealth                bool\n\tskipHooks              bool\n\tskipAgents             bool\n\treinitLocal            bool\n\tcontributor            bool\n\tteam                   bool\n\tteamServer             bool\n\tfromJSONL              bool\n\tnonInteractive         bool\n}\n\nfunc runInitProxiedServer(cmd *cobra.Command, ctx context.Context, in initProxiedServerInput) error {\n\tif in.fromJSONL {\n\t\treturn fmt.Errorf(\"--from-jsonl is not supported with --proxied-server\")\n\t}\n\tif in.contributor {\n\t\treturn fmt.Errorf(\"--contributor is not supported with --proxied-server\")\n\t}\n\tif in.team {\n\t\treturn fmt.Errorf(\"--team is not supported with --proxied-server\")\n\t}\n\n\t// Preflight the external dolt binary before any .beads/ write below\n\t// (checkExistingBeadsData onward). This only applies to managed\n\t// proxied-server mode (in.externalConfig == nil): external mode talks\n\t// to a remote/pre-existing dolt sql-server over the network and never\n\t// spawns a local dolt binary, so it has nothing to preflight here.\n\t// Failing here means a missing/broken dolt produces a clean preflight\n\t// error instead of a half-initialized .beads/ directory from a later\n\t// failure in newManagedProxiedServerUOWProvider.\n\t//\n\t// Shares resolveAndProbeDolt (uow_factory.go) with\n\t// newManagedProxiedServerUOWProvider, which this same `bd init\n\t// --proxied-server` invocation goes on to call a few lines below via\n\t// newProxiedServerUOWProvider: the shared doltVersionWarnOnce means the","sourceCodeStart":38,"sourceCodeEnd":74,"githubUrl":"https://github.com/gastownhall/beads/blob/71377f276968b452ee607177637970a4ff888584/cmd/bd/init_proxied_server.go#L38-L74","documentation":"runInitProxiedServer rejects --contributor combined with --proxied-server. Contributor mode auto-configures fork routing and a planning repo, which is incompatible with the proxied-server lifecycle, so init returns this validation error before touching .beads/.","triggerScenarios":"`bd init --proxied-server --contributor` — the contributor flag is set and rejected as the second check in the function.","commonSituations":"Initializing a fork-contributor workspace while also pointing at a proxied dolt server, or combining flags from two different init workflows in a script.","solutions":["Remove --contributor when using --proxied-server.","If you want fork-contributor setup, drop --proxied-server and run `bd init --contributor`.","Configure contributor routing manually after proxied-server init if truly needed, via config keys."],"exampleFix":"// before\nbd init --proxied-server --contributor\n// after\nbd init --proxied-server   # or: bd init --contributor","handlingStrategy":"validation","validationCode":"if proxiedServer && contributor {\n    return errors.New(\"--contributor cannot be combined with --proxied-server\")\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Choose one init mode per invocation.","Keep init scripts templated per workflow (fork-contributor vs proxied-server).","Validate flags in shell wrappers with early exits.","Check bd init docs for supported mode combinations."],"tags":["cli","validation","init"],"backgroundTag":"incompatible-flags","analyzedSha":"71377f276968b452ee607177637970a4ff888584","analyzedAt":"2026-08-30T18:55:39.744Z","schemaVersion":2},"datasetVersion":"2026-08-30T23:17:21.991Z"}