{"record":{"id":"fa5fbde5b4585cd0","repo":"gastownhall/beads","slug":"proxied-server-port-must-be-between-1-and-65535","errorCode":null,"errorMessage":"--proxied-server-port must be between 1 and 65535, got %d","messagePattern":"--proxied-server-port must be between 1 and 65535, got (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/bd/init.go","lineNumber":485,"sourceCode":"\t\t\t}\n\t\t}\n\t\tif serverRootPath != \"\" {\n\t\t\tif !initProxiedServer {\n\t\t\t\treturn fmt.Errorf(\"--proxied-server-root-path requires --proxied-server\")\n\t\t\t}\n\t\t\tif !filepath.IsAbs(serverRootPath) {\n\t\t\t\treturn fmt.Errorf(\"--proxied-server-root-path must be an absolute path, got %q\", serverRootPath)\n\t\t\t}\n\t\t\tif err := validateProxiedServerRootPath(serverRootPath); err != nil {\n\t\t\t\treturn fmt.Errorf(\"--proxied-server-root-path %v\", err)\n\t\t\t}\n\t\t}\n\t\tif serverProxyPort != 0 {\n\t\t\tif !initProxiedServer {\n\t\t\t\treturn fmt.Errorf(\"--proxied-server-port requires --proxied-server\")\n\t\t\t}\n\t\t\tif serverProxyPort < 1 || serverProxyPort > 65535 {\n\t\t\t\treturn fmt.Errorf(\"--proxied-server-port must be between 1 and 65535, got %d\", serverProxyPort)\n\t\t\t}\n\t\t}\n\t\tif idleTimeoutSet {\n\t\t\tif !initProxiedServer {\n\t\t\t\treturn fmt.Errorf(\"--proxied-server-idle-timeout requires --proxied-server\")\n\t\t\t}\n\t\t\tif serverProxyIdleTimeout < 0 {\n\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","sourceCodeStart":467,"sourceCodeEnd":503,"githubUrl":"https://github.com/gastownhall/beads/blob/71377f276968b452ee607177637970a4ff888584/cmd/bd/init.go#L467-L503","documentation":"When `--proxied-server-port` is supplied, init bounds-checks it to the valid TCP port range 1–65535. Values outside that range cannot identify a TCP port and are rejected before anything is created (cmd/bd/init.go:484-486).","triggerScenarios":"Running `bd init --proxied-server --proxied-server-port 0` or `--proxied-server-port 70000` — any serverProxyPort < 1 or > 65535. Note 0 is treated as \"flag not set\" upstream, so explicitly passing 0 also fails here.","commonSituations":"Off-by-one from using port 0 expecting OS-assigned ports (unsupported here); pasting an erroneous port from a config (e.g. 655360); string-to-int conversion bugs in wrapper scripts producing garbage numbers.","solutions":["Choose a port in 1–65535, avoiding privileged ports (<1024) unless running as root.","If you wanted an ephemeral/OS-assigned port, omit the flag instead of passing 0.","Check the wrapper script or env interpolation that produced the bad value."],"exampleFix":"// before\nbd init --proxied-server --proxied-server-port 70000\n// after\nbd init --proxied-server --proxied-server-port 8165","handlingStrategy":"validation","validationCode":"#!/usr/bin/env bash\nif [[ -n \"$PROXY_PORT\" ]]; then\n  if ! [[ \"$PROXY_PORT\" =~ ^[0-9]+$ ]] || (( PROXY_PORT < 1 || PROXY_PORT > 65535 )); then\n    echo \"port must be 1-65535, got $PROXY_PORT\" >&2; exit 2\n  fi\nfi","typeGuard":"func validProxyPort(p int) bool { return p >= 1 && p <= 65535 }","tryCatchPattern":"if out, err := exec.Command(\"bd\", \"init\", args...).CombinedOutput(); err != nil {\n    if strings.Contains(string(out), \"must be between 1 and 65535\") {\n        // fix the port value and retry\n    }\n}","preventionTips":["Range-check ports in wrapper scripts before invoking CLI tools.","Don't pass 0 expecting OS-assigned ports; omit the flag instead.","Validate that interpolated env vars produce plain integers."],"tags":["cli","flag-validation","port","tcp"],"backgroundTag":"invalid-flag-value","analyzedSha":"71377f276968b452ee607177637970a4ff888584","analyzedAt":"2026-08-30T18:55:39.744Z","schemaVersion":2},"datasetVersion":"2026-08-30T23:17:21.991Z"}