Deepseek ArtifactsDeepseek Artifacts
Guide Codex

Worktrees Codex : des Git worktrees gérés, pas à pas

Active la fonction worktrees, lance un chat dans un Git worktree géré, transforme le résultat en branche avec Work here, et lance codex --worktree directement depuis le terminal — 10 étapes tirées d’un screencast propre.

TL;DR

  • Un Git worktree est un second checkout du même dépôt — chaque worktree a ses propres fichiers mais partage le dossier .git, donc des chats Codex parallèles ne s’écrasent jamais mutuellement.
  • Les worktrees sont derrière un feature flag : lance codex features enable worktrees dans un terminal, redémarre l’application, et l’option New local worktree apparaît dans le composer.
  • Un worktree terminé devient une branche en deux clics — Create branch la nomme codex/your-branch, puis la feuille de commit pousse et tu ouvres la PR sans quitter le worktree.
  • Les worktrees gérés vivent dans $CODEX_HOME/worktrees en dossiers à nom de hachage. Codex garde les 15 plus récents, sauve un snapshot avant nettoyage et peut le restaurer depuis le chat. Les outils de création/liste sont arrivés avec Codex 0.162.0.

Codex Worktrees: The Best Feature Most Developers Ignore

Chaîne :Software Engineer Meets AI4:56

Regarder sur YouTube

Worktrees — official Codex documentation

Docs :developers.openai.com/codex

Regarder sur YouTube

Les images viennent d’un screencast propre ; les commandes et libellés d’interface ont été recoupés avec la documentation officielle des worktrees Codex. Les outils de worktree géré sont arrivés dans Codex 0.162.0 (octobre 2026) : "Add tools for creating and listing managed Git worktrees from trusted local projects when the worktrees feature is enabled."

La vidéo demeure la propriété de son créateur et est liée pour attribution. Les noms de produits et éléments d’interface appartiennent à OpenAI.

Comment fonctionnent les worktrees Codex, étape par étape

Activer les worktrees et en démarrer un

  1. 1

    Sache ce qu’est un worktree avant d’activer quoi que ce soit

    Un Git worktree est un second checkout complet de ton dépôt dans son propre dossier — chaque worktree a sa copie de chaque fichier, mais tous partagent les mêmes métadonnées .git. C’est pourquoi plusieurs chats Codex parallèles peuvent chacun éditer leur dossier sans trébucher sur les changements non committés des autres. Les worktrees sont une fonction Git tout ce qu’il y a de plus banale ; Codex se contente d’automatiser les corvées autour.

    Slide from a Codex worktrees tutorial defining a Git worktree as a feature that lets multiple branches of one repository be checked out in different folders simultaneously
    La vidéo s’ouvre sur la définition en une phrase : plusieurs branches d’un même dépôt checkoutées dans des dossiers différents en même temps.Regarder à 0:28
  2. 2

    Active la fonction worktrees une fois pour de bon

    Les worktrees sont encore sous férule dans Codex, donc la première étape se passe dans un terminal. Comme montré dans la vidéo, le présentateur ouvre le terminal intégré de l’application et lance codex features enable worktrees, ce qui bascule le flag dans config.toml — puis redémarre l’application. Après le redémarrage, l’option New local worktree apparaît dans le composer.

    Codex app home screen with a terminal panel open under the composer showing alldevneeds, New local worktree, No environment and main chips after enabling the worktrees feature
    L’application Codex avec un panneau terminal ouvert sous le composer, là où la commande d’activation tourne avant le redémarrage.Regarder à 1:58
  3. 3

    Lance un chat sur un New local worktree

    Dans un nouveau chat, les puces du composer se lisent : nom du projet, New local worktree, No environment, main — le mode worktree et la branche de départ. Garde New local worktree sélectionné et main comme branche de départ, tape ta tâche (ici, "change the background color to be blue"), et envoie.

    Codex composer with the New local worktree chip and main branch selected while typing the change the background color prompt
    Le composer avec New local worktree et main sélectionnés pendant la frappe du prompt.Regarder à 3:00
  4. 4

    Laisse l’agent travailler dans son worktree

    Codex répond "Worktree created" et se met au travail dans la copie isolée — le fil le montre en train de lancer npm run type-check && git diff --check pendant que tu continues d’utiliser l’application pour d’autres chats. Ton checkout principal reste intact, et le compteur Changes (+2 -2 dans la vidéo) suit ce que l’agent édite dans le worktree.

    Codex thread showing Worktree created and the agent running npm run type-check and git diff inside the isolated worktree with a 1 file changed badge
    L’en-tête du fil affiche Worktree created pendant que l’agent lance type-check et diff dans le worktree.Regarder à 3:17

