zed-industries/zed · error

unsupported architecture {unsupported}

Error message

unsupported architecture {unsupported}

What it means

fetch_latest_adapter_version in the codelldb adapter maps std::env::consts::ARCH to a VSIX asset suffix (aarch64->arm64, x86_64->x64) before looking for 'codelldb-{platform}-{arch}.vsix' in the vadimcn/codelldb latest GitHub release. Any other arch bails with 'unsupported architecture {unsupported}', stopping the adapter install before any download starts.

Source

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

        Ok(dap::StartDebuggingRequestArguments {
            request,
            configuration,
        })
    }

    async fn fetch_latest_adapter_version(
        &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:?}"))?

View on GitHub (pinned to f4178619ac)

Solutions

  1. Use a 64-bit aarch64/x86_64 system for LLDB debugging via codelldb
  2. Switch the debugger config to use a locally installed lldb/gdb via a custom adapter instead of codelldb
  3. Build codelldb from source for the arch and reference it via a custom adapter command
Defensive patterns

Strategy: validation

Validate before calling

fn codelldb_arch_supported() -> bool {
    matches!(std::env::consts::ARCH, "aarch64" | "x86_64")
}

if !codelldb_arch_supported() {
    // choose a custom adapter backed by a local lldb instead of installing codelldb
}

Type guard

fn is_supported_codelldb_arch(arch: &str) -> bool {
    matches!(arch, "aarch64" | "x86_64")
}

Prevention

When it happens

Trigger: Zed attempts to install/update codelldb on a machine whose arch is not aarch64/x86_64 (32-bit ARM, riscv64, etc.), so the asset-name match would always fail and the code bails early with the arch name.

Common situations: 32-bit OSes on ARM boards; niche architectures with community Zed builds; containers reporting unusual uname/arch personalities.

Related errors


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