From 77c645b8de9c11f897e31466cb0ed1426ba0237d Mon Sep 17 00:00:00 2001 From: Brad Hallett <53977268+bradhallett@users.noreply.github.com> Date: Thu, 30 Jul 2026 15:27:48 -0400 Subject: [PATCH] fix(acp): default empty omp args to ACP mode to fix initialize timeout An `omp` command launched through buzz-acp with empty or absent agent_args started omp's interactive mode instead of `omp acp`, so the ACP initialize request never received a response and Buzz reported a breaking "agent initialize failed: Request timeout". Map the normalized command identity `omp` to default args ["acp"] (matching `goose`), so empty or absent args launch ACP mode. Explicit non-empty args are preserved unchanged. Adds coverage for bare `omp` and an absolute path. Tested: cargo test -p buzz-acp (637 passed); verified the bundled buzz-acp spawns `omp acp` and returns ACP auth methods under an empty-args launch. Signed-off-by: Brad Hallett <53977268+bradhallett@users.noreply.github.com> --- crates/buzz-acp/src/config.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/crates/buzz-acp/src/config.rs b/crates/buzz-acp/src/config.rs index 9a1b74c276..250e7f69f3 100644 --- a/crates/buzz-acp/src/config.rs +++ b/crates/buzz-acp/src/config.rs @@ -687,7 +687,7 @@ pub(crate) fn normalize_agent_command_identity(command: &str) -> String { fn default_agent_args(command: &str) -> Option> { match normalize_agent_command_identity(command).as_str() { - "goose" => Some(vec!["acp".to_string()]), + "goose" | "omp" => Some(vec!["acp".to_string()]), "codex" | "codex-acp" | "claude-agent-acp" | "claude-code-acp" | "claude-code" | "claudecode" | "buzz-agent" => Some(Vec::new()), _ => None, @@ -1511,9 +1511,14 @@ mod tests { } #[test] - fn normalizes_goose_args_to_acp() { + fn normalizes_goose_and_omp_args_to_acp() { assert_eq!(normalize_agent_args("goose", Vec::new()), vec!["acp"]); assert_eq!(normalize_agent_args("goose", vec!["".into()]), vec!["acp"]); + assert_eq!(normalize_agent_args("omp", Vec::new()), vec!["acp"]); + assert_eq!( + normalize_agent_args("/opt/homebrew/bin/omp", vec!["".into()]), + vec!["acp"] + ); } #[test]