{"record":{"id":"6dcb18c1e942a0c5","repo":"zed-industries/zed","slug":"running-on-unsupported-os-other","errorCode":null,"errorMessage":"Running on unsupported os: {other}","messagePattern":"Running on unsupported os: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/dap_adapters/src/go.rs","lineNumber":51,"sourceCode":"\nimpl GoDebugAdapter {\n    const ADAPTER_NAME: &'static str = \"Delve\";\n    async fn fetch_latest_adapter_version(\n        delegate: &Arc<dyn DapDelegate>,\n    ) -> Result<AdapterVersion> {\n        let release = latest_github_release(\n            \"zed-industries/delve-shim-dap\",\n            true,\n            false,\n            delegate.http_client(),\n        )\n        .await?;\n\n        let os = match consts::OS {\n            \"macos\" => \"apple-darwin\",\n            \"linux\" => \"unknown-linux-gnu\",\n            \"windows\" => \"pc-windows-msvc\",\n            other => bail!(\"Running on unsupported os: {other}\"),\n        };\n        let suffix = if consts::OS == \"windows\" {\n            \".zip\"\n        } else {\n            \".tar.gz\"\n        };\n        let asset_name = format!(\"delve-shim-dap-{}-{os}{suffix}\", consts::ARCH);\n        let asset = release\n            .assets\n            .iter()\n            .find(|asset| asset.name == asset_name)\n            .with_context(|| format!(\"no asset found matching `{asset_name:?}`\"))?;\n\n        Ok(AdapterVersion {\n            tag_name: release.tag_name,\n            url: asset.browser_download_url.clone(),\n        })\n    }","sourceCodeStart":33,"sourceCodeEnd":69,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/dap_adapters/src/go.rs#L33-L69","documentation":"The Go adapter's install path maps consts::OS to a delve-shim-dap asset triple (macos->apple-darwin, linux->unknown-linux-gnu, windows->pc-windows-msvc) from the zed-industries/delve-shim-dap GitHub release. Any other OS bails immediately with 'Running on unsupported os: {other}', before asset lookup, since no shim tarball/zip exists for it.","triggerScenarios":"Zed tries to fetch or update the Go debug adapter (delve shim) on an OS outside {macos, linux, windows} - e.g. freebsd or android - making the formatted asset name 'delve-shim-dap-{arch}-{os}{suffix}' unmatchable.","commonSituations":"BSD or Android hosts running community Zed builds; cross-environment setups where the debugger install runs on an unsupported platform.","solutions":["Do Go debugging from macOS/Linux/Windows where the shim is published","Skip the shim: configure a locally installed dlv (go install github.com/go-delve/delve/cmd/dlv@latest) as a custom debug adapter command","Build delve-shim-dap from source on the unsupported OS and point the adapter at it"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"fn go_shim_os_supported() -> bool {\n    matches!(std::env::consts::OS, \"macos\" | \"linux\" | \"windows\")\n}","typeGuard":"fn is_supported_go_shim_os(os: &str) -> bool {\n    matches!(os, \"macos\" | \"linux\" | \"windows\")\n}","tryCatchPattern":null,"preventionTips":["Prefer a locally installed dlv as the adapter on platforms without a published shim","Check the OS support matrix before triggering adapter installation"],"tags":["dap","go","delve","operating-system","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-14T05:17:10.506Z"}