{"record":{"id":"421656053f56f023","repo":"zed-industries/zed","slug":"unsupported-operating-system-unsupported","errorCode":null,"errorMessage":"unsupported operating system {unsupported}","messagePattern":"unsupported operating system (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/dap_adapters/src/codelldb.rs","lineNumber":67,"sourceCode":"        &self,\n        delegate: &Arc<dyn DapDelegate>,\n    ) -> Result<AdapterVersion> {\n        let release =\n            latest_github_release(\"vadimcn/codelldb\", true, false, delegate.http_client()).await?;\n\n        let arch = match std::env::consts::ARCH {\n            \"aarch64\" => \"arm64\",\n            \"x86_64\" => \"x64\",\n            unsupported => {\n                anyhow::bail!(\"unsupported architecture {unsupported}\");\n            }\n        };\n        let platform = match std::env::consts::OS {\n            \"macos\" => \"darwin\",\n            \"linux\" => \"linux\",\n            \"windows\" => \"win32\",\n            unsupported => {\n                anyhow::bail!(\"unsupported operating system {unsupported}\");\n            }\n        };\n        let asset_name = format!(\"codelldb-{platform}-{arch}.vsix\");\n        let ret = AdapterVersion {\n            tag_name: release.tag_name,\n            url: release\n                .assets\n                .iter()\n                .find(|asset| asset.name == asset_name)\n                .with_context(|| format!(\"no asset found matching {asset_name:?}\"))?\n                .browser_download_url\n                .clone(),\n        };\n\n        Ok(ret)\n    }\n}\n","sourceCodeStart":49,"sourceCodeEnd":85,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/dap_adapters/src/codelldb.rs#L49-L85","documentation":"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.","triggerScenarios":"Installing the codelldb debug adapter on an OS outside {macos, linux, windows}: BSD variants, Android/Termux, or other niche targets running a Zed build.","commonSituations":"FreeBSD/illumos workstations; Android dev environments; platform strings differing from the three mapped ones even though a compatible codelldb build might exist upstream.","solutions":["Debug on macOS/Linux/Windows where the codelldb VSIX asset exists","Point the debug config at a system lldb via a custom adapter definition instead of codelldb","Manually download/extract the closest codelldb VSIX and configure its absolute path as the adapter command"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"fn codelldb_os_supported() -> bool {\n    matches!(std::env::consts::OS, \"macos\" | \"linux\" | \"windows\")\n}","typeGuard":"fn is_supported_codelldb_os(os: &str) -> bool {\n    matches!(os, \"macos\" | \"linux\" | \"windows\")\n}","tryCatchPattern":null,"preventionTips":["Gate adapter installs on the OS/arch support matrix, not on failure after the fact","For unsupported OSes, document the custom-adapter escape hatch up front"],"tags":["dap","codelldb","operating-system","lldb","install","rust"],"backgroundTag":"unsupported-operating-system","analyzedSha":"f4178619acd0d47ea1f76a2025c42962c6d6638c","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}