{"record":{"id":"3dcbb2ce7ce49dc0","repo":"zed-industries/zed","slug":"get-dap-binary-not-available-prior-to-v0-6-0","errorCode":null,"errorMessage":"`get_dap_binary` not available prior to v0.6.0","messagePattern":"`get_dap_binary` not available prior to v0\\.6\\.0","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/extension_host/src/wasm_host/wit.rs","lineNumber":1097,"sourceCode":"                        &adapter_name,\n                        &task.into(),\n                        user_installed_path.as_ref().and_then(|p| p.to_str()),\n                        resource,\n                    )\n                    .await?\n                    .map_err(|e| anyhow!(\"{e:?}\"))?;\n\n                Ok(Ok(dap_binary.into()))\n            }\n            Extension::V0_5_0(_)\n            | Extension::V0_4_0(_)\n            | Extension::V0_3_0(_)\n            | Extension::V0_2_0(_)\n            | Extension::V0_1_0(_)\n            | Extension::V0_0_6(_)\n            | Extension::V0_0_4(_)\n            | Extension::V0_0_1(_) => {\n                anyhow::bail!(\"`get_dap_binary` not available prior to v0.6.0\");\n            }\n        }\n    }\n\n    pub async fn call_dap_request_kind(\n        &self,\n        store: &mut Store<WasmState>,\n        adapter_name: Arc<str>,\n        config: serde_json::Value,\n    ) -> Result<Result<StartDebuggingRequestArgumentsRequest, String>> {\n        match self {\n            Extension::V0_8_0(ext) => {\n                let config =\n                    serde_json::to_string(&config).context(\"Adapter config is not a valid JSON\")?;\n                let dap_binary = ext\n                    .call_dap_request_kind(store, &adapter_name, &config)\n                    .await?\n                    .map_err(|e| anyhow!(\"{e:?}\"))?;","sourceCodeStart":1079,"sourceCodeEnd":1115,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/extension_host/src/wasm_host/wit.rs#L1079-L1115","documentation":"Debug-adapter support calls into extensions via call_get_dap_binary, an export that exists only from WIT v0.6.0. Extensions compiled against v0.0.1 through v0.5.0 hit the bail arm listing all too-old variants.","triggerScenarios":"Starting a debug session with a debug adapter declared by an extension built with zed_extension_api < 0.6.0; the host tries to fetch the DAP binary from the extension and bails.","commonSituations":"Debug-adapter extensions built before the v0.6.0 DAP interface shipped; local extension development with a stale Cargo.lock pinning an older API version.","solutions":["Bump zed_extension_api to >= 0.6.0 in the extension's Cargo.toml, update Cargo.lock, and rebuild.","Install the latest published version of the debug adapter extension.","Until rebuilt, configure the adapter outside the extension (e.g. a user-provided binary path)."],"exampleFix":"# before (extension Cargo.toml)\n[dependencies]\nzed_extension_api = \"0.5.0\"\n\n# after\n[dependencies]\nzed_extension_api = \"0.6.0\"","handlingStrategy":"validation","validationCode":"let api_version = extension_host::parse_wasm_extension_version(extension_id, &wasm_bytes)?;\nif api_version < semver::Version::new(0, 6, 0) {\n    // adapter cannot supply a binary; require a user-configured path instead\n    anyhow::bail!(\"debug adapter extension requires api-version >= 0.6.0\");\n}","typeGuard":"fn supports_get_dap_binary(ext: &Extension) -> bool {\n    !matches!(\n        ext,\n        Extension::V0_0_1(_)\n            | Extension::V0_0_4(_)\n            | Extension::V0_0_6(_)\n            | Extension::V0_1_0(_)\n            | Extension::V0_2_0(_)\n            | Extension::V0_3_0(_)\n            | Extension::V0_4_0(_)\n            | Extension::V0_5_0(_)\n    )\n}","tryCatchPattern":null,"preventionTips":["Build debug-adapter extensions with zed_extension_api >= 0.6.0 from the start.","Check the wasm's parsed api-version before starting debug sessions that rely on extension-supplied binaries.","Offer a user-configured binary path as a fallback for old extensions."],"tags":["wasm","extension","api-version","dap","debug-adapter"],"backgroundTag":"api-version-unsupported","analyzedSha":"f4178619acd0d47ea1f76a2025c42962c6d6638c","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}