Xcode assouplit ses agents IA, mais bloque encore les connexions externes

Des réglages découverts dans Xcode 27.0 beta laissent l’éditeur piloter ses agents IA avec moins d’invite. Mais la première connexion d’un agent externe vers les outils Xcode reste bloquée par un dialogue d’approbation.

Xcode 27.0 beta donne davantage de marge à ses agents IA internes, mais ne résout pas encore l’accès entièrement autonome d’un agent externe aux outils de l’éditeur. Selon une vérification datée du 16 juin 2026 sur la build 27A5194q, le réglage IDEChatAgenticChatSkipPermissions permet à Xcode de lancer un agent Claude avec l’équivalent d’un mode “sans permissions”, tandis que la connexion d’un agent tiers continue de réclamer une approbation à la première utilisation. Le sujet compte pour les développeurs qui automatisent déjà leurs flux dans Xcode, mais aussi pour la sécurité : l’éditeur conserve un garde-fou là où l’on aurait pu s’attendre à une porte grand ouverte.

Un raccourci pour l’agent interne, pas pour tout le monde

Le premier constat est simple : Xcode peut désormais transmettre à son agent Claude un indicateur qui contourne les vérifications de permissions de l’agent lui-même. La commande defaults write com.apple.dt.Xcode IDEChatAgenticChatSkipPermissions -bool YES active ce comportement, et le processus lancé reprend alors l’option --dangerously-skip-permissions. En clair, Xcode laisse son propre agent agir sans demander la permission à chaque étape. Le parallèle avec un démarrage “dangereusement” libre n’est pas subtil, mais il est transparent.

Cette bascule ne règle toutefois pas le cas inverse : faire piloter Xcode par un agent terminal externe sans que l’application redemande son feu vert à chaque lancement. Sur ce point, la note est nette : le verrou reste en place, y compris en 27.0 beta.

Ce que Xcode lance vraiment sous le capot

La documentation issue de l’exploration des binaires montre que Xcode assemble une invocation plus compacte qu’en 26.3. La commande révélée par xcrun mcpbridge run-agent claude --dry-run en 27.0 affiche notamment --verbose, un fichier temporaire de configuration MCP et des paramètres de session comme CLAUDE_CODE_ENABLE_TELEMETRY=0 et DISABLE_TELEMETRY=1. Xcode fournit aussi ANTHROPIC_MODEL=best, CLAUDE_CONFIG_DIR et MCP_XCODE_PID.

Le rôle de MCP_XCODE_PID est pratique : il permet au pont mcpbridge de retrouver la bonne instance de Xcode et d’accéder à son service d’outils via stdio. Sans cette variable, la connexion s’arrête. À côté, le fichier MCP temporaire ne sert qu’à brancher les outils natifs de Xcode, pas les serveurs tiers, qui restent définis dans le fichier .claude.json de l’agent.

Le vrai point dur : l’approbation à la première connexion

Xcode 27.0 ajoute un réglage prometteur, IDEIntelligenceAllowApprovingUntrustedAgentsForSession. Le nom laisse penser qu’il pourrait mémoriser une approbation pendant la session en cours. Dans les faits, les tests décrits dans la source n’ont pas permis de faire disparaître la boîte de dialogue qui s’affiche lors de la première connexion d’un agent externe. La main reste donc à l’utilisateur, au moins pour ce premier “voulez-vous vraiment laisser cet agent utiliser les outils Xcode ?”.

Le réglage IDEAllowUnauthenticatedAgents agit toujours comme un interrupteur principal pour l’accès MCP externe. Désactivé, le serveur MCP s’éteint. Activé, il autorise la connexion mais n’ôte pas automatiquement la demande d’approbation. Une autre clé, IDEChatInternalAllowUntrustedAgentsWithoutUserInteraction, semble bien viser ce contournement, mais elle ne fonctionne que dans des builds internes d’Apple. En version publique ou beta, elle reste sans effet [à vérifier].

27.0 élargit la surface IA, sans changer le verrou de sécurité

Entre la 26.5 et la 27.0 beta, la surface liée à l’IA s’est étendue de 138 à 163 clés IDE réparties dans 7 puis 10 frameworks, d’après les chaînes extraites des binaires. La plupart des changements concernent les fournisseurs de modèles, les protocoles d’agents ou la configuration MCP. Les réglages de permissions et d’approbation, eux, sont restés identiques entre les deux versions. Autrement dit, Apple a beaucoup bougé les meubles, mais pas la serrure.

Parmi les ajouts signalés figurent IDEChatEnableBYOACP avec le nouveau framework IDEIntelligenceACP, des clés liées à Gemini comme IDEChatGeminiCLIAPIKey et IDEIntelligenceGemini, ainsi que de nouveaux réglages pour le sélecteur de modèles ou les configurations MCP. En revanche, certains noms repérés dans une table plus ancienne ne sont plus confirmés en 27.0 ni dans la 26.5 finale ; la source les signale elle-même comme potentiellement spéculatifs [à vérifier].

Ce que les développeurs doivent retenir

Pour un usage quotidien, le message est assez clair : Xcode devient plus souple pour ses propres agents, mais il ne bascule pas encore en mode “pilotage libre” pour les connexions externes. Les équipes qui expérimentent avec Claude Code, Gemini ou des serveurs MCP tiers peuvent avancer dans l’automatisation, mais elles devront toujours composer avec la fenêtre d’approbation initiale. La bonne nouvelle, c’est que les réglages sont visibles. La moins bonne, c’est qu’ils ne font pas tous ce qu’on pourrait espérer. Les outils IA adorent les raccourcis ; Xcode, lui, continue de lire le panneau “attention” avant d’ouvrir la porte.

  • 27.0 beta confirme le passage de Xcode à plus de clés IA.
  • IDEChatAgenticChatSkipPermissions déclenche un lancement sans contrôle interne.
  • La première connexion d’un agent externe reste soumise à approbation.
  • Le pont mcpbridge dépend de MCP_XCODE_PID pour viser la bonne instance.
  • Les clés de permissions n’ont pas changé entre 26.5 et 27.0 beta.
  • Les nouveaux réglages portent surtout sur modèles, MCP et fournisseurs.

En chiffres

  • 16 juin 2026 — date de la re-vérification sur Xcode 27.0 beta (build 27A5194q).
  • 138 clés IDE — surface repérée dans 26.5 release, selon les chaînes des binaires.
  • 163 clés IDE — surface repérée dans 27.0 beta, selon les chaînes des binaires.
  • 10 frameworks — où vivent les clés IDE dans 27.0 beta.
  • 7 frameworks — nombre de frameworks IDE dans 26.5 release.

À lire