zed-industries/zed · error

Couldn't find any locator for task `{}`. Specify the `attach

Error message

Couldn't find any locator for task `{}`. Specify the `attach` or `launch` arguments in your debug scenario definition

What it means

run_debug_locator ran the configured build command through every locator for the task, and none produced a runnable debug target (PID or binary path). Additionally, the definition lacks explicit `attach`/`launch` arguments that could serve as a fallback, so the scenario cannot be resolved.

Source

Thrown at crates/project/src/debugger/dap_store.rs:420

                let executor = cx.background_executor().clone();

                if let Some(locator) = locator.cloned() {
                    cx.background_spawn(async move {
                        let result = locator
                            .run(build_command.clone(), executor)
                            .await
                            .log_with_level(log::Level::Error);
                        if let Some(result) = result {
                            return Ok(result);
                        }

                        anyhow::bail!(
                            "None of the locators for task `{}` completed successfully",
                            build_command.label
                        )
                    })
                } else {
                    Task::ready(Err(anyhow!(
                        "Couldn't find any locator for task `{}`. Specify the `attach` or `launch` arguments in your debug scenario definition",
                        build_command.label
                    )))
                }
            }
            DapStoreMode::Remote(remote) => {
                let request = remote.upstream_client.request(proto::RunDebugLocators {
                    project_id: remote.upstream_project_id,
                    build_command: Some(build_command.to_proto()),
                    locator: locator_name.to_owned(),
                });
                cx.background_spawn(async move {
                    let response = request.await?;
                    DebugRequest::from_proto(response)
                })
            }
            DapStoreMode::Collab => {
                Task::ready(Err(anyhow!("Debugging is not yet supported via collab")))

View on GitHub (pinned to f4178619ac)

Solutions

  1. Add explicit `attach` or `launch` arguments to the debug scenario definition
  2. Fix the build command so it succeeds and emits the locator's expected output (e.g. cargo JSON messages)
  3. Check the locator logs (logged at error level) for why each locator failed
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/project/src/debugger/dap_store.rs:420 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/63130c850862a87d. Report an issue: GitHub.