fix(gemini): MCP exclusion + BOM-free config write on Windows (#219)
Apra Fleet is an open-source MCP server
Brought to you by:
apralabs
Originally created by: kumaakh
Fixes [#219] — Gemini CLI members on Windows were failing to receive compose_permissions config because:
Set-Content -Encoding UTF8 writes a BOM, which JSON parsers reject.apra-fleet MCP server, causing tool-conflict noise and unexpected behaviour during prompted sessions.--allowed-mcp-server-names flag behavior live on fleet-dev2 (Gemini member). Confirmed empty string "" disables all MCP servers.deliverConfigFile (src/tools/compose-permissions.ts): Replaced Set-Content -Encoding UTF8 (adds BOM) with [System.IO.File]::WriteAllText(…, New-Object System.Text.UTF8Encoding($false)) on Windows. Unix path unchanged.GeminiProvider (src/providers/gemini.ts):buildPromptCommand now appends --allowed-mcp-server-names "" so the fleet MCP server is never loaded inside a Gemini session.composePermissionConfig switches from mcp.excluded (Claude-specific) to mcpServers: {} (per-project settings override) to suppress the globally registered server.tests/compose-permissions.test.ts (T4) and tests/providers.test.ts (T5) assert BOM-free output and --allowed-mcp-server-names presence respectively.npm test)deliverConfigFile — Windows BOM-free write suite passes (3 assertions)buildPromptCommand includes --allowed-mcp-server-names assertion passes--allowed-mcp-server-names ""Closes [#219]
Ticket changed by: kumaakh