Claude Code perd le contexte entre les sessions : garder décisions et tâches d'un projet
Chaque session de Claude Code démarre avec une fenêtre de contexte vide : seuls les fichiers CLAUDE.md et la mémoire automatique sont relus au lancement, et une longue session finit compactée en résumé. Pour ne plus rien perdre, écrivez les règles durables dans CLAUDE.md, l'état du travail en cours dans un fichier de passation, et sortez du dépôt ce qui doit être partagé avec d'autres personnes ou d'autres outils, par exemple dans un serveur MCP.
Lundi, vous passez deux heures avec Claude Code à choisir comment gérer les remboursements partiels d’une boutique. Mardi matin, vous ouvrez une nouvelle session et Claude propose exactement la solution que vous aviez écartée la veille. Ce n’est pas une panne : c’est le fonctionnement normal de l’outil. Comprendre ce qui est gardé, et ce qui ne l’est pas, permet de choisir où écrire chaque information pour qu’elle survive.
Pourquoi chaque session repart de zéro
La documentation de Claude Code le dit sans détour : chaque nouvelle session démarre avec une fenêtre de contexte vide, sans l’historique des conversations précédentes. La fenêtre de contexte, c’est tout ce que le modèle « voit » à un instant donné : vos messages, ses réponses, les fichiers lus, les sorties de commandes, les instructions système.
Au lancement, Claude Code y charge quelques éléments seulement :
- vos fichiers CLAUDE.md ;
- le début de la mémoire automatique (le fichier MEMORY.md) ;
- des informations sur l’environnement et l’état git du dépôt ;
- la liste des outils et des serveurs MCP disponibles.
Tout ce qui a été dit dans les conversations précédentes, en revanche, n’y est pas. La décision de lundi n’existe plus pour Claude, sauf si elle a été écrite quelque part qu’il relit.
La compaction : quand la session elle-même oublie
Le problème existe aussi à l’intérieur d’une seule session. La fenêtre de contexte se remplit vite, et la documentation indique que les performances baissent à mesure qu’elle se remplit : Claude peut « oublier » des consignes données au début ou faire davantage d’erreurs.
À l’approche de la limite, Claude Code fait de la place automatiquement. Il efface d’abord les anciennes sorties d’outils, puis résume la conversation si nécessaire. Vos demandes et les extraits de code importants sont conservés, mais les consignes détaillées données tôt dans la conversation peuvent disparaître.
Après une compaction, voici ce qui revient et ce qui se perd :
| Élément | Après compaction |
|---|---|
| CLAUDE.md à la racine du projet | Relu sur le disque et réinjecté |
| Mémoire automatique, outils MCP | Rechargés automatiquement |
| Fichiers lus ou modifiés pendant la session | Jusqu’à cinq relus, les plus récemment modifiés d’abord ; un fichier trop long revient comme simple référence |
| CLAUDE.md des sous-dossiers, règles limitées à certains chemins | Résumés avec le reste, rechargés quand Claude lit, écrit ou modifie un fichier concerné |
| Consignes données seulement dans la conversation | Remplacées par le résumé, avec un risque de perte |
La conclusion de la documentation est simple : une règle qui doit durer va dans CLAUDE.md, pas dans la conversation.
Ce que Claude Code propose aujourd’hui
Les fichiers CLAUDE.md, à plusieurs niveaux
CLAUDE.md est un fichier Markdown que vous écrivez et que Claude lit au début de chaque session. Il existe à quatre niveaux, chargés du plus large au plus précis :
- politique gérée par l’organisation (par exemple
/etc/claude-code/CLAUDE.mdsous Linux), pour tous les utilisateurs d’une machine ; - utilisateur,
~/.claude/CLAUDE.md, pour vos préférences dans tous vos projets ; - projet,
./CLAUDE.mdou./.claude/CLAUDE.md, partagé avec l’équipe par git ; - local,
./CLAUDE.local.md, vos réglages personnels pour ce projet, à exclure de git.
La commande /init génère un premier fichier à partir du code, /memory liste et ouvre les fichiers chargés, /context montre ce qui occupe la fenêtre.
Les limites sont connues. Claude traite ces fichiers comme du contexte, pas comme une configuration imposée. La documentation conseille de rester sous 200 lignes par fichier : au-delà, le fichier coûte plus de contexte et les consignes sont moins bien suivies. Elle recommande d’y mettre les décisions d’architecture propres au projet, mais d’en exclure les informations qui changent souvent. Une liste de tâches en cours n’a donc pas sa place ici.
La mémoire automatique
En plus de CLAUDE.md, Claude Code prend lui-même des notes : vos corrections, vos préférences, des commandes qu’il a apprises. Elle est activée par défaut en session locale et se règle avec /memory. Les notes sont rangées dans ~/.claude/projects/<projet>/memory/, un dossier par dépôt git ; les 200 premières lignes ou les 25 premiers Ko de MEMORY.md sont chargés à chaque session.
Limites : Claude décide seul de ce qui mérite d’être retenu, et ne note rien à chaque session. Surtout, cette mémoire reste sur votre machine : elle n’est partagée ni entre machines, ni avec les environnements cloud, ni avec vos collègues.
Reprendre une session
Claude Code enregistre chaque conversation dans un fichier local. Vous pouvez donc reprendre là où vous en étiez :
claude --continue # rouvre la conversation la plus récente du dossier
claude --resume # ouvre la liste des sessions
claude -n refonte-paiement # démarre une session nommée
claude --resume refonte-paiement
Une session reprise retrouve tout son historique, appels d’outils compris. C’est pratique pour une tâche étalée sur deux jours. Mais ces transcriptions sont locales, rattachées à un dossier, et supprimées par défaut au bout de 30 jours. Sur les offres Pro et Max, quand vous reprenez une session de plus de 100 000 tokens restée inactive plus d’une heure, Claude Code propose de repartir d’un résumé : chaque échange coûte alors moins cher, mais avec la même perte qu’une compaction. Et l’application de bureau, claude.ai/code et l’extension VS Code tiennent chacune leur propre liste de sessions.
Les commandes de gestion du contexte
/clearvide le contexte entre deux tâches sans rapport ; la conversation précédente reste reprenable avec/resume./compactremplace l’historique par un résumé, que vous pouvez orienter :/compact concentre-toi sur les changements d'API.- Une section « Compact Instructions » dans CLAUDE.md indique ce qui doit toujours survivre au résumé, par exemple la liste des fichiers modifiés.
Les pratiques qui marchent
Un fichier de passation en fin de session
Une pratique consiste à terminer une session en demandant à Claude d’écrire une note de passation. Le modèle proposé par ClaudeCodeLab contient l’objectif (et ce qui en est exclu), l’état actuel (branche, fichiers modifiés), ce qui a changé et pourquoi, ce qui a été vérifié et surtout ce qui ne l’a pas été, les risques, et la consigne à donner à la session suivante. Son script range chaque note, datée, dans un dossier handoffs/. La session suivante commence par comparer la note à git status, puis reprend les vérifications restées en suspens.
La répartition est claire : CLAUDE.md porte les règles durables, le fichier de passation porte l’état temporaire de la tâche.
Un journal de décisions
Une décision prise en séance (« on garde les remboursements partiels côté back-office, pas côté API ») se perd dès que la session se termine. Un fichier docs/decisions.md, avec une entrée datée par décision, sa raison et les options écartées, évite de rouvrir le débat. Vous pouvez demander à Claude de l’alimenter au fil de l’eau et de le relire avant toute modification touchant le sujet.
Découper le travail
La documentation recommande de séparer exploration, plan et réalisation, et de faire écrire une spécification (SPEC.md) avant d’ouvrir une session neuve pour l’implémenter. Des sessions courtes, une par sujet et bien nommées, compactent moins et laissent une trace plus lisible qu’une seule session fourre-tout.
Ce qui manque quand on est plusieurs
Toutes ces pratiques reposent sur des fichiers dans le dépôt ou sur votre disque. Pour une personne seule sur un dépôt, cela suffit souvent. Dès que l’équipe grandit ou que le travail déborde du code, des trous apparaissent :
- Les décisions prises ailleurs ne rentrent pas dans le dépôt. Le choix arrêté avec le client en réunion, ou dans une conversation sur claude.ai, n’atterrit dans aucun CLAUDE.md, sauf si quelqu’un pense à le recopier.
- La mémoire automatique et les sessions sont personnelles. Ce que Claude a appris avec vous ne sert pas à votre collègue, et ses sessions ne sont pas les vôtres.
- Les fichiers de passation se contredisent. Deux personnes, deux branches, deux notes de passation : laquelle fait foi ?
- Les tâches n’ont ni responsable ni statut partagé. Une liste dans un fichier Markdown ne dit pas qui s’en occupe, ni ce qui a avancé depuis hier.
- Pas d’historique commun. On ne retrouve pas facilement pourquoi une règle a changé il y a trois mois, ni qui l’a décidé.
Le besoin, c’est un endroit hors du dépôt, lisible par chaque personne et par chaque assistant, où décisions et tâches sont écrites une fois.
Brancher une mémoire partagée par MCP
MCP (Model Context Protocol) permet de relier Claude Code à un service externe : Claude y lit et y écrit comme il lit vos fichiers. Pour un serveur distant, la commande est :
claude mcp add --transport http <nom> <url>
Par défaut, le serveur n’est disponible que pour vous dans le projet courant. Avec --scope user, il l’est dans tous vos projets ; avec --scope project, la configuration est écrite dans un .mcp.json à la racine du dépôt, partagé par git. Si le serveur demande une connexion OAuth, lancez /mcp dans Claude Code et suivez les étapes dans le navigateur.
Plusieurs types de serveurs existent : des serveurs de mémoire open source qui tournent sur votre machine, adaptés à un usage individuel, ou des outils d’équipe qui exposent leurs données par MCP.
Tavimi, pour le cas de l’équipe
Tavimi est la mémoire de travail partagée par une équipe et ses assistants IA, via MCP. Chaque projet a son espace, où l’on invite des personnes par courriel. Les notes y sont versionnées et rangées par catégories (décision, piège, référence), chacune avec ses titres obligatoires. Les tâches portent un statut, une échéance, un responsable et un journal daté. Quand un choix lui manque, l’agent pose la question sur la tâche plutôt que de deviner, et un humain y répond depuis l’interface web.
Le même espace est lu par Claude Code, par Claude sur claude.ai et par Claude Desktop :
claude mcp add --transport http tavimi https://app.tavimi.com/mcp
La connexion se fait ensuite par OAuth avec /mcp, en cochant les espaces que l’assistant peut voir. Le fonctionnement est détaillé sur la page Comment ça marche, et le cas des équipes de développement sur la page e-commerce. CLAUDE.md garde son rôle pour les règles du dépôt ; Tavimi prend ce qui doit être partagé au-delà.
Questions fréquentes
Ce qu'on nous demande
Où Claude Code range-t-il sa mémoire automatique ?
Dans un dossier par dépôt sur votre machine, sous ~/.claude/projects/<projet>/memory/, avec un fichier d'index MEMORY.md. Ce sont des fichiers Markdown que vous pouvez lire, corriger ou supprimer, et qui ne sont partagés ni entre machines ni avec vos collègues.
Faut-il mettre la liste des tâches dans CLAUDE.md ?
Mieux vaut éviter. La documentation de Claude Code conseille de garder ce fichier court et d'en exclure les informations qui changent souvent. Une liste de tâches change tous les jours : elle a sa place dans un fichier de passation, un gestionnaire de tickets ou un outil relié par MCP.
Quelle différence entre /clear et /compact ?
/clear vide le contexte et démarre une conversation neuve ; l'ancienne reste enregistrée et se reprend avec /resume. /compact garde la conversation mais la remplace par un résumé, que vous pouvez orienter en ajoutant une consigne après la commande.
Un serveur MCP ajouté dans Claude Code est-il visible par mes collègues ?
Par défaut, non : la portée locale le réserve à vous et au projet courant. Avec --scope project, la configuration est écrite dans un fichier .mcp.json à la racine du dépôt, que l'équipe partage par le contrôle de version. Claude Code demande une approbation avant d'utiliser un serveur déclaré dans ce fichier, et chacun s'y connecte ensuite lui-même avec /mcp.
Sources
- How Claude remembers your project (documentation Claude Code, Anthropic), consultée le 11 octobre 2026
- How Claude Code works (documentation Claude Code, Anthropic), consultée le 11 octobre 2026
- Explore the context window (documentation Claude Code, Anthropic), consultée le 11 octobre 2026
- Manage sessions (documentation Claude Code, Anthropic), consultée le 11 octobre 2026
- Best practices for Claude Code (documentation Claude Code, Anthropic), consultée le 11 octobre 2026
- Connect Claude Code to tools via MCP (documentation Claude Code, Anthropic), consultée le 11 octobre 2026
- Modèle de handoff Claude Code : garder le contexte pour la prochaine personne ou le prochain agent (ClaudeCodeLab), consultée le 11 octobre 2026