Claude Code Unpacked : A visual guide

14 days ago (ccunpacked.dev)

Related ongoing threads:

The Claude Code Source Leak: fake tools, frustration regexes, undercover mode - https://www.ccleaks.com

Author here. I built this in a few hours after the Claude Code leak.

I've been working on my own coding agent setup for a while. I mostly use pi [0] because it's minimal and easy to extend. When the leak happened, I wanted to study how Anthropic structured things: the tool system, how the agent loop flows, A 500K line codebase is a lot to navigate, so I mapped it visually to give myself a quick reference I could come back to while adapting ideas into my own harness and workflow.

I'm actively updating the site based on feedback from this thread. If anything looks off, or you find something I missed, lmk.

[0] https://pi.dev/

  • This is nice, I really like the style/tone/cadence.

    The only suggestion/nit I have is that you could add some kind of asterisk or hover helper to the part when you talk about 'Anthropic's message format', as it did make me want to come here and point out how it's ackchually OpenAI's format and is very common.

    Only because I figure if this was my first time learning about all this stuff I think I'd appreciate a deep dive into the format or the v1 api as one of the optional next steps.

  • I’m using pi and cc locally in a docker container connected to a local llama.cpp so the whole agentic loop is 100% offline.

    I had used pi and cc to analyze the unpacked cc to compare their design, architecture and implementation.

    I guess your site was also coded with pi and it is very impressive. Wonderful if you can do a visualization for pi vs cc as well. My local models might not be powerful enough.

    Thanks for the hard work!

  • I thought that early coding assistants came to be written in some Java/TypeScript, because AI companies just had web-devs playing around and then made it a product even though the languages being such a misfit for terminal. Why did you decide for TypeScript?

  • Could you share what your agent setup and harness looks like with PI with what you've learnt from the Claude leak.

I know it seems counter-intuitive but are there any agent harnesses that aren’t written with AI? All these half a million LoC codebases seem insane to me when I run my business on a full-stack web application that’s like 50k lines of code and my MvP was like 10k. These are just TUIs that call a model endpoint with some shell-out commands. These things have only been around in time measured in months, half a million LoC is crazy to me.

  • Who cares about LoC? Its a metric that hasn't mattered since we measured productivity in it in the 1980s. For all we know they made these design choices so they could more easily reuse the code in other codebases. Ideally you'd build the library to do that at the same time, but this is start up time constraints to repay loans and shit.

  • Opencode actually has a pretty solid codebase quality wise. I have done brief pokes and its been largely fine.

  • > These are just TUIs that call a model endpoint with some shell-out commands.

    Claude Code CLI is actually horrible: it's a full headless browser rendering that's then converted in real-time to text to show in the terminal. And that fact leaks to the user: when the model outputs ASCII, the converter shall happily convert it to Unicode (no latter than yesterday there was a TFA complaining about Unicode characters breaking Unix pipes / parsers expecting ASCII commands).

    It's ultra annoying during debugging sessions (that is not when in a full agentic loop where it YOLOs a solution): you can't easily cut/paste from the CLI because the output you get is not what the model did output.

    Mega, mega, mega annoying.

    What should be something simple becomes a rube-goldberg machinery that, of course, fucks up something fundamental: converting the model's characters to something else is just pathetically bad.

    Anyone from Anthropic reading? Get your shit together: if you keep this "headless browser rendering converted to text", at least do not fucking modify the characters.*

A 500k line codebase for an agent CLI proves one thing: making a probabilistic LLM behave deterministically is a massive state-management nightmare. Right now, they're great for prompting simple sites/platforms but they break at large enterprise repos.

If you don't have a rigid, external state machine governing the workflow, you have to brute-force reliability. That codebase bloat is likely 90% defensive programming; frustration regexes, context sanitizers, tool-retry loops, and state rollbacks just to stop the agent from drifting or silently breaking things.

