zed-industries/zed · error · anyhow::Error
unreleased versions of the extension API can only be used on
Error message
unreleased versions of the extension API can only be used on development builds of Zed
What it means
A wasm extension was compiled against an unreleased zed_extension_api version, but authorization (authorize_access_to_unreleased_wasm_api_version) refused it because the running Zed release channel is Stable or Preview — only Dev and Nightly builds may use API versions that have not shipped. The guard protects stable users from extensions depending on not-yet-released APIs.
Source
Thrown at crates/extension_host/src/wasm_host/wit.rs:86
since_v0_0_1::MIN_VERSION..=max_version
}
/// Authorizes access to use unreleased versions of the Wasm API, based on the provided [`ReleaseChannel`].
///
/// Note: If there isn't currently an unreleased Wasm API version this function may be unused. Don't delete it!
pub fn authorize_access_to_unreleased_wasm_api_version(
release_channel: ReleaseChannel,
) -> Result<()> {
let allow_unreleased_version = match release_channel {
ReleaseChannel::Dev | ReleaseChannel::Nightly => true,
ReleaseChannel::Stable | ReleaseChannel::Preview => {
// We always allow the latest in tests so that the extension tests pass on release branches.
cfg!(any(test, feature = "test-support"))
}
};
anyhow::ensure!(
allow_unreleased_version,
"unreleased versions of the extension API can only be used on development builds of Zed"
);
Ok(())
}
pub enum Extension {
V0_8_0(since_v0_8_0::Extension),
V0_6_0(since_v0_6_0::Extension),
V0_5_0(since_v0_5_0::Extension),
V0_4_0(since_v0_4_0::Extension),
V0_3_0(since_v0_3_0::Extension),
V0_2_0(since_v0_2_0::Extension),
V0_1_0(since_v0_1_0::Extension),
V0_0_6(since_v0_0_6::Extension),
V0_0_4(since_v0_0_4::Extension),
V0_0_1(since_v0_0_1::Extension),View on GitHub (pinned to f4178619ac)
Solutions
- Run the extension on a Dev or Nightly build of Zed to use unreleased APIs
- Compile the extension against the latest released extension API version for Stable/Preview compatibility
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/extension_host/src/wasm_host/wit.rs:86 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/6846cebd5ca20e06.
Report an issue: GitHub.