Code Mode est expérimental et désactivé par défaut. Il peut changer ou être supprimé dans n’importe quelle version. Pour partager vos commentaires, exécutez
/feedback.Fonctionnement de Code Mode
Dans une session Code Mode, vous décrivez toujours votre tâche dans un prompt, et Claude écrit du JavaScript pour l’accomplir. Un seul morceau de code peut exécuter des commandes en parallèle, utiliser un résultat dans l’appel suivant et renvoyer la partie de la sortie que Claude doit lire. Par exemple, si vous demandez à Claude d’augmenter une limite de nouvelles tentatives, Claude peut écrire ce code pour trouver le fichier, le modifier et exécuter les tests. La dernière ligne renvoie à Claude le chemin du fichier et la sortie des tests :Ctrl+O afin d’ouvrir la visionneuse de transcription. Chaque morceau de code y apparaît sous la forme d’une ligne Code réduite, accompagnée d’une indication sur la façon de la développer.
Quand utiliser Code Mode
Essayez Code Mode sur des tâches qui nécessitent de nombreux appels d’outils liés, par exemple :- Une modification qui se répète dans de nombreux fichiers
- Une recherche dont les résultats doivent être filtrés avant que Claude ne les lise
- Plusieurs commandes indépendantes qui peuvent s’exécuter en même temps
Limitations de Code Mode
Avant d’activer Code Mode, vérifiez que vous pouvez accepter ces limites :- Reprise : vous ne pouvez reprendre une session Code Mode que dans le terminal, avec Code Mode activé
- Mode auto : le classifieur du mode auto examine le code, et non chaque appel d’outil
- Code de longue durée : sauf si le code peut s’exécuter en arrière-plan, vous attendez qu’il se termine, et il s’arrête au bout de dix minutes
- Hooks : vous pouvez voir des appels d’outils refusés lorsqu’un hook
PreToolUsene peut pas s’exécuter ou expire, et une sortie de code bloquée par un hookUserPromptSubmit - Fonctionnalités indisponibles : vous ne pouvez pas utiliser Remote Control, Claude in Chrome ni computer use
- Déplacement de la session : vous ne pouvez pas déplacer la session vers l’application Desktop ni la transformer en session en arrière-plan, et
/forkne peut pas démarrer de copie en arrière-plan
Prérequis
- Version : Claude Code v2.1.323 ou ultérieure, sur l’un ou l’autre canal de publication. Une version plus ancienne démarre sans Code Mode, avec ou sans la raison
it isn't open to your account yet - Compte : un abonnement Claude ou un compte Console. Vous ne pouvez pas utiliser Code Mode via une passerelle, Amazon Bedrock, Claude Platform on AWS, Agent Platform de Google Cloud ou Microsoft Foundry
- Organisation : votre organisation n’utilise ni la configuration HIPAA ni la conservation zéro des données
- Modèle : Claude Opus 5.5, Sonnet 5.5, Haiku 5.5 ou Fable 5.2
- Surface : une session
claudeinteractive dans un terminal. Code Mode ne fonctionne pas avec-p, l’Agent SDK, le panneau VS Code, l’application Desktop ni les sessions cloud - Installation : le build natif de Claude Code
- Windows : Git for Windows est installé
DISABLE_TELEMETRY. Pour la solution à chacun de ces cas, consultez Code Mode ne démarre pas.
Essayer Code Mode
Activez Code Mode, confiez une tâche à Claude et examinez le code que Claude a écrit.1
Vérifier votre version
Exécutez
claude --version. Si la version est antérieure à v2.1.323, exécutez claude update. Si vous êtes sur le canal stable et que la mise à jour n’atteint pas v2.1.323, attendez que stable rattrape son retard ou passez à latest.2
Démarrer Claude Code avec Code Mode activé
Définissez la variable d’environnement
CLAUDE_CODE_EXPERIMENTAL_CODE_MODE sur 1. Pour essayer Code Mode, définissez-la dans votre shell. Pour activer Code Mode pour chaque nouvelle session, définissez-la dans vos paramètres utilisateur.- macOS, Linux, WSL
- Windows PowerShell
- settings.json
3
Confirmer que vous souhaitez utiliser Code Mode
Claude Code vous demande de confirmer avant votre première session Code Mode. Sélectionnez Yes, turn on Code Mode. Claude Code redémarre et affiche cette ligne en haut de la session :Si vous voyez une ligne différente ou aucune ligne, consultez Code Mode ne démarre pas.
4
Confier à Claude une tâche comportant de nombreux appels d'outils
Dans un projet que vous connaissez, envoyez un prompt tel que celui-ci :
5
Lire le code écrit par Claude
Appuyez sur
Ctrl+O et développez une ligne Code pour voir le JavaScript derrière les appels d’outils. Appuyez de nouveau sur Ctrl+O pour revenir à la conversation.Désactiver Code Mode
SupprimezCLAUDE_CODE_EXPERIMENTAL_CODE_MODE de votre shell et de ~/.claude/settings.json, puis démarrez une nouvelle session. Vous pouvez aussi conserver la variable et changer sa valeur en 0 à l’un ou l’autre de ces emplacements. Avec un 0 à un emplacement, Code Mode reste désactivé même si vous définissez 1 à l’autre.
Bloquer Code Mode pour votre organisation
AjoutezCLAUDE_CODE_EXPERIMENTAL_CODE_MODE avec la valeur 0 à vos paramètres gérés afin que personne dans votre organisation ne puisse utiliser Code Mode :
0 est en place. Vous ne pouvez pas activer Code Mode pour vos utilisateurs depuis les paramètres gérés.
Permissions et code de longue durée
Votre mode de permission détermine la façon dont le code de Claude est vérifié et si vous pouvez parler à Claude pendant l’exécution du code.Vérifications des permissions
Chaque appel d’outil effectué par le code de Claude passe par vos règles de permissiondeny et ask ainsi que par vos hooks PreToolUse. Vous n’avez pas besoin de modifier une règle ou un matcher pour un outil tel que Bash. Au-delà des règles et des hooks, un classifieur examine le code en mode auto, et vous répondez aux demandes de permission dans les modes qui en affichent :
- Mode auto : le classifieur examine chaque morceau de code avant son exécution, et non chaque appel d’outil. Il ne voit pas les valeurs calculées à l’exécution, comme un chemin tiré d’une sortie de recherche ; conservez donc des règles ou des hooks pour les appels que vous devez contrôler. Des demandes de permission peuvent toujours vous être présentées lorsqu’un nouveau code démarre alors qu’un code antérieur est en cours d’exécution
- Autres modes de permission : le code démarre sans examen, et une demande de permission vous est présentée pour chaque appel d’outil qui vous en présenterait une dans ce mode
PreToolUse qui correspond à REPL, l’outil qui exécute le code de Claude, et lisez le JavaScript depuis tool_input.code.
Code de longue durée
Lorsque le code exécute un build ou des tests longs, Claude l’attend ou le laisse se poursuivre en arrière-plan :- Attente : Claude répond une fois le code terminé, et le code s’arrête au bout de dix minutes, y compris le temps que vous passez sur les demandes de permission
- Arrière-plan : vous pouvez continuer à parler à Claude, et le code peut s’exécuter jusqu’à deux heures
bypassPermissions. Si Claude attend toujours, vérifiez votre mode actuel et la façon dont vous avez démarré la session :
- Vous êtes passé à un autre mode : appuyez sur
Shift+Tabjusqu’à revenir au mode dans lequel vous avez démarré - Vous avez démarré dans un autre mode, ou avez choisi la session dans la liste
claude --resume: si le mode auto est disponible pour vous, quittez, puis exécutezclaude --continue --permission-mode autoavec Code Mode activé - Vous avez passé des noms d’outils à
--tools: redémarrez en mode auto sans ce flag
Dépannage
Code Mode ne démarre pas
Code Mode (experimental) isn't available en haut de la session signifie que Claude Code a démarré sans Code Mode. La raison suit sur la même ligne, et /status l’affiche également. Trouvez la raison dans ce tableau, effectuez la modification et démarrez une nouvelle session. Pour une raison qui ne figure pas dans la liste, consultez les prérequis.
Si vous ne voyez aucune ligne concernant Code Mode, exécutez
claude --version. Si votre version est antérieure à v2.1.323, mettez à jour. Vérifiez ensuite que CLAUDE_CODE_EXPERIMENTAL_CODE_MODE vaut 1 dans votre shell ou vos paramètres utilisateur, et supprimez tout 0 de ces emplacements ainsi que de tout fichier --settings.
Demande de permission avec compte à rebours
Lorsque Claude démarre du code supplémentaire en mode auto alors qu’un code antérieur est encore en cours d’exécution, le code antérieur perd l’examen du classifieur. Claude Code vous interroge alors sur les appels restants du code antérieur qui nécessiteraient un examen. Si aucun IDE n’est connecté, la demande de permission affiche un compte à rebours :Appel d’outil refusé par un hook
Si Claude signale un appel d’outil refusé, demandez-lui le texte de l’erreur. Ces erreurs signifient qu’un hookPreToolUse n’a pas fourni de décision, ce qui refuse l’appel même lorsque onFailure n’est pas défini :
the hook failed: lors d’un appel provenant du code de Claude, votre hook n’a pas pu démarrer, a été arrêté de force, s’est terminé avec le code 126, 127 ou un code supérieur à 128, ou a renvoyé une erreur HTTP ou une sortie non valide. Corrigez le hookthe hook did not finish: votre hook a expiré lors d’un appel provenant du code de Claude, ou lors de tout autre appel d’outil une fois que Claude a exécuté du code dans la session. Augmentez letimeoutdu hook
command ou http échoue ou expire, définissez "onFailure": "continue" sur celui-ci. Si un hook command se termine avec un code ordinaire tel que 1, l’appel se poursuit, sauf si vous définissez "onFailure": "block".
Sortie de code retenue par un hook
Si Claude signale la raison de blocage d’un hook là où vous attendiez la sortie du code de Claude, vérifiez vos hooksUserPromptSubmit. Lorsque le code peut s’exécuter en arrière-plan, les hooks command, http et mcp_tool associés à cet événement s’exécutent aussi sur la sortie du code. Pour laisser passer la sortie, modifiez le hook afin qu’il ne bloque pas lorsque source dans son entrée vaut poll_event.
Ressources associées
- Modes de permission : comparer le mode auto avec les modes qui vous présentent des demandes de permission
- Référence des hooks : écrire des hooks
PreToolUseetUserPromptSubmit - Paramètres gérés : appliquer une configuration unique à l’ensemble d’une organisation