{"record":{"id":"74681ae885239eba","repo":"router-for-me/CLIProxyAPI","slug":"failed-to-decode-realtime-session-w","errorCode":null,"errorMessage":"failed to decode Realtime session: %w","messagePattern":"failed to decode Realtime session: %w","errorType":"http","errorClass":null,"httpStatus":400,"severity":"error","filePath":"internal/client/codex/live/live.go","lineNumber":589,"sourceCode":"\t}\n\treturn encoded, \"application/json\", modelFromJSON(session), nil\n}\n\nfunc rewriteCallRequestModel(body []byte, contentType, model string) ([]byte, string, error) {\n\tupstreamModel := codexRealtimeModel(model)\n\tmediaType, _, errMediaType := mime.ParseMediaType(contentType)\n\tif errMediaType != nil || !strings.EqualFold(mediaType, \"application/json\") || len(bytes.TrimSpace(body)) == 0 {\n\t\treturn body, upstreamModel, nil\n\t}\n\tvar payload map[string]json.RawMessage\n\tif errUnmarshal := json.Unmarshal(body, &payload); errUnmarshal != nil {\n\t\treturn nil, \"\", fmt.Errorf(\"failed to decode Realtime call request: %w\", errUnmarshal)\n\t}\n\tchanged := false\n\tif sessionJSON, ok := payload[\"session\"]; ok && len(sessionJSON) > 0 {\n\t\tvar session map[string]json.RawMessage\n\t\tif errUnmarshal := json.Unmarshal(sessionJSON, &session); errUnmarshal != nil {\n\t\t\treturn nil, \"\", fmt.Errorf(\"failed to decode Realtime session: %w\", errUnmarshal)\n\t\t}\n\t\tencodedModel, errMarshal := json.Marshal(upstreamModel)\n\t\tif errMarshal != nil {\n\t\t\treturn nil, \"\", fmt.Errorf(\"failed to encode Realtime model: %w\", errMarshal)\n\t\t}\n\t\tsession[\"model\"] = encodedModel\n\t\tencodedSession, errMarshal := json.Marshal(session)\n\t\tif errMarshal != nil {\n\t\t\treturn nil, \"\", fmt.Errorf(\"failed to encode Realtime session: %w\", errMarshal)\n\t\t}\n\t\tpayload[\"session\"] = encodedSession\n\t\tchanged = true\n\t} else if _, ok := payload[\"model\"]; ok {\n\t\tencodedModel, errMarshal := json.Marshal(upstreamModel)\n\t\tif errMarshal != nil {\n\t\t\treturn nil, \"\", fmt.Errorf(\"failed to encode Realtime model: %w\", errMarshal)\n\t\t}\n\t\tpayload[\"model\"] = encodedModel","sourceCodeStart":571,"sourceCodeEnd":607,"githubUrl":"https://github.com/router-for-me/CLIProxyAPI/blob/78f0c4079e3e6273d65d03b5549cffc898703264/internal/client/codex/live/live.go#L571-L607","documentation":"Error \"failed to decode Realtime session: %w\" thrown in router-for-me/CLIProxyAPI.","triggerScenarios":"Thrown at internal/client/codex/live/live.go:589 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure the session field contains a valid Realtime session JSON object.","Fix the session payload according to the wrapped decode error."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"78f0c4079e3e6273d65d03b5549cffc898703264","analyzedAt":"2026-08-15T12:26:37.444Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}