Transformer le worktree en branche puis en PR

  1. 5

    Trouve où Codex garde les worktrees

    Les worktrees gérés ne sont pas déposés à côté de ton projet. La doc officielle les place dans $CODEX_HOME/worktrees, et la vidéo le confirme : après un cd dans .codex/worktrees, ls imprime un dossier à nom de hachage par worktree (09bd, 09ec, 7b3a, d021, dd4e). Tu peux déplacer la racine dans Settings > Worktrees via le réglage Worktree root.

    Terminal inside .codex/worktrees listing five hash-named managed worktree folders after running worktrees ls
    Un terminal dans .codex/worktrees listant cinq dossiers worktree à nom de hachage.Regarder à 3:41
  2. 6

    Ouvre le menu du fil et crée une branche

    Un nouveau worktree démarre détaché — Codex le crée sans branche attachée. Pour garder le travail, ouvre le menu Environment du fil : Changes (+2 -2), Worktree, Create branch, Commit or push et Create pull request. Create branch est l’action qui transforme ce dossier en une vraie branche nommée.

    Codex thread Environment menu open showing Changes plus 2 minus 2, Worktree, Create branch, Commit or push and Create pull request actions
    Le menu Environment du fil avec Changes, Worktree, Create branch, Commit or push et Create pull request.Regarder à 3:25
  3. 7

    Confirme la branche dans le dialogue Work here

    Create branch ouvre le dialogue Work here : "Create a branch to commit changes, push, and create a PR from this worktree." Le champ Branch name est prérempli avec le préfixe codex/ — codex/change-background-color dans la vidéo — clique sur Create et la branche s’attache au worktree. Git n’autorise une branche à être checkoutée que dans un seul worktree à la fois, et c’est exactement pour cela que Codex suit cette paire pour toi.

    Codex Work here dialog with the prefilled codex/change-background-color branch name, Set prefix link and Create button for turning a worktree into a branch
    Le dialogue Work here avec le nom de branche prérempli codex/change-background-color et le bouton Create.Regarder à 3:52
  4. 8

    Commite et pousse depuis le worktree

    De retour dans le fil, Commit or push ouvre une feuille de commit sur la branche codex/change-background-color : tape un message, garde Include unstaged changes coché (+2 -2), et choisis Commit, Commit and push ou Push. La vidéo crée ensuite la pull request vers main — tout le flux n’a jamais quitté le dossier du worktree.

    Codex commit sheet on the codex/change-background-color branch with Include unstaged changes checked and Commit, Commit and push and Push options
    Feuille de commit sur la branche codex/change-background-color avec Include unstaged changes et l’option Commit and push.Regarder à 4:04

La voie CLI et les règles qui mordent

  1. 9

    Sans l’application : lance un worktree depuis le CLI

    La même fonction marche en headless. Dans la vidéo, le présentateur tape codex --worktree "Implement the new feature" à l’invite zsh dans le dépôt — Codex crée un worktree géré pour ce chat et y exécute la tâche, exactement comme l’application. Ces outils de création et de liste sont arrivés dans Codex 0.162.0 pour les projets locaux de confiance.

    Terminal at the alldevneeds main branch running codex --worktree with the prompt Implement the new feature to create a worktree from the CLI
    Terminal sur la branche main du dépôt, lançant codex --worktree "Implement the new feature".Regarder à 4:38
  2. 10

    Connais les règles de nettoyage et la limite d’une branche

    Codex garde tes 15 worktrees gérés les plus récents et élague les plus vieux à mesure que de nouveaux arrivent — jamais un chat épinglé, un chat en cours ou un worktree permanent, et toujours après avoir sauvé un snapshot restaurable depuis le chat. Deux bords durs de la doc : une branche ne peut être checkoutée que dans un seul worktree à la fois (utilise Handoff plutôt qu’un second checkout), et les fichiers ignorés comme .env ne voyagent pas vers les worktrees tant que tu ne les listes pas dans un fichier .worktreeinclude.

    Official OpenAI Worktrees documentation page describing how Codex uses Git worktrees to run multiple chats in parallel with terminology and getting started sections
    Documentation officielle Worktrees : ce qu’est un worktree, la terminologie et le comportement de nettoyage.Regarder à 4:47

Worktree Codex qui ne fonctionne pas ? Vérifie ceci d’abord

La plupart des échecs de worktree relèvent de la configuration, pas de Git. La vidéo et la doc officielle pointent la même courte liste — parcours-la de haut en bas avant de toucher à .git à la main.

  • 1Feature flag désactivé. Les worktrees sont sous férule : lance codex features enable worktrees dans un terminal, puis redémarre complètement l’application Codex. Une option New local worktree absente du composer signifie presque toujours que cette étape — ou le redémarrage — n’a pas eu lieu.
  • 2Le projet n’est pas un dépôt Git. Les worktrees ne marchent que dans les projets faisant partie d’un dépôt Git, et les notes de 0.162.0 restreignent les outils aux "trusted local projects" — un simple dossier ou un nouveau dépôt non fiable ne proposera pas l’option worktree.
  • 3La branche de départ est déjà checkoutée ailleurs. Git n’autorise qu’un worktree par branche, donc choisir une branche occupée échoue avec fatal: 'branch' is already used by worktree at .... Part de main ou d’une autre branche libre, ou utilise Handoff pour déplacer le chat.
  • 4Tes fichiers d’env n’apparaissent pas dans le worktree. Git ne suit pas .env et compagnie, donc ils ne sont pas copiés. Liste-les dans un fichier .worktreeinclude à la racine du dépôt (un chemin par ligne) et Codex les copie dans les nouveaux worktrees.
  • 5Une application périmée. La vidéo s’ouvre sur "make sure you update yours to the latest version" — les outils de worktree géré n’existent que dans les builds récents (0.162.0 ou plus pour les outils CLI create/list). Mets à jour, active le flag, redémarre, et réessaie.

Si un worktree a déjà disparu mais que le travail comptait, ouvre d’abord son chat — Codex sauve un snapshot avant de nettoyer un worktree et peut le restaurer. Et si tout ce modèle te semble lourd, le bon vieux git worktree add marche toujours : Codex automatise simplement la même fonction Git sous-jacente.

FAQ worktrees Codex

Guides associés