zed-industries/zed · error · anyhow::Error

Failed to fetch kernel specs: {}

Error message

Failed to fetch kernel specs: {}

What it means

HTTP status guard in list_remote_kernelspecs(): the GET {base}/kernelspecs request to the remote Jupyter server returned a non-success status (bad token, server error, wrong URL). Spec listing aborts with the status code embedded in the error.

Source

Thrown at crates/repl/src/kernels/remote_kernels.rs:80

    Ok(response.id)
}

pub async fn list_remote_kernelspecs(
    remote_server: RemoteServer,
    http_client: Arc<dyn HttpClient>,
) -> Result<Vec<RemoteKernelSpecification>> {
    let url = remote_server.api_url("/kernelspecs");

    let request = Request::builder()
        .method("GET")
        .uri(&url)
        .header("Authorization", format!("token {}", remote_server.token))
        .body(AsyncBody::default())?;

    let response = http_client.send(request).await?;

    anyhow::ensure!(
        response.status().is_success(),
        "Failed to fetch kernel specs: {}",
        response.status()
    );
    let mut body = response.into_body();

    let mut body_bytes = Vec::new();
    body.read_to_end(&mut body_bytes).await?;

    let kernel_specs: KernelSpecsResponse = serde_json::from_slice(&body_bytes)?;

    let remote_kernelspecs = kernel_specs
        .kernelspecs
        .into_iter()
        .map(|(name, spec)| RemoteKernelSpecification {
            name,
            url: remote_server.base_url.clone(),
            token: remote_server.token.clone(),

View on GitHub (pinned to f4178619ac)

Solutions

  1. Verify the remote Jupyter-compatible server URL and token are correct
  2. Check that the remote server is running and reachable
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at crates/repl/src/kernels/remote_kernels.rs:80 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/396c21e582dd13b6. Report an issue: GitHub.