Nettoyer les données des outils d'IA
Les outils de développement assistés par IA écrivent beaucoup dans votre dossier personnel, et la plupart ne font jamais le ménage derrière eux :
- Les transcriptions de chaque session, souvent avec des captures d'écran et des sorties d'outils, conservées des semaines, voire indéfiniment.
- Les données par projet, indexées par chemin de dossier. Chaque worktree créé par un agent reçoit sa propre entrée, et cette entrée reste après la suppression du worktree.
- Les anciennes versions. Les mécanismes de mise à jour automatique téléchargent un nouveau build (de 200 Mo à 600 Mo) et conservent les précédents.
- Les caches, journaux et bases de données qui ne font que grossir : caches Electron, journaux de débogage, base de journaux de Codex jamais purgée.
- Les modèles locaux (Ollama, LM Studio, Hugging Face) téléchargés une fois pour essayer.
lu-cleaner les trouve grâce à un scanner dédié (le fournisseur ai) et aux emplacements fixes du catalogue. Il distingue ce qui peut être supprimé sans risque de ce qui constitue vos données, et ne propose jamais les identifiants, les réglages, les mémoires ni les bases de conversations.
Voir ce qu'occupent vos outils d'IA
Section intitulée « Voir ce qu'occupent vos outils d'IA »lu-cleaner scan -c ai # données des outils d'IAlu-cleaner scan -c ai,ide # plus la partie éditeur de Cursor (anciens builds, état des espaces de travail, extensions)lu-cleaner catalog -c ai # les chemins fixes vérifiés par lu-cleaner, avec leur risqueCursor est réparti sur deux catégories : ses données d'agent sont dans ai, et ses caches d'éditeur (la partie commune avec VS Code) dans ide.
AI tools 21.4 GB · 36 items · ★ 6.90 GB recommended NAME SIZE AGE RISK RECO PATH Ollama model · llama3.1:8b 4.92 GB 4mo caution ~/.ollama/models Codex sessions > 30d · 2026-07 (184 rollouts) 3.40 GB 2mo caution ~/.codex/sessions/2026/07/… Claude Code sessions > 30d · ~/dev/my-app (96 sessions) 2.10 GB 5w caution ~/.claude/projects/-Users-me-dev-my-app/… Codex app runtime (node / python / native deps) 1.60 GB 3w moderate ★ ~/.cache/codex-runtimes/… Claude Code data of deleted folder · ~/.codex/worktrees/a1b2/my-app 1.20 GB 6w moderate ★ ~/.claude/projects/-Users-me--codex-worktrees-a1b2-my-app/… Codex logs database (logs_2.sqlite) 1.10 GB now safe ★ ~/.codex/logs_2.sqlite Cursor · bundled cursor-agent · 2026.08.31-4057e58 (old version) 610 MB 6w safe ★ ~/Library/Application Support/Cursor/User/globalStorage/… …Les tailles et les noms ci-dessus sont donnés à titre d'exemple. La colonne ★ correspond à la sélection intelligente (smart select) : les éléments que lu-cleaner recommande (ce sont ceux que sélectionne la touche a).
Nettoyer
Section intitulée « Nettoyer »Le sélecteur interactif est le meilleur moyen de passer cette catégorie en revue, car une bonne partie relève d'un choix personnel :
lu-cleaner clean -c aiRien n'est sélectionné quand le sélecteur s'ouvre. Appuyez sur a pour sélectionner les éléments recommandés, ou choisissez avec space. Les éléments de risque caution (transcriptions, modèles, images générées) ne sont jamais recommandés, et leur nettoyage vous demande de taper yes.
Dans un script, commencez par une simulation :
lu-cleaner clean --yes --smart -c ai --dry-run # le plan, rien n'est supprimélu-cleaner clean --yes --smart -c ai # nettoie les éléments recommandésclean --yes écarte les éléments caution, ainsi que les éléments qui portent un avertissement (une application en cours d'exécution, par exemple), sauf si vous passez --risk caution. Le plan liste les éléments avec avertissement sous Held back. Pour supprimer délibérément les anciennes transcriptions de Claude Code, indiquez leur type d'élément :
lu-cleaner clean --yes -k claude-code-old-sessions --risk caution --dry-runLe bon ordre : les worktrees d'abord
Section intitulée « Le bon ordre : les worktrees d'abord »Claude Code et Cursor conservent des données par dossier. lu-cleaner ne peut qualifier ces données d'orphelines qu'une fois le dossier disparu. Supprimez d'abord les worktrees d'agents terminés, puis relancez un scan. Leurs restes apparaissent alors comme éléments « data of deleted folder » :
lu-cleaner worktrees # supprimer les worktrees terminéslu-cleaner clean -c ai # leurs données Claude Code / Cursor apparaissent désormais comme orphelinesUn dossier disparu récemment peut revenir (dossier renommé, espace de travail Conductor restauré, worktree recréé), et les transcriptions et conversations ne sont jamais régénérées. Ces données sont donc caution et jamais recommandées pendant les 30 jours qui suivent leur dernière écriture. Ensuite, elles passent en moderate et sont recommandées, sauf si leur dossier a seulement été déduit du nom du répertoire ou s'il s'agit d'un espace de travail Conductor.
Claude Code
Section intitulée « Claude Code »| Quoi | Où | Risque | Sélection intelligente |
|---|---|---|---|
Sessions de plus de 30 jours, un élément par projetclaude-code-old-sessions |
~/.claude/projects/<project>/ |
caution | Non |
Données d'un dossier supprimé (projet orphelin)claude-code-orphan-project |
~/.claude/projects/<project>/ |
moderate une fois intactes depuis 30 jours ; caution avant, ou quand le dossier a été déduit ou est un espace de travail Conductor | Seulement si moderate |
Anciennes versions de la CLIclaude-code-old-version |
~/.local/share/claude/versions/ |
moderate | Oui |
Journaux de débogage (plus d'un jour)ai-claude-code-debug-logs |
~/.claude/debug/ |
safe | Oui |
Instantanés du shell (plus de 7 jours)ai-claude-code-shell-snapshots |
~/.claude/shell-snapshots/ |
safe | Oui |
Télémétrie, cache des feature flags, changelogai-claude-code-telemetry |
~/.claude/telemetry/, ~/.claude/statsig/ |
safe | Oui |
Dossiers temporaires et listes de tâches par session (plus de 7 jours)ai-claude-code-session-temp, ai-claude-code-todos |
~/.claude/session-env/, ~/.claude/tasks/, ~/.claude/todos/ |
safe | Oui |
Journaux des serveurs MCPai-claude-code-mcp-logs |
~/Library/Caches/claude-cli-nodejs/ |
safe | Oui |
Cache des collages (plus de 30 jours)ai-claude-code-paste-cache |
~/.claude/paste-cache/ |
moderate | Si inactif |
Sauvegardes de ~/.claude.json (toutes sauf la plus récente, plus de 7 jours)claude-code-config-backups |
~/.claude/backups/, ~/ |
moderate | Si inactif |
Points de contrôle de fichiers utilisés par /rewind (plus de 30 jours)ai-claude-code-file-history |
~/.claude/file-history/ |
caution | Non |
Fichiers de plan (plus de 60 jours)ai-claude-code-plans |
~/.claude/plans/ |
caution | Non |
« Si inactif » signifie que l'élément est recommandé dès qu'il n'a pas été utilisé depuis plus de stale_after, soit 14 jours par défaut. Voir Configuration.
Un instantané du shell est chargé par chaque commande de la session qui l'a créé : une session restée ouverte plusieurs jours a donc encore besoin de son instantané. Seuls les instantanés de plus d'une semaine sont proposés.
Anciennes sessions. Claude Code stocke une transcription par session (<id>.jsonl), avec à côté un dossier pour les journaux des sous-agents et les sorties d'outils. lu-cleaner regroupe, pour chaque projet, les sessions qui n'ont pas été modifiées depuis 30 jours. Il ignore toute session indiquée comme active dans ~/.claude/sessions/. Supprimer d'anciennes sessions les retire de claude --resume et de l'historique. Claude Code purge aussi lui-même ses transcriptions au-delà de cleanupPeriodDays (30 jours par défaut). Si vous avez augmenté ce réglage, lu-cleaner vous laisse choisir les projets à alléger.
Anciennes versions de la CLI. L'installateur natif conserve chaque build téléchargé (environ 200 Mo chacun). lu-cleaner garde la version vers laquelle pointe ~/.local/bin/claude, la plus récente (le mécanisme de mise à jour l'a peut-être déjà téléchargée) et toute version utilisée par un processus en cours. Pour conserver davantage de versions, réglez keep_latest.
Comment les projets orphelins sont détectés
Section intitulée « Comment les projets orphelins sont détectés »Claude Code nomme chaque dossier de projet d'après le répertoire de travail, en remplaçant par - chaque caractère qui n'est ni une lettre ni un chiffre. Par exemple, ~/.codex/worktrees/a1b2/my-app devient -Users-me--codex-worktrees-a1b2-my-app. Ce nom ne peut pas être décodé de façon fiable, donc lu-cleaner ne commence pas par l'analyser :
- Il lit le vrai
cwdde chaque session dans sa transcription, ou danssessions-index.json. Plusieurs dossiers peuvent partager un même répertoire de projet (my-appetmy_appsont encodés de la même façon), donc chaque session est jugée d'après son propre dossier. - Si aucune session n'indique son dossier, il cherche sur le disque un dossier dont le nom encodé correspond. Un tel élément indique que le dossier a été deviné d'après le répertoire entier et n'est jamais recommandé.
- Un dossier qui ne peut pas être vérifié (volume non monté, dossier parent illisible, protection de la vie privée de macOS, fournisseur de stockage cloud déconnecté) est considéré comme « inconnu », jamais comme « supprimé ».
Une session ne devient orpheline que si son dossier n'existe plus, de façon vérifiée, qu'aucune session active n'y tourne et que rien n'y a été écrit au cours de la dernière heure. Elle n'est recommandée que si son dossier a été lu dans les sessions, n'est pas un espace de travail Conductor (Conductor restaure les espaces de travail archivés) et que rien n'y a été écrit depuis 30 jours. Les sessions des autres dossiers qui partagent le répertoire sont conservées. La mémoire automatique (memory/) est toujours conservée : lu-cleaner supprime les transcriptions qui l'entourent, jamais le dossier. Juste avant la suppression, il vérifie de nouveau que le dossier est toujours absent et qu'aucune session n'y a démarré.
Claude desktop
Section intitulée « Claude desktop »| Quoi | Où | Risque | Sélection intelligente |
|---|---|---|---|
Image de la VM Cowork (rootfs.img, initrd, vmlinuz)ai-claude-desktop-vm-image |
~/Library/Application Support/Claude/vm_bundles/claudevm.bundle/ |
moderate | Si inactif |
Anciens builds de Claude Code embarquésclaude-desktop-old-claude-code, claude-desktop-old-claude-code-vm |
…/Claude/claude-code/, …/Claude/claude-code-vm/ |
safe | Oui |
Caches Electron (HTTP, code, GPU, mise à jour)ai-claude-desktop-caches |
…/Claude/Cache, …/Claude/Code Cache… |
safe | Oui |
Disque de session de la VM Cowork (sessiondata.img) |
…/claudevm.bundle/ |
caution | Signalé uniquement |
| État des sessions Agent et Code, dépôts git fantômes | …/Claude/local-agent-mode-sessions… |
caution | Signalé uniquement |
L'image de la VM est un disque Linux creux (sparse) d'environ 10 Go alloués. Claude desktop la télécharge de nouveau au prochain démarrage de Cowork. Le disque de session, qui contient les fichiers de vos sessions Cowork, est seulement signalé. Pour les builds de Claude Code embarqués, lu-cleaner conserve la version la plus récente et celle indiquée dans claude-code-vm/.sdk-version. L'image de la VM et les caches attendent que l'application Claude soit fermée.
Codex (CLI et application)
Section intitulée « Codex (CLI et application) »| Quoi | Où | Risque | Sélection intelligente |
|---|---|---|---|
Sessions de plus de 30 jours, un élément par moiscodex-old-sessions |
~/.codex/sessions/YYYY/MM/ |
caution | Non |
Sessions archivées, un élément par moiscodex-archived-sessions |
~/.codex/archived_sessions/ |
caution | Non |
Base de journauxcodex-logs-db |
~/.codex/logs_*.sqlite (+ -wal, -shm) |
safe | Oui, quand Codex est fermé |
Copie obsolète de la base de journauxcodex-stale-logs-db |
~/.codex/sqlite/logs_*.sqlite |
safe | Oui |
Sauvegardes de réparation de la base de journaux (plus de 7 jours)ai-codex-repair-backups |
~/.codex/logs_*.codex-repair-*.bak |
safe | Oui |
Sauvegardes de réparation de vos bases de données (mémoires, objectifs ; plus de 30 jours)ai-codex-repair-backups-data |
~/.codex/*.codex-repair-*.bak |
caution | Non |
Environnement d'exécution de l'application (node, python, dépendances natives)ai-codex-runtimes |
~/.cache/codex-runtimes/ |
moderate | Si inactif |
Caches de plugins et clones de synchronisationai-codex-plugin-cache, ai-codex-plugin-staging |
~/.codex/plugins/cache, ~/.codex/.tmp/ |
moderate | Si inactif |
Caches de catalogue, instantanés du shell, caches Chromium de l'applicationai-codex-caches, ai-codex-shell-snapshots, ai-codex-app-caches |
~/.codex/cache/, ~/.codex/shell_snapshots/, ~/Library/Application Support/Codex/ |
safe | Oui |
Fichiers journaux de la CLI (plus de 14 jours)ai-codex-log-files |
~/.codex/log/ |
moderate | Si inactif |
Images et visualisations générées (plus de 30 jours)ai-codex-generated-images, codex-visualizations |
~/.codex/generated_images/, ~/.codex/visualizations/ |
caution | Non |
Base d'historique des fils, anciennes copies des bases d'état et de mémoires, archives de PR, pièces jointes, ~/Documents/Codex |
~/.codex/… |
caution | Signalé uniquement |
Sessions. Un seul fichier de rollout peut atteindre plusieurs centaines de Mo lorsqu'il contient des captures d'écran. Le supprimer rend impossible la reprise du fil correspondant. Les fils épinglés sont toujours conservés : lu-cleaner en lit la liste dans la base d'état de Codex avec une requête sqlite3 en lecture seule.
Sauvegardes de réparation. Quand Codex répare une base de données, il conserve une copie du fichier d'avant la réparation. Pour la base de journaux, cette copie est inutile. Pour les bases de mémoires et d'objectifs, c'est le seul moyen de récupérer des lignes qu'une réparation a supprimées : ces copies ne sont donc proposées que sous forme d'éléments caution. Les sauvegardes de la base d'état sont protégées.
Base de journaux. logs_*.sqlite ne contient que des journaux de traçage et de retours. Codex ne la purge ni ne la compacte jamais, et en recrée une vide au démarrage suivant. Elle est supprimée avec ses fichiers -wal et -shm, elle ne doit donc pas être ouverte. L'élément attend que codex, l'application Codex et l'application ChatGPT soient fermés (ChatGPT intègre Codex). Juste avant la suppression, lu-cleaner vérifie aussi avec lsof qu'aucun processus n'a le fichier ouvert.
| Quoi | Où | Catégorie | Risque | Sélection intelligente |
|---|---|---|---|---|
CachedData des anciens builds de l'applicationcursor-cached-data-old-builds |
~/Library/Application Support/Cursor/CachedData/ |
ide | safe | Oui |
État des espaces de travail de dossiers suppriméscursor-workspace-storage-orphans |
…/Cursor/User/workspaceStorage/ |
ide | moderate une fois intact depuis 30 jours et sans données de conversation ; caution sinon (« to review ») | Seulement si moderate |
Données d'espace de travail d'extensions désinstalléescursor-workspace-dead-extension-data |
…/workspaceStorage/*/<extension> |
ide | safe | Oui |
Versions d'extensions remplacéescursor-extension-old-versions |
~/.cursor/extensions/ |
ide | moderate | Oui |
Caches Electron, journaux, VSIX téléchargésai-cursor-electron-caches, ai-cursor-logs, ai-cursor-vsix-cache |
~/Library/Application Support/Cursor/ |
ide | safe | Oui |
Historique local (Timeline) de plus de 180 joursai-cursor-local-history |
…/Cursor/User/History/ |
ide | caution | Non |
Versions de cursor-agent embarquéescursor-agent-bundled-old-version |
…/globalStorage/anysphere.cursor-agent-worker/agent-cli/ |
ai | safe | Oui |
Versions autonomes des CLI cursor-agent et origincursor-agent-old-version, cursor-origin-old-version |
~/.local/share/cursor-agent/versions/, ~/.local/share/cursor/origin/ |
ai | safe | Oui |
Données d'agent de dossiers suppriméscursor-agent-orphan-projects |
~/.cursor/projects/ |
ai | moderate une fois intactes depuis 30 jours, quand Cursor a enregistré le dossier ; caution sinon (« to review ») | Seulement si moderate |
Caches des descripteurs MCP de l'agentcursor-agent-mcp-caches |
~/.cursor/projects/*/mcps |
ai | safe | Oui |
Transcriptions de l'agent de plus de 30 jourscursor-agent-old-transcripts |
~/.cursor/projects/*/agent-transcripts… |
ai | caution | Non |
Sauvegardes de la base d'état de plus de 30 joursai-cursor-state-db-backups |
…/globalStorage/state.vscdb.backup* |
ai | caution : les seuls points de restauration de vos conversations | Non |
Anciens builds et versions. Cursor crée un dossier CachedData/<commit> à chaque mise à jour, mais n'utilise que le commit du Cursor.app installé, que lu-cleaner lit dans le bundle de l'application. Le cursor-agent embarqué conserve chaque build qu'il télécharge (de 200 Mo à 600 Mo chacun). lu-cleaner ne garde que le build ciblé par son lien symbolique bin/cursor-agent et le plus récent.
État des espaces de travail de dossiers supprimés. Chaque dossier ou worktree que vous ouvrez reçoit une entrée dans workspaceStorage. lu-cleaner lit le dossier dans son workspace.json et propose l'entrée dès que ce dossier n'existe plus, de façon vérifiée. Les espaces de travail distants sont ignorés. Les entrées intactes depuis 30 jours et sans données de conversation forment un élément recommandé. Les autres (modifiées récemment, contenant un historique de conversation, ou appartenant à un espace de travail Conductor qui peut être restauré) vont dans un élément « to review » distinct, jamais recommandé. Les données d'agent de ~/.cursor/projects suivent la même répartition. Juste avant la suppression, lu-cleaner vérifie de nouveau que les dossiers ne sont pas réapparus.
Données d'extensions. Les données des extensions désinstallées (les index des serveurs de langage peuvent peser plusieurs gigaoctets) ne sont proposées que si lu-cleaner parvient à lire la liste des extensions intégrées dans Cursor.app. Sans elle, lu-cleaner ne peut pas savoir qu'une extension a disparu.
Autres outils d'IA
Section intitulée « Autres outils d'IA »| Outil | Ce que lu-cleaner propose | Risque |
|---|---|---|
| ChatGPT desktop | Cache des conversations (resynchronisé depuis le serveur), caches HTTP | moderate, safe |
| ChatGPT Atlas | Tout son dossier de données, uniquement quand l'application n'est plus installée | caution |
| Conductor | Contextes d'espaces de travail archivés de plus de 30 jours, par dépôt (notes, plans, souvent de gros APK et enregistrements) | caution |
Anciens binaires Claude Code et Codex embarqués (conserve la version ciblée par bin/claude / bin/codex) |
safe | |
conductor.db (sessions et messages) et cache.db (brouillons non envoyés) : signalés uniquement |
never, caution | |
| Multica | La copie codex-home de chaque tâche terminée depuis 7 jours ou plus. Les dossiers de travail des tâches (copies des dépôts) ne sont jamais touchés. |
moderate |
| GitHub Copilot CLI, vibe-kanban | Versions remplacées | safe |
| Antigravity | Extensions laissées après la désinstallation de l'application (moderate). Le profil de l'agent de navigation laissé après la désinstallation (mots de passe enregistrés, cookies) et les enregistrements du navigateur de plus de 90 jours (caution, jamais recommandés). Les conversations et le « brain » sont seulement signalés. | moderate, caution |
| opencode, Continue, Windsurf, Raycast, Grok CLI, chrome-devtools MCP | Caches, index, journaux, mises à jour et installateurs téléchargés. Les sessions et conversations restent (signalées uniquement). | safe |
| VoiceInk | Enregistrements de dictée de plus de 30 jours (les transcriptions restent dans l'application) | caution |
| Gemini CLI, Warp | ~/.gemini/tmp (points de contrôle) et la base de données de Warp : signalés uniquement |
caution, never |
Lancez lu-cleaner catalog -c ai pour obtenir les chemins exacts, ou consultez le catalogue.
Modèles locaux
Section intitulée « Modèles locaux »Les poids de modèles sont des téléchargements volontaires de plusieurs gigaoctets, donc chacun constitue un élément distinct, avec le risque caution. Ils ne sont jamais recommandés, et clean --yes les ignore sauf si vous passez --risk caution.
| Stockage | Emplacement | Élément |
|---|---|---|
| Ollama | ~/.ollama/models ou $OLLAMA_MODELS |
Un par tag de modèle. Les couches partagées avec un autre modèle sont conservées. |
| LM Studio | ~/.lmstudio/models, ~/.cache/lm-studio/models |
Un par dossier de modèle |
| Hugging Face | ~/.cache/huggingface/hub, $HF_HUB_CACHE ou $HF_HOME/hub |
Un par modèle, dataset ou space (toutes révisions confondues) |
| Whisper | ~/.cache/whisper, WhisperModels de VoiceInk |
Un par fichier de modèle |
lu-cleaner scan -k ollama-model,lmstudio-model,huggingface-modellu-cleaner clean -c ai # puis appuyez sur / et tapez "model" pour filtrerUn stockage de modèles qui est un lien symbolique vers un autre disque est signalé, pas proposé : le supprimer ne libérerait aucun espace sur votre disque interne. La clé d'identité d'Ollama (~/.ollama/id_ed25519) est protégée.
Ce qui est toujours protégé
Section intitulée « Ce qui est toujours protégé »Le garde-fou de sécurité refuse ces chemins, tout ce qu'ils contiennent et tout dossier qui les contient, quoi que propose un scanner ou une entrée du catalogue :
| Outil | Protégé |
|---|---|
| Claude Code | ~/.claude.json, .credentials.json, settings.json, settings.local.json, CLAUDE.md, skills/, agents/, commands/, hooks/, rules/, plugins et marketplaces installés, history.jsonl, sessions/, le memory/ de chaque projet |
| Claude desktop | claude_desktop_config.json, config.json, git-worktrees.json |
| Codex | auth.json, config.toml, AGENTS.md, memories/, skills/, rules/, automations/, history.jsonl, session_index.jsonl, le fichier d'état global et sa sauvegarde, les bases d'état, d'objectifs et de mémoires |
| Cursor | ~/.cursor/mcp.json, rules/, skills/, User/settings.json, keybindings.json, snippets/, globalStorage/state.vscdb (toutes les conversations), storage.json |
| Autres | Clé d'identité d'Ollama, identifiants et réglages de Gemini CLI, ~/.multica, réglages de Conductor |
Les dossiers des outils eux-mêmes (~/.claude, ~/.codex, ~/.cursor, ~/.conductor, ~/conductor) ne peuvent jamais être supprimés en bloc. Pour protéger davantage, ajoutez des chemins à protect dans votre configuration :
protect = ["~/.codex/sessions", "~/.ollama/models"]Ces entrées sont des chemins littéraux, pas des motifs : ~ et $VARS sont développés, et la casse et la normalisation Unicode ne comptent pas, comme sur APFS.