The visual map is great, but from an architectural perspective, we're still herding cats with massive code volume instead of actually governing the agents at the system level.

  • I find it really strange that there is so much negative commentary on the _code_, but so little commentary on the core architecture.

    My takeaway from looking at the tool list is that they got the fundamental architecture right - try to create a very simple and general set of tools on the client-side (e.g. read file, output rich text, etc) so that the server can innovate rapidly without revving the client (and also so that if, say, the source code leaks, none of the secret sauce does).

    Overall, when I see this I think they are focused on the right issues, and I think their tool list looks pretty simple/elegant/general. I picture the server team constantly thinking - we have these client-side tools/APIs, how can we use them optimally? How can we get more out of them. That is where the secret sauce lives.

    • The tools was mostly already known, no? (I wish they had a "present" tool which allowed to model to copy-paste from files/context/etc. showing the user some content without forcing it through the model)

      2 replies →

    • > but so little commentary on the core architecture.

      The core architecture is not interesting? its an LLM tui, theres not much there to discuss architecturally. The code itself is the actual fascinating train wreck to look at.

    • Why are "tools" for local IO interesting and not just the only way to do it? I can't really imagine a server architecture that gets to read your local files and present them without a fat client of some kind.

      What is the naive implementation you're comparing against? Ssh access to the client machine?

      2 replies →

  • It’s not surprising. There has been quite a bit of industrial research in how to manage mere apes to be deterministic with huge software control systems, and they are an unruly bunch I assure you.

  • It's hard to tell how much it says about difficulty of harnessing vs how much it says about difficulty of maintaining a clean and not bloated codebase when coding with AI.

    • Why not both? AI writes bloated spaghetti by default. The control plane needs to be human-written and rigid -> at least until the state machine is solid enough to dogfood itself. Then you can safely let the AI enhance the harness from within the sandbox.

  • We propped the entire economy up on it. Just look at the s&p top 10. Actually even top 50 holdings.

    If it doesn't deliver on the promise we have bigger problems than "oh no the code is insecure". We went from "I think this will work" to "this has to work because if it doesn't we have one of those 'you owe the bank a billion dollars' situations"

    • It's weird to look at the world like this. If they deliver doesn't that invalidate thousands of other business plans? What about paying for that?

      If they fail, doesn't software and the giant companies that make it go back to owning the world?

      3 replies →

  • The time is ripe for deterministic AI; incidentally, this was also released today: https://itsid.cloud/ - presumably will be useful for anyone who wants to quickly recreate an open source Python package or other copyrighted work to change its license.

    • Can you please explain the use here? I tried the demo, and cat, cp, echo, etc... seem to do the exact same thing without the cost.

      Their demo even says:

         `Paste any code or text below. Our model will produce an AI-generated, byte-for-byte identical output.`
      
      

      Unless this is a parody site can you explain what I am missing here?

      Token echoing isn't even to the lexeme/pattern level, and not even close to WSD, Ogden's Lemma, symbol-grounding etc...

      The intentionally 'Probably approximately complete' statistical learning model work, fundamentally limits reproducibility for PAC/Stastical methods like transformers.

      CFG inherently ambiguity == post correspondence problem == halt == open domain frame-problem == system identification problem == symbol-grounding problem == entscheidungsproblem

      The only way to get around that is to construct a grammar that isn't. It will never exist for CFGs, programs, types, etc... with arbitrary input.

      I just don't see why placing a `14-billion parameter identity transformer` that just basically echos tokens is a step forward on what makes the problem hard.

      Please help me understand.

      1 reply →

  • Kinda depends how much of it is vibe coded. It could easily be 5x larger than it needs to be just because the LLM felt like it if they've not been careful.

    • Claude folks proudly claim to have Claude effectively writing itself. The CEO claims it will read an issue and automatically write a fix, tests, commit and submit a PR for it.

    • Bingo. And them 'being careful' is exactly what bloats it to 500k lines. It's a ton of on-the-fly prompt engineering, context sanitizers, and probabilistic guardrails just to keep the vibes in check.

  • > Right now, they're great for prompting simple sites/platforms but they break at large enterprise repos

    Can you expand on this?

    My experience is they require excessive steering but do not “break”

    • I think the "breakage" is in terms of conciseness and compactness, not outright brokenness.

      Like that drunk uncle that takes half an hour and 20 000 words to tell you a 500 word story.

  • Indeed. In some ways, this is just kind of an extrapolation of the overall trend toward extreme bloat that we’ve seen in the past 15 years, just accelerated because LLMs code a lot faster. I’m pretty accustomed to dealing with Web application code bases that are 6-10 years old, where the hacks have piled up on top of other hacks, piled on top of early, tough-to-reverse bad decisions and assumptions, and nobody has had time to go back and do major refactors. This just seems like more of the same, except now you can create a 10 year-old hack-filled code base in three hours.

    • The terrifying thing is that LLMs turn "technical debt" into "synthetic debt" that accumulates in real-time.

      When we use an agent that lacks a native way to consolidate its own context, we essentially force it to generate these 10-year-old hack-filled codebases by design. We’re over-engineering the "container" (the CLI logic) to babysit a "leaky" context.

      If the architecture doesn't start treating long-term memory as a first-class citizen, we’re just going to see more of these 500k-line "safety nets" masking the underlying fragility of the agents.

  • There seem to be multiple mechanisms compensating for imperfect, lossy memory. "Dreaming" is another band-aid on inability to reliably store memory without loss of precision. How lossy is this pruning process?

    It's one thing to give Claude a narrow task with clear parameters, and another to watch errors or incorrect assumptions snowball as you have a more complex conversation or open-ended task.

  • > they break at large enterprise repos.

    I don't know where you get this. you should ask folks at Meta. They are probably the biggest and happiest users of CC

  • You need state oriented programming to handle that. I know, because I made one. The keyword is „unpredictability”. Embrace nondeterminism.

  • Exactly right. Files on disk as the shared state, not the conversation window. Each step reads current state, does its job, writes output. Next step starts fresh from those files. No accumulated context means no drift, and the LLM can hallucinate in its reasoning all it wants as long as the output passes a check before anything advances.

  • What do you mean by "actually governing the agents at the system level", and how is it different from "herding cats"?

    • Herding cats is treating the LLM's context window as your state machine. You're constantly prompt-engineering it to remember the rules, hoping it doesn't hallucinate or silently drop constraints over a long session.

      System-level governance means the LLM is completely stripped of orchestration rights. It becomes a stateless, untrusted function. The state lives in a rigid, external database (like SQLite). The database dictates the workflow, hands the LLM a highly constrained task, and runs external validation on the output before the state is ever allowed to advance. The LLM cannot unilaterally decide a task is done.

      I got so frustrated with the former while working on a complex project that I paused it to build a CLI to enforce the latter. Planning to drop a Show HN for it later today, actually.

      12 replies →

  • Thousands of developers are using Claude Code successfully (I think?).

    So what specifically is the gripe? If it works, it works right?

  • So this is more like an art than science - and Claude Code happens to be the best at this messy art (imo).

  • > A 500k line codebase for an agent CLI proves one thing: making a probabilistic LLM behave deterministically is a massive state-management nightmare.

    Considering what the entire system ends up being capable of, 500k lines is about 0.001% of what I would have expected something like that to require 10 years ago.

    You can combine that with all the training and inference code, and at the end of the day, a system that literally writes code ends up being smaller than the LibreOffice codebase.

    It boggles the mind, really.

  • brute-forcing pattern-matching at scale. These are brittle systems with enormous duct-taping to hold everything together. workarounds on workarounds.

  • >A 500k line codebase for an agent CLI proves one thing: making a probabilistic LLM behave deterministically is a massive state-management nightmare. Right now, they're great for prompting simple sites/platforms but they break at large enterprise repos.

    Is that the case? I'm pretty sure Claude Code is one of the most massively successful pieces of software made in the last decade. I don't know how that proves your point. Will this codebase become unmanageable eventually? Maybe, but literally every agent harness out there is just copying their lead at this point.

    • Claude code is a massively successful generator, I use it all the time, but it's not a governance layer.

      The fact that the industry is copying a 500k-line harness is the problem. We're automating security vulnerabilities at scale because people are trying to put the guardrails inside the probabilistic code instead of strictly above it.

      Standardizing on half a million lines of defensive spaghetti is a huge liability.

      1 reply →

