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

  1. Abort the tool call awaiting elicitation; the response will never arrive
  2. Re-issue the request to trigger a fresh elicitation prompt
  3. 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.