
Rapatrier votre historique Claude.ai : claude-archive, pas à pas
Des mois de conversations avec une IA contiennent des décisions, du code et des explications dont vous aurez encore besoin. L'export officiel vous les rend, mais en un gros fichier JSON. claude-archive en fait un dossier que vous pouvez lire, chercher, indexer et versionner, et vous dit exactement ce que l'export n'a pas pu donner.
Ce que vous y gagnez. Tout votre historique, lisible hors ligne, dans l'ordre des dates, chaque bout de code extrait en fichier, et un décompte qui prouve que l'archive est complète. Prêt à nourrir une recherche locale dans vos notes.
1. Demander l'export
Sur Claude.ai : Paramètres → Confidentialité → Exporter les données. Vous recevez par mail un lien vers un ou plusieurs fichiers ZIP.
2. Lancer le script
chmod +x claude_archive.py
python3 claude_archive.py ~/Téléchargements/data-XXXX-batch-0000.zip -o ./ancien-claude
# ou un dossier déjà décompressé, tout ce qui contient conversations.json
python3 claude_archive.py ~/Téléchargements/mon-export -o ./ancien-claude
Python 3.10 ou plus récent, bibliothèque standard seulement : rien à installer, rien d'envoyé nulle part.
Plusieurs ZIP (batch-0000, batch-0001…) ? Donnez à chacun son propre dossier de sortie : la numérotation repart à 1 à chaque lancement et les noms entreraient en collision.
3. Ce que vous obtenez
ancien-claude/
├── conversations/ un .md par conversation, numéroté et daté
├── code/<conversation>/ chaque bloc de code en vrai fichier (.py, .html, .yml…)
├── TODO_attachments.md les pièces jointes à récupérer à la main, avec un lien vers chaque conversation
└── manifest.json index, décomptes de complétude, avertissements
Les blocs de code sont extraits et gardés dans le texte : chaque conversation se lit toujours en entier.
4. Vérifier que rien n'est perdu
- Le résumé affiche
conversations: N -> N: les deux nombres doivent être égaux. - Les avertissements doivent être rares ; les conversations vides ou sans titre sont le cas habituel, sans gravité.
python3 -c "import json; print('\n'.join(json.load(open('ancien-claude/manifest.json'))['warnings']))"
5. Récupérer ce que l'export laisse de côté
L'export contient le texte, pas les pièces jointes binaires. Un script compagnon réduit la liste aux fichiers que Claude a générés (documents, tableurs, archives), ceux qu'on ne peut télécharger qu'à la main :
python3 recover_generated.py ancien-claude/manifest.json
# -> RECOVER_generated.md : une liste regroupée par conversation, avec des liens directs
Limites
- Pas de pièces jointes binaires dans l'export : elles sont listées, pas reconstruites.
- La mémoire et les résumés de discussion n'en font pas partie : exportez-les à part depuis les paramètres.
- Les conversations supprimées ne sont pas incluses, et l'appartenance aux projets n'est pas dans l'export.
Utile ? Dites-nous ce qu'il faut mesurer ensuite.