If it was 2020, it would be hard to imagine that after some hours/days you getting a visual representation of the leak with such detailed stats lol

  • I don't have a lot of experience with them but I would have thought static analysis tools circa 2020 would have managed it just fine.

    • The output wouldn't be anything nearly as good, comprehensive and informative as this website.

      No tooling, no animation, no hidden features, no explanation of how things work upon clicking them.

      But I'm glad to be proven wrong if you know a static analysis tool I can point to the repo and come up with comparable result.

  • How was this generated ? I'm quite sure "with ai/claude code" but what are the actual steps ?

    • For the animations specifically, it's using Motion (fka Framer Motion) Javascript library. If you describe some animations from the site to an LLM and ask it to use Framer motion, you get very similar results. The creator likely just prompted for a while until they were happy with the outcome.

      12 replies →

> 500k lines of code

Isn't it a simple REPL with some tools and integrations, written in a very high level language? How the hell is it so big? Is it because it's vibecoded and LLMs strive for bloat, or is it meaningful complexity?

  • I just checked competitors' codebases:

    - Opencode (anomalyco/opencode) is about 670k LOC

    - Codex (openai/codex) is about 720k LOC

    - Gemini (google-gemini/gemini-cli) is about 570k LOC

    Claude Code's 500k LOC doesn't seem out of the ordinary.

    • > Claude Code's 500k LOC doesn't seem out of the ordinary.

      Aren't all the other products also vibe-coded? "All vibe-coded products look like this" doesn't really seem to answer the question "Why is it so damn large?"

      It's a repl, that calls out to a blackbox/endpoint for data, and does basic parsing and matching of state with specific actions.

      I feel the bulk of those lines should be actions that are performed. Either this is correct or this is not:

      1. If the bulk of those lines implement specific and simple actions, why is it so large compared to other software that implements single actions (coreutils, etc)

      2. If the actions constitute only a small part of the codebase, wtf is the rest of it doing?

      3 replies →

  • I don't know if you're mindlessly repeating the HN trope that JS/typescript/Electron is bad and that all bloat can easily prevented, but if you're truly interested in answers to your questions: RTFA.

  • yeah its honestly full of vibe fixes to vibe hacks with no overarching desig. . some great little empirical observations though!i think the only clever bit relative to my own designs is just tracking time since last cache ht to check ttl. idk why i hadnt thought of that, but makes perfect sense

  • There’s probably a subconscious incentive to make a tool that’s “complex” because the underlying LLM also is complex.

  • How many LoC should it be, for that kind of program?

    • Other notable agents' LOC: Codex (Rust) ~519K, Gemini (TS) ~445K, OpenCode (TS) ~254K, Pi (TS) ~113K LOC. Pi's modular structure makes it simple to see where most of code is. Respectively core, unified API, coding agent CLI, TUI have ~3K, ~35K, ~60K, ~15K LOC. Interestingly, the just uploaded claw-code's Rust version is currently at only 28K.

      edit: Claude is actually (TS) 395K. So Gemini is more bloat. Codex is arguable since is written in lower-level language.

    • Well FFmpeg is roughly 1500k, but it's C+Asm and it's dozens of codecs and pretty complex features. SBCL is around 500k I guess.

      I'm not saying that this is necessarily too much, I'm genuinely asking if this is a bloat or if it's justified.

    • It's a TUI API wrapper with a few commands bolted on.

      I doubt it needs to be more than 20-50kloc.

      You can create a full 3D game with a custom 3D engine in 500k lines. What the hell is Claude Code doing?

      49 replies →

