zed-industries/zed · error

Creating sibling threads is not supported in this environmen

Error message

Creating sibling threads is not supported in this environment

What it means

Default implementation of ThreadEnvironment::create_sibling_thread. Sibling threads are first-class sidebar threads; only environments wired to an agent panel (like NativeThreadEnvironment) support them, so the default returns this error.

Source

Thrown at crates/agent/src/thread.rs:789

        _session_id: acp::SessionId,
        _cx: &mut App,
    ) -> Result<Rc<dyn SubagentHandle>> {
        Err(anyhow::anyhow!(
            "Resuming subagent sessions is not supported"
        ))
    }

    /// Creates an independent sibling thread visible in the agent sidebar.
    /// Unlike subagents, sibling threads are first-class threads that persist
    /// and run in parallel without reporting results back to the parent.
    fn create_sibling_thread(
        &self,
        request: SiblingThreadRequest,
        cx: &mut AsyncApp,
    ) -> Task<Result<SiblingThreadInfo>> {
        let _ = request;
        let _ = cx;
        Task::ready(Err(anyhow::anyhow!(
            "Creating sibling threads is not supported in this environment"
        )))
    }

    /// Lists the agents and models available for use with `create_sibling_thread`.
    fn list_available_agents(&self, cx: &mut App) -> Result<AvailableAgents> {
        let _ = cx;
        Err(anyhow::anyhow!(
            "Listing available agents is not supported in this environment"
        ))
    }
}

/// A request to create a new sibling thread.
#[derive(Debug, Clone)]
pub struct SiblingThreadRequest {
    /// A short title for the new thread, shown in the sidebar.
    pub title: SharedString,

View on GitHub (pinned to bc538def45)

Solutions

  1. Run under NativeThreadEnvironment (with the agent panel initialized) when sibling threads are needed.
  2. Implement create_sibling_thread in your ThreadEnvironment.
  3. Fall back to a subagent, which reports results back to the parent and needs no host.
Defensive patterns

Strategy: fallback

Try / catch

match environment.create_sibling_thread(request, cx).await {
    Ok(info) => info,
    Err(e) if e.to_string().contains("sibling threads is not supported") => {
        // fall back to a subagent that reports back to the parent
        environment.create_subagent(label, cx)?
    }
    Err(e) => return Err(e),
}

Prevention

When it happens

Trigger: A tool calling create_sibling_thread on a ThreadEnvironment that did not override it — any embedded, test, or non-native environment.

Common situations: Agent code running outside the Zed workspace UI; prompt tooling that assumes sidebar delegation is always available.

Related errors


AI-assisted analysis of zed-industries/zed@bc538def45 (2026-08-16). Data as JSON: /api/errors/723ead2c99b7f939. Report an issue: GitHub.