astral-sh/ruff · error · anyhow::Error
Document controller not available at `{uri}`
Error message
Document controller not available at `{uri}` What it means
Error "Document controller not available at `{uri}`" thrown in astral-sh/ruff.
Source
Thrown at crates/ruff_server/src/session/index.rs:352
}
pub(super) fn client_settings(&self, key: &DocumentKey) -> Option<Arc<ClientSettings>> {
let uri = self.uri_for_key(key)?;
let WorkspaceSettings {
client_settings, ..
} = self.settings_for_uri(uri)?;
Some(client_settings.clone())
}
fn document_controller_for_key(
&mut self,
key: &DocumentKey,
) -> crate::Result<&mut DocumentController> {
let Some(uri) = self.uri_for_key(key).cloned() else {
anyhow::bail!("Tried to open unavailable document `{key}`");
};
let Some(controller) = self.documents.get_mut(&uri) else {
anyhow::bail!("Document controller not available at `{uri}`");
};
Ok(controller)
}
fn uri_for_key<'a>(&'a self, key: &'a DocumentKey) -> Option<&'a Uri> {
match key {
DocumentKey::Notebook(path) | DocumentKey::Text(path) => Some(path),
DocumentKey::NotebookCell(uri) => self.notebook_cells.get(uri),
}
}
fn settings_for_uri(&self, uri: &Uri) -> Option<&WorkspaceSettings> {
if let Ok(path) = uri.to_file_path() {
self.settings_for_path(&path)
} else {
// If there's only a single workspace, use that configuration for an untitled document.
if self.settings.len() == 1 {
tracing::debug!(View on GitHub (pinned to 672bb4edf0)
When it happens
Trigger: Thrown at crates/ruff_server/src/session/index.rs:352 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of astral-sh/ruff@672bb4edf0 (2026-08-16).
Data as JSON: /api/errors/6dc68873bf88ac90.
Report an issue: GitHub.