Even today, I'm still astounded that there are people capable of building a gorgeous and interesting site like this in less than 2 days...

  • Well, I assume this is all just generated with Claude Code, right? Whether there is much back and forth with the LLM is a valid question and nothing wrong with generating websites (I do it too for some side projects). Claude loves generating websites with a particular style of serif font. We also saw this with https://tboteproject.com/timeline/ and I've just generally seen it from various designs that coworkers have spit out over months using Claude defaults.

    I guess I just find it weird because all the signals are messed up so whenever I see these sorts of layouts, I feel like I'm looking at the average where I don't think "gorgeous and interesting" at all. Instead, I'm forced to think "I should be skeptical of this based on the presentation because it presents as high quality but this may be hiding someone who is not actually aware of what they're presenting in any depth" as the author may have just shoved in a prompt and let it spin.

    There's actually a similarly designed website (font weights, font styles etc) here in New Zealand (https://nzoilwatch.com/) where at a glance, it might seem like some overloaded professional-backed thing but instead it's just some guy who may or may not know anything about oil at all, yet people are linking it around the place like some sort of authoritative resource.

    I would have way less of an issue if people just put their names by things and disclosed their LLM usage (which again, is fine) rather than giving the potentially false impression to unequipped people that the information presented is actually as accurate and trustworthy as the polish would suggest.

    • I really wish I had that clout-chasing gene - it doesn't even occur to me until I see someone else do it.

      I'm serious. The hype chasing clearly clearly matters. .

      things like this: https://github.com/instructkr/claw-code I mean ok, serious people put in years of effort for 100 of those stars ...

      it's continually wild how extremely irrelevant hard effortful careful work is.

      I think that's the game. Get up, look at the headlines, figure out how you can exploit them with vibe coding, do some hyphy project and repeat.

      Maybe some lobster themed bullshit between openclaw and the claudecode leak.

      I'm not being a cynic here, I'm just telling you what I'm going to do tomorrow.

      5 replies →

    • This website has "Curation assisted by AI." at the bottom.

      Personally, I don't think I will be putting any such disclaimers or disclosures on my work, unless I deem it relevant to the functionality.

  • I was talking to one of the people who works at a big agentic coding tools. If I recall correctly, he was talking about how they use the tool to build the tool. I was complaining that all of the websites/frontends I make look pretty weak, and I'm amazed they get much slicker looking UIs with the same tool. He showed me that one way they do it is by having an extensive UI library of components/graphics/whatever, and also mentioned that the folks build their UIs know how to prompt/use the tool because it's backed by years of UI development knowledge & superior resources. I realized I didn't have any of that, and it actually made me feel better.

    Last week we I was struggling to go from vague prompt to a OMG-it's-so-nice-looking web app, I remembered that example above and then decided to create my own component library, which I did in a couple days: https://www.substrateui.dev/. I was actually super happy that I was able to accomplish that, and then I realized I wanted to better understand the content that I had vibe coded into existence. So now I'm recreating that design system step by step w/ Claude code, filling in gaps in my knowledge & learning a bit about colors, typography, CSS, blah blah blah. It's actually a lot of fun because I'm able to explore all of the concepts and learn enough to build a front end that doesn't suck & is good enough for my use case without getting stuck for days on trying to center a stupid div by hand or play whack-mole-fix-something-and-break-something-else when trying to clean up AI slop.

  • Is this gorgeous?

    Content resizing, needing to juggle a speed knob to read, and the overall presentation makes it feel like Edward Tufte flavored nightmare fuel.

  • But somehow, according to HN, LLMs make you less productive, not more :)

    • The people who don’t know how to use an LLM to make them more productive, or are scared it’s going to take their job, are louder than the people who are making good use of them to make them more productive.

      That just seems to be human nature unfortunately - the complainers are always louder.

      4 replies →

    • That's a bit dishonest, the consensus on HN seems to be that LLMs are very good at oneshotting small projects from scratch. Especially when using super mainstream technologies like html and tailwind, as does the discussed website. And especially when it's a one time operation and the project will never need to be maintained, like the discussed website.

  • .

    • I think it is accurate. Where are the autonomous AI who beat the creator to the punch? When we write "Hello, World!" in C and compile it with `gcc`, do we give credit to every contributor to GNU? AI is a tool that thus far only humans are capable of using with the unique inspiration. Will this change in the future? Certainly. But is it the case now? I think my questions imply some reasonable objections.

    • I mean, tools change, but I'd be happy to hear if any tool can create that by just saying create "Claude Code Unpack" with nice graphics. or some other single prompt. It likely was an iterative process and it would be lovely if more people started sharing that, because the process itself is also very interesting.

      I've created some chinese characters learning website and I took me typing 1/3 of LoTR to get there[1]. I would have typed like 1% of that writing code directly. It is a different process, but it still needs some direction.

      1. https://hanzirama.com/making-of

    • “Che cos’è il genio? È fantasia, intuizione, colpo d’occhio e velocità di esecuzione”

