zed-industries/zed · error
elicitation channel closed
Error message
elicitation channel closed
What it means
Returned when, after successfully sending an ElicitationRequest, the oneshot response channel is closed before the answer arrives (the UI side dropped the request). No elicitation response can ever be produced, so the operation fails with this sentinel.
Source
Thrown at crates/agent/src/thread.rs:6431
ToolPermissionDecision::Allow => return Task::ready(Ok(())),
ToolPermissionDecision::Deny(reason) => {
return Task::ready(Err(anyhow!(reason)));
}
ToolPermissionDecision::Confirm => {}
}
}
let fs = self.fs.clone();
let stream = self.stream.clone();
let tool_call_id = self.tool_call_id.clone();
let auto_resolution_outcomes = if check_settings.is_some() {
match (
auto_resolve_permission_outcome(&options, true),
auto_resolve_permission_outcome(&options, false),
) {
(Ok(allow), Ok(deny)) => Some((allow, deny)),
(Err(error), _) | (_, Err(error)) => return Task::ready(Err(error)),
}
} else {
None
};
cx.spawn(async move |cx| {
let (response_tx, mut response_rx) = oneshot::channel();
if let Err(error) = stream
.0
.unbounded_send(Ok(ThreadEvent::ToolCallAuthorization(
ToolCallAuthorization {
tool_call: acp::ToolCallUpdate::new(
tool_call_id.clone(),
acp::ToolCallUpdateFields::new().title(title),
),
options,
response: response_tx,
context,
kind: acp_thread::AuthorizationKind::PermissionGrant,
},View on GitHub (pinned to 5a9b9558db)
Solutions
- Abort the tool call awaiting elicitation; the response will never arrive
- Re-issue the request to trigger a fresh elicitation prompt
- Investigate why the requesting UI dropped (thread cancelled, window closed)
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at crates/agent/src/thread.rs:6428 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of zed-industries/zed@5a9b9558db (2026-08-20).
Data as JSON: /api/errors/b711d04a5614563d.
Report an issue: GitHub.