{"record":{"id":"11f315fee4312c65","repo":"zed-industries/zed","slug":"response-contained-no-delta","errorCode":null,"errorMessage":"Response contained no delta","messagePattern":"Response contained no delta","errorType":"exception","errorClass":"LanguageModelCompletionError","httpStatus":null,"severity":"error","filePath":"crates/copilot_chat/src/model.rs","lineNumber":359,"sourceCode":"            if let Some(event) = state.events.next().await {\n                match event {\n                    Ok(event) => {\n                        let Some(choice) = event.choices.first() else {\n                            return Some((\n                                vec![Err(anyhow!(\"Response contained no choices\").into())],\n                                state,\n                            ));\n                        };\n\n                        let delta = if is_streaming {\n                            choice.delta.as_ref()\n                        } else {\n                            choice.message.as_ref()\n                        };\n\n                        let Some(delta) = delta else {\n                            return Some((\n                                vec![Err(anyhow!(\"Response contained no delta\").into())],\n                                state,\n                            ));\n                        };\n\n                        let mut events = Vec::new();\n                        if let Some(content) = delta.content.clone() {\n                            events.push(Ok(LanguageModelCompletionEvent::Text(content)));\n                        }\n\n                        // Capture reasoning data from the delta (e.g. for Gemini 3)\n                        if let Some(opaque) = delta.reasoning_opaque.clone() {\n                            state.reasoning_opaque = Some(opaque);\n                        }\n                        if let Some(text) = delta.reasoning_text.clone() {\n                            state.reasoning_text = Some(text);\n                        }\n\n                        for (index, tool_call) in delta.tool_calls.iter().enumerate() {","sourceCodeStart":341,"sourceCodeEnd":377,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/copilot_chat/src/model.rs#L341-L377","documentation":"In map_to_language_model_completion_events: a streamed completion event arrived whose choices array was empty (the `let Some(choice) = event.choices.first() else` branch), so there is no delta or message content to convert into a completion event.","triggerScenarios":"Thrown at crates/copilot_chat/src/model.rs:359 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry the completion; a missing delta is usually a transient protocol glitch","Report/update if it reproduces consistently with a given model"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f4178619acd0d47ea1f76a2025c42962c6d6638c","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}