zed-industries/zed · error
credential storage is not available on the web
Error message
credential storage is not available on the web
What it means
Raised in the gpui web platform's credential handling: write/read credentials is invoked, but browser environments provide no secure credential-storage backend, so the platform stub rejects the operation. It is a capability guard, not an authentication failure.
Source
Thrown at crates/gpui_web/src/platform.rs:641
// other web apps routinely carry `text/html` and
// `web application/...` custom formats whose `getType`
// fetches would be wasted or rejected.
if mime_type == "text/plain" {
match read_clipboard_item_text(&item, &mime_type).await {
Ok(text) if !text.is_empty() => {
entries.push(ClipboardEntry::String(ClipboardString::new(text)));
}
Ok(_) => {}
Err(error) => log_clipboard_entry_error(&mime_type, &error),
}
} else if let Some(format) = ImageFormat::from_mime_type(&mime_type) {
match read_clipboard_item_bytes(&item, &mime_type).await {
Ok(bytes) => {
entries
.push(ClipboardEntry::Image(Image::from_bytes(format, bytes)));
}
Err(error) => log_clipboard_entry_error(&mime_type, &error),
}
} else {
saw_unsupported_type = true;
}
}
}
if !entries.is_empty() {
Ok(Some(ClipboardItem { entries }))
} else if saw_unsupported_type {
Err(ClipboardReadError::UnsupportedContent)
} else {
Ok(None)
}
})
}
fn write_to_clipboard(&self, item: ClipboardItem) {
if let Some(text) = item.text()
&& let Some(window) = web_sys::window()View on GitHub (pinned to 9d272b0363)
Solutions
- Use the Web Authentication / Credential Management APIs or server-side storage on the web
- Detect the platform and skip secret-storage features in web builds
- Handle the sentinel so auth flows fall back to in-memory or session-only credentials
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/gpui_web/src/platform.rs:631 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/b9e9e3a2f98508ec.
Report an issue: GitHub.