{"record":{"id":"84bac37489addb77","repo":"zed-industries/zed","slug":"failed-to-send-elicitation-request-error","errorCode":null,"errorMessage":"Failed to send elicitation request: {error}","messagePattern":"Failed to send elicitation request: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/agent/src/thread.rs","lineNumber":6426,"sourceCode":"        cx: &mut App,\n    ) -> Task<Result<()>> {\n        // Short-circuit when current settings yield a definitive answer.\n        if let Some(check) = check_settings.as_ref() {\n            match check(cx) {\n                ToolPermissionDecision::Allow => return Task::ready(Ok(())),\n                ToolPermissionDecision::Deny(reason) => {\n                    return Task::ready(Err(anyhow!(reason)));\n                }\n                ToolPermissionDecision::Confirm => {}\n            }\n        }\n\n        let fs = self.fs.clone();\n        let stream = self.stream.clone();\n        let tool_call_id = self.tool_call_id.clone();\n        let auto_resolution_outcomes = if check_settings.is_some() {\n            match (\n                auto_resolve_permission_outcome(&options, true),\n                auto_resolve_permission_outcome(&options, false),\n            ) {\n                (Ok(allow), Ok(deny)) => Some((allow, deny)),\n                (Err(error), _) | (_, Err(error)) => return Task::ready(Err(error)),\n            }\n        } else {\n            None\n        };\n        cx.spawn(async move |cx| {\n            let (response_tx, mut response_rx) = oneshot::channel();\n            if let Err(error) = stream\n                .0\n                .unbounded_send(Ok(ThreadEvent::ToolCallAuthorization(\n                    ToolCallAuthorization {\n                        tool_call: acp::ToolCallUpdate::new(\n                            tool_call_id.clone(),\n                            acp::ToolCallUpdateFields::new().title(title),\n                        ),","sourceCodeStart":6408,"sourceCodeEnd":6444,"githubUrl":"https://github.com/zed-industries/zed/blob/5a9b9558db01a6b906cec2fb70a797affdc58cdd/crates/agent/src/thread.rs#L6408-L6444","documentation":"Sending an MCP elicitation request (server asking the user for input) over the event stream failed; the send error is interpolated and the elicitation fails.","triggerScenarios":"Thrown at crates/agent/src/thread.rs:6423 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["The elicitation request event could not be enqueued because the event stream is closed; fail the elicitation and abort the related tool call","Retry after confirming the thread/stream is still alive","Return an error result for the tool so the model knows user input could not be requested"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5a9b9558db01a6b906cec2fb70a797affdc58cdd","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}