{"record":{"id":"547a11c8df0445dc","repo":"gohugoio/hugo","slug":"appendport-false-not-supported-when-in-multihost","errorCode":null,"errorMessage":"--appendPort=false not supported when in multihost mode","messagePattern":"--appendPort=false not supported when in multihost mode","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"commands/server.go","lineNumber":761,"sourceCode":"\t\tRoots:   roots,\n\t}\n\n\tif _, err := cert.Verify(opts); err != nil {\n\t\treturn fmt.Errorf(\"failed to verify certificate: %v\", err.Error())\n\t}\n\n\treturn nil\n}\n\nfunc (c *serverCommand) createServerPorts(cd *simplecobra.Commandeer) error {\n\tflags := cd.CobraCommand.Flags()\n\tvar cerr error\n\tc.withConf(func(conf *commonConfig) {\n\t\tisMultihost := conf.configs.IsMultihost\n\t\tc.serverPorts = make([]serverPortListener, 1)\n\t\tif isMultihost {\n\t\t\tif !c.serverAppend {\n\t\t\t\tcerr = errors.New(\"--appendPort=false not supported when in multihost mode\")\n\t\t\t\treturn\n\t\t\t}\n\t\t\tc.serverPorts = make([]serverPortListener, len(conf.configs.Languages))\n\t\t}\n\t\tcurrentServerPort := c.serverPort\n\t\tfor i := range c.serverPorts {\n\t\t\tl, err := net.Listen(\"tcp\", net.JoinHostPort(c.serverInterface, strconv.Itoa(currentServerPort)))\n\t\t\tif err == nil {\n\t\t\t\tc.serverPorts[i] = serverPortListener{ln: l, p: currentServerPort}\n\t\t\t} else {\n\t\t\t\tif i == 0 && flags.Changed(\"port\") {\n\t\t\t\t\t// port set explicitly by user -- he/she probably meant it!\n\t\t\t\t\tcerr = fmt.Errorf(\"server startup failed: %s\", err)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tc.r.Println(\"port\", currentServerPort, \"already in use, attempting to use an available port\")\n\t\t\t\tl, sp, err := helpers.TCPListen()\n\t\t\t\tif err != nil {","sourceCodeStart":743,"sourceCodeEnd":779,"githubUrl":"https://github.com/gohugoio/hugo/blob/52c9bd7908b4d02d4d0ff8f82a888834d6ee10d2/commands/server.go#L743-L779","documentation":"createServerPorts builds per-language server listeners for multihost configs; multihost requires distinct ports per language (incremented via appendPort), so passing --appendPort=false is incompatible and the server refuses to start (server.go:759-762).","triggerScenarios":"`hugo server --appendPort=false` (or serverAppend=false) in a project whose config is multihost (per-language baseURL).","commonSituations":"Copying server flags from a single-host project into a multihost one; setting appendPort=false globally then enabling multihost.","solutions":["Drop --appendPort=false (allow port appending) when running multihost","Convert the config to single-host if you must disable appendPort","Use per-language baseURL and let Hugo assign ports"],"exampleFix":"# before\nhugo server --appendPort=false   # in a multihost project\n# after\nhugo server","handlingStrategy":"validation","validationCode":"if conf.configs.IsMultihost && !c.serverAppend {\n    return errors.New(\"--appendPort=false is incompatible with multihost\")\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Do not combine --appendPort=false with a multihost config","Document the multihost constraint alongside your server flags"],"tags":["server","multihost","cli","hugo","config"],"backgroundTag":null,"analyzedSha":"52c9bd7908b4d02d4d0ff8f82a888834d6ee10d2","analyzedAt":"2026-08-09T21:49:36.660Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}