zed-industries/zed · error

login command should be set

Error message

login command should be set

What it means

Guard in conversation_view.rs expecting the agent's login command to be configured when handling the node-runtime resolution path. Fires if the ACP agent server descriptor lacks a login command, which the surrounding code assumes is present by this point.

Source

Thrown at crates/agent_ui/src/conversation_view.rs:2135

            })
        })
        .detach();
    }

    fn spawn_external_agent_login(
        login: task::SpawnInTerminal,
        workspace: Entity<Workspace>,
        project: Entity<Project>,
        method: acp::AuthMethodId,
        previous_attempt: bool,
        window: &mut Window,
        cx: &mut App,
    ) -> Task<Result<()>> {
        let Some(terminal_panel) = workspace.read(cx).panel::<TerminalPanel>(cx) else {
            return Task::ready(Err(anyhow!("Terminal panel is unavailable")));
        };

        window.spawn(cx, async move |cx| {
            let mut task = login.clone();
            if let Some(cmd) = &task.command {
                // Have "node" command use Zed's managed Node runtime by default
                if cmd == "node" {
                    let resolved_node_runtime = project.update(cx, |project, cx| {
                        let agent_server_store = project.agent_server_store().clone();
                        agent_server_store.update(cx, |store, cx| {
                            store.node_runtime().map(|node_runtime| {
                                cx.background_spawn(async move { node_runtime.binary_path().await })
                            })
                        })
                    });

                    if let Some(resolve_task) = resolved_node_runtime {
                        if let Ok(node_path) = resolve_task.await {
                            task.command = Some(node_path.to_string_lossy().to_string());
                        }
                    }

View on GitHub (pinned to 9d272b0363)

Solutions

  1. Ensure the agent server extension defines a login command
  2. Check that agent metadata was fully loaded before rendering the conversation view
  3. Reinstall or update the agent server extension
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at crates/agent_ui/src/conversation_view.rs:2128 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/8ff57c538f8ba793. Report an issue: GitHub.