Bug type
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
On OpenClaw 2026.6.1, OpenAI OAuth-backed Realtime Talk reports configured and returns Realtime session metadata, but every media handshake to https://api.openai.com/v1/realtime/calls returns HTTP 500 when no OpenAI API key is configured.
Steps to reproduce
-
Run installed OpenClaw 2026.6.1 Gateway on loopback. In this repro the Gateway was already running at ws://127.0.0.1:18789 through the managed systemd user service.
-
Confirm OpenAI Realtime Talk has no direct API key configured but reports configured through OAuth:
OPENCLAW_GATEWAY_URL=ws://127.0.0.1:18789 node scripts/audit-linux-talk-realtime-handshake.mjs --session main --json
-
Optionally run the relay repro against the same installed Gateway:
node scripts/audit-linux-talk-realtime-relay.mjs --url ws://127.0.0.1:18789 --session main --json
Expected behavior
Either OpenAI OAuth-backed Realtime Talk should complete the media handshake, or OpenClaw should not report OAuth/no-key OpenAI Realtime as configured/media-ready without a passing live /v1/realtime/calls audit.
Actual behavior
The Gateway reports OpenAI Realtime as configured and talk.client.create returns Realtime session metadata, but every tested SDP offer to https://api.openai.com/v1/realtime/calls returns HTTP 500 Internal Server Error.
The Gateway relay path also fails before ready. On installed 2026.6.1 that relay failure is surfaced to the audit as a close before ready with reason completed; the WebRTC audit below shows the underlying media handshake failure is HTTP 500.
OpenClaw version
OpenClaw 2026.6.1 (2e08f0f)
Operating system
Ubuntu 24.04.4 LTS
Install method
npm/global install with managed systemd user Gateway service.
Gateway status excerpt:
CLI: OpenClaw 2026.6.1 (2e08f0f)
Gateway service: systemd user, running
Gateway target: ws://127.0.0.1:18789
Node: v24.16.0
Model
gpt-realtime-2 and gpt-realtime
Provider / routing chain
OpenClaw Gateway Talk -> OpenAI Realtime provider -> OAuth-backed Realtime client secret/session metadata -> https://api.openai.com/v1/realtime/calls
Additional provider/model setup details
No direct OpenAI API key was configured for the tested Gateway Realtime path.
Observed audit fields:
{
"provider": "openai",
"mode": "realtime",
"transport": "webrtc",
"brain": "agent-consult",
"model": "gpt-realtime-2",
"voice": "cedar",
"hasConfiguredApiKey": false,
"hasOpenAIApiKeyEnv": false
}
talk.catalog reported the provider as configured and browser-session capable:
{
"activeProvider": "openai",
"provider": "openai",
"configured": true,
"modes": ["realtime"],
"transports": ["webrtc", "gateway-relay"],
"brains": ["agent-consult"],
"supportsBrowserSession": true,
"supportsToolCalls": true
}
Logs, screenshots, and evidence
Primary WebRTC audit result on installed OpenClaw 2026.6.1:
{
"runtimeVersion": "2026.6.1",
"sessionKey": "main",
"talkConfig": {
"provider": "openai",
"mode": "realtime",
"transport": "webrtc",
"brain": "agent-consult",
"model": "gpt-realtime-2",
"voice": "cedar",
"hasConfiguredApiKey": false
},
"talkCatalog": {
"activeProvider": "openai",
"provider": "openai",
"configured": true,
"modes": ["realtime"],
"transports": ["webrtc", "gateway-relay"],
"brains": ["agent-consult"],
"supportsBrowserSession": true,
"supportsToolCalls": true
},
"results": [
{
"requestedModel": "gpt-realtime-2",
"sessionModel": "gpt-realtime-2",
"provider": "openai",
"transport": "webrtc",
"offerUrl": "https://api.openai.com/v1/realtime/calls",
"iceMode": "immediate",
"status": 500,
"ok": false,
"body": "Internal Server Error"
},
{
"requestedModel": "gpt-realtime-2",
"sessionModel": "gpt-realtime-2",
"provider": "openai",
"transport": "webrtc",
"offerUrl": "https://api.openai.com/v1/realtime/calls",
"iceMode": "ice-complete",
"status": 500,
"ok": false,
"body": "Internal Server Error"
},
{
"requestedModel": "gpt-realtime",
"sessionModel": "gpt-realtime",
"provider": "openai",
"transport": "webrtc",
"offerUrl": "https://api.openai.com/v1/realtime/calls",
"iceMode": "immediate",
"status": 500,
"ok": false,
"body": "Internal Server Error"
},
{
"requestedModel": "gpt-realtime",
"sessionModel": "gpt-realtime",
"provider": "openai",
"transport": "webrtc",
"offerUrl": "https://api.openai.com/v1/realtime/calls",
"iceMode": "ice-complete",
"status": 500,
"ok": false,
"body": "Internal Server Error"
}
],
"diagnosis": {
"status": "blocked-upstream",
"summary": "Gateway can mint OpenAI OAuth-backed Realtime client sessions, but OpenAI rejects every media handshake with HTTP 500.",
"evidence": [
"talk.config has no configured OpenAI provider API key.",
"talk.catalog reports OpenAI Realtime configured with WebRTC support.",
"talk.client.create returned Realtime session metadata for every tested model.",
"Every tested browser SDP offer to /v1/realtime/calls returned HTTP 500."
]
}
}
Secondary relay audit result on the same installed Gateway:
{
"runtimeVersion": "2026.6.1",
"hasOpenAIApiKeyEnv": false,
"talkConfig": {
"provider": "openai",
"mode": "realtime",
"transport": "webrtc",
"brain": "agent-consult",
"model": "gpt-realtime-2",
"voice": "cedar",
"hasConfiguredApiKey": false
},
"talkCatalog": {
"activeProvider": "openai",
"provider": "openai",
"configured": true,
"supportsBrowserSession": true,
"supportsToolCalls": true
},
"create": {
"provider": "openai",
"transport": "gateway-relay",
"mode": "realtime",
"brain": "agent-consult"
},
"ready": false,
"closeBeforeReadyReason": "completed",
"errorBeforeReadyMessage": null,
"diagnosis": {
"status": "blocked-upstream",
"summary": "Gateway relay can create a no-key OAuth-backed Realtime session, but the provider connection fails before relay ready."
}
}
Diagnostics export was generated locally for the installed Gateway:
openclaw-diagnostics-2026-06-04T20-07-57-876Z-4051289.zip
I can attach it if useful after reviewing the redacted contents.
Impact and severity
Affected: OpenClaw Talk users trying to use OpenAI Realtime through OpenAI OAuth without configuring a standard OpenAI API key.
Severity: High for this workflow; it blocks live Realtime audio.
Frequency: 4/4 WebRTC media handshake attempts and 1/1 relay attempt in this repro.
Consequence: OAuth/no-key OpenAI Realtime Talk appears configured and can create sessions, but audio never becomes ready.
Additional information
Related but not exact duplicates found during local issue search:
Last known good / first known bad version: NOT_ENOUGH_INFO.
Bug type
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
On OpenClaw 2026.6.1, OpenAI OAuth-backed Realtime Talk reports configured and returns Realtime session metadata, but every media handshake to
https://api.openai.com/v1/realtime/callsreturns HTTP 500 when no OpenAI API key is configured.Steps to reproduce
Run installed OpenClaw 2026.6.1 Gateway on loopback. In this repro the Gateway was already running at
ws://127.0.0.1:18789through the managed systemd user service.Confirm OpenAI Realtime Talk has no direct API key configured but reports configured through OAuth:
Optionally run the relay repro against the same installed Gateway:
Expected behavior
Either OpenAI OAuth-backed Realtime Talk should complete the media handshake, or OpenClaw should not report OAuth/no-key OpenAI Realtime as configured/media-ready without a passing live
/v1/realtime/callsaudit.Actual behavior
The Gateway reports OpenAI Realtime as configured and
talk.client.createreturns Realtime session metadata, but every tested SDP offer tohttps://api.openai.com/v1/realtime/callsreturns HTTP 500Internal Server Error.The Gateway relay path also fails before ready. On installed 2026.6.1 that relay failure is surfaced to the audit as a close before ready with reason
completed; the WebRTC audit below shows the underlying media handshake failure is HTTP 500.OpenClaw version
OpenClaw 2026.6.1 (2e08f0f)
Operating system
Ubuntu 24.04.4 LTS
Install method
npm/global install with managed systemd user Gateway service.
Gateway status excerpt:
Model
gpt-realtime-2andgpt-realtimeProvider / routing chain
OpenClaw Gateway Talk -> OpenAI Realtime provider -> OAuth-backed Realtime client secret/session metadata ->
https://api.openai.com/v1/realtime/callsAdditional provider/model setup details
No direct OpenAI API key was configured for the tested Gateway Realtime path.
Observed audit fields:
{ "provider": "openai", "mode": "realtime", "transport": "webrtc", "brain": "agent-consult", "model": "gpt-realtime-2", "voice": "cedar", "hasConfiguredApiKey": false, "hasOpenAIApiKeyEnv": false }talk.catalogreported the provider as configured and browser-session capable:{ "activeProvider": "openai", "provider": "openai", "configured": true, "modes": ["realtime"], "transports": ["webrtc", "gateway-relay"], "brains": ["agent-consult"], "supportsBrowserSession": true, "supportsToolCalls": true }Logs, screenshots, and evidence
Primary WebRTC audit result on installed OpenClaw 2026.6.1:
{ "runtimeVersion": "2026.6.1", "sessionKey": "main", "talkConfig": { "provider": "openai", "mode": "realtime", "transport": "webrtc", "brain": "agent-consult", "model": "gpt-realtime-2", "voice": "cedar", "hasConfiguredApiKey": false }, "talkCatalog": { "activeProvider": "openai", "provider": "openai", "configured": true, "modes": ["realtime"], "transports": ["webrtc", "gateway-relay"], "brains": ["agent-consult"], "supportsBrowserSession": true, "supportsToolCalls": true }, "results": [ { "requestedModel": "gpt-realtime-2", "sessionModel": "gpt-realtime-2", "provider": "openai", "transport": "webrtc", "offerUrl": "https://api.openai.com/v1/realtime/calls", "iceMode": "immediate", "status": 500, "ok": false, "body": "Internal Server Error" }, { "requestedModel": "gpt-realtime-2", "sessionModel": "gpt-realtime-2", "provider": "openai", "transport": "webrtc", "offerUrl": "https://api.openai.com/v1/realtime/calls", "iceMode": "ice-complete", "status": 500, "ok": false, "body": "Internal Server Error" }, { "requestedModel": "gpt-realtime", "sessionModel": "gpt-realtime", "provider": "openai", "transport": "webrtc", "offerUrl": "https://api.openai.com/v1/realtime/calls", "iceMode": "immediate", "status": 500, "ok": false, "body": "Internal Server Error" }, { "requestedModel": "gpt-realtime", "sessionModel": "gpt-realtime", "provider": "openai", "transport": "webrtc", "offerUrl": "https://api.openai.com/v1/realtime/calls", "iceMode": "ice-complete", "status": 500, "ok": false, "body": "Internal Server Error" } ], "diagnosis": { "status": "blocked-upstream", "summary": "Gateway can mint OpenAI OAuth-backed Realtime client sessions, but OpenAI rejects every media handshake with HTTP 500.", "evidence": [ "talk.config has no configured OpenAI provider API key.", "talk.catalog reports OpenAI Realtime configured with WebRTC support.", "talk.client.create returned Realtime session metadata for every tested model.", "Every tested browser SDP offer to /v1/realtime/calls returned HTTP 500." ] } }Secondary relay audit result on the same installed Gateway:
{ "runtimeVersion": "2026.6.1", "hasOpenAIApiKeyEnv": false, "talkConfig": { "provider": "openai", "mode": "realtime", "transport": "webrtc", "brain": "agent-consult", "model": "gpt-realtime-2", "voice": "cedar", "hasConfiguredApiKey": false }, "talkCatalog": { "activeProvider": "openai", "provider": "openai", "configured": true, "supportsBrowserSession": true, "supportsToolCalls": true }, "create": { "provider": "openai", "transport": "gateway-relay", "mode": "realtime", "brain": "agent-consult" }, "ready": false, "closeBeforeReadyReason": "completed", "errorBeforeReadyMessage": null, "diagnosis": { "status": "blocked-upstream", "summary": "Gateway relay can create a no-key OAuth-backed Realtime session, but the provider connection fails before relay ready." } }Diagnostics export was generated locally for the installed Gateway:
I can attach it if useful after reviewing the redacted contents.
Impact and severity
Affected: OpenClaw Talk users trying to use OpenAI Realtime through OpenAI OAuth without configuring a standard OpenAI API key.
Severity: High for this workflow; it blocks live Realtime audio.
Frequency: 4/4 WebRTC media handshake attempts and 1/1 relay attempt in this repro.
Consequence: OAuth/no-key OpenAI Realtime Talk appears configured and can create sessions, but audio never becomes ready.
Additional information
Related but not exact duplicates found during local issue search:
openai.Last known good / first known bad version:
NOT_ENOUGH_INFO.