zed-industries/zed · error · anyhow::Error
`context_server_configuration` not available prior to v0.5.0
Error message
`context_server_configuration` not available prior to v0.5.0
What it means
call_context_server_configuration dispatches context-server configuration through the WIT interface only from v0.5.0 onward. Extensions compiled against any of v0.0.1 through v0.4.0 hit the bail arm with this message when the host asks them for context server configuration.
Source
Thrown at crates/extension_host/src/wasm_host/wit.rs:985
ext.call_context_server_configuration(store, &context_server_id, project)
.await
}
Extension::V0_6_0(ext) => {
ext.call_context_server_configuration(store, &context_server_id, project)
.await
}
Extension::V0_5_0(ext) => {
ext.call_context_server_configuration(store, &context_server_id, project)
.await
}
Extension::V0_0_1(_)
| Extension::V0_0_4(_)
| Extension::V0_0_6(_)
| Extension::V0_1_0(_)
| Extension::V0_2_0(_)
| Extension::V0_3_0(_)
| Extension::V0_4_0(_) => {
anyhow::bail!("`context_server_configuration` not available prior to v0.5.0");
}
}
}
pub async fn call_suggest_docs_packages(
&self,
store: &mut Store<WasmState>,
provider: &str,
) -> Result<Result<Vec<String>, String>> {
match self {
Extension::V0_8_0(ext) => ext.call_suggest_docs_packages(store, provider).await,
Extension::V0_6_0(ext) => ext.call_suggest_docs_packages(store, provider).await,
Extension::V0_5_0(ext) => ext.call_suggest_docs_packages(store, provider).await,
Extension::V0_4_0(ext) => ext.call_suggest_docs_packages(store, provider).await,
Extension::V0_3_0(ext) => ext.call_suggest_docs_packages(store, provider).await,
Extension::V0_2_0(ext) => ext.call_suggest_docs_packages(store, provider).await,
Extension::V0_1_0(ext) => ext.call_suggest_docs_packages(store, provider).await,
Extension::V0_0_1(_) | Extension::V0_0_4(_) | Extension::V0_0_6(_) => {View on GitHub (pinned to f4178619ac)
Solutions
- Raise zed_extension_api to >= 0.5.0 in the extension's Cargo.toml and rebuild.
- Reinstall the rebuilt extension locally or publish a new version.
- Clean out old installed copies of the extension so only the rebuilt wasm is dispatched.
Example fix
# before (extension Cargo.toml) [dependencies] zed_extension_api = "0.4.0" # after [dependencies] zed_extension_api = "0.5.0"
Defensive patterns
Strategy: validation
Validate before calling
let api_version = extension_host::parse_wasm_extension_version(extension_id, &wasm_bytes)?;
if api_version < semver::Version::new(0, 5, 0) {
// cannot ask this extension for context server configuration
return Ok(None);
} Type guard
fn supports_context_server_configuration(ext: &Extension) -> bool {
!matches!(
ext,
Extension::V0_0_1(_)
| Extension::V0_0_4(_)
| Extension::V0_0_6(_)
| Extension::V0_1_0(_)
| Extension::V0_2_0(_)
| Extension::V0_3_0(_)
| Extension::V0_4_0(_)
)
} Prevention
- Keep context-server extensions on zed_extension_api >= 0.5.0.
- Parse and store the wasm api-version at load time; consult it before every versioned dispatch.
- Automate extension rebuilds when the host's WIT interfaces gain exports.
When it happens
Trigger: An extension exposing a context server but built with zed_extension_api < 0.5.0 receives a call_context_server_configuration dispatch from a newer Zed.
Common situations: Zed gained context-server configuration support and old extension builds remain installed; extension authors copying an old template project with an outdated zed_extension_api pin.
Related errors
- `context_server_command` not available prior to v0.2.0
- `run_slash_command` not available prior to v0.1.0
- `suggest_docs_packages` not available prior to v0.1.0
- `index_docs` not available prior to v0.1.0
- `get_dap_binary` not available prior to v0.6.0
AI-assisted analysis of zed-industries/zed@f4178619ac (2026-08-20).
Data as JSON: /api/errors/d0c40fa4ecdca5a5.
Report an issue: GitHub.