gastownhall/beads · error
--contributor is not supported with --proxied-server
Error message
--contributor is not supported with --proxied-server
What it means
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/.
Source
Thrown at cmd/bd/init_proxied_server.go:56
externalConfig *configfile.ExternalDoltConfig
quiet bool
stealth bool
skipHooks bool
skipAgents bool
reinitLocal bool
contributor bool
team bool
teamServer bool
fromJSONL bool
nonInteractive bool
}
func runInitProxiedServer(cmd *cobra.Command, ctx context.Context, in initProxiedServerInput) error {
if in.fromJSONL {
return fmt.Errorf("--from-jsonl is not supported with --proxied-server")
}
if in.contributor {
return fmt.Errorf("--contributor is not supported with --proxied-server")
}
if in.team {
return fmt.Errorf("--team is not supported with --proxied-server")
}
// Preflight the external dolt binary before any .beads/ write below
// (checkExistingBeadsData onward). This only applies to managed
// proxied-server mode (in.externalConfig == nil): external mode talks
// to a remote/pre-existing dolt sql-server over the network and never
// spawns a local dolt binary, so it has nothing to preflight here.
// Failing here means a missing/broken dolt produces a clean preflight
// error instead of a half-initialized .beads/ directory from a later
// failure in newManagedProxiedServerUOWProvider.
//
// Shares resolveAndProbeDolt (uow_factory.go) with
// newManagedProxiedServerUOWProvider, which this same `bd init
// --proxied-server` invocation goes on to call a few lines below via
// newProxiedServerUOWProvider: the shared doltVersionWarnOnce means theView on GitHub (pinned to 71377f2769)
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.
Example fix
// before bd init --proxied-server --contributor // after bd init --proxied-server # or: bd init --contributor
Defensive patterns
Strategy: validation
Validate before calling
if proxiedServer && contributor {
return errors.New("--contributor cannot be combined with --proxied-server")
} Prevention
- 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.
When it happens
Trigger: `bd init --proxied-server --contributor` — the contributor flag is set and rejected as the second check in the function.
Common situations: Initializing a fork-contributor workspace while also pointing at a proxied dolt server, or combining flags from two different init workflows in a script.
Related errors
- invalid database name %q: %v
- invalid --role %q: must be "maintainer" or "contributor"
- --from-jsonl is not supported with --proxied-server
- --team is not supported with --proxied-server
- got %d close reasons for %d issue IDs; provide exactly one s
AI-assisted analysis of gastownhall/beads@71377f2769 (2026-08-30).
Data as JSON: /api/errors/ecf24eb43c6ecbef.
Report an issue: GitHub.