zed-industries/zed · error
Listing available agents is not supported in this environmen
Error message
Listing available agents is not supported in this environment
What it means
Default implementation of ThreadEnvironment::list_available_agents, the companion to create_sibling_thread. Without an environment that supports sibling threads there is no agent/model catalog to list, so the default returns this error.
Source
Thrown at crates/agent/src/thread.rs:797
/// 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,
/// The initial prompt to send to the new thread.
pub prompt: String,
/// Optional agent ID to use. Defaults to the native Zed agent.
pub agent_id: Option<String>,
/// Optional model override, as `provider/model-id`.
/// Defaults to the user's configured default model for the agent.
pub model: Option<String>,
/// Whether to create the thread in a new git worktree workspace.View on GitHub (pinned to bc538def45)
Solutions
- Use NativeThreadEnvironment with the agent panel initialized when you need the catalog.
- Override list_available_agents in your ThreadEnvironment.
- Treat the error as 'feature unavailable' and offer subagent delegation instead.
Defensive patterns
Strategy: fallback
Try / catch
match environment.list_available_agents(cx) {
Ok(agents) => agents,
Err(e) if e.to_string().contains("Listing available agents is not supported") => {
AvailableAgents::default() // empty catalog; disable sibling-thread pickers
}
Err(e) => return Err(e),
} Prevention
- Cache a capability flag per environment instead of probing on every render.
- Hide delegation pickers when the catalog is unavailable.
When it happens
Trigger: Calling list_available_agents on a ThreadEnvironment that did not override it — embedded or test environments without an agent panel host.
Common situations: Delegation pickers probing capabilities in non-native hosts; tests exercising the trait surface.
Related errors
- Creating sibling threads is not supported in this environmen
- Resuming subagent sessions is not supported
- not supported
- delete_session not supported
- delete_sessions not supported
AI-assisted analysis of zed-industries/zed@bc538def45 (2026-08-16).
Data as JSON: /api/errors/b84c06164f5bf58e.
Report an issue: GitHub.