zed-industries/zed · error
register_url_scheme unimplemented
Error message
register_url_scheme unimplemented
What it means
Sentinel 'unimplemented' error returned by the Windows platform's `register_url_scheme` implementation: the API contract requires returning a Task, but the Windows backend has no implementation for registering a custom URL protocol handler (unlike macOS/Linux), so it always fails with this stub message.
Source
Thrown at crates/gpui_windows/src/platform.rs:997
};
let password = credential_blob.to_vec();
unsafe { CredFree(credentials as *const _ as _) };
Ok(Some((username, password)))
}
})
}
fn delete_credentials(&self, url: &str) -> Task<Result<()>> {
let target_name = windows_credentials_target_name(url)
.encode_utf16()
.chain(Some(0))
.collect_vec();
self.foreground_executor().spawn(async move {
unsafe {
CredDeleteW(
PCWSTR::from_raw(target_name.as_ptr()),
CRED_TYPE_GENERIC,
None,
)?
};
Ok(())
})
}
fn register_url_scheme(&self, _: &str) -> Task<anyhow::Result<()>> {
Task::ready(Err(anyhow!("register_url_scheme unimplemented")))
}
fn perform_dock_menu_action(&self, action: usize) {
unsafe {
PostMessageW(
Some(self.handle),
WM_GPUI_DOCK_MENU_ACTION,
WPARAM(self.inner.validation_number),
LPARAM(action as isize),
)View on GitHub (pinned to 9d272b0363)
Solutions
- Implement registration via the HKCU\Software\Classes\<scheme> registry keys (no admin rights needed).
- Use the IApplicationActivationManager / app registration APIs for packaged apps.
- Return a clear 'unsupported on this platform' error type callers can check.
- Have callers feature-detect and skip scheme registration on Windows until supported.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/gpui_windows/src/platform.rs:932 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of zed-industries/zed@9d272b0363 (2026-08-20).
Data as JSON: /api/errors/974792ef9a502fd8.
Report an issue: GitHub.