gastownhall/beads · error
--debug cannot be combined with --proxied-server-external-*
Error message
--debug cannot be combined with --proxied-server-external-* (debug applies to the managed dolt sql-server only)
What it means
`--debug` enables debug logging for the managed dolt sql-server spawned by proxied-server mode. When you use external mode (`--proxied-server-external-*` flags) there is no managed server process, so debug has no target; init rejects the combination to avoid a silently ignored flag (cmd/bd/init.go:510-512).
Source
Thrown at cmd/bd/init.go:511
return fmt.Errorf("--proxied-server-idle-timeout must be 0 (never) or a positive duration, got %s", serverProxyIdleTimeout)
}
if serverProxyIdleTimeout == 0 {
serverProxyIdleTimeout = proxy.IdleTimeoutNever
}
}
externalProvided := externalHost != "" || externalPort != 0 || externalSocketPath != "" ||
externalUser != "" ||
externalTLS || externalTLSCACertPath != "" || externalTLSCertPath != "" || externalTLSKeyPath != "" ||
externalTLSServerName != "" || externalTLSSkipVerify || externalKeepAlive != 0
if externalProvided && !initProxiedServer {
return fmt.Errorf("--proxied-server-external-* flags require --proxied-server")
}
if externalProvided && serverConfigPath != "" {
return fmt.Errorf("--proxied-server-external-* flags cannot be combined with --proxied-server-config-path (external mode has no managed dolt sql-server to configure)")
}
if externalProvided && debugMode {
return fmt.Errorf("--debug cannot be combined with --proxied-server-external-* (debug applies to the managed dolt sql-server only)")
}
var externalConfig *configfile.ExternalDoltConfig
if externalProvided {
cfg := configfile.ExternalDoltConfig{
Host: externalHost,
Port: externalPort,
Socket: externalSocketPath,
User: externalUser,
TLSRequired: externalTLS,
TLSCACert: externalTLSCACertPath,
TLSCert: externalTLSCertPath,
TLSKey: externalTLSKeyPath,
TLSServerName: externalTLSServerName,
TLSSkipVerify: externalTLSSkipVerify,
KeepAlivePeriod: externalKeepAlive,
}
if err := cfg.Validate(); err != nil {
return fmt.Errorf("--proxied-server-external-*: %v", err)View on GitHub (pinned to 71377f2769)
Solutions
- Drop `--debug` when using external mode; debug the external server itself instead.
- Remove the external-* flags and use a managed server config (keeping --debug) if you need managed-server debug output.
- Capture external server logs on the side where the external dolt sql-server runs.
Example fix
// before bd init --proxied-server --debug --proxied-server-external-host db.example.com // after bd init --proxied-server --proxied-server-external-host db.example.com
Defensive patterns
Strategy: validation
Validate before calling
#!/usr/bin/env bash if [[ "$DEBUG" == "1" ]] && [[ -n "$EXT_HOST$EXT_PORT$EXT_SOCKET$EXT_TLS" ]]; then echo "--debug does not apply to external mode" >&2; exit 2 fi
Type guard
func debugFlagValid(debug bool, externalSet bool) bool { return !(debug && externalSet) } Try / catch
if out, err := exec.Command("bd", "init", args...).CombinedOutput(); err != nil {
if strings.Contains(string(out), "--debug cannot be combined with --proxied-server-external-*") {
// remove --debug for external mode
}
} Prevention
- Only pass --debug for managed proxied-server mode, not external mode.
- Don't unconditionally inject --debug in troubleshooting wrappers.
- Collect logs from the external dolt sql-server itself when debugging external mode.
When it happens
Trigger: Running `bd init --proxied-server --debug` together with any `--proxied-server-external-*` flag — the check is `externalProvided && debugMode`.
Common situations: Debugging connectivity to an external dolt server by reflexively adding `--debug`; global wrapper scripts that always pass `--debug` in troubleshooting; copying a managed-mode debug command and swapping only the connection flags for external ones.
Related errors
- --proxied-server-external-* flags require --proxied-server
- --proxied-server-external-* flags cannot be combined with --
- cannot use multiple conflict resolution flags
- --proxied-server-root-path requires --proxied-server
- --proxied-server-root-path must be an absolute path, got %q
AI-assisted analysis of gastownhall/beads@71377f2769 (2026-08-30).
Data as JSON: /api/errors/907249e66b8b6621.
Report an issue: GitHub.