{"record":{"id":"4894f00e3f0b8925","repo":"diegosouzapw/OmniRoute","slug":"tunnel-alias-profile-is-invalid","errorCode":null,"errorMessage":"Tunnel alias/profile is invalid","messagePattern":"Tunnel alias/profile is invalid","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"open-sse/executors/chatgpt-web-codex/tunnelClient.ts","lineNumber":261,"sourceCode":"    !`${version.stdout}\\n${version.stderr}`.includes(CHATGPT_WEB_CODEX_TUNNEL_VERSION)\n  ) {\n    throw new Error(\"Installed tunnel-client did not report the pinned version\");\n  }\n  return paths.binary;\n}\n\nfunction validateRuntimeConfig(config: TunnelRuntimeConfig) {\n  if (!/^tunnel_[a-f0-9]{32}$/.test(config.tunnelId)) {\n    throw new Error(\"Tunnel ID must be tunnel_ followed by 32 lowercase hexadecimal characters\");\n  }\n  if (!config.runtimeKey.trim() || config.runtimeKey.length > 64 * 1024) {\n    throw new Error(\"Tunnel Runtime-Key is missing or too large\");\n  }\n  for (const value of [\n    config.alias ?? \"omniroute-chatgpt-web-codex\",\n    config.profile ?? \"omniroute\",\n  ]) {\n    if (!/^[A-Za-z0-9._-]+$/.test(value)) throw new Error(\"Tunnel alias/profile is invalid\");\n  }\n}\n\nexport async function startTunnelRuntime(config: TunnelRuntimeConfig): Promise<ChildProcess> {\n  validateRuntimeConfig(config);\n  acquireTunnelSupervisorLease();\n  const binary = await ensureTunnelClientInstalled();\n  const paths = tunnelClientPaths();\n  const runtimeKeyFile = join(\n    paths.root,\n    `runtime-key-${createHash(\"sha256\").update(config.tunnelId).digest(\"hex\").slice(0, 16)}`\n  );\n  atomicWriteFile(runtimeKeyFile, config.runtimeKey.trim());\n  runtimeKeyFiles.add(runtimeKeyFile);\n  const alias = config.alias ?? \"omniroute-chatgpt-web-codex\";\n  const profile = config.profile ?? \"omniroute\";\n  const mcpCommand = [\n    process.execPath,","sourceCodeStart":243,"sourceCodeEnd":279,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/open-sse/executors/chatgpt-web-codex/tunnelClient.ts#L243-L279","documentation":"Error \"Tunnel alias/profile is invalid\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at open-sse/executors/chatgpt-web-codex/tunnelClient.ts:261 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d","analyzedAt":"2026-08-25T18:35:09.898Z","schemaVersion":2},"datasetVersion":"2026-08-25T21:54:21.419Z"}