{"record":{"id":"61473e8bab541594","repo":"gastownhall/beads","slug":"server-user-cannot-be-empty-omit-the-flag-to-us","errorCode":null,"errorMessage":"--server-user cannot be empty; omit the flag to use BEADS_DOLT_SERVER_USER or the default (%s)","messagePattern":"--server-user cannot be empty; omit the flag to use BEADS_DOLT_SERVER_USER or the default \\((.+?)\\)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/bd/init.go","lineNumber":3199,"sourceCode":"\tvar muts []serverConnEnvMutation\n\tif cmd.Flags().Changed(\"server-host\") {\n\t\tv, _ := cmd.Flags().GetString(\"server-host\")\n\t\tif v == \"\" {\n\t\t\treturn nil, fmt.Errorf(\"--server-host cannot be empty; omit the flag to use BEADS_DOLT_SERVER_HOST or the default (%s)\", configfile.DefaultDoltServerHost)\n\t\t}\n\t\tmuts = append(muts, serverConnEnvMutation{key: \"BEADS_DOLT_SERVER_HOST\", value: v})\n\t}\n\tif cmd.Flags().Changed(\"server-port\") {\n\t\tv, _ := cmd.Flags().GetInt(\"server-port\")\n\t\tif v < 1 || v > 65535 {\n\t\t\treturn nil, fmt.Errorf(\"--server-port must be between 1 and 65535, got %d; omit the flag to use BEADS_DOLT_SERVER_PORT or the default (%d)\", v, configfile.DefaultDoltServerPort)\n\t\t}\n\t\tmuts = append(muts, serverConnEnvMutation{key: \"BEADS_DOLT_SERVER_PORT\", value: strconv.Itoa(v)})\n\t}\n\tif cmd.Flags().Changed(\"server-user\") {\n\t\tv, _ := cmd.Flags().GetString(\"server-user\")\n\t\tif v == \"\" {\n\t\t\treturn nil, fmt.Errorf(\"--server-user cannot be empty; omit the flag to use BEADS_DOLT_SERVER_USER or the default (%s)\", configfile.DefaultDoltServerUser)\n\t\t}\n\t\tmuts = append(muts, serverConnEnvMutation{key: \"BEADS_DOLT_SERVER_USER\", value: v})\n\t}\n\tswitch {\n\tcase cmd.Flags().Changed(\"server-socket\"):\n\t\tv, _ := cmd.Flags().GetString(\"server-socket\")\n\t\tif v == \"\" {\n\t\t\tmuts = append(muts, serverConnEnvMutation{key: \"BEADS_DOLT_SERVER_SOCKET\", unset: true})\n\t\t} else {\n\t\t\tmuts = append(muts, serverConnEnvMutation{key: \"BEADS_DOLT_SERVER_SOCKET\", value: v})\n\t\t}\n\tcase cmd.Flags().Changed(\"server-host\") || cmd.Flags().Changed(\"server-port\"):\n\t\tmuts = append(muts, serverConnEnvMutation{key: \"BEADS_DOLT_SERVER_SOCKET\", unset: true})\n\t}\n\tif cmd.Flags().Changed(\"server-tls\") {\n\t\tv, _ := cmd.Flags().GetBool(\"server-tls\")\n\t\ttls := \"0\"\n\t\tif v {","sourceCodeStart":3181,"sourceCodeEnd":3217,"githubUrl":"https://github.com/gastownhall/beads/blob/71377f276968b452ee607177637970a4ff888584/cmd/bd/init.go#L3181-L3217","documentation":"resolveExplicitServerConnEnv validates the --server-user flag when explicitly set. An explicitly empty value is rejected with this error pointing to the fallback order: BEADS_DOLT_SERVER_USER env var, then configfile.DefaultDoltServerUser. This mirrors the --server-host check and prevents flags from being silently dropped.","triggerScenarios":"Running a command that promotes server flags with `--server-user \"\"` explicitly, typically from a script where the user variable is empty.","commonSituations":"Empty $DB_USER in CI pipelines; attempting to clear a previously configured user by passing an empty flag; templated deploy scripts with missing secrets.","solutions":["Pass a non-empty --server-user value","Export BEADS_DOLT_SERVER_USER=<user> and omit the flag","Rely on the default user by omitting both flag and env","Fix the surrounding script so the variable is set before invocation"],"exampleFix":"// before\nbd init --server-user \"$DB_USER\"  # DB_USER empty\n// after\nexport BEADS_DOLT_SERVER_USER=beads\nbd init","handlingStrategy":"validation","validationCode":"if [ -z \"$SERVER_USER\" ]; then echo \"SERVER_USER empty; omitting flag\"; unset SERVER_USER; fi","typeGuard":null,"tryCatchPattern":"if err := cmd.Execute(); err != nil && strings.Contains(err.Error(), \"--server-user cannot be empty\") { /* set env or omit flag */ }","preventionTips":["Verify secret/user variables are populated before invoking bd","Use BEADS_DOLT_SERVER_USER instead of empty flag overrides","Fail fast in CI when required user vars are empty","Don't attempt to clear config with empty flag values"],"tags":["cli","validation","dolt-server","flags"],"backgroundTag":"empty-flag-value","analyzedSha":"71377f276968b452ee607177637970a4ff888584","analyzedAt":"2026-08-30T18:55:39.744Z","schemaVersion":2},"datasetVersion":"2026-08-30T23:17:21.991Z"}