Aller au contenu

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.

Fenêtre de terminal
lu-cleaner scan -c ai # données des outils d'IA
lu-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 risque

Cursor 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.

lu-cleaner scan -c ai
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).

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 :

Fenêtre de terminal
lu-cleaner clean -c ai

Rien 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 :

Fenêtre de terminal
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és

clean --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 :

Fenêtre de terminal
lu-cleaner clean --yes -k claude-code-old-sessions --risk caution --dry-run

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 » :

Fenêtre de terminal
lu-cleaner worktrees # supprimer les worktrees terminés
lu-cleaner clean -c ai # leurs données Claude Code / Cursor apparaissent désormais comme orphelines

Un 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.

Quoi Où Risque Sélection intelligente
Sessions de plus de 30 jours, un élément par projet
claude-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 CLI
claude-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, changelog
ai-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 MCP
ai-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.

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 :

  1. Il lit le vrai cwd de chaque session dans sa transcription, ou dans sessions-index.json. Plusieurs dossiers peuvent partager un même répertoire de projet (my-app et my_app sont encodés de la même façon), donc chaque session est jugée d'après son propre dossier.
  2. 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é.
  3. 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é.

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és
claude-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.

Quoi Où Risque Sélection intelligente
Sessions de plus de 30 jours, un élément par mois
codex-old-sessions
~/.codex/sessions/YYYY/MM/ caution Non
Sessions archivées, un élément par mois
codex-archived-sessions
~/.codex/archived_sessions/ caution Non
Base de journaux
codex-logs-db
~/.codex/logs_*.sqlite (+ -wal, -shm) safe Oui, quand Codex est fermé
Copie obsolète de la base de journaux
codex-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 synchronisation
ai-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'application
ai-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'application
cursor-cached-data-old-builds
~/Library/Application Support/Cursor/CachedData/ ide safe Oui
État des espaces de travail de dossiers supprimés
cursor-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ées
cursor-workspace-dead-extension-data
…/workspaceStorage/*/<extension> ide safe Oui
Versions d'extensions remplacées
cursor-extension-old-versions
~/.cursor/extensions/ ide moderate Oui
Caches Electron, journaux, VSIX téléchargés
ai-cursor-electron-caches, ai-cursor-logs, ai-cursor-vsix-cache
~/Library/Application Support/Cursor/ ide safe Oui
Historique local (Timeline) de plus de 180 jours
ai-cursor-local-history
…/Cursor/User/History/ ide caution Non
Versions de cursor-agent embarquées
cursor-agent-bundled-old-version
…/globalStorage/anysphere.cursor-agent-worker/agent-cli/ ai safe Oui
Versions autonomes des CLI cursor-agent et origin
cursor-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és
cursor-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'agent
cursor-agent-mcp-caches
~/.cursor/projects/*/mcps ai safe Oui
Transcriptions de l'agent de plus de 30 jours
cursor-agent-old-transcripts
~/.cursor/projects/*/agent-transcripts… ai caution Non
Sauvegardes de la base d'état de plus de 30 jours
ai-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.

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.

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
Fenêtre de terminal
lu-cleaner scan -k ollama-model,lmstudio-model,huggingface-model
lu-cleaner clean -c ai # puis appuyez sur / et tapez "model" pour filtrer

Un 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.

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 :

~/.config/lu-cleaner/config.toml
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.