zed-industries/zed · error

terminal not yet supported for collaborative projects

Error message

terminal not yet supported for collaborative projects

What it means

Explicit capability guard in add_center_terminal: the workspace is a collaborative (shared) project and local terminals are not supported for collaboration participants, so the request is rejected rather than spawning a terminal that others cannot see correctly.

Source

Thrown at crates/terminal_view/src/terminal_panel.rs:877

        window: &mut Window,
        cx: &mut Context<Self>,
    ) -> Task<Result<WeakEntity<Terminal>>> {
        self.add_terminal_shell_internal(true, None, reveal_strategy, window, cx)
    }

    fn add_terminal_shell_internal(
        &mut self,
        force_local: bool,
        cwd: Option<PathBuf>,
        reveal_strategy: RevealStrategy,
        window: &mut Window,
        cx: &mut Context<Self>,
    ) -> Task<Result<WeakEntity<Terminal>>> {
        let workspace = self.workspace.clone();

        cx.spawn_in(window, async move |terminal_panel, cx| {
            if workspace.update(cx, |workspace, cx| !is_enabled_in_workspace(workspace, cx))? {
                anyhow::bail!("terminal not yet supported for collaborative projects");
            }
            let pane = terminal_panel.update(cx, |terminal_panel, _| {
                terminal_panel.pending_terminals_to_add += 1;
                terminal_panel.active_pane.clone()
            })?;
            let project = workspace.read_with(cx, |workspace, _| workspace.project().clone())?;
            let terminal = if force_local {
                project
                    .update(cx, |project, cx| project.create_local_terminal(cx))
                    .await
            } else {
                project
                    .update(cx, |project, cx| project.create_terminal_shell(cwd, cx))
                    .await
            };

            match terminal {
                Ok(terminal) => {

View on GitHub (pinned to f4178619ac)

Solutions

  1. Open the project locally instead of via collaboration sharing
  2. Use a shared task or channel instead of a terminal for collaboration
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at crates/terminal_view/src/terminal_panel.rs:877 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/e930399be09642cd. Report an issue: GitHub.