zed-industries/zed · error

unsupported operating system {unsupported}

Error message

unsupported operating system {unsupported}

What it means

Companion to the arch check in codelldb's fetch_latest_adapter_version: std::env::consts::OS must be one of macos/linux/windows (mapped to darwin/linux/win32) to construct the codelldb VSIX asset name. Anything else - freebsd, android, etc. - bails with 'unsupported operating system {unsupported}' before the release assets are searched.

Source

Thrown at crates/dap_adapters/src/codelldb.rs:67

        &self,
        delegate: &Arc<dyn DapDelegate>,
    ) -> Result<AdapterVersion> {
        let release =
            latest_github_release("vadimcn/codelldb", true, false, delegate.http_client()).await?;

        let arch = match std::env::consts::ARCH {
            "aarch64" => "arm64",
            "x86_64" => "x64",
            unsupported => {
                anyhow::bail!("unsupported architecture {unsupported}");
            }
        };
        let platform = match std::env::consts::OS {
            "macos" => "darwin",
            "linux" => "linux",
            "windows" => "win32",
            unsupported => {
                anyhow::bail!("unsupported operating system {unsupported}");
            }
        };
        let asset_name = format!("codelldb-{platform}-{arch}.vsix");
        let ret = AdapterVersion {
            tag_name: release.tag_name,
            url: release
                .assets
                .iter()
                .find(|asset| asset.name == asset_name)
                .with_context(|| format!("no asset found matching {asset_name:?}"))?
                .browser_download_url
                .clone(),
        };

        Ok(ret)
    }
}

View on GitHub (pinned to f4178619ac)

Solutions

  1. Debug on macOS/Linux/Windows where the codelldb VSIX asset exists
  2. Point the debug config at a system lldb via a custom adapter definition instead of codelldb
  3. Manually download/extract the closest codelldb VSIX and configure its absolute path as the adapter command
Defensive patterns

Strategy: validation

Validate before calling

fn codelldb_os_supported() -> bool {
    matches!(std::env::consts::OS, "macos" | "linux" | "windows")
}

Type guard

fn is_supported_codelldb_os(os: &str) -> bool {
    matches!(os, "macos" | "linux" | "windows")
}

Prevention

When it happens

Trigger: Installing the codelldb debug adapter on an OS outside {macos, linux, windows}: BSD variants, Android/Termux, or other niche targets running a Zed build.

Common situations: FreeBSD/illumos workstations; Android dev environments; platform strings differing from the three mapped ones even though a compatible codelldb build might exist upstream.

Related errors


AI-assisted analysis of zed-industries/zed@f4178619ac (2026-08-20). Data as JSON: /api/errors/421656053f56f023. Report an issue: GitHub.