Codex is one of the most infamous examples of slopware. Just having the window unhidden on my mac will cause it to use 100% of the GPU displaying the spinner message.
THE SPINNER MESSAGE CAUSES 100% GPU USAGE ON AN MBP M5!!
So any time you're waiting on the model (which is 90% of the time), your fans will be blasting (careful, don't use it on battery).
The issue is on github and close to 6 months old. Probably since the release of vibe coded junk. I would literally fix it myself but it's closed source for whatever reason.
There are many discussions about which model is better, or if vibe coding is even possible. I point you to the extent of what one of the most well funded, money flush, well staffed model making companies can do with vibe coding.
To me a screwup this bad (where the CEO has already made it clear they're now "focussing on coding") indicates that there's something truly broken in the company. No one on polymarket expects them to have a leading model any time soon for example.
It's a tragedy. The world needs competition to anthropic.
Claude is also weird for being the only coding assistant that for some reason doesn't support AGENTS.md. Codex, Amp, Cursor all of them support it and read from it, but not claude which forces it's users to use CLAUDE.md instead.
I beg people to learn what symlinks are. The fact that "put @AGENTS.md in there" is a "common workaround" shows why programmers (good ones at least) are not going anywhere soon.
I used to use a symlink but was concerned that Claude might see the presence of an "AGENTS.md" file (in e.g, a "List Files" tool call output or from a direct `ls`), be curious and attempt to read it directly (not knowing that it's the same as the "CLAUDE.md" file auto-injected by the harness), and essentially double the token impact / context bloat. Indeed, I did some local experimentation and noticed this was the case, which is why I switched to the explicit "@AGENTS.md" approach.
Your solution "appears" to solve the problem, but without any information about how exactly that solution works, it's just magic an vibes.
Does the harness parse the contents of CLAUDE.md, see the @AGENTS.md and then inject the contents of AGENTS.md into that file with a note saying "hey Claude-the-llm, here's the contents of AGENTS.md per an @reference"? Does the harness parse and inject but WITHOUT any ceremony telling claude-the-llm that what it's looking at is from another file? Or does the harness do nothing and Claude-the-llm is merely trained to see @references and treat those as "I should go read that file"? Which is it? If it's #1 and #3, then on long contexts/after compaction, then the LLM is still pretty likely to lose the fact that it read that file and re-read it again. If it's #2, the LLM could have the same problem as with the symlinks.
How does it work? The Anropic docs certainly don't say. So what's the best choice? I guess it's magic. For folks like me who care though, I guess there's always Pi or Opencode (or even, writing your own harness [which is shockingly easy if you want it reliable without all the fanciest features]).
why over complicate it? the answer is obviously yes? it sees it and reads the file? might it sometimes not? yeah, just like every other thing you write in agents.md or the prompt. if you want to write a more verbose statement telling it to read the other file do so. or if you really want to make damn sure it read what you wrote, then symlink it, because it does in fact read the thing twice.
Not amazing enough. Let me present you claude-md-symlinker [1], an 8k-lines Rust project designed to do exactly the same as a symlink but in an obscure manner, running as a Linux service and maintaining its own database. This is like left_pad but for symlinks.
A few years ago I noticed a junior dev was creating a lot of one-file, two-branch git repositories and I asked him why. He said he wanted to run a diff on two versions of a file that wasn't in version control, so he would make a branch with each version and run git diff.
What’s actually better is doing a symlink by hand. 1- if you didn’t know it you learn what’s a symlink; 2- if that’s in a git repo you share it with all your coworkers without all of them needing to install the plugin; 3- security-wise it’s way better than running some 100+ lines of Bash from a repo on GitHub.
Maybe I'm just not aware enough to notice any quality degradation, but I've been using Claude Code in repos that only have AGENTS.md and it just generally seems to know to read it when getting its bearings.
Not that Claude Code is much better, I just hit this issue[1] because it seems setting DO_NOT_TRACK=1 seems enough to get a really strange behavior in the newest versions of CC.
> I'm not exactly building TUI's every day, but even i felt pain when i read that "small game engine" post
The bigger issue is they where somehow thinking it was "cool" and "advanced" while it's just a kludgy rube-goldbergy monstrous hack.
Which is of course only semi-working: to me the model thinking what you see is what it outputs in the TUI is the deal-breaker for me. It's of course not working like that for they're apparently, in their "game engine", converting on the fly a headless browser to approximated characters to display in the terminal. So the model tells you he did output ASCII but people are copy/pasting (because, yes, at times you want to copy/paste) Unicode chars.
Plenty of bug reports and pissed users.
That's the bigger issue.
The biggest issue is those thinking a 10 GB VM required to run a headless Electron browser and then fuxx0ring characters conversion is somehow an achievement.
Was it Casey Muratori that spoke about an AI educing allocations from 10k per frame to 200 per frame, but the manual programming work got it to 0 instead?
At least game engines manage to render their frames properly. Claude Code sometimes eats entire paragraphs of text output, resulting in things such as numbered lists jumping from 2 to 4 out of nowhere.
I'd just ask Claude to repeat himself at first but it happens so often that I actually made a little tool to dig up the output inside the session history and present it properly in a separate terminal.
Right, just yesterday I found my laptop kinda hot. And what do you think, it was good old Claude deciding to load a few cores with completely idling prompts.
Yeah, somehow claude-cli sitting in a tmux session doing nothing uses my laptops battery twice as fast. Powertop suggests a ton of wakeups, but why? Is it busy polling the input or something?
Surprisingly Kiro is fine (I work at Amazon but not at all on the Kiro team). I prefer it to anything else I've tried (except Amazon Q Developer in IntelliJ, but it's now deprecated).
Kiro is surprisingly good, if the interface for saving and resuming was slightly more reliable, and there was the hope of remote sessions, I'd probably switch to it full time. I vastly prefer it to having to fight against buggy force-fed features like UltraPlan or whatever.
How are they iterating? I've not noticed anything major changing between the versions of my claude code. Other than that sometimes this version includes /btw and sometimes it's missing.
This is the biggest elephant in the room I have seen in my decade+ career. At the same time, look how bad Apple is in software compared to its hardware... It's not an AI only problem, it's almost like software in general gets a free pass on being very unsafe or low quality because no one wants to face the same "profit reducing red tape" that civil engineers or similar face.
Anthropic were the progenitors of the Model Context Protocol. Claude Code does not fully implement the client end of the protocol. A protocol; a literal pre-defined spec that an agent should be able to one-shot. Neither does Codex. Codex does not implement MCP Prompts.
(I want Codex to implement MCP Prompts because then we have one central way to ship skills from a server).
The fact that neither platform can implement a protocol given what is functionally infinite frontier model tokens really says a lot. I do not care what kind of random project some influencer can ship with a swarm of 1000 agents. If you cannot make the basics work, it is a farce.
It still boggles my mind that Anthropic would invent the MCP protocol but not fully implement it.
Especially when fully implementing it (prompts, resources, tools) is easily done in harnesses that don’t ship with MCP but allow good extension / modification like Pi.
Claude not being able to see its own usage or self invoke slash commands is also very frustrating.
Given functionally unlimited access to tokens with frontier models, there is really no "force you to keep busy"; it should just bake overnight. We're talking about a rather simple and well-defined specification; not something novel and complex.
My point is that there is a chance that Anthropic launched MCP:
1. not fully believing in it
2. but knowing the hype around MCP would force other AI labs to implement it (standard enterprise checkbox behavior)
3. thus wasting some of their competitors' development cycles
* * *
And let's be real here, the entire discussion happens in the context of a basic bug in a coding agent, do we really believe that these labs have hit AGI in coding?
Random example:
Go to claude.ai or gemini.google.com (I imagine OpenAI is in a similar situation).
Type a question, press enter. Wait 2 seconds, then turn on airplane mode.
Not only does the connection cut off, but even if you reconnect 20 minutes later, you still won't get the answer.
Their website works in purely sync mode!!!
We knew better than this when HTML was invented, 30 years ago.
Do their products give you the impression than "baking features with unlimited tokens overnight" leads to decent products?
> same "profit reducing red tape" that civil engineers or similar face.
I don't think we should ever head toward licensing/a credential body for software development, but I do think now is a good time to have discussions around liability for defective products.
A good start would be to stop allowing companies to disclaim all warranties of fitness for a particular purpose in their EULAs. The joke of Microsoft Copilot applies here where they have a big disclaimer that "Copilot is for entertainment purposes only" while advertising says otherwise. Not even the chrome EULA will agree that its fit for purpose as a web browser. The clause is a get out of jail free card that shifts all liability and risk to the end user.
> I don't think we should ever head toward licensing/a credential body for software development, but I do think now is a good time to have discussions around liability for defective products.
Liability is how a credential body would organically grow. It already exists in the security, compliance, and enterprise parts of the software world.
That can be okay. The problems we're worried about come when it's government mandated.
The EU Cyber Resilience Act puts heavy liability on vendors for software vulnerabilities that get exploited, including in open-source components they incorporate. OSS devs are shielded - liability is on the companies who incorporate OSS into commercial stuff.
In practice, what’s the difference between a government mandated license and a government that quickly rules in favor of parties who are damaged by companies that don’t use licensed software engineers?
E.g. “Your software caused serious damages to our company / livelihood, and you best hope that it turns up in discovery that you used properly licensed software engineers who were following licensing best practices, otherwise this will be a slam dunk case.”
Genuinely an interesting question to me. Seems like the latter is a better option, generally, but it does lock restorative justice behind a paywall - you have to be able to afford a lawyer.
> shouldn't this "agentic AI revolution" have long solved this already?
Daily reminder that Anthropic took over a year to fix the Claude Code terminal flickering issue despite proclaiming all over the internet that software development as a "solved problem."
Apple forked over $250 Million in a class action over false advertising for Apple Intelligence. When do we start seeing the same for the misleading and outright false claims coming out of the frontier labs about the model capabilities? At this point the marketing is doing more harm than the technology itself because its warping the perceptions of those at the top that make decisions. The only reason tokenmaxxing was ever a thing was because marketing mislead execs and technology decisions were made based on vibes instead of evidence.
As long as a majority of the people of the living class are gullible and naive and sick, entrained behavior from the institutions and media they are made to consume, they stop seeing the misleading and false claims. Or at least they myopically see it short enough to complain about it in an ineffective way, then continue to consume the next big lie or slop. Until something happens that channels that accumulated rage finally into a cause they feel makes things right (assuming they have not already died and the next generation has been groomed to fall for the rich man's trap) and those who's family and next generation is to continue the extraction and trickery hides behind an anonymous personality or system.
You can use it to accelerate development certainly, but that requires careful change->review cycles. The developer still needs to be in heavy control, versus vibe coding having an agent own the code base.
Like anything, you have to decide between polish vs switch to any other task in the queue. If you choose too much from the latter, then polish suffers, yet that's a human thing.
Also, Codex and Claude Code aren't as bad as people say. I think most of the noise is embellished by the "hah see? AI sucks" angle.
It's kind of like how HNers would claim to your face that you can't actually build anything with Javascript and Node.js (JS just sucks too much), then they'd list off a few footguns that were supposed to demonstrate why. In other words, champing at the bit for JS to lead people to catastrophize issues that were pretty mediocre.
Here we are talking about trillon dollar AI companies who claim AI can fix decade old bugs and create new compilers, OSs and what not. Are parallel agents working autonomously to fix issues as well as create new features not allowed at these companies?
> Why do you "have to decide"? Let some agents go at both of those, isn't that what they claim people can just do?
Because your code is still marching somewhere in tokens per second. You have to decide where they are allocated: polish or the next thing. Humans still are the ones prompting LLMs and deciding what is done.
> isn't that what they claim? Why shouldn't it? They're not the ones making the extraordinary claims.
Even if I grant that someone else makes excessive claims, why would that let you off the hook to stay grounded?
Though I don't grant it. Maybe if Anthropic claimed that Opus makes all decisions at the company and builds all software without humans doing all the prompting, the critics would make more sense.
Until then, it looks more like a double standard: if software built with AI has any issues, then see, AI is shit and the humans who invoked it had no role in it. e.g. it could be the case that Anthropic's Claude Code engineers just aren't doing as much polish as they should.
Better answer: Someone asked why might it be the case that AI-written software has issues, and it has a real answer. Marketing claims are a different conversation.
> Maybe if Anthropic claimed that you could write an unsupervised loop that writes perfect software, the critics would make more sense.
Or to be upstanding, ethical companies that they are. Just put disclaimer after every prompt response and on their website "AI generated code has no absolutely no guarantee of quality or correctness. Human prompter must be held accountable for any mistake or inaccuracies."
Hope it wouldn't be too much bother to these important companies.
See, but that would counter act all of their marketing and hurt the feelings of all the execs that desperately want to believe that software development is "solved" and in the near future they won't have to hire those expensive, pesky developers ever again.
I don't see how these things conflict. Nor did I get the point you were making in the sarcastic upstream comment.
It is obviously the case that you can both delegate code implementation to AI and also be responsible for it. You are signing off on the code you submit to a project no matter where you got it from nor how it was generated nor who you delegated the task to ("actually my friend wrote it so if it sucks don't look at me").
AI didn't change this, nor will it until there are no more humans in the loop.
They don't conflict, if the generated code is acceptable. Maybe I'm holding it wrong, or I'm not using the right combination of plugins and MCPs. But if I'm not allowed to manually correct the generated output, then I am forced into a loop of generating corrections until it's good enough to stake my job on. I hope you can see that such a policy would be ridiculous.
> Because your code is still marching somewhere in tokens per second. You have to decide where they are allocated: polish or the next thing. Humans still are the ones prompting LLMs and deciding what is done.
It sounds like you're saying that, even with the most tokens of anyone in the world at your disposal, you can't really finish what is effectively a glue layer between a server, a set of local files and a user?
Doesn't sound to me that the agents are all that effective TBH.
I sometimes use LLMs as search engine replacements for finding libraries for a specific niches. Gemini is the only one that seems to routinely hallucinate Rust crates from thin air, where otherwise Google is the one most willing to let their LLM peek at a search index to have up-to-date ground facts. It's puzzling. Definitely feels like it's not "organizing the world's information" there.
If the code churn is high the investment to refactoring etc is less beneficial than may be obvious. I don't remember the details but I heard in some podcast that the code base of Claude Code changes so fast that any piece of code won't be there for long..
The "AI revolution" feels like it's creating a bunch of ultra-smart AI models are scarily good at cracking most of human-created security (Mythos), but also happen to be careless snobs that just leave litter and mess in their wake.
We don't really know how much human intervention there is in mythos… maybe it has a very high rate of false positives that get checked by hand before publishing them.
Claude Code has been out for just 1 year and has millions of users already, being a major contribution to roughly $40 billion in revenue. By any stretch it is one of the most extremely fast developed products driving the most important workflow for millions of people already.
"Why isn't literally everything about a product that came out a year ago with an extremely fast scaling userbase solved?" is what I hear.
The goalposts will keep moving until AGI is undeniable.
Yes all the F500 companies have been paying eye watering $$$ for Claude Code for half the year because “the king was naked” Those ruthless cost savings corporations, they surely never care about trimming extra spend
A simple explanation is that they are "good enough" for most people and they have better things to do. Even if tomorrow I was 100 times as productive, I still wouldn't have time to do literally everything and I would have to prioritize.
I think they have more than one job, they have to balance new features with improving the software itself. And Anthropic has to balance investing resources into Claude Code vs on infra or other things.
Not that I'm happy with the current state of things, in fact I'm quite sad that improvements in capacity to do things doesn't translate into better quality.
> they have to balance new features with improving the software itself.
What new features?
> And Anthropic has to balance investing resources into Claude Code vs on infra or other things.
It seems they are doing neither? Their vibe-coders boast everywhere that they no longer even work, but just endlessly prompt Claude Code in a loop. Perhaps that's why there's no polish? Perhaps that's why their spring post about Claude Code issues reads like "these are all issues that would take a junior programmer a day to test and fix before they ever reached production"? https://www.anthropic.com/engineering/april-23-postmortem
Not only Codex, but I can't leave ChatGPT app in macOS open for few hours, because it will consume 60 gigabytes of RAM over time and crashes all the apps.
Mindboggling. Or can't use Google's AI Studio in browser because it takes 100% CPU.
It's not just Google AI Studio, it's also Google proper. Just one search result page consumes gigabytes of RAM. How did this happen? I've switched to DDG and never looked back.
In my experience the input field lags on short chats too, sometimes in the middle of writing the second or third prompt. Are they running some kind of prospective evaluation or something?
Yes, because under the hood it’s much more than just text. It’s not hard to imagine dozens if not hundreds of elements are contained within each prompt+reply pair.
I bet there’s also some React performance issues involved here too
There are some real table stakes FE perf issues with the ChatGPT site
Plot twist: the companies are unethically (blaming it on AI slop code) harvesting your GPU and CPU resources to generate tokens for their products consumers in a decentralized fashion. Not unlike those old monero or other crypto spyware miners.
Well thank you for your service. I thought about trying out Codex after the disaster that is Claude Code. I'll be fine without either one on my machine
This software has been terrible for me. Burns tokens like crazy, and fails. Most times I try to use the browser plugin, it just says it can't use the plugin. When it does work, it takes minutes to click a button. Unusable workflow.
I ask to generate a png with an alpha channel. It can't. Instead, it outputs a chroma-keyed image, then generates a python script to remove chroma key (fails), then a js script (which also fails). Then my 5h allotment is up.
It's frustrating because if it worked as they advertise, it'd be an amazing tool.
Although they can technically do it, I wouldn't be asking LLMs to generate binary files like PNG with alpha channels, no matter how simple that may seem. If it's easy enough to manually create one yourself, I would do that.
The best way for LLMs to do this is likely to write a scratch program (which is what it seems to have reached for in the second half), write code (which they are good at) and have the library create the image.
At some point it is just easier to handle such things yourself, and use them with text-based formats.
When working in an organization that defaulted to open sourcing everything, (even side projects,) there was only one reason any of us would keep something closed — embarrassment. Nobody wants to be the public face of some garbage code base. I’m sure that’s triply true when you’re using that code to justify exorbitant pricing.
If you think this about Codex, I'd be curious to hear your opinion on Claude Code.
Claude Code eats RAM on my Macbook Pro like no other app I've experienced, Codex on the other hand seems way more performant, more consistent, less memory usage, less CPU usage etc.
I've read to restart iTerm2 and my Mac several times because of Claude Code weirdness.
To be fair with Codex, you can use any harness you want with it. Access is not gatekeeper by a crappy full of slop electron app.
So just move to PI, or whatever.
Claude on the contrary, forces all plan users to use their horrible app, which, if you ever dared to use cowork, only once, will run a 2GB VM on app start, no f's given. at all.
Not justifying it. But if you use the official Codex app, thats on you. If you use the official Claude app, it's because you are forced to.
Sidenote unrelated to the post: since the Fable thing, and after serious thinking, I moved to open source models. I still have the basic OpenAI sub, but then easy lifting is now done elsewhere.
>if you ever dared to use cowork, only once, will run a 2GB VM on app start, no f's given. at all.
Of all the issues, this seems like the most tame. I mean, there are single Chrome tabs that can use 300MB or even 700MB. A 2GB VM for what is likely isolated local testing of scripts and commands or local lightweight first-level inference to help guide the main harness sounds reasonable.
Not being able to use my own harness on the subscription plan is my biggest gripe with Anthropic/Claude. For what I work on, I still get better results with Opus than I do with GPT5.5-codex, but damn do I hate that I either have to PAYG or I'm stuck using Claude Code.
> THE SPINNER MESSAGE CAUSES 100% GPU USAGE ON AN MBP M5!!
One conspiratorial idea I had was that this isn't a bug, and that Codex was actually doing computation on users' hardware under the guise of "thinking". Like Folding@home, or bitcoin mining malware, involuntarily on paying customers. Your usage is being subsidized by your personal compute hardware that you can't take advantage of unless it was being applied at massive scale.
This would make even more sense when you consider that thinking and response time metrics aren't publicly being tracked. There is an assumption that LLM interaction is being processed as fast as possible, but this doesn't align with the reality of fixed hardware and oversubscription. Of course throttling is occurring. So, if you can take advantage of local compute, delay the responses and you have even more access compute!
I find it difficult to believe that given the scale, number of users, and money involved, that someone hasn't fixed this "bug".
I imagine the answer varies greatly but what use cases do people find for MCP over standard command line calls? The only time I use MCP is when I'm supposed to test that an MCP is working. Everything else is just incredibly clunky and ugly. For example, connecting to Linear to grab a ticket is far easier and cleaner to copy and paste the text rather than to have the agent call the MCP and look it up by ticket name.
I'm hoping I can find somebody else's MCP that could actually help me for once!
I use a Godot MCP in addition to my Godot IDE and the Figma MCP
The Godot Engine API (100s of calls) is not worth memorizing and Figma is visual based, along with a complicated engine-specific serialization.
Much easier to ask an LLM to find out why one thing affects another or how to optimally generate a specific change by exploring those APIs. When the LLM eventually fails, to explain the available functions and triage a solution.
Claude code (desktop) and Codex (desktop) are both absolutely dogshit pieces of software. I can't pick which one is worse. I'd be sort of ashamed to say I actively worked on them, regardless of how they can empower people. Cursor's new UI is similarly terrible. They're all slowly getting better, but too slow for my taste.
They are incredibly slow in unpredictable ways, eat up memory at an insane rate, and just feel like they were built with no regards for UX. Like they crammed together all the engineers with no idea of how to build a coherent and predictable UI and let them loose on the product without proper designers.
The other day Codex (desktop) was eating up 70GB of RAM on my machine. What had I done? Literally nothing. I opened it and let it update once.
Another one with Codex was when I had a specific conversation where no activity was happening and which would make the app spin up all of my CPU cores, rendering it barely usable. It would take seconds to react to anything or update the UI. The conversation wasn't even in focus!!! Restarting the app wouldn't help. After I archived it, it suddenly got better
Claude Code Desktop used to be so, soo, soo slow and eat up so much RAM. It was unusable for anything other than playing around when I first tried it. It also didn't communicate any of what it would do. Using it was like living in a world with no affordances, constantly afraid of interacting with them and being faced with some sort of destructive action. Still, it has definitely been improving in terms of the UI experience.
Cursor's new agents mode suffers from similar issues. Obscenely slow, hogging CPU without anything going on, breaking with existing UX patterns (some of them already well implemented in their other, more polished, previous version), confusing buttons and labels which don't explain what to do and that sometimes do destructive operations on your code.
My favorite cursor absurdity is that if you use their workflow to create a worktree and the worktree setup script fails, the following happens:
1. The agent has no idea that it failed, let alone have any logs of the failure
2. Often you yourself don't get access to the logs of what failed in that script. Don't ask me, half the time it just says it failed with no further logs.
3. When you do get the logs, you cannot copy them in ANY way. You can't even select them. I have had to resort to taking a screenshot to do OCR on it
I've also had cursor repeatedly have concurrency/race condition bugs when creating multiple worktrees in parallel. I have 5 tasks, I spin them up all together so they can create 5 worktrees and they crash with random internal cursor errors. Wasn't the point of this abhorrent new UI you've stuffed me with to enable parallelism?
It's like people aren't even testing the shit they ship. Which I guess they aren't.
I'm a big believer in AI and think it is changing the world and will continue to do so, but I almost get offended at how bad these products for which I am paying (sometimes quite a lot!) are. There's "move fast and break stuff" and then there's "build crap to call stuff".
THE SPINNER MESSAGE CAUSES 100% GPU USAGE ON AN MBP M5!!
So any time you're waiting on the model (which is 90% of the time), your fans will be blasting (careful, don't use it on battery).
The issue is on github and close to 6 months old. Probably since the release of vibe coded junk. I would literally fix it myself but it's closed source for whatever reason.
There are many discussions about which model is better, or if vibe coding is even possible. I point you to the extent of what one of the most well funded, money flush, well staffed model making companies can do with vibe coding.
To me a screwup this bad (where the CEO has already made it clear they're now "focussing on coding") indicates that there's something truly broken in the company. No one on polymarket expects them to have a leading model any time soon for example.
It's a tragedy. The world needs competition to anthropic.