zed-industries/zed · error · anyhow::Error
{e:?}
Error message
{e:?} What it means
A pass-through of the error returned by an extension's get_debug_adapter_binary implementation ({e:?} is the Debug rendering of the inner error, likely a Result::Err(String) from the extension or a task conversion failure via try_into). The host simply relays the extension-produced failure for the requested debug adapter, so the root cause is inside the extension's DAP binary resolution logic.
Source
Thrown at crates/extension_host/src/wasm_host/wit.rs:1070
&self,
store: &mut Store<WasmState>,
adapter_name: Arc<str>,
task: DebugTaskDefinition,
user_installed_path: Option<PathBuf>,
resource: Resource<Arc<dyn WorktreeDelegate>>,
) -> Result<Result<DebugAdapterBinary, String>> {
match self {
Extension::V0_8_0(ext) => {
let dap_binary = ext
.call_get_dap_binary(
store,
&adapter_name,
&task.try_into()?,
user_installed_path.as_ref().and_then(|p| p.to_str()),
resource,
)
.await?
.map_err(|e| anyhow!("{e:?}"))?;
Ok(Ok(dap_binary))
}
Extension::V0_6_0(ext) => {
let task: latest::DebugTaskDefinition = task.try_into()?;
let dap_binary = ext
.call_get_dap_binary(
store,
&adapter_name,
&task.into(),
user_installed_path.as_ref().and_then(|p| p.to_str()),
resource,
)
.await?
.map_err(|e| anyhow!("{e:?}"))?;
Ok(Ok(dap_binary.into()))
}View on GitHub (pinned to f4178619ac)
Solutions
- Inspect the debugged extension's get_debug_adapter_binary implementation — download path, architecture detection, or executable resolution failed
- Report the error string to the user alongside the adapter name so they can fix the extension config
- Ensure the DebugTaskDefinition converts cleanly (try_into) — malformed task definitions surface here too
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at crates/extension_host/src/wasm_host/wit.rs:1070 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of zed-industries/zed@f4178619ac (2026-08-20).
Data as JSON: /api/errors/994c268886541535.
Report an issue: GitHub.