diff --git a/hive-ag3nt/src/mcp.rs b/hive-ag3nt/src/mcp.rs index 63593d97..c77721bc 100644 --- a/hive-ag3nt/src/mcp.rs +++ b/hive-ag3nt/src/mcp.rs @@ -467,6 +467,12 @@ impl AgentServer { } } +// IMPORTANT: when adding a new `#[tool]` fn to this impl, also add +// its name to `allowed_mcp_tools(Flavor::Agent)` below. Claude +// Code's permission gate refuses uninlisted MCP tools in +// non-interactive `--print` mode with "permissions not granted yet" +// — same failure mode #511 cleaned up on the manager side. Keep the +// two lists in lockstep. #[tool_router] impl AgentServer { #[tool( @@ -1058,6 +1064,12 @@ impl ManagerServer { } } +// IMPORTANT: when adding a new `#[tool]` fn to this impl, also add +// its name to `allowed_mcp_tools(Flavor::Manager)` below. Claude +// Code's permission gate refuses uninlisted MCP tools in +// non-interactive `--print` mode with "permissions not granted yet" +// — exactly the failure mode PR #511 cleaned up. Keep the two lists +// in lockstep. #[tool_router] impl ManagerServer { #[tool( @@ -1765,6 +1777,19 @@ pub fn allowed_mcp_tools(flavor: Flavor) -> Vec { "restart", "update", "request_apply_commit", + // Tools added post-#444 / #235 / #467 / #472 / #474 / #478 that + // got missed in the allow-list when their `#[tool]` impls + // landed. Claude Code's permission gate refuses uninlisted + // tools in non-interactive `--print` mode with a "permissions + // not granted yet" error (hm1nd hit this trying to run the + // dedup pass for #509). Keep this block in lockstep with the + // `#[tool]` fns in the `ManagerServer` impl. + "request_update_meta_inputs", + "request_schedule_prompt", + "fire_schedule_now", + "cancel_schedule", + "edit_schedule", + "list_schedules", "ask", "answer", "get_logs",