{"record":{"id":"b37692b5b90f28ec","repo":"diegosouzapw/OmniRoute","slug":"chatgpt-web-codex-tools-require-tunnel-id-and-ru","errorCode":null,"errorMessage":"ChatGPT Web (Codex) tools require Tunnel-ID and Runtime-Key","messagePattern":"ChatGPT Web \\(Codex\\) tools require Tunnel-ID and Runtime-Key","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"open-sse/executors/chatgpt-web-codex.ts","lineNumber":337,"sourceCode":"        if (cdpEndpoint) providerData.browserCdpEndpoint = cdpEndpoint;\n        await input.onCredentialsRefreshed?.({\n          providerSpecificData: {\n            ...record(input.credentials.providerSpecificData),\n            proAvailable: capabilities.proAvailable,\n            browserVerified: true,\n            ...(chromeExecutablePath ? { chromeExecutablePath } : {}),\n            ...(cdpEndpoint ? { browserCdpEndpoint: cdpEndpoint } : {}),\n          },\n        });\n      }\n      const routeUsesTools = !route.pro && toolModeRequired(parsed);\n      if (routeUsesTools) {\n        const tunnelId =\n          configuredString(providerData, \"tunnelId\") ??\n          process.env.CHATGPT_WEB_CODEX_TUNNEL_ID?.trim();\n        const runtimeKey = secrets.runtimeKey ?? process.env.CHATGPT_WEB_CODEX_RUNTIME_KEY?.trim();\n        if (!tunnelId || !runtimeKey) {\n          throw new Error(\"ChatGPT Web (Codex) tools require Tunnel-ID and Runtime-Key\");\n        }\n        await ensureTunnelRuntimeReady({\n          tunnelId,\n          runtimeKey,\n          brokerSocketPath: connectionRuntimePaths(connectionId).brokerSocketPath,\n        });\n      }\n      const provider = buildProviderConfig(\n        {\n          ...input,\n          credentials: { ...input.credentials, providerSpecificData: providerData },\n        },\n        parsed,\n        storageStatePath,\n        connectionId\n      );\n      const adapter = createChatGptWebAdapter(provider);\n      const worker = ChatGptBrowserWorker.forProvider(provider);","sourceCodeStart":319,"sourceCodeEnd":355,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/open-sse/executors/chatgpt-web-codex.ts#L319-L355","documentation":"Error \"ChatGPT Web (Codex) tools require Tunnel-ID and Runtime-Key\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at open-sse/executors/chatgpt-web-codex.ts:337 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"}