diff --git a/apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/tool_policy_snapshot.rs b/apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/tool_policy_snapshot.rs index 49e1a9da9..1c2fb8d7f 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/tool_policy_snapshot.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/tool_policy_snapshot.rs @@ -179,6 +179,16 @@ pub(in crate::agent) fn agent_runtime_tool_policy_snapshot_at( auto_tools.push(tool.to_string()); } } + if isolated { + // Keep the isolated-child contract explicit even when a denied tool + // is unavailable on the current platform and therefore absent from + // the executable catalog (for example, the Windows-only Cocos bridge). + for tool in ISOLATED_AGENT_UNSCOPED_DENIED_TOOLS { + if !denied_tools.iter().any(|candidate| candidate == tool) { + denied_tools.push((*tool).to_string()); + } + } + } Ok(AgentRuntimeToolPolicySnapshot { run_profile: default_agent_runtime_run_profile(), run_profile_binding_fingerprint: String::new(),