Problem
The windows-x86_64 target for goose in goose/agent.json has:
"windows-x86_64": {
"cmd": "goose.exe",
...
}
All other platforms correctly use "./goose", but Windows is missing the ./ prefix.
Zed's LocalRegistryArchiveAgent::get_command (crates/project/src/agent_server_store.rs) strictly validates that cmd must start with ./ or .\:
if cmd.starts_with("./") || cmd.starts_with(".\\") {
let cmd_path = version_dir.join(&cmd[2..]);
...
} else {
anyhow::bail!("command must be relative (start with './'): {}", cmd);
}
This causes the "Failed to Launch — command must be relative (start with './'): goose.exe" error in Zed on Windows.
Fix
Change goose/agent.json line:
- "cmd": "goose.exe",
+ "cmd": "./goose.exe",
This is consistent with how all other platform targets are specified.