{"record":{"id":"907249e66b8b6621","repo":"gastownhall/beads","slug":"debug-cannot-be-combined-with-proxied-server-e","errorCode":null,"errorMessage":"--debug cannot be combined with --proxied-server-external-* (debug applies to the managed dolt sql-server only)","messagePattern":"--debug cannot be combined with --proxied-server-external-\\* \\(debug applies to the managed dolt sql-server only\\)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/bd/init.go","lineNumber":511,"sourceCode":"\t\t\t\treturn fmt.Errorf(\"--proxied-server-idle-timeout must be 0 (never) or a positive duration, got %s\", serverProxyIdleTimeout)\n\t\t\t}\n\t\t\tif serverProxyIdleTimeout == 0 {\n\t\t\t\tserverProxyIdleTimeout = proxy.IdleTimeoutNever\n\t\t\t}\n\t\t}\n\n\t\texternalProvided := externalHost != \"\" || externalPort != 0 || externalSocketPath != \"\" ||\n\t\t\texternalUser != \"\" ||\n\t\t\texternalTLS || externalTLSCACertPath != \"\" || externalTLSCertPath != \"\" || externalTLSKeyPath != \"\" ||\n\t\t\texternalTLSServerName != \"\" || externalTLSSkipVerify || externalKeepAlive != 0\n\t\tif externalProvided && !initProxiedServer {\n\t\t\treturn fmt.Errorf(\"--proxied-server-external-* flags require --proxied-server\")\n\t\t}\n\t\tif externalProvided && serverConfigPath != \"\" {\n\t\t\treturn fmt.Errorf(\"--proxied-server-external-* flags cannot be combined with --proxied-server-config-path (external mode has no managed dolt sql-server to configure)\")\n\t\t}\n\t\tif externalProvided && debugMode {\n\t\t\treturn fmt.Errorf(\"--debug cannot be combined with --proxied-server-external-* (debug applies to the managed dolt sql-server only)\")\n\t\t}\n\t\tvar externalConfig *configfile.ExternalDoltConfig\n\t\tif externalProvided {\n\t\t\tcfg := configfile.ExternalDoltConfig{\n\t\t\t\tHost:            externalHost,\n\t\t\t\tPort:            externalPort,\n\t\t\t\tSocket:          externalSocketPath,\n\t\t\t\tUser:            externalUser,\n\t\t\t\tTLSRequired:     externalTLS,\n\t\t\t\tTLSCACert:       externalTLSCACertPath,\n\t\t\t\tTLSCert:         externalTLSCertPath,\n\t\t\t\tTLSKey:          externalTLSKeyPath,\n\t\t\t\tTLSServerName:   externalTLSServerName,\n\t\t\t\tTLSSkipVerify:   externalTLSSkipVerify,\n\t\t\t\tKeepAlivePeriod: externalKeepAlive,\n\t\t\t}\n\t\t\tif err := cfg.Validate(); err != nil {\n\t\t\t\treturn fmt.Errorf(\"--proxied-server-external-*: %v\", err)","sourceCodeStart":493,"sourceCodeEnd":529,"githubUrl":"https://github.com/gastownhall/beads/blob/71377f276968b452ee607177637970a4ff888584/cmd/bd/init.go#L493-L529","documentation":"`--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).","triggerScenarios":"Running `bd init --proxied-server --debug` together with any `--proxied-server-external-*` flag — the check is `externalProvided && debugMode`.","commonSituations":"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.","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."],"exampleFix":"// before\nbd init --proxied-server --debug --proxied-server-external-host db.example.com\n// after\nbd init --proxied-server --proxied-server-external-host db.example.com","handlingStrategy":"validation","validationCode":"#!/usr/bin/env bash\nif [[ \"$DEBUG\" == \"1\" ]] && [[ -n \"$EXT_HOST$EXT_PORT$EXT_SOCKET$EXT_TLS\" ]]; then\n  echo \"--debug does not apply to external mode\" >&2; exit 2\nfi","typeGuard":"func debugFlagValid(debug bool, externalSet bool) bool { return !(debug && externalSet) }","tryCatchPattern":"if out, err := exec.Command(\"bd\", \"init\", args...).CombinedOutput(); err != nil {\n    if strings.Contains(string(out), \"--debug cannot be combined with --proxied-server-external-*\") {\n        // remove --debug for external mode\n    }\n}","preventionTips":["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."],"tags":["cli","flag-validation","debug","external-server"],"backgroundTag":"mutually-exclusive-flags","analyzedSha":"71377f276968b452ee607177637970a4ff888584","analyzedAt":"2026-08-30T18:55:39.744Z","schemaVersion":2},"datasetVersion":"2026-08-30T23:17:21.991Z"}