Afficher le sommaire
Sommaire
Lecture guidée
Les 16 repères de l’article.
Quand on utilise Codex au quotidien, en ligne de commande ou depuis un IDE comme VS Code, un dossier local .codex est créé dans l’environnement utilisateur. Avec le temps, ce dossier peut contenir des historiques de conversations, des sessions archivées, des logs, des fichiers SQLite, du cache, des plugins, des skills, ainsi que des fichiers de configuration.
Ce dossier peut donc grossir rapidement, surtout après plusieurs semaines d’utilisation sur plusieurs projets. Le nettoyer permet de récupérer de l’espace disque, de supprimer les traces locales d’anciennes sessions et de repartir sur une base plus propre, sans forcément désinstaller Codex ni perdre sa configuration.
L’objectif de cette documentation est de comprendre ce que contient le dossier .codex, quoi supprimer sans risque majeur, quoi conserver, et comment effectuer un nettoyage propre sur Windows, Linux, macOS ou WSL2.
1. Où se trouve le dossier .codex ?
L’emplacement exact dépend de l’environnement dans lequel Codex est lancé.
Linux, macOS et WSL2
Sous Linux, macOS ou WSL2, le dossier est généralement situé ici :
~/.codex
Exemple sous Linux ou WSL2 :
/home/<utilisateur>/.codex
Exemple sous macOS :
/Users/<utilisateur>/.codex
Windows
Sous Windows, si Codex est utilisé directement depuis l’environnement Windows, le dossier peut se trouver dans le profil utilisateur :
$env:USERPROFILE\.codex
Ce qui correspond généralement à :
C:\Users\<Utilisateur>\.codex
Cas particulier de WSL2
Si Codex est utilisé dans WSL2, même avec VS Code ouvert depuis Windows, le dossier actif est généralement celui de la distribution Linux :
~/.codex
Par exemple :
/home/<utilisateur>/.codex
Il faut donc bien distinguer :
C:\Users\<Utilisateur>\.codex
et :
/home/<utilisateur>/.codex
Ce sont deux environnements différents.
2. Pourquoi nettoyer le dossier .codex ?
Nettoyer .codex peut être utile pour plusieurs raisons :
- supprimer l’historique local des anciennes conversations ;
- éviter de conserver des traces de commandes ou de chemins de projets ;
- réduire l’espace disque utilisé ;
- supprimer des logs techniques volumineux ;
- repartir sur une base plus propre après des tests ;
- limiter le mélange de traces entre plusieurs projets ;
- corriger certains comportements étranges liés à un état local trop ancien.
Attention toutefois : il ne faut pas supprimer tout le dossier .codex sans réfléchir. Certains fichiers contiennent l’authentification, la configuration ou des paramètres utiles.
L’idée n’est donc pas de faire :
rm -rf ~/.codex
mais plutôt de nettoyer les bons fichiers.
3. Vérifier la taille du dossier .codex
Avant de supprimer quoi que ce soit, il est utile de mesurer la taille du dossier.
Taille globale
Sous Linux, macOS ou WSL2 :
du -sh ~/.codex
Exemple de sortie :
431M /home/user/.codex
Sous Windows PowerShell :
Get-ChildItem "$env:USERPROFILE\.codex" -Recurse -Force |
Measure-Object -Property Length -Sum
Détail par sous-dossier
Sous Linux, macOS ou WSL2 :
du -h ~/.codex/ --max-depth=2
Cette commande permet de voir rapidement quels sous-dossiers occupent le plus d’espace.
Afficher les plus gros fichiers
Pour identifier les fichiers les plus lourds :
du -ah ~/.codex | sort -h | tail -50
Cette commande est souvent la plus utile, car de gros fichiers peuvent se trouver directement à la racine de .codex.
On peut aussi afficher uniquement les fichiers situés à la racine :
find ~/.codex -maxdepth 1 -type f -exec ls -lh {} \;
4. Comprendre les principaux fichiers et dossiers
Le contenu exact peut varier selon les versions, les extensions installées et le mode d’utilisation. Voici les éléments que l’on peut rencontrer fréquemment.
sessions/
Le dossier sessions/ contient les sessions actives ou récentes. Il peut être organisé par année, mois et jour, avec des fichiers .jsonl.
Exemple :
~/.codex/sessions/2026/04/23/rollout-....jsonl
Ces fichiers peuvent contenir des échanges détaillés avec Codex.
Pour supprimer les sessions actives :
rm -rf ~/.codex/sessions/*
archived_sessions/
Le dossier archived_sessions/ peut contenir d’anciennes sessions archivées.
Ces fichiers peuvent conserver :
- le dossier courant du projet ;
- le nom de branche Git ;
- des extraits de conversation ;
- des appels d’outils ;
- des sorties de commandes ;
- des chemins de fichiers ;
- du contexte technique.
Pour les supprimer :
rm -rf ~/.codex/archived_sessions/*
history.jsonl
Le fichier history.jsonl peut contenir un historique court des anciennes interactions.
Pour le vider sans supprimer le fichier :
: > ~/.codex/history.jsonl
Sous PowerShell :
Clear-Content "$env:USERPROFILE\.codex\history.jsonl"
session_index.jsonl
Le fichier session_index.jsonl peut contenir un index des sessions connues par Codex, parfois avec des titres de conversations.
Pour le vider :
: > ~/.codex/session_index.jsonl
Sous PowerShell :
Clear-Content "$env:USERPROFILE\.codex\session_index.jsonl"
logs_*.sqlite
Certains fichiers SQLite peuvent devenir volumineux, par exemple :
logs_2.sqlite
logs_2.sqlite-wal
logs_2.sqlite-shm
Ces fichiers correspondent à une base SQLite de logs internes.
Le fichier principal est :
logs_2.sqlite
Les fichiers associés sont :
logs_2.sqlite-wal
logs_2.sqlite-shm
Le suffixe -wal correspond au journal d’écriture SQLite en mode Write-Ahead Logging. Le suffixe -shm correspond au fichier de mémoire partagée utilisé par SQLite pour coordonner les accès.
Ces fichiers peuvent contenir des traces techniques :
- événements internes ;
- erreurs ;
- appels d’outils ;
- chemins de projets ;
- commandes exécutées ;
- sorties terminal ;
- contexte d’exécution.
Ils ne sont pas nécessairement l’historique conversationnel principal, mais ils peuvent contenir des informations issues des sessions passées.
Il est recommandé de fermer VS Code, l’extension Codex, Continue ou toute session Codex avant de les supprimer.
Commande de suppression :
rm -f ~/.codex/logs_*.sqlite ~/.codex/logs_*.sqlite-wal ~/.codex/logs_*.sqlite-shm
Sous PowerShell :
Remove-Item "$env:USERPROFILE\.codex\logs_*.sqlite*" -Force
Codex devrait recréer ces fichiers si nécessaire.
cache/
Le dossier cache/ contient du cache technique.
Exemples possibles :
~/.codex/cache/
~/.codex/cache/codex_app_directory
~/.codex/cache/codex_apps_tools
Ce dossier n’est généralement pas le premier à supprimer. Il peut être conservé.
Pour un nettoyage plus agressif, il peut être vidé :
rm -rf ~/.codex/cache/*
Mais il sera probablement reconstruit ensuite.
plugins/
Le dossier plugins/ peut contenir des plugins installés ou mis en cache.
Exemple :
~/.codex/plugins/
En général, il vaut mieux le conserver, sauf si l’on cherche à réinitialiser complètement les plugins.
skills/
Le dossier skills/ peut contenir des compétences ou instructions installées.
Exemple :
~/.codex/skills/
Il est préférable de le conserver, sauf nettoyage complet volontaire.
memories/ et memories_*.sqlite
Selon la configuration et les fonctionnalités utilisées, Codex peut stocker des éléments de mémoire locale.
On peut rencontrer :
~/.codex/memories/
~/.codex/memories_1.sqlite
~/.codex/memories_1.sqlite-wal
~/.codex/memories_1.sqlite-shm
Il faut vérifier leur contenu ou leur taille avant suppression.
Pour afficher la taille :
du -sh ~/.codex/memories 2>/dev/null
ls -lh ~/.codex/memories_*.sqlite* 2>/dev/null
Si ces fichiers sont très petits, ils ne contiennent probablement pas grand-chose. Si l’objectif est un nettoyage strict des traces locales, ils peuvent être sauvegardés puis supprimés, mais ce n’est pas forcément nécessaire dans un nettoyage standard.
config.toml
Le fichier config.toml contient la configuration de Codex.
Exemple :
~/.codex/config.toml
Il peut contenir :
- des paramètres globaux ;
- des paramètres par projet ;
- des règles d’approbation ;
- des paramètres de sandbox ;
- des options liées au modèle ;
- des chemins de projets.
Il ne s’agit pas d’un historique de conversation. Il est donc généralement recommandé de le conserver.
Pour le consulter :
sed -n '1,160p' ~/.codex/config.toml
auth.json
Le fichier auth.json contient des informations liées à l’authentification.
Exemple :
~/.codex/auth.json
Il ne faut pas le supprimer si l’on veut rester connecté.
À conserver :
auth.json
installation_id et version.json
Ces fichiers servent à identifier l’installation ou la version locale.
Exemples :
installation_id
version.json
Ils sont petits et peuvent être conservés.
5. Rechercher les traces d’un projet dans .codex
Avant et après nettoyage, il peut être utile de rechercher des traces liées à un projet.
Exemple :
grep -RniE "nom-du-projet|wordpress|docker|laravel|mariadb|php" ~/.codex 2>/dev/null | head -100
Il faut toutefois interpréter les résultats avec prudence.
Certains mots comme docker, laravel, wordpress ou php peuvent apparaître dans des plugins, skills ou fichiers techniques sans aucun rapport avec vos propres projets.
Les fichiers réellement intéressants à surveiller sont surtout :
sessions/
archived_sessions/
history.jsonl
session_index.jsonl
logs_*.sqlite
Si les résultats ne proviennent plus que de config.toml, cache/, plugins/ ou skills/, il ne s’agit pas forcément d’un historique de conversation.
6. Sauvegarder avant nettoyage
Avant de supprimer des fichiers, il est préférable de faire une sauvegarde.
Sous Linux, macOS ou WSL2 :
mkdir -p ~/backup_codex
tar -czf ~/backup_codex/codex-cleanup-$(date +%Y-%m-%d_%H-%M).tar.gz \
-C ~/.codex \
sessions archived_sessions history.jsonl session_index.jsonl \
logs_2.sqlite logs_2.sqlite-wal logs_2.sqlite-shm 2>/dev/null
Cette sauvegarde peut être supprimée plus tard si tout fonctionne correctement.
7. Nettoyage prudent de l’historique Codex
Cette étape supprime l’historique actif, les sessions archivées et les index de sessions.
Sous Linux, macOS ou WSL2 :
# Sessions actives
rm -rf ~/.codex/sessions/*
# Sessions archivées
rm -rf ~/.codex/archived_sessions/*
# Historique court
: > ~/.codex/history.jsonl
# Index des sessions
: > ~/.codex/session_index.jsonl
Pourquoi vider history.jsonl et session_index.jsonl plutôt que les supprimer ?
Parce que si Codex s’attend à retrouver ces fichiers, il est parfois plus propre de les laisser présents mais vides.
8. Nettoyage des logs SQLite volumineux
Avant cette étape, il est conseillé de fermer :
- VS Code ;
- l’extension Codex ;
- Continue ;
- les terminaux Codex en cours ;
- tout processus susceptible d’utiliser
.codex.
Sous Linux, macOS ou WSL2 :
rm -f ~/.codex/logs_*.sqlite ~/.codex/logs_*.sqlite-wal ~/.codex/logs_*.sqlite-shm
Sous Windows PowerShell :
Remove-Item "$env:USERPROFILE\.codex\logs_*.sqlite*" -Force
Ces fichiers peuvent être recréés automatiquement par Codex.
9. Nettoyage des fichiers temporaires
Les dossiers temporaires peuvent également être vidés :
rm -rf ~/.codex/tmp/*
rm -rf ~/.codex/.tmp/*
rm -rf ~/.codex/log/*
Ces dossiers sont généralement reconstruits si nécessaire.
10. Ce qu’il vaut mieux conserver
Dans un nettoyage standard, il est préférable de conserver :
auth.json
config.toml
installation_id
version.json
skills/
plugins/
cache/
state_*.sqlite
goals_*.sqlite
memories_*.sqlite
À conserver absolument
auth.json
config.toml
Supprimer auth.json peut obliger à se reconnecter.
Supprimer config.toml peut faire perdre la configuration personnalisée.
À vérifier avant suppression
memories/
memories_*.sqlite
state_*.sqlite
goals_*.sqlite
Ces fichiers sont généralement petits. Il vaut mieux ne pas les supprimer sans raison précise.
Supprimables en priorité
sessions/
archived_sessions/
history.jsonl
session_index.jsonl
logs_*.sqlite
tmp/
.tmp/
log/
11. Vérifier le résultat après nettoyage
Après nettoyage, vérifier la taille du dossier :
du -sh ~/.codex
du -h ~/.codex/ --max-depth=2
Vérifier que les historiques sont vides :
find ~/.codex/sessions ~/.codex/archived_sessions -type f 2>/dev/null | head
wc -l ~/.codex/history.jsonl ~/.codex/session_index.jsonl 2>/dev/null
Exemple de résultat attendu :
0 /home/user/.codex/history.jsonl
0 /home/user/.codex/session_index.jsonl
Rechercher encore d’éventuelles traces de projets :
grep -RniE "nom-du-projet|wordpress|docker|laravel|mariadb|php" ~/.codex 2>/dev/null | head -50
Si les résultats restants viennent seulement de config.toml, cache/, plugins/ ou skills/, il ne s’agit généralement plus d’un historique conversationnel.
12. Exemple de nettoyage complet sous Linux, macOS ou WSL2
Voici une commande complète de nettoyage prudent.
Elle sauvegarde d’abord les éléments importants, puis nettoie les historiques, archives, index, logs et fichiers temporaires.
# Fermer VS Code / Codex avant de lancer ce nettoyage si possible.
# 1. Sauvegarde
mkdir -p ~/backup_codex
tar -czf ~/backup_codex/codex-cleanup-$(date +%Y-%m-%d_%H-%M).tar.gz \
-C ~/.codex \
sessions archived_sessions history.jsonl session_index.jsonl \
logs_2.sqlite logs_2.sqlite-wal logs_2.sqlite-shm 2>/dev/null
# 2. Nettoyage de l'historique
rm -rf ~/.codex/sessions/*
rm -rf ~/.codex/archived_sessions/*
: > ~/.codex/history.jsonl
: > ~/.codex/session_index.jsonl
# 3. Nettoyage des logs SQLite
rm -f ~/.codex/logs_*.sqlite ~/.codex/logs_*.sqlite-wal ~/.codex/logs_*.sqlite-shm
# 4. Nettoyage temporaire
rm -rf ~/.codex/tmp/*
rm -rf ~/.codex/.tmp/*
rm -rf ~/.codex/log/*
# 5. Vérification
du -sh ~/.codex
find ~/.codex/sessions ~/.codex/archived_sessions -type f 2>/dev/null | head
wc -l ~/.codex/history.jsonl ~/.codex/session_index.jsonl 2>/dev/null
13. Exemple de nettoyage sous Windows PowerShell
Si Codex est utilisé directement sous Windows :
# Fermer VS Code / Codex avant de lancer ce nettoyage si possible.
$CodexPath = "$env:USERPROFILE\.codex"
$BackupPath = "$env:USERPROFILE\backup_codex"
New-Item -ItemType Directory -Force -Path $BackupPath | Out-Null
# Sauvegarde simple du dossier .codex
$Date = Get-Date -Format "yyyy-MM-dd_HH-mm"
Compress-Archive -Path `
"$CodexPath\sessions", `
"$CodexPath\archived_sessions", `
"$CodexPath\history.jsonl", `
"$CodexPath\session_index.jsonl" `
-DestinationPath "$BackupPath\codex-cleanup-$Date.zip" `
-Force `
-ErrorAction SilentlyContinue
# Nettoyage historique
Remove-Item "$CodexPath\sessions\*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "$CodexPath\archived_sessions\*" -Recurse -Force -ErrorAction SilentlyContinue
# Vider les fichiers d'index
if (Test-Path "$CodexPath\history.jsonl") {
Clear-Content "$CodexPath\history.jsonl"
}
if (Test-Path "$CodexPath\session_index.jsonl") {
Clear-Content "$CodexPath\session_index.jsonl"
}
# Nettoyage logs SQLite
Remove-Item "$CodexPath\logs_*.sqlite*" -Force -ErrorAction SilentlyContinue
# Nettoyage temporaire
Remove-Item "$CodexPath\tmp\*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "$CodexPath\.tmp\*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "$CodexPath\log\*" -Recurse -Force -ErrorAction SilentlyContinue
14. Après nettoyage : relancer proprement l’environnement
Après le nettoyage, il est conseillé de relancer l’environnement de développement.
Dans VS Code :
Ctrl + Shift + P
Developer: Reload Window
Ou bien fermer puis rouvrir complètement VS Code.
Si Codex recrée certains fichiers SQLite ou certains dossiers, c’est normal. L’objectif n’est pas d’empêcher Codex de fonctionner, mais de supprimer les anciens historiques et les logs accumulés.
15. Faut-il supprimer tout .codex ?
Dans la plupart des cas, non.
Supprimer tout le dossier :
rm -rf ~/.codex
peut entraîner :
- la perte de la connexion ;
- la perte de la configuration ;
- la perte des paramètres projet ;
- la suppression des plugins ou skills ;
- une réinitialisation plus brutale que nécessaire.
Il vaut mieux commencer par nettoyer :
sessions/
archived_sessions/
history.jsonl
session_index.jsonl
logs_*.sqlite
tmp/
.tmp/
log/
Puis vérifier le résultat.
Conclusion
Le dossier .codex ne contient pas uniquement des conversations. Il peut aussi stocker des logs, des bases SQLite, du cache, des plugins, des skills, des fichiers temporaires et de la configuration.
Pour un nettoyage propre, il faut distinguer :
Historique conversationnel :
- sessions/
- archived_sessions/
- history.jsonl
- session_index.jsonl
Logs et traces techniques :
- logs_*.sqlite
- logs_*.sqlite-wal
- logs_*.sqlite-shm
- log/
- tmp/
- .tmp/
Configuration et authentification :
- config.toml
- auth.json
- installation_id
- version.json
Éléments techniques à conserver en général :
- cache/
- plugins/
- skills/
- state_*.sqlite
- goals_*.sqlite
- memories_*.sqlite
Le bon compromis consiste à supprimer les historiques, archives, index, logs volumineux et fichiers temporaires, tout en conservant la configuration et l’authentification.
Ce nettoyage permet de récupérer de l’espace disque, de supprimer les traces locales d’anciennes sessions et de repartir sur une base plus propre, sans réinstaller Codex.
Même catégorie
Articles de la même catégorie
Une sélection d’articles publiés dans Développement web pour continuer sur un sujet proche.
Développement assisté par IA (Cloud vs Local)
Découvrez les principales différences entre les outils d’intelligence artificielle en cloud et en local pour le développement. Aut...
IA locale pour le développement : comprendre la différence entre Claude Code et VS Code + Continue
Découvrez les différences entre VS Code avec Continue, Claude Code et Codex CLI pour développer avec une IA locale. Comparaison du...
WordPress 7.0 : nouveautés, date de sortie et guide de mise à jour
Documentation complète sur WordPress 7.0 : date de sortie, nouveautés, IA, administration, éditeur, prérequis PHP, compatibilité p...
Navigation
Poursuivre la lecture
Naviguez vers un article plus récent ou plus ancien, revenez au fil éditorial ou explorez davantage la rubrique courante.
Article plus ancien
Aucun autre article plus ancien n’est disponible dans ce parcours de lecture.
Point de repère
Revenir à Développement web
Retrouvez l’ensemble des articles publiés dans cette catégorie pour poursuivre la navigation de manière thématique.
Voir la catégorieArticle plus récent
WordPress 7.0 : nouveautés, date de sortie et guide de mise à jour
Documentation complète sur WordPress 7.0 : date de sortie, nouveautés, IA, administration, éditeur, prérequis PHP, compa...
Lire l’article plus récentCommentaires
Laisser un message
Partagez une question, un retour ou un complément utile. Les commentaires sont relus avant publication.
Réseaux sociaux
Retrouvez Nicolas HENRY ailleurs
Profils, publications et points de contact sur les principales plateformes.