{"record":{"id":"8d1389c1ce745866","repo":"diegosouzapw/OmniRoute","slug":"tunnel-runtime-is-not-ready-status-detail","errorCode":null,"errorMessage":"Tunnel runtime is not ready: ${status.detail}","messagePattern":"Tunnel runtime is not ready: (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"open-sse/executors/chatgpt-web-codex/tunnelClient.ts","lineNumber":434,"sourceCode":"        clearTimeout(timer);\n        reject(error);\n      });\n      child.once(\"exit\", (code, signal) => {\n        clearTimeout(timer);\n        if (code === 0 && !signal) resolve();\n        else\n          reject(\n            new Error(`Tunnel runtime startup failed (${code ?? signal}): ${safeDetail(stderr)}`)\n          );\n      });\n    });\n    const deadline = Date.now() + timeoutMs;\n    let status = await getTunnelRuntimeStatus(config);\n    while (!status.ok && Date.now() < deadline) {\n      await new Promise((resolve) => setTimeout(resolve, 250));\n      status = await getTunnelRuntimeStatus(config);\n    }\n    if (!status.ok) throw new Error(`Tunnel runtime is not ready: ${status.detail}`);\n  })();\n  connectedRuntimes.set(identity, connecting);\n  void connecting.catch(() => connectedRuntimes.delete(identity));\n  return connecting;\n}\n\nexport async function stopChatGptWebCodexTunnelRuntime(): Promise<void> {\n  const paths = tunnelClientPaths();\n  if (ownsSupervisorLease && existsSync(paths.binary)) {\n    spawnSync(\n      paths.binary,\n      [\n        \"runtimes\",\n        \"stop\",\n        \"omniroute-chatgpt-web-codex\",\n        \"--profile\",\n        \"omniroute\",\n        \"--profile-dir\",","sourceCodeStart":416,"sourceCodeEnd":452,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/open-sse/executors/chatgpt-web-codex/tunnelClient.ts#L416-L452","documentation":"Error \"Tunnel runtime is not ready: ${status.detail}\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at open-sse/executors/chatgpt-web-codex/tunnelClient.ts:434 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"}