Une semaine avec Claude Agent dans Xcode
Xcode 26.3 a introduit Claude Agent directement dans l'IDE. Après plus d'une semaine d'utilisation quotidienne sur un vrai projet iOS (Keepio), voici 6 astuces pour en exploiter tout le potentiel.

Tip 1 : Mettre à jour le modèle Claude intégré
Par défaut, Xcode embarque une version du client Claude Code qui date de la préparation de la Release Candidate. Le souci, c'est qu'entre-temps, Anthropic publie des mises à jour.
Sur la RC actuelle, Xcode utilise la version 2.1.14 alors que la CLI est à 2.1.37, ce qui représente le passage de Claude Opus 4.5 à Claude Opus 4.6.
La manipulation est directe : copier le binaire CLI vers le chemin interne de Xcode.
cp $(which claude) ~/Library/Developer/Xcode/CodingAssistant/Agents/Versions/26.3/claudeUn redémarrage de Xcode et c'est opérationnel. Ce n'est pas officiellement supporté par Apple, mais cela fonctionne sans problème.
Tip 2 : Rendre ses plugins Claude Code accessibles dans Xcode
Si vous utilisez déjà Claude Code en CLI avec des plugins (comme mes plugins iOS), vous pouvez les rendre disponibles dans Xcode grâce à un lien symbolique.
ln -s ~/.claude/commands ~/Library/Developer/Xcode/CodingAssistant/ClaudeAgentConfig/commandsAprès un redémarrage, les plugins apparaissent dans l'autocomplétion quand on tape /.
Ce qui fonctionne et ce qui ne fonctionne pas : les instructions markdown, les arguments et les outils de base sont supportés. En revanche, les sous-agents spécialisés et les hooks Claude Code ne le sont pas dans le contexte Xcode. En pratique, environ 80% des plugins marchent, ce qui est déjà considérable.
Tip 3 : Ajouter un MCP custom (et le piège du simulateur)
Pour étendre les capacités de l'agent (captures du simulateur, commandes personnalisées...), on peut créer son propre serveur MCP et le configurer dans Xcode.
La configuration se fait dans le claude.json de Xcode, dans le bloc projects. Trois points critiques :
- Le type doit être
stdio hasTrustDialogAccepteddoit êtretrue- Le chemin de la commande doit être absolu (Xcode ne charge pas votre
.zshrc)
Le piège : simctl launch n'est pas Xcode Run
C'est la découverte la plus surprenante. Quand on clique sur le bouton Run de Xcode, il effectue 6 opérations :
- Build avec code signing et entitlements
- Installation sur le simulateur avec config complète
- Setup des variables d'environnement
- Attachement du debugger
- Configuration des containers (CloudKit, Keychain, App Groups)
- Lancement
La commande simctl launch ? Elle lance uniquement le binaire. Sans rien d'autre.
Conséquence : les applications utilisant CloudKit ou Keychain crashent systématiquement avec simctl. C'est un trou connu du tooling Apple, et il n'existe aucune commande CLI reproduisant le bouton Run.
Tip 4 : Attention au tag @
Un bug intermittent de la RC : quand on tague un fichier avec @ et qu'on colle une capture d'écran dans le même message, le prompt peut être tronqué. L'agent ne reçoit qu'une partie du message.
Le contournement : éviter de combiner tag et screenshot dans un même envoi. Les envoyer séparément.
Tip 5 : Preview vs Simulateur, ce que l'agent perçoit
L'agent Claude travaille avec les previews SwiftUI, pas avec le simulateur. Il peut capturer des screenshots de la preview et vérifier le rendu visuel.
En revanche, il ne peut pas :
- Voir un bug qui n'apparaît que sur le simulateur
- Tester un flux de navigation complet
- Interagir avec le simulateur (taps, scroll, navigation)
Le réflexe à adopter : si le bug est spécifique au simulateur, le décrire clairement dans le prompt en précisant le comportement attendu par rapport au comportement obtenu.
Tip 6 : Le CLAUDE.md adaptatif
Si vous utilisez Claude en CLI et dans Xcode, vous n'avez pas besoin des mêmes instructions. En CLI, l'agent peut faire du git et exécuter des scripts. Dans Xcode, il a accès aux previews et au build mais pas au terminal.
La solution : exploiter la variable CLAUDE_CONFIG_DIR pour détecter l'environnement et charger les bonnes instructions.
Trois niveaux d'instructions
- CLAUDE.md (racine) : détecte l'environnement et redirige vers le bon fichier
- CLAUDE-XCODE.md ou CLAUDE-CLI.md : instructions spécifiques au contexte
- CLAUDE.md par module SPM (optionnel) : instructions propres à chaque module
C'est un setup de 10 minutes qui change radicalement la qualité des réponses de l'agent, surtout sur de gros projets multi-modules.
Verdict après une semaine
Claude Agent dans Xcode est une V1 véritablement prometteuse.
Pour du prototypage, de la génération SwiftUI ou du refactoring, c'est déjà excellent. L'agent adopte rapidement vos habitudes de code et les reproduit fidèlement.
Pour des applications complexes avec CloudKit ou du testing end-to-end, on n'y est pas encore. Mais les progrès viendront.
L'essentiel est de connaître les limites et les astuces pour en tirer le meilleur dès aujourd'hui.

Commentaires
Aucun commentaire pour le moment. Sois le premier !