zed-industries/zed · error
cannot open buffer while disconnected
Error message
cannot open buffer while disconnected
What it means
Raised during remote buffer operations (open_buffer_by_id path): the project is currently disconnected from its remote server, so opening a buffer cannot proceed. It is a connection-state guard mirroring ErrorCode::Disconnected.
Source
Thrown at crates/project/src/project.rs:3431
cx: &mut Context<Self>,
) -> Task<Result<Entity<Buffer>>> {
if let Some(buffer) = self.buffer_for_id(id, cx) {
Task::ready(Ok(buffer))
} else if self.is_local() || self.is_via_remote_server() {
Task::ready(Err(anyhow!("buffer {id} does not exist")))
} else if let Some(project_id) = self.remote_id() {
let request = self.collab_client.request(proto::OpenBufferById {
project_id,
id: id.into(),
});
cx.spawn(async move |project, cx| {
let buffer_id = BufferId::new(request.await?.buffer_id)?;
project
.update(cx, |project, cx| {
project.buffer_store.update(cx, |buffer_store, cx| {
buffer_store.wait_for_remote_buffer(buffer_id, cx)
})
})?
.await
})
} else {
Task::ready(Err(anyhow!("cannot open buffer while disconnected")))
}
}
pub fn save_buffers(
&self,
buffers: HashSet<Entity<Buffer>>,
cx: &mut Context<Self>,
) -> Task<Result<()>> {
cx.spawn(async move |this, cx| {
let save_tasks = buffers.into_iter().filter_map(|buffer| {
this.update(cx, |this, cx| this.save_buffer(buffer, cx))
.ok()
});
try_join_all(save_tasks).await?;View on GitHub (pinned to 9d272b0363)
Solutions
- Reconnect to the remote project and retry
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at crates/project/src/project.rs:3418 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/7b10701a57b4c117.
Report an issue: GitHub.