zed-industries/zed · error · anyhow::Error
`suggest_docs_packages` not available prior to v0.1.0
Error message
`suggest_docs_packages` not available prior to v0.1.0
What it means
Documentation indexing can ask extensions for suggested packages via call_suggest_docs_packages, an export that exists only from WIT v0.1.0 onward. Dispatching it against a v0.0.1, v0.0.4, or v0.0.6 extension bails with this message.
Source
Thrown at crates/extension_host/src/wasm_host/wit.rs:1004
}
}
}
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(_) => {
anyhow::bail!("`suggest_docs_packages` not available prior to v0.1.0");
}
}
}
pub async fn call_index_docs(
&self,
store: &mut Store<WasmState>,
provider: &str,
package_name: &str,
kv_store: Resource<Arc<dyn KeyValueStoreDelegate>>,
) -> Result<Result<(), String>> {
match self {
Extension::V0_8_0(ext) => {
ext.call_index_docs(store, provider, package_name, kv_store)
.await
}
Extension::V0_6_0(ext) => {
ext.call_index_docs(store, provider, package_name, kv_store)View on GitHub (pinned to f4178619ac)
Solutions
- Bump zed_extension_api to >= 0.1.0 in the extension and rebuild.
- Update to the extension's latest published release.
- Disable the docs provider feature for that extension until it is rebuilt.
Example fix
# before (extension Cargo.toml) [dependencies] zed_extension_api = "0.0.6" # after [dependencies] zed_extension_api = "0.1.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, 1, 0) {
// docs package suggestions unsupported; fall back to user-entered packages
return Ok(vec![]);
} Type guard
fn supports_suggest_docs_packages(ext: &Extension) -> bool {
!matches!(
ext,
Extension::V0_0_1(_) | Extension::V0_0_4(_) | Extension::V0_0_6(_)
)
} Prevention
- Rebuild docs-provider extensions with zed_extension_api >= 0.1.0.
- Treat docs-suggestion as optional: skip gracefully for old api-versions.
- Pin and update zed_extension_api deliberately, not via a stale Cargo.lock.
When it happens
Trigger: Zed's docs-indexing flow queries a docs provider implemented by an extension compiled against zed_extension_api 0.0.x.
Common situations: A documentation-provider extension built before the suggest_docs_packages export existed, still installed after Zed started calling it; local dev builds pinned to an old API version.
Related errors
- `index_docs` not available prior to v0.1.0
- `run_slash_command` not available prior to v0.1.0
- `context_server_command` not available prior to v0.2.0
- `context_server_configuration` not available prior to v0.5.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/b94104397c95af52.
Report an issue: GitHub.