gastownhall/beads · error

--proxied-server cannot be combined with --shared-server, --

Error message

--proxied-server cannot be combined with --shared-server, --external, or any --server-* flag

What it means

--proxied-server cannot be combined with --shared-server, --external, or any --server-* flag (host, port, socket, user, tls). Those options configure other/legacy server modes and conflict with the proxied-server mode's own config file.

Source

Thrown at cmd/bd/init.go:441

		externalKeepAlive, _ := cmd.Flags().GetDuration("proxied-server-external-keep-alive")
		if os.Getenv("BEADS_DOLT_PROXIED_SERVER") == "1" {
			initProxiedServer = true
		}

		initEvt := metrics.NewCommandEvent("init-" + resolveInitDoltMode(initProxiedServer, sharedServer, initServerMode))
		defer func() {
			if c := metrics.Global(); c != nil {
				c.CloseEventAndAdd(initEvt)
			}
		}()

		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 {

View on GitHub (pinned to 71377f2769)

Solutions

  1. Delete all --server-*, --shared-server, and --external flags from the command; keep only --proxied-server plus --proxied-server-* paths
  2. Move server connection settings into the proxied-server config file passed via --proxied-server-config-path

Example fix

// before
bd init --proxied-server --server-host localhost --server-port 8080
// after
bd init --proxied-server --proxied-server-config-path /etc/bd/proxied.json
Defensive patterns

Strategy: validation

Validate before calling

# ensure no conflicting flags when --proxied-server is set
if [[ "$FLAGS" == *--proxied-server* ]]; then
  if [[ "$FLAGS" == *--shared-server* || "$FLAGS" == *--external* || "$FLAGS" == *--server-* ]]; then
    echo 'conflict: strip --shared-server/--external/--server-* flags'; exit 1
  fi
fi

Prevention

When it happens

Trigger: Running `bd init --proxied-server` together with any of: --shared-server, --external, --server-host, --server-port, --server-socket, --server-user, or an explicitly changed --server-tls flag.

Common situations: Migrating an init command from shared/external server mode to proxied-server and leaving old --server-* flags in place; CI scripts accumulating server flags over time.

Related errors


AI-assisted analysis of gastownhall/beads@71377f2769 (2026-08-30). Data as JSON: /api/errors/b566c998ecc4a914. Report an issue: GitHub.