Claude Code Unpacked : guide visuel
(ccunpacked.dev)- Projet non officiel proposant une analyse visuelle de l’architecture complète et du fonctionnement interne de Claude Code, avec exploration de la boucle d’agent et d’un système de plus de 50 outils, du traitement d’entrée jusqu’au rendu de la réponse
- Composé de 804 fichiers, de plus de 220 000 lignes de code, de plus de 40 commandes et de plus de 22 outils ; il s’agit d’un travail d’analyse indépendant sans lien avec Anthropic
- La boucle d’agent se compose de 11 étapes de traitement — entrée, message, système, API, appel d’outils, rendu, etc. — permettant de suivre le processus de génération de réponse de Claude Code
- Le système d’outils et le catalogue de commandes classent en détail les fonctions liées aux opérations sur fichiers, à l’exécution, à la recherche, à la planification et à l’administration du système, avec aussi de nombreuses fonctions privées ou expérimentales
- Des fonctions cachées comme Buddy, Kairos, UltraPlan, Coordinator Mode prennent en charge des comportements étendus tels que la planification à long terme, le travail en parallèle, le contrôle à distance et les sessions persistantes
Architecture et fonctionnement interne de Claude Code
- Projet permettant d’explorer visuellement l’ensemble de la boucle d’agent (agent loop) de Claude Code, depuis le traitement de l’entrée jusqu’au rendu de la réponse, ainsi que plus de 50 outils, l’orchestration multi-agents et des fonctions privées
- L’ensemble comprend 804 fichiers, plus de 220 000 lignes de code, plus de 40 commandes et plus de 22 outils
- L’analyse repose sur le code source rendu public et constitue un projet non officiel sans lien avec Anthropic
- L’état de l’analyse date du 31 mars 2026, avec une curation assurée par zackautocracy avec l’aide de DeepWiki
-
Boucle d’agent
- Lorsqu’un utilisateur saisit un message, Claude Code suit 11 étapes : entrée → message → historique → système → API → jetons → outils → boucle → rendu → hooks → attente
- L’entrée est traitée via le composant
TextInputd’Ink et, en mode non interactif, utilise l’entrée standard (stdin) - Chaque étape est conçue pour permettre de suivre en détail le processus par lequel Claude Code reçoit un message et génère une réponse
-
Explorateur d’architecture
- Il est possible d’explorer l’arborescence complète du code source en cliquant, avec les sections principales suivantes
- Tools & Commands : outils intégrés et commandes
- Core Processing : logique centrale de traitement
- UI Layer : composition de l’interface utilisateur
- Infrastructure : infrastructure et environnement d’exécution
- Support & Utilities : utilitaires de support
- Personality & UX : éléments liés à l’expérience utilisateur
- Il est possible d’explorer l’arborescence complète du code source en cliquant, avec les sections principales suivantes
Système d’outils et de commandes
-
Système d’outils
- Classement par fonction de plus de 22 outils intégrés que Claude Code peut appeler
-
Opérations sur fichiers
- FileRead, FileEdit, FileWrite, Glob, Grep, NotebookEdit, soit 6 outils
-
Exécution
- Bash, PowerShell, REPL, soit 3 outils
-
Recherche et récupération
- WebBrowser🔒, WebFetch, WebSearch, ToolSearch, soit 4 outils
-
Agents et tâches
- Agent, SendMessage, TaskCreate, TaskList, TeamCreate, soit 11 outils
-
Planification
- EnterPlanMode, ExitPlanMode, VerifyPlanExecution🔒, soit 5 outils
-
Lié à MCP
- ListMcpResources, ReadMcpResource, McpAuth, soit 4 outils
-
Système
- AskUserQuestion, TodoWrite, Config, Workflow🔒, TerminalCapture🔒, soit 11 outils
-
Fonctions expérimentales
- Sleep, SendUserMessage, LSP🔒, PushNotification🔒, soit 8 outils
-
Catalogue des commandes
- Classement par fonction de toutes les commandes slash disponibles dans Claude Code
-
Paramètres et configuration
- /init, /login, /logout, /config, /permissions, /model, /theme, soit 12 commandes
-
Workflow quotidien
- /compact, /memory, /context, /plan, /resume, /files, /summary, soit 24 commandes
-
Revue de code et Git
- /review, /commit, /diff, /branch, /issue, /autofix-pr🔒, soit 13 commandes
-
Débogage et diagnostic
- /status, /stats, /usage, /think-back, /debug-tool-call, /heapdump, soit 23 commandes
-
Fonctions avancées et expérimentales
- /advisor, /remote-control🔒, /teleport, /plugin, /web-setup, /help, /exit, soit 23 commandes
Fonctions cachées
- Le code inclut de nombreuses fonctions privées présentes mais pas encore déployées
-
Buddy
- Animal de compagnie virtuel présent dans le terminal, dont l’espèce et la rareté dépendent de l’identifiant du compte
-
Kairos
- Mode persistant prenant en charge l’unification de la mémoire entre sessions et le fonctionnement autonome en arrière-plan
-
UltraPlan
- Session de planification longue durée pouvant s’exécuter jusqu’à 30 minutes avec un modèle de niveau Opus
-
Coordinator Mode
- Un agent principal découpe le travail, crée des workers en parallèle et collecte les résultats
-
Bridge
- Fonction permettant de contrôler Claude Code à distance depuis un téléphone ou un navigateur
-
Daemon Mode
- Exécution d’une session en arrière-plan avec l’option
--bg, en utilisanttmuxen interne
- Exécution d’une session en arrière-plan avec l’option
-
UDS Inbox
- Prise en charge de la communication entre sessions via des sockets de domaine Unix
-
Auto-Dream
- Entre les sessions, l’IA revient sur les activités précédentes et organise ce qu’elle a appris
Informations sur le projet
- Projet d’analyse non officiel, sans lien direct avec Anthropic
- Produit à partir du code source public de Claude Code, avec la possibilité que certains éléments soient inexacts ou obsolètes
- L’analyse a été réalisée à partir du code source publié par @Fried_rice
- Créé par zackautocracy avec le soutien de la curation IA de DeepWiki
1 commentaires
Commentaires sur Hacker News
Une base de code d’agent CLI de 500k lignes montre à quel point la tentative de contrôler de façon déterministe des LLM probabilistes devient un enfer complexe de gestion d’état
Ça fonctionne bien sur des plateformes simples, mais casse facilement sur de grands dépôts d’entreprise
Sans machine à états externe, il faut forcer la fiabilité en brute force, si bien que 90 % du code est rempli de programmation défensive — regex, nettoyage du contexte, boucles de retry, rollback d’état, etc., pour empêcher la dérive de l’agent
La visualisation est réussie, mais on a toujours l’impression de pousser un gros tas de code plutôt que d’avoir une gouvernance au niveau système
Le point clé est que le client ne fournit qu’un ensemble d’outils simple (read file, output rich text, etc.), conçu pour permettre au serveur d’innover rapidement
À mon avis, la sauce secrète réside précisément dans cette structure où l’équipe serveur se demande : « jusqu’où peut-on être créatif avec cette API limitée ? »
Si elle ne tient pas ses promesses, ce ne sera pas juste « le code est instable », mais un problème capable de faire vaciller tout le système financier
Des sociétés comme Meta sont au contraire parmi celles qui exploitent le mieux CC
Je suis l’auteur. J’ai créé ce site de visualisation quelques heures seulement après la fuite de Claude Code
J’utilisais déjà pi pour construire mon propre agent de codage, et je voulais étudier l’architecture d’Anthropic (système d’outils, boucle d’agent, etc.)
Comme il était difficile d’explorer 500 000 lignes de code, j’ai créé une carte visuelle pour m’en servir comme référence
Je continue à mettre le site à jour à partir des retours, donc si quelque chose manque, n’hésitez pas à me le signaler
J’ai comparé et analysé la conception et l’implémentation des deux systèmes, et j’ai trouvé impressionnant que le site de l’auteur semble lui aussi avoir été fait avec pi
Si possible, j’aimerais voir une visualisation pi vs cc
Cela dit, ce serait bien d’ajouter des annotations ou des info-bulles à la partie « format des messages d’Anthropic » — puisque c’est en pratique aussi le format d’OpenAI
Je me demande s’il existe un agent harness écrit sans IA
On parle d’une structure où une simple TUI appelle un endpoint de modèle, alors 500 000 lignes, ça semble vraiment excessif
Cela peut venir de la réutilisation de code ou d’un effort de mise en bibliothèque, ou encore du manque de temps propre aux startups
Les problèmes de conversion ASCII → Unicode cassent les pipes ou les parseurs, et compliquent aussi le copier-coller
On a l’impression qu’une fonction qui devrait être simple est devenue une machine de Rube Goldberg
Certains se demandent : « 500k lignes, vraiment, ce n’est pas juste un REPL simple ? »
Opencode a 670k lignes, Codex 720k, Gemini 570k, donc la taille de Claude Code n’a rien d’anormal
Cela dit, certaines idées de détail, comme le suivi du TTL du cache, étaient intéressantes
En 2020, il aurait été inimaginable d’analyser visuellement du code fuitant de cette manière
J’ai moi aussi créé un site similaire il y a 11 heures, mais il n’a pas attiré l’attention
Cela dit, ça fait plaisir de voir une autre implémentation
Mon essai est ici
Ce qui reste impressionnant, c’est le fait de créer un site aussi réussi en deux jours
Les sites produits par LLM peuvent souvent avoir une qualité visuelle élevée tout en étant peu fiables sur le fond
Par exemple, nzoilwatch.com peut donner une impression d’expertise alors qu’il s’agit en réalité d’un projet personnel
Rendre explicite l’usage d’un LLM permettrait de réduire les malentendus
Quand j’ai dit que l’UI que j’avais faite était maladroite, ils ont répondu qu’ils utilisaient leur propre bibliothèque de composants UI
J’ai donc moi-même créé une bibliothèque appelée substrateui.dev, et je prends plaisir au processus d’apprentissage de l’UI en réorganisant un design system avec Claude Code
Les sources fuitées sont disponibles dans le dépôt Codeberg
Il est intéressant qu’Anthropic développe son propre produit avec ses propres outils
Mais pour un projet vieux d’un an, on pourrait penser qu’il devrait déjà être en phase de stabilisation
Puisque de futurs LLM assureront la maintenance, certains estiment qu’il n’est pas nécessaire que les humains nettoient cela eux-mêmes
Ce projet mériterait d’être ajouté à Awesome Claude Code