I guess they really do eat their own dogfood and vibe code their way through it without care for technical debt? In a way, it’s a good challenge, but it’s fairly painful to watch the current state of the project (which is about a year old now, so it should be in prime shape).

  • They explicitly boast about using claude code to write code: https://x.com/bcherny/status/2007179836704600237

    That's how you get "oh this TUI API wrapper needs 68GB of RAM" https://x.com/jarredsumner/status/2026497606575398987 or "we need 16ms to lay out a few hundred characters on screen that's why it's a small game engine": https://x.com/trq212/status/2014051501786931427

    • Just finished looking at Ink here.. frontend world has no shame. Love the gloating about 40x less RAM as if that amount of memory for a text REPL even approaches defensible. "CC built CC" is not the flex people seem to suggest it is.

      3 replies →

  • > is about a year old now, so it should be in prime shape

    A 1yo project may be in good shape if written by just one dev, maybe a few. But if you have many devs, I can guarantee it will be messy and buggy. If anything, at 1yo it is probably still full of bugs because not enough time has elapsed for people to run into them.

    • It's only 510k LoC, at ~100 lines of code a day for a year, this code base would take 23 engineers a year to write. That's for 220 working days in somewhere civilized.

      And I'm sure we all know that when working on a greenfield project you can produce a lot more LoC per day than maintaining a legacy one.

      Given that vibe code is significantly more verbose, you're probably talking about ~15 engineers worth of code?

      I know that's all silly numbers, but this is just attempting to give people some context here, this isn't a massive code base. I've not read a lot of it, so maybe it's better than the verbose code I see Claude put out sometimes.

      5 replies →

  • Put yourself in their shoes; either the quality of Claude's coding continues to improve or else their business is probably doomed if it stagnates, so for them it makes sense to punt technical debt to the future when more capable versions of their models will be able to better fix it.

    This is why I personally don't take technical debt arguments about how LLM maintained code bases deteriorate with size/age seriously; it presumes that at some point I'll give up with the LLM and be left with a mess to clean up by hand, but that's not going to happen, future maintenance is to be left to LLMs and if that isn't possible for some reason then the project is as good as dead anyway. When you start a project with a LLM the plan should be to see it through with LLMs, planning to have unaided humans take over maintenance at some point is a mistake.

    • Doesn't this contradict the popular wisdom that "what's good for a human engineer is good for an LLM"? e.g. documentation, separation of concerns, organized files, DRY.

      I find LLMs very useful and capable, but in my experience they definitely perform worse when things are unorganized. Maintenance isn't just aesthetics, it's a direct input to correctness.

      2 replies →

    • I am more worried that we are moving toward creating black boxes and this might turn software "development" into a field as confused as philosophy and dialectics.

  • Boris Cherny, the creator of Claude Code said he uses CC to build CC.

    • Which makes for an interesting thought / discussion; code is written to be read by humans first, executed by computers second. What would code look like if it was written to be read by LLMs? The way they work now (or, how they're trained) is on human language and code, but there might be a style that's better for LLMs. Whatever metric of "better" you may use.

      Just a thought experiment, I very much doubt I'm the first one to think of it. It's probably in the same line of "why doesn't an LLM just write assembly directly"

      6 replies →

    • Yes but my point was that they seem to explicitly not care about code quality and/or the insane amount of bloat, and seem to just want the LLM to be able to deal with it.

      8 replies →

I'm developing an agent focused on A2A, support for small models, and privacy (https://swival.dev).

I looked at the leaked code expecting some "secret sauce", but honestly didn't found anything interesting.

I don't get the hype around Claude Code. There's nothing new or unique. The real strength are the models.

Appreciate the effort, but this is very basic and nothing you need the source code to understand. I was expecting a deep dive into what specific decisions they made, but not how an loop of tool calls works

  • I found it a useful overview. My primary question about the client source was - is there any secret sauce in it? Based on this site, the answer is no, the client is quite simple/dumb, and all the secret sauce resides on the server/in the model.

    I particularly valued the tool list. People in these comments are complaining about how bad the code is, but I found the client-side tools that the model actually uses to be pretty clean/general.

    My takeaway was more that at a very basic level they know what they are doing - keep the client general, so that you can innovate on the server side without revving the client as much.

Okay those "hidden features" are amazing, especially the cross-session referencing. I hope we can look forward to that in the future

Also I definitely want a Claude Code spirit animal

There's this weird thing about AI generated content where it has the perfect presentation but conveys very little.

For example the whole animation on this website, what does it say beyond that you make a request to backend and get a response that may have some tool call?

  • Also it's just randomly incorrect in places. For instance, it lists "fox" as one of the "Buddy" species, but that's not in the code.

  • When you're picking most likely tokens, you get least surprising tokens, ones with least entropy and least information per token.

  • That's fair. The site isn't meant to be a deep technical dive, it's more of a visual high-level guide of what I've curated while exploring the codebase while assisted by AI, 500k loc codebase is just too much to sift through in a short amount of time.

  • I agree with you and I'm generally an AI "defender" when people superficially dismiss AI capabilities, but this is a more subtle point.

    If you prompt with little raw material and little actual specification of what you want to see in the end, eg you just say make a detailed breakdown dashboard-like site that analyzes this codebase, the result will have this uncanny character.

    I'd describe it as a kind of "fanfic", it (and now I'm not just talking about this website but my overall impression related to this phenomenon) reminds me a bit like how when I was 15 or so, I had an idea about how the world works then things turned out to be less flashy, less movie-like, less clear-cut, less-impressive-to-a-teenage-boy than I had thought.

    If you know the concept of "stupid man's idea of a smart man", I'd say AI made stuff (with little iteration) gives this outward appearance of a smart man from the Reddit-midwit-cinematic-universe. It's like how guns in movies sound more like guns than real guns. It's hyperreality.

    Again this is less about the capabilities of AI and it's more connected to the people-pleasing nature of it. It's like you prompt it for some epic dinner and it heaps you up some hmmm epic bacon with bacon yeah (referring to the hivemind-meme). Or BigMac on the poster vs the tray, and the poster one is a model made with different components that are more photogenic. It's a simulacrum.

    It looks more like your naive currently imagined thing about what you think you need vs what you'd actually need. It's like prompting your ideal girlfriend into AI avatar existence. I'm sure she will fit your ideal thought and imagination much better but your actual life would need the actual thing.

    This relates to the Persona thing that Anthropic has been exploring, that each prompt guides the model towards adopting a certain archetypal fiction character as it's persona and there are certain attraction basins that get reinforced with post training. And in the computer world, simulated action can be easily turned into real action with harnesses and tools, so I'm not saying that it doesn't accomplish the task. But it seems that there are more sloppy personas, and it seems that experts can more easily avoid summoning them by giving them context that reflects more mundane reality than a novice or an expert who gives little context. Otherwise the AI persona will be summoned from the Reddit midwit movie.

    I'm not fully clear about all this, but I think we have a lot to figure out around how to use and judge the output of AI in a productive workflow. I don't think it will go away ever, but will need some trimming at the edges for sure.

> also related: https://www.ccleaks.com

This deployment is temporarily paused

Kairos and auto-dream are more interesting than anything in the agent loop section. Memory consolidation between sessions is the actual unsolved problem. The rest is just plumbing tbh

  • Projects like Beads help with memory consolidation by making it somewhat moot, since it stays "offline" and can be recollected at any moment.

Thanks to Claude Code, we got such a beautifully polished and dazzling website that gives a complete introduction to itself the very moment the leak happened :)

Pardon me, but I think it's rather obvious that it worked this way?

The real value of Anthropic is in the models that they spent hundreds of millions training. Anyone can build a frontend that does a loop, using the model to call tools and accomplish a task. People do it every day.

Sure, they've worked hard to perfect this particular frontend. But it's not like any of this is revolutionary.

I've been using Claude Code heavily for the last few weeks building out a multi-agent system, and the token economics caught me off guard — I hit 75% of my Pro weekly budget faster than expected. I don't code myself, so Claude Code handles all the actual implementation work.

What I've learned about cost management: the real decision isn't "should I code this myself or use Claude Code" — it's "should I spawn Claude Code or handle this through a different approach entirely?" For complex builds where I need something architected from scratch, Claude Code is worth it. For smaller tasks or iteration on existing code, I've started using Sonnet in the web interface with the file as context instead. The visual guide here is helpful because it shows you what Claude Code is actually doing under the hood — understanding that workflow helps you predict whether a task will be a quick fix or a deep exploration that burns through your budget.

519K lines of code for something that is using the baseline *nix tools for pretty much everything important, how do they even manage to bloat it this much? I mean I know how technically, but it's still depressing. Can't they ask CC to make it good, instead of asking it to make it bigger?

Is it just me or do I not find the Claude Code application that fascinating?

I use it all day and love it. Don't get me wrong. But it's a terminal-based app that talks to an LLM and calls local functions. Ooookay…

  • I think it's good that it's out there, and I wonder why Anthropic have been keeping it closed source; clearly they can't possibly think that the CC source code is a competitive advantage...?

    Agents in general are easy to make, and trivial to make for yourself especially, and the result will be much better than what any of the big providers can make for you.

    `pi` with whatever commands/extensions you want to make for yourself is better than CC if you really don't want to go through the trouble of making your own thing.

    • If you think this is not a competitive advantage then youre missing the point. LLMs arent so good that they work through bad abstractions and pretty much everyone has bad abstractions. CC is what invents some of the best abstractions (not the first). I think theyre they first ones who nailed subagents well. Theres a lot to learn from them and while im learning a lot from their source code my heart bleeds that this happened to them.

      Sincerely, someone running a team building similar things for analytics.

    • why do you think agents you make yourself will be better for you? integration with tooling that you prefer? your local dev setup built in?

      curious as i haven't gotten around to writing my own agent yet

      1 reply →

  • I feel the same way. Given it's AI-written, looking at the code isn't even worth it to me. I would rather read a blog post about how they develop it day to day.

  • That’s what every agent does. They are fundamentally simple.

    But you can do a lot of interesting things on top of this. I highly recommend writing an agent and hooking it up to a local model.

I have no engineering background. I build websites and tools for a living. Claude Code changed what's possible for me in a way that's hard to overstate.

I can't evaluate the source code architecture. What I can say is that before this, I had ideas I couldn't execute without hiring a developer. Now I ship them myself. Not prototypes, not demos. Real products that people use and pay for.

The leaked internals are interesting to engineers. From where I sit, the interesting part is that it works well enough that someone without a CS degree can build production software with it. That's the actual story.

  • I don't think CS degree was needed pre-LLM era, you just needed to know what you're doing. Maybe learning and doing got faster, but you still need to learn and know. There are CS grads that don't know still. I hope you know what is required for "production software". Claude code doesn't.

The interesting thing about agent tool use is how binary it is. The agent either calls the tool or doesn't. The harder problem is social agency, where the AI has to decide whether to participate at all. We built a pre-filter for this (cheap model reads the room before the expensive model runs) and the failure modes are fascinating. The model would reason correctly in its chain-of-thought, 'this person is left hanging, I should respond' and then output the opposite boolean. Turned out Haiku has a systematic false-bias on boolean tool outputs. Had to invert the schema

Hello everyone! It's me behind the website. I launched the site minutes after the leak, obviously vibecoded it.

Kept working on it day and night to fix all the issues. I was using vercel free plan and did not expect this huge response. The site went down when I took a nap of 3 hours.

Woke up with calls from my team for a meeting. Saw the msgs of people telling me site is down.

Fixed the issue.

And now, I am updating it on regular speed.

Thank you for all the positive and negative feedback, Will consider it all in my future projects.

ccleaks.com seems to be "temporarily paused" from Vercel.

Here is another one that goes in depth as well: www.markdown.engineering for anyone going deep on learning.

would be nice if the transformers code for one of these frontier LLM models got leaked, HN will have a field day with a reveal like that

  • I doubt there is anything special about the transformer code the frontier labs use. The only thing proprietary in it are probably the infrastructure-specific optimizations for very large scale distributed training and some GPU kernel tricks. The real moat is the training data, especially the RLHF/finetuning data and verifiable reward environments, and the GPU clusters of course.

    The open source models are quite close, and they'd probably be just as good with the equivalent amount of compute/data the frontier labs have access to.

    • That’s what I‘m thinking as well.

      However, I assume that usage data could be increasingly valuable as well. That will likely help the big commercial cloud models to maintain a head start for general use.

This is AI slop.

First command I looked at:

  /stickers:
  
  Displays earned achievement stickers for milestones like first commit, 100 tool calls, or marathon sessions. Stickers are stored in the user profile and rendered as ASCII art in the terminal.

That is not what it does at all - it takes you to a stickermule website.

What is the motivation for someone to put out junk like this?

  • > What is the motivation for someone to put out junk like this?

    Getting something with a link to their GitHub onto the frontpage of HN. Because form matters much more in this world than substance.

  • Clout and reaching the top of HN apparently.

    The animated explanation at the top is also way too fast at 1x, almost impossible to follow; that immediately hinted at the author not fully reading/experiencing the result before publishing this.

  • Why is it that some people feel entitled to take this kind of tone as soon as AI is used?

    It's inappropriate to label a free side project 'junk' or 'slop' even if it contains major errors.

    Particularly when there's a disclaimer about possible inaccuracies on the page.

    • > Why is it that some people feel entitled to take this kind of tone as soon as AI is used?

      BECAUSE ITS WRONG! THE DATA IS WRONG!

Nice job - I'm a fan. Makes it easy to get the big picture so I know where to dive in.

I like the Claude desktop interface. The color scheme, presentation, fonts, etc. Is there a CSS I can find for the desktop version - I assume it's using some kind of web rendering engine and CSS is part of it.

On the one hand I don't understand why it needs to be half a million lines. However code is becoming machine shaped so the maintenance bloat of titanic amounts of code and state are actually shrinking.

Really nice visualisation of this, makes understanding the flow at a high levle pretty clear. Also the tool system and command catalog, particularly the gated ones are super interesting.

I don't know why people obsess and spend so much time on this codebase. It isn't (and never was)alien technology. It's just mediocre typescript generated by an LLM

Don't do the "noise" thing this web page does. It hurts my eyes so bad. Why would you purposefully make your page look like a low-quality JPG?

Nice site. I might suggest moving SendMessage to the Hidden Features as they don't appear to have implemented a ReadMessage or ListMessages tools.

To me the question isn’t “why is the codebase so large,” it’s “why is the model still being asked to do orchestration at all.”

I mean, I get it: vibe-coded software deserves vibe-coded coverage. But I would at least appreciate it if the main part of it, the animation, went at a speed that at least makes it possible to follow along and didn't glitch out with elements randomly disappearing in Firefox...

How is this on the front page?

  • It's on the front page because it looks really cool. You can complain about it being vibe coded, but it still looks good. If you ask Claude to allow the user to slow down the animation, it can do that quite easily, that's just not a problem caused by vibe coding. And I'm on FF and didn't notice anything glitching out.

Has anyone tried USER_TYPE "ant"? I might be crazy, but I have not hit my limit yet after 3 questions.

Btw, the 500K is just the source - it does not include tests. I would imagine there are at least 2-4x tests.

I'm just admiring the visualizations this guy built in under a day. Wondering how he did it so fast

A year ago I wouldn't have guessed a TUI could be a competitive advantage. But "harness engineering" became a thing, and it turns out the agent wrapper — tool orchestration, context management, permission flows — is where real product value lives. Not as much as the models themselves, but more than most people expected. This leak is a painful reminder of that.

However, excellent development practices involve modularizing code based on functional domains or responsibilities.

The utils directory should only contain truly generic, business-agnostic utilities (such as date retrieval, simple string manipulation, etc.).

We can see that the code produced by Vibe is not what a professional engineer would write. This may be due to the engineers using the Vibe tool.

I think this is unethical, and "everyone else is also doing it" is not a valid excuse.

why do people care so much? it's just an agentic loop

  • Many people seem to believe the Claude Code has some sort of secret sauce in the agent itself for some reason.

    I have no idea why because in my experience Claude Code and the same models inside of Cursor behave almost identically. I think all the secret sauce is in the RLHF.

what is so fascinating about claude code. we have codex that is open source already. is there something special to learn from claude code?

I expect dozens more "research articles" that

- find nothing - still manage to fill entire lages - somehow have a similar structure - are boring as fuck

At least this one is 3/4, the previous one had BINGO.

this claude code leak is such a fuck up...

The fact that now every agent designer knows what was already built is a huge shot of steroids to their codebase!

Thanks, I'll use this for teaching next week (on what not to do). BashTool.ts :D But, in general, I guess it just shows yet again that the emperor has no clothes.

  • Are you not feeling the vibes?

    In all seriousness. I think you‘re supposed to run these in some kind of sandbox.

Enshitification galore

  • What exactly is shitty here? A program i use for hours every day to do the job previously done by many N human beings, without many bugs, seems to have code thats seemingly messy but still clearly works.