{"record":{"id":"d9e1643786a4bb60","repo":"zed-industries/zed","slug":"prompt-for-new-path-is-not-supported-on-the-web","errorCode":null,"errorMessage":"prompt_for_new_path is not supported on the web","messagePattern":"prompt_for_new_path is not supported on the web","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/gpui_web/src/platform.rs","lineNumber":446,"sourceCode":"            .browser_window\n            .match_media(\"(prefers-color-scheme: dark)\")\n        else {\n            return WindowAppearance::Light;\n        };\n        if media_query.matches() {\n            WindowAppearance::Dark\n        } else {\n            WindowAppearance::Light\n        }\n    }\n\n    fn open_url(&self, url: &str) {\n        if let Err(error) = self.browser_window.open_with_url(url) {\n            log::warn!(\"Failed to open URL '{url}': {error:?}\");\n        }\n    }\n\n    fn on_open_urls(&self, callback: Box<dyn FnMut(Vec<String>)>) {\n        self.callbacks.borrow_mut().open_urls = Some(callback);\n    }\n\n    fn register_url_scheme(&self, _url: &str) -> Task<Result<()>> {\n        Task::ready(Ok(()))\n    }\n\n    fn prompt_for_paths(\n        &self,\n        _options: PathPromptOptions,\n    ) -> oneshot::Receiver<Result<Option<Vec<PathBuf>>>> {\n        let (tx, rx) = oneshot::channel();\n        tx.send(Err(anyhow::anyhow!(\n            \"prompt_for_paths is not supported on the web\"\n        )))\n        .ok();\n        rx\n    }","sourceCodeStart":428,"sourceCodeEnd":464,"githubUrl":"https://github.com/zed-industries/zed/blob/9d272b036335401f339d024ea94968fd51016c40/crates/gpui_web/src/platform.rs#L428-L464","documentation":"Sentinel from the web platform's prompt_for_new_path: browsers have no native save-as dialog, so the returned channel always resolves with this error. Fires whenever a create/save-file prompt is requested on the web.","triggerScenarios":"Thrown at crates/gpui_web/src/platform.rs:446 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a web download flow or the File System Access API (showSaveFilePicker) instead","Disable save-as prompts on the web via capability detection","Handle the sentinel at call sites to offer an alternative (e.g. download to disk)"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9d272b036335401f339d024ea94968fd51016c40","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}