zed-industries/zed · error
OAuth callback server was cancelled by another sign-in attem
Error message
OAuth callback server was cancelled by another sign-in attempt
What it means
Supersession signal in the callback server loop: a request hit the /cancel path, meaning a newer sign-in attempt evicted this server; the pending receiver is resolved with this error so the stale attempt fails cleanly rather than hanging until timeout.
Source
Thrown at crates/oauth_callback_server/src/oauth_callback_server.rs:298
};
let raw_url = request.url().to_string();
let raw_path = raw_url.split('?').next().unwrap_or(&raw_url);
if raw_path == CANCEL_PATH {
let response = tiny_http::Response::from_string("Cancelled")
.with_status_code(200)
.with_header(
tiny_http::Header::from_str("Content-Type: text/plain")
.expect("failed to construct response header"),
)
.with_header(
tiny_http::Header::from_str("Connection: close")
.expect("failed to construct response header"),
);
if let Err(err) = request.respond(response) {
log::error!("Failed to send OAuth cancel response: {}", err);
}
let _ = tx.send(Err(anyhow!(
"OAuth callback server was cancelled by another sign-in attempt"
)));
return;
}
let result = handle_oauth_callback_request(&request, expected_path);
let (status_code, body) = match &result {
Ok(_) => (
200,
oauth_callback_page(
"Authorization Successful",
"You can close this tab and return to Zed.",
false,
),
),
Err(err) => {
log::error!("OAuth callback error: {}", err);View on GitHub (pinned to f4178619ac)
Solutions
- Ignore the stale attempt and complete the newest sign-in flow
- If no new sign-in started, restart the OAuth flow
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at crates/oauth_callback_server/src/oauth_callback_server.rs:298 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of zed-industries/zed@f4178619ac (2026-08-20).
Data as JSON: /api/errors/e48c097682683a19.
Report an issue: GitHub.