Being able to turn auto-updates off is okay, but that being the default would certainly not be okay in Codex, giving the reach, what it can do and how immature it is.
Software Engineering clearly is solved, that's why Google has a tiny animated banner on the AI Studio sidebar (advertising subscription upgrade), which shows a simple animated border around it and utilizing exactly 100% of the GPU to render just that banner. And there is a browser extension removing that styling element (without banner GPU load is obviously under 0.1% as it should be) released way back in May. So the almighty AI didn't manage to fix a major UI blocker for a flagship AI product in half a year now. :)
Yeah this seems like a decision yielded by a model. One of countless examples of the model’s outputs careening into individually defensible but holistically nonsensical results
A human seems less likely to embark upon a path that most humans know leads to something a human is unlikely to want
LLMs produce amazing things, but only one token at a time. Anything beyond that is retrospectively emergent at best
Products moving fast doesn't mean that they're moving in that they're moving on the direction I want, or that I want them to move underneath me while I'm in the middle of a project.
Auto-update systems have value but are not a suitable default for professional tools.
Ordinary package managers are totally capable of updating thousands of programs without manual effort, including automatically and in the background if that's a thing you want. But they do it without violating users' sovereignty over their own computers or turning every app into a special snowflake that gets to install software (namely itself) in its own bespoke way.
Serious tools shouldn't do this. Sure, you can offer an opt-in rapid release beta update option, but if you can't go more than a month without forcing me into a "stable" update that changes the UI and behavior I'm getting used to, then I'm not going to consider your software stable and reliable enough to be worth developing expertise in using.
I don't see how that excuses anything. It certainly doesn't give harness developers an excuse to be disrespectful to their users. It shouldn't give harness developers any reason to not even try to produce a stable release with a well-designed UI instead of a janky mess that gains new bugs every time you try to use it.
There are contexts where "move fast and break things" can make sense, but usually not when it's other people's workflows that you're breaking.
Just how old do you think a category of software product needs to be before it's reasonable for users to start expecting professionalism from the developers?
It also fills up my HD with old versions.
I investigated and it took up something like 12 gigabytes in total on my system; which seems insane to me, it’s just a harness?
People moan about how badly made Claude code is but Codex seems much worse on every metric
for some reason I had 11 separate codex and codex-code-mode-host binaries in my ~/.bun/install/cache/@openai . each weighing about ~300 MB. might be worth a look to anyone running low on disk space.
I just asked Claude where all my disk space went and it gave me a really useful breakdown; turns out i had some unused local models in random folders ~200gb worth.
Plus aforementioned harness bloat plus 100gb of unused npm stuff etc
This is the same operational model as Claude Code.
ls ~/.local/share/claude/versions/
ps auxww | grep "claude bg"
I see a few prior versions of the Claude Code binary and several running background tasks, without any copy of Claude Code in the foreground. I regularly get a "Update available" message in my Claude Code UI too.
This kind of stuff often breaks for applications packaged with Nix, so it's often removed from Nix packages for compatibility reasons. Both behaviors you mention are helpfully patched out of the Claude Code package I use: https://github.com/numtide/llm-agents.nix/blob/dc285bfd94ec7...
As a result, I never knew that Claude Code does a nasty thing like this, either. :-\
Fwiw, packages in that repo get version bumped each day, so if that's a fast enough pace for you it may be a good alternative.
If running systemd, wrap that crap into a cgroup and force kill the whole process tree on exit. I've been doing it for years with badly behaving applications. On phone, from memory, may not be exactly what is needed:
I’ve been using GPT models via hax[1], a bare bones harness with minimal tools on my system and have the models rely on bash for the most part the last few months. It’s been a breath of fresh air amidst all these overengineered harnesses.
If I need special actions, I just make them CLI tools on my Mac and tell the AI model that such a tool exists(via a single line in its system prompt) and that’s it. It’s been very nice.
You seem to care, so I wanna point out a semantic nit; "such a tool exists" could be interpreted as a harness provided tool, rather than a command line tool. (Edit, on a re-read its pretty obvious you mean cli tool, but keeping this statment here as im sure it'll open someone's eyes to the difference)
I've gotta give hax a go, as a pi user who came on-board due to the no frills direction pi takes. I say takes rather than took, because regardless of the (heated) discussion surrounding mcp and code mode support, I cannot fight the numbers- augmenting the harness provided tools is a notable boost to execution round trip performance.
I may need to take a second look at Pi again if it has any niceties like that notable boost in round trip performance compared to hax.
I mostly stuck around with Hax because of a few design choices. The sessions are merely plain text files indexed by a dirpath slug. This means I can just start a hax session in that directory and expect sessions history to be available in any model.. (I occasionally dabble in GLM for security checks, Gemini for writing stuff, Deepseek for tightly scoped tests etc).
I swapped to hax after the atuhor talked about it here on Hackernews, it really is very much a huge recommendation. Most importantly for me, it has been the only harness who respects the XDG specification and does not ask me to install by curling into sh. From my previous to harnesses, pi and maki, neither did both.
On top of that, it also feels very much like a normal CLI tool, which is a big plus for me.
It does not support plugins or MCP, which could both be a big negative for many people, but for now I was able to find a good terminal alternative for everything I needed.
Just a huge recommendation from my side as well, not affiliated in any way myself.
Yeah, and for the contrary I spotted Claude app being ugly. When I turned off Claude, then put my computer to sleep and later woke it up, it made my fans spin loudly, and after I checked, there were like 2 dozen Claude processes and a lot of Python. What was it doing - I have no idea, but it was crazy. I'm setting up a VM with nothing but Claude and necessary tools. I feel Claude is not honest with everything it is doing.
Can you share some more detail of how you would implement this? Are you thinking something like VirtualBox (?), running a virtual machine, and you're using - for example, OpenCode terminal in the VM...?
Today I used Claude Desktop after not having used it for a while. It ran bash commands on my machine, like starting brew services etc. It did not have that capability before (I used to hook up some mcp to allow selective file editing), and nobody warned me that it currently has. Shady tactics, very invasive, freaked me out.
I think the quality of Codex CLI (and Claude Code) is an honest reflection of the status quo of LLM-driven development. The future doesn’t look really promising.
I've used the CLIs for Codex, Gemini and Claude and they all give off the feeling of being on an very rickety, very fast runaway train.
You install an update. Oops, they added a sandbox that doesn't work inside a docker container, it's stopped working.
You install an update. Oops, you can't log in inside a docker container any more, it's stopped working.
You install an update. Oops, they started catching the copy+paste shortcut and replaced it with one that doesn't work.
You revert a broken update. Oops, the update changed the format of your login details, the old version can't read them, gotta log in again.
You install an update. Oops, can't scroll with the mouse wheel any more.
Not showstopping bugs (if you're used to persuading broken oauth logins to work) but it certainly makes updating an "ugh, what have they broken this time?" experience.
You got further than I did. I checked them out and went back to manual prompting. Just don't have a need for codegen that much, and when I do I'd prefer to be in control.
It does some neat things that, ultimately, are super obnoxious. Background animations and "sparkle" effects that make my terminal indicate activity at all times. Just subtly broken behavior.
It has pretty rapidly reached the point where I do not think any acceptable LLM-harness is widely available. Every single one I've tried has broken in bizarre ways on even minor updates.
I used codex the first time yesterday and quickly decided I need to sandbox it and came up with a pretty easy and straightforward solution (I think).
I use nixos and use a little wrapper that wraps Codex CLI in Docker. Run codex-box /path/to/project and it starts or reuses a container with only that project bind-mounted, keeping login and history in a separate volume. It uses tmux for detaching and reattaching
Very much this... The utility of Claude has grown exponentially with the amount of work I've put into memory/context management, tooling, skills development and CLAUDE.md (and friends). I freely admit I may just be fortunate, but I've yet to hit a bug in a new release that rose above the level of minor annoyance.
The thing that really validated this point was when I recently tried Codex again. Out of the box it was OK, but not great. I swung over the memory apparatus and had it import directives from my existing Claude install and it was almost immediately quite useful in its own right and, especially, as a counterpoint to Claude when dealing with some fairly complex operational issues.
To be fair we've gone from barely capable at writing code to what we have today in barely 3 years. I wouldn't put money on the counter bet that they won't get beyond this hump.
> The capital costs have also ballooned to the point where the rate has to level out
That's a pretty bold use of "has to". None of the financing behind AI seems sane, yet it continues to defy rational expectations. Reminds me of the comment "the market can remain irrational longer than you can stay solvent". It's not the exact meaning but has the same feeling. The circular financing going on does not help anything either
I wouldn’t assume that progress is linear. Maybe I’m wrong and it will be! But I’m reminded of early developments with self driving cars, it felt like manual driving would be a thing of the past within a decade. But progress has been much slower than that.
> But I’m reminded of early developments with self driving cars, it felt like manual driving would be a thing of the past within a decade. But progress has been much slower than that.
I think that's exactly the standpoint of Yann LeCun.
> The progress using narrowly intelligent algorithms to drive cars in a generalizable way was not as fast as the early gains the narrow algorithms could solve, thus the progress in using generally intelligent algorithms for any other field must also slow down.
Man, is this how 99% of the population works? They have a heuristic for anything that sounds computer sciencey and apply it for anything and everything that sounds similar without bothering to check if their heuristic actually applies?
You committed your own fallacy of applying a sloppy heuristic to understanding the person you were responding to without bothering to check if it applies. Spectacular. The comical levels of arrogance that infect over-hyped tech marketing boondoggles (one area among many in which GenAI is clearly similar to self-driving cars) is one of the reasons nobody trusts the hype anymore.
The breathless astroturf articles, the brain-dead talking head conversations, the endless flood of obvious misinformation about industry uptake, the nauseating LinkedIn puff-pieces about PREPARING YOUR ENTERPRISE OR ELSE... it's a hostile information economy at best, and its being driven by the same people who brought you bullshit like self-driving, crypto and the Metaverse... for the exact same reasons (to get rich).
There's no epistemic credibility left in the tech industry in general. Maybe the Dario's or whoevers of the world believed what they were talking about at one point, but I don't believe a single word I read from Anthropic or OpenAI for the same reason I don't believe anything I read from Russian state media. I know it's being produced for reasons that have nothing to do with the truth.
As someone who interacts with the technology on a daily basis at a non-trivial level... I'm not seeing anything that would cure my skepticism about GenAI. The information economy surrounding it is broken. The fundamentals don't line up. The hype about "nearby capabilities" is identical to the hype of generations after generations of hype in the AI space (dating at least back to Turing). It smells like a bad bet.
I dont think the quality has gotten that much better. Take claude 4.5, the probability of getting usable outputs was less likely than with opus 5.5, and the usuable outputs weren't great.
I think newer models are more likely to produce the usuable output, almost always, but its still not great. The frequency in which you get usable results leads one to believe that quality is improving.. No usability is improving but the result is still meh.
Also put an llm in an environment without an lsp or compiler to check against and let me know how capable you think they are on their own. The "loop" is doing a lot of heavy lifting here.
The current approach of the big companies is to keep increasing the number of parameters (there was a report that recent Claude models are on the 4T parameter scale). Even recent SOTA open weight models are in the 1T-2T range.
This is partly due to the multiplicative scaling factor -- the number of tokens; the number of transformer layers; the number of features; etc.
I suspect that for models to have a step upgrade either/both of 1) a new/improved architecture model; and 2) better training of smaller parameter models are needed. I say the latter as I think that with the larger weights there is a lot of unused/redundant parameters.
Seems like its just a bunch of young engineers making bad architecture decisions. Not sure I would blame the culture of vibe coding everything. It might just be bad taste.
in the last 2 weeks or so:
- scrolling stopped working
- subagents no longer work (main agent doesn't get notified when they finish)
- subagents don't work (a subagent can't make its own agent even if instructed to do so)
I believe it's all related. They keep adding new, badly thought out features because it's much easier than improving existing features built on low quality code.
The latter requires modifying existing, badly architectured and tightly coupled code that will almost definitely break something somewhere else if touched, so what do you do? Just keep adding new code on top and hope for the best.
This is not a new phenomenon by any means, but AI amplifies it by 100x.
There is actually even worse code quality written by humans, is that small sample also a reflection of human-driven development? And therefore, the future doesn't look promising that way either?
Solar power has become a real transformative technology and instead of trying to recreate a better world we tariffed them and the execs of this country spent all our coins on power hungry data-centers that write mid code.
I think the quality of these tools shows that software engineering is maturing as an engineering discipline.
We were overbuilding trivial parts of the software like the Romans overbuilt small bridges.
Modern engineering is about making the thing that barely works. If you disagree, learn a little bit about bit narrow the tolerances of modern cars and bridges are.
I think there's a difference between something that's engineered and precise vs something that's rickety. Just because you built something that might fall apart at any moment doesn't mean it's been engineered with narrow tolerances.
A 100 percent of modern bridges are rickety. There has been dozens of high profile incidents because of this.
> Just because you built something that might fall apart at any moment doesn't mean it's been engineered with narrow tolerances.
Here the software they are building falls apart in ..say.. two days of use, but can be updated in 5 seconds at close to zero marginal cost. The software is useful enough that people keep updating and using it. This iteration gives them a competitive advantage over the safer choice of rigorously testing every new thing for several weeks.
I don't disagree but it's clearly a problem that already existed for decades in software and is just being 10x'ed. how many different frontend frameworks or AWS regurgitated and enshittified cloud services did we have to endure over the years.
> learn a little bit about bit narrow the tolerances of modern cars and bridges are
Buildings typically use a safety factor of 1.5 to 2.0, and cars typically use a safety factor of 2.0 to 3.0. These things are being built twice as strong as they need to be. I wouldn't call that narrow.
And with software, we're at a point where it can't even properly do what it needs to. If we were overbuilding it, damn software wouldn't crash so much.
I think all engineering has safety factors of 2 or more. Maybe with the exception of aerospace (mostly space) where materials might be at the limits of what's possible right now so the safety factors are much reduced.
> I think all engineering has safety factors of 2 or more.
Not even close.
For example, a BMW X5 weighs about 2200 Kgs without passengers, and it's GVWR is 2800 Kgs.
If you have five people and heavy bags, you can comfortably exceed the GVWR. You can absolutely break control arms and suspension components in that scenario if you go over a speed bump or hit a pothole (which are real things that exist in the real world, like people doing something unintended and crashing software).
If this needed a 2x safety factor, there would have been no way to build this car.
Even the toughest cars like land cruisers are limited in this way.
i'm personally quite perplexed how sloppy the harnesses are from the leading AI labs, you'd think these are their primary products and would have some human attention devoted to them
it's embarrassing when every claude code release has obvious bugs in it like telling you to upgrade when you're on the latest version or codex opening visible powershell windows for every command that pop up on your screen
like 5 minutes of human testing would catch this obvious shit but obviously they don't bother because vibes are the future and stuff? idk
The restraint, rigour and responsibility you showed prior to LLMs relates directly to how much of that you apply now that they’re here.
Given how rare it was previously, and how little it was cultivated by shortsighted management, I’m not surprised with all the slop we see today.
The truth is there’s nothing stopping someone from using these tools to remove dead code, simplify project structure, remove dependencies, etc. but I don’t see it happening very often. I have done it a bunch myself though so it’s absolutely possible, it’s all a matter of investment and prioritization.
OpenCode is barely usable with local LLMs. Plan mode to build mode switch and lose all your prefix. Compaction throws away your prefix (just fixed in v2... I guess v1 gets to stuff it). Pi throws away your prefix during compaction too. I think all these tools' devs and users use it with hosted models. Pi doesn't come with basic permission capabilities--YOLO, write your own or hope the extension you find in the Pi extension store isn't an absolute dumpster fire.
Claude Code turned on the remote-control server by default with an update (no explanation or notification). BUT Claude Code didn't break the expectation that the hooks and the commands you run inherit your environment. So it was hard to notice.
Whereas when Codex App server became enabled by default, and as per OpenAI, it was never contractual that hooks run in the client's environment. Sure, let's break long-standing expectations of where code runs when you run a CLI--it was never contractual, you see. Now you have to figure out how to turn this crap off, just to UNBREAK your workflow!
This is why it's apples and oranges here, with Claude Code and Codex.
> hope the extension you find in the Pi extension store isn't an absolute dumpster fire
That's why I didn't mind it when Pi added native MCP capabilities. What dismayed me was they didn't other tools like subagents, and other stuff. I mean why do I have to scour the Interwebs to find something that doesn't possibly screw everything up for me.
I have a feeling harness usage will finally move to lots of harnesses with usage clusters - as in not X million harness for X million devs/users but a lot and people will use what suits them, and if not a more inclined coder will fork/make one just for them. In all their faults LLMs have made this a possibility.
The issue is cross contamination. These companies need separate runtimes for all of their products instead of claude code or codex on the same underlying model that their chat product is on. I honestly do not believe they are as separated as the labs things they are and further I believe that is where a lot of the slop comes from. What I mean by cross contamination is their entire model shares too much of the same underlying model stack, post training routing, or serving infrastructure. A change meant for one part of the product can alter other parts or introduce regressions in another. The spillover is what is "in the way" of true progress. imo.
It's right about now that having a operating system distro model is great - you get folks who will package the software & test it out, make generally sensible defaults, and generally keep shenanigans like this from going on
Refusal to adhere to the XDG specification is a big signal that the app is going to be a general bull in a china shop. It's not that hard to do OS- and distribution-appropriate package management.
A well-behaved application should not only use XDG on Linux, but it should use platform-native conventions on macOS as well: "~/Library/Application Support", etc.
Yes, and the Windows app-data equivalent. The point is that you have to be a good citizen of the platform on which you're running. curl | bash is kind of a selfish model.
There aren't any documented settings to disable this, but there is a feature flag it currently sits behind. You can flip it in your ~/.codex/config.toml[1]:
[features]
daemon_auto_start = false
There are also some files that it writes to in ~/.codex at startup: pid files, lock files, things like that. You can delete them and replace them with symlinks to /dev/null, then mark those unwritable with `chattr +i` or similar. Presumably then the background daemon will crash on startup, if the feature flag ever goes away.
Yep, the real issue is that it was something they didn’t have before, and then with Codex 0.157.0 enabled, they installed this persistent nonsense [1] that survives after the last instance of Codex has exited on your machine, which is just gross.
For whatever reason, the daemon has been refusing to start and Codex has been grumbling to me. I was wondering where the daemon had come from, and thought maybe I missed something previously and that it had just broken.
Off-topic: I think the front-end quality of ChatGPT/Codex Desktop and Android app is simply dreadful—hard to imagine how such a large number of frequent failures made it into production. Do they not use human testing at all?
probably not much, they're all using workflows where the agents pull issues and automatically merge code when the tests pass. so lots of stuff slips through and the overall experience is kinda shite.
yeah and it's not even about reading code in particular. i keep a close eye on architecture, project structure, data structures & data flow, etc. and then i do manual testing to make sure things feel right. i cannot imagine developing anything users interact with without doing this.
I have recently hit the point where I am struggling in a vibe coding experiment with the state management and control flow sequencing. It's a very complex scenario (detecting game mode change for Final Fantasy 1 in a NES harness where the game loop and agent loop need to run independently, yet interleave). I'm insanely impressed with how far the open models have brought the project, I would never have on my own, life is too short. It remains unclear if I can work with the agents through this challenge. Probably time I took a deeper look at the code I suppose.
i'm working on a complex project and i got it to a really good state as well without really looking at the code. i'm now digging into some of it to rework the architecture so i can tackle some even more complex things. it's fine, i've read maybe 5% of all the code, most of it doesn't really matter since it's isolated in their own crate, it's the interaction boundaries that matter.
I'm torn about this. We considered this with our application where security, stability, etc. are paramount, and having a buggy application out in the wild is user-hostile. Sure, in a dream world we'd say "don't ship until it's perfect", but that's just not realistic.
We considered the daemon thing, but ended up with a hard-update check on every boot. It's thus a user choice: if you don't like the automatic updating, you can just not run the application anymore.
And even with all that, it's hard to stay on the right side of AV algorithms, etc.
> It's thus a user choice: if you don't like the automatic updating, you can just not run the application anymore.
That's not a choice. It s just what most apps do these days, but it's the first time I've seen anyone stating this so directly, or trying to frame it as a choice.
(And behaviorally, this makes your product just a SaaS website with extra steps.)
The daemon has many bugs. For example, when auto-updating, it would randomly ruin the permissions and block the goal as .git became read-only. Generally, it is extremely annoying how many bugs Codex has. I basically can't trust it to execute on any goal since it would often get blocked every few hours due to random bugs.
My complaint applies specifically to the CLI. I have never used the gui app. Here are the various goal-breaking bugs I've run into:
- Goals get blocked due to .git and other stuff becoming randomly read-only when daemon auto-updates in the background (the linked issue in my comment above)
- Goals get blocked due to transient "Selected model is at capacity"
- Goals get blocked due to bwrap randomly failing with `bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted`. I traced this one to `apparmor` on Ubuntu 24.04 interfering with bwrap and found a local workaround.
You can just copy the executable then run it with --no-daemon, or edit the config equivalently. No autoupdates and no background process.
The recent terminal UI changes were more fastidious, but even those are easily disabled with CODEX_TUI_DISABLE_KEYBOARD_ENHANCEMENT=1 and the /tui command.
I use it at work. On Windows it also launches a new console window every it executes (?) a command. You should definitely disabled this using --no-daemon.
I don't know how and why they ruined this CLI with needless "features". It was perfectly usable two weeks ago.
A bit off-topic, but on the rare occasions I help some acquaintance with Windows I always feel a bit upset that random split second console windows still pop up when installing everyday software, even that from Microsoft.
I remember them from way back on Windows 98 and no one seems to care to hide them (?).
I discovered this while benchmarking the tool I'm developing. I realized Codex was surprisingly fast after the initial run. Some other harnesses do similar things, so I decided to use bwrap around these tools for accurate benchmarking.
Is anyone using the vscode extension of Codex? Its insane how brittle it is.
Just a couple of days ago, it was completely broken for about a week before it got somewhat fixed again. When I say fixed, I mean basic functionality is working again but bugs and regressions are still left. There are multiple issues tracking the same problems. The community have even started to patch the extension themselves as a workaround until its adressed.
You know whats even crazier? There are like a new release every other day with lots of commits and changes, yet it still in a bad shape. I have turned off autoupdate for Codex extension for this reason. The only extension I’ve had to.
I mean, it doesn’t take that much work to have some tests in the pipeline to make sure the extension continue to work, it almost feels like they are purposely doing this.
I have now experienced the consequences of ”move fast and break things”. I realize how much software quality means to me. Its not fun being on the receiving end, especially when it affects my daily workflow.
If any of you, see anyone hype up LLMs again, please refer them to the state of Codex vscode extension.
185 comments
[ 1.9 ms ] story [ 35.9 ms ] threadMaybe this kind of stuff is standard for some people but I absolutely loathe auto updating software for many reasons
I travel for work, and often have a tech demo, solution, tool, or something to show - or am running a workshop.
I usually do NOT update things right before my trip, as I want to minimize the potential for disruption.
Have you ever actually blocked it due to something in the new version, or is it mostly to control the timing of when it updates?
That's not odd whatsoever. /s
A human seems less likely to embark upon a path that most humans know leads to something a human is unlikely to want
LLMs produce amazing things, but only one token at a time. Anything beyond that is retrospectively emergent at best
Auto-update systems have value but are not a suitable default for professional tools.
There are contexts where "move fast and break things" can make sense, but usually not when it's other people's workflows that you're breaking.
Just how old do you think a category of software product needs to be before it's reasonable for users to start expecting professionalism from the developers?
People moan about how badly made Claude code is but Codex seems much worse on every metric
https://github.com/numtide/llm-agents.nix/
As a result, I never knew that Claude Code does a nasty thing like this, either. :-\
Fwiw, packages in that repo get version bumped each day, so if that's a fast enough pace for you it may be a good alternative.
TLDR: They don't care.
The future is here! It's a shame it has to be _this_ future...
If I need special actions, I just make them CLI tools on my Mac and tell the AI model that such a tool exists(via a single line in its system prompt) and that’s it. It’s been very nice.
[1] - https://usehax.dev/
No affiliation whatsoever. Just a happy user.
I've gotta give hax a go, as a pi user who came on-board due to the no frills direction pi takes. I say takes rather than took, because regardless of the (heated) discussion surrounding mcp and code mode support, I cannot fight the numbers- augmenting the harness provided tools is a notable boost to execution round trip performance.
I mostly stuck around with Hax because of a few design choices. The sessions are merely plain text files indexed by a dirpath slug. This means I can just start a hax session in that directory and expect sessions history to be available in any model.. (I occasionally dabble in GLM for security checks, Gemini for writing stuff, Deepseek for tightly scoped tests etc).
you can also switch the model at any point too after resuming.
But honestly i dont think there is that big a difference between these “minimal harnesses” to begin with so long as they have the basic functionality…
On top of that, it also feels very much like a normal CLI tool, which is a big plus for me.
It does not support plugins or MCP, which could both be a big negative for many people, but for now I was able to find a good terminal alternative for everything I needed.
Just a huge recommendation from my side as well, not affiliated in any way myself.
Claude: probably not (officially against the rules after the openclaw fiasco)
https://michael.stapelberg.ch/posts/2026-02-01-coding-agent-...
If you want something not NixOS-related, smolmachines.com (I haven't tried this yet) gets mentioned here a lot.
You install an update. Oops, they added a sandbox that doesn't work inside a docker container, it's stopped working.
You install an update. Oops, you can't log in inside a docker container any more, it's stopped working.
You install an update. Oops, they started catching the copy+paste shortcut and replaced it with one that doesn't work.
You revert a broken update. Oops, the update changed the format of your login details, the old version can't read them, gotta log in again.
You install an update. Oops, can't scroll with the mouse wheel any more.
Not showstopping bugs (if you're used to persuading broken oauth logins to work) but it certainly makes updating an "ugh, what have they broken this time?" experience.
I use nixos and use a little wrapper that wraps Codex CLI in Docker. Run codex-box /path/to/project and it starts or reuses a container with only that project bind-mounted, keeping login and history in a separate volume. It uses tmux for detaching and reattaching
https://gist.github.com/entropie/8f30b9e33e9412fda3adf2f7507...
Maybe thats just the tool nerd in me that just wants the perfect tool for every job.
The thing that really validated this point was when I recently tried Codex again. Out of the box it was OK, but not great. I swung over the memory apparatus and had it import directives from my existing Claude install and it was almost immediately quite useful in its own right and, especially, as a counterpoint to Claude when dealing with some fairly complex operational issues.
Legit bugs still open 6 months on.. It's a bit ironic
https://finance.yahoo.com/sectors/healthcare/articles/godfat...
Progress is spiky and not guaranteed. The capital costs have also ballooned to the point where the rate has to level out
That's a pretty bold use of "has to". None of the financing behind AI seems sane, yet it continues to defy rational expectations. Reminds me of the comment "the market can remain irrational longer than you can stay solvent". It's not the exact meaning but has the same feeling. The circular financing going on does not help anything either
I think that's exactly the standpoint of Yann LeCun.
> The progress using narrowly intelligent algorithms to drive cars in a generalizable way was not as fast as the early gains the narrow algorithms could solve, thus the progress in using generally intelligent algorithms for any other field must also slow down.
Man, is this how 99% of the population works? They have a heuristic for anything that sounds computer sciencey and apply it for anything and everything that sounds similar without bothering to check if their heuristic actually applies?
> I’m reminded of
They were drawing a comparison, not saying "x will definitely happen because y"
The breathless astroturf articles, the brain-dead talking head conversations, the endless flood of obvious misinformation about industry uptake, the nauseating LinkedIn puff-pieces about PREPARING YOUR ENTERPRISE OR ELSE... it's a hostile information economy at best, and its being driven by the same people who brought you bullshit like self-driving, crypto and the Metaverse... for the exact same reasons (to get rich).
There's no epistemic credibility left in the tech industry in general. Maybe the Dario's or whoevers of the world believed what they were talking about at one point, but I don't believe a single word I read from Anthropic or OpenAI for the same reason I don't believe anything I read from Russian state media. I know it's being produced for reasons that have nothing to do with the truth.
As someone who interacts with the technology on a daily basis at a non-trivial level... I'm not seeing anything that would cure my skepticism about GenAI. The information economy surrounding it is broken. The fundamentals don't line up. The hype about "nearby capabilities" is identical to the hype of generations after generations of hype in the AI space (dating at least back to Turing). It smells like a bad bet.
I think newer models are more likely to produce the usuable output, almost always, but its still not great. The frequency in which you get usable results leads one to believe that quality is improving.. No usability is improving but the result is still meh.
Also put an llm in an environment without an lsp or compiler to check against and let me know how capable you think they are on their own. The "loop" is doing a lot of heavy lifting here.
This is partly due to the multiplicative scaling factor -- the number of tokens; the number of transformer layers; the number of features; etc.
I suspect that for models to have a step upgrade either/both of 1) a new/improved architecture model; and 2) better training of smaller parameter models are needed. I say the latter as I think that with the larger weights there is a lot of unused/redundant parameters.
in the last 2 weeks or so: - scrolling stopped working - subagents no longer work (main agent doesn't get notified when they finish) - subagents don't work (a subagent can't make its own agent even if instructed to do so)
what's going on? I thought coding was solved?
That is exactly why it is so bad. Tokens spent generate code. Large amounts of code is a liability.
But maybe being able to code up a feature at the drop of a hat has turbo-charged their ability to make bad UX decisions.
The latter requires modifying existing, badly architectured and tightly coupled code that will almost definitely break something somewhere else if touched, so what do you do? Just keep adding new code on top and hope for the best.
This is not a new phenomenon by any means, but AI amplifies it by 100x.
We were overbuilding trivial parts of the software like the Romans overbuilt small bridges.
Modern engineering is about making the thing that barely works. If you disagree, learn a little bit about bit narrow the tolerances of modern cars and bridges are.
> [...] vs something that's rickety
A 100 percent of modern bridges are rickety. There has been dozens of high profile incidents because of this.
> Just because you built something that might fall apart at any moment doesn't mean it's been engineered with narrow tolerances.
Here the software they are building falls apart in ..say.. two days of use, but can be updated in 5 seconds at close to zero marginal cost. The software is useful enough that people keep updating and using it. This iteration gives them a competitive advantage over the safer choice of rigorously testing every new thing for several weeks.
Buildings typically use a safety factor of 1.5 to 2.0, and cars typically use a safety factor of 2.0 to 3.0. These things are being built twice as strong as they need to be. I wouldn't call that narrow.
And with software, we're at a point where it can't even properly do what it needs to. If we were overbuilding it, damn software wouldn't crash so much.
Not even close.
For example, a BMW X5 weighs about 2200 Kgs without passengers, and it's GVWR is 2800 Kgs.
If you have five people and heavy bags, you can comfortably exceed the GVWR. You can absolutely break control arms and suspension components in that scenario if you go over a speed bump or hit a pothole (which are real things that exist in the real world, like people doing something unintended and crashing software).
If this needed a 2x safety factor, there would have been no way to build this car.
Even the toughest cars like land cruisers are limited in this way.
it's embarrassing when every claude code release has obvious bugs in it like telling you to upgrade when you're on the latest version or codex opening visible powershell windows for every command that pop up on your screen
like 5 minutes of human testing would catch this obvious shit but obviously they don't bother because vibes are the future and stuff? idk
Given how rare it was previously, and how little it was cultivated by shortsighted management, I’m not surprised with all the slop we see today.
The truth is there’s nothing stopping someone from using these tools to remove dead code, simplify project structure, remove dependencies, etc. but I don’t see it happening very often. I have done it a bunch myself though so it’s absolutely possible, it’s all a matter of investment and prioritization.
Claude Code turned on the remote-control server by default with an update (no explanation or notification). BUT Claude Code didn't break the expectation that the hooks and the commands you run inherit your environment. So it was hard to notice.
Whereas when Codex App server became enabled by default, and as per OpenAI, it was never contractual that hooks run in the client's environment. Sure, let's break long-standing expectations of where code runs when you run a CLI--it was never contractual, you see. Now you have to figure out how to turn this crap off, just to UNBREAK your workflow!
This is why it's apples and oranges here, with Claude Code and Codex.
That's why I didn't mind it when Pi added native MCP capabilities. What dismayed me was they didn't other tools like subagents, and other stuff. I mean why do I have to scour the Interwebs to find something that doesn't possibly screw everything up for me.
I have a feeling harness usage will finally move to lots of harnesses with usage clusters - as in not X million harness for X million devs/users but a lot and people will use what suits them, and if not a more inclined coder will fork/make one just for them. In all their faults LLMs have made this a possibility.
--
1: https://github.com/openai/codex/blob/0c329ad2c9d5a2592128a1d...
I think it's a crazy notion given what I see these things do and generate, and hoped they would too after recent incidents.
~/.codex/config.toml
hell, I also have this redundancy configured in bash:We considered the daemon thing, but ended up with a hard-update check on every boot. It's thus a user choice: if you don't like the automatic updating, you can just not run the application anymore.
And even with all that, it's hard to stay on the right side of AV algorithms, etc.
We wrote about it here: https://tritium.legal/blog/update
That's not a choice. It s just what most apps do these days, but it's the first time I've seen anyone stating this so directly, or trying to frame it as a choice.
(And behaviorally, this makes your product just a SaaS website with extra steps.)
https://github.com/openai/codex/issues/52251#issuecomment-60...
- Goals get blocked due to .git and other stuff becoming randomly read-only when daemon auto-updates in the background (the linked issue in my comment above)
- Goals get blocked due to transient "Selected model is at capacity"
- Goals get blocked due to "Codex ran out of room in the model's context window". Somehow, both auto-compaction and manually running /compact don't work. https://github.com/openai/codex/issues/52567#issuecomment-61...
- Goals get blocked due to bwrap randomly failing with `bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted`. I traced this one to `apparmor` on Ubuntu 24.04 interfering with bwrap and found a local workaround.
The recent terminal UI changes were more fastidious, but even those are easily disabled with CODEX_TUI_DISABLE_KEYBOARD_ENHANCEMENT=1 and the /tui command.
I don't know how and why they ruined this CLI with needless "features". It was perfectly usable two weeks ago.
I remember them from way back on Windows 98 and no one seems to care to hide them (?).
Just a couple of days ago, it was completely broken for about a week before it got somewhat fixed again. When I say fixed, I mean basic functionality is working again but bugs and regressions are still left. There are multiple issues tracking the same problems. The community have even started to patch the extension themselves as a workaround until its adressed.
You know whats even crazier? There are like a new release every other day with lots of commits and changes, yet it still in a bad shape. I have turned off autoupdate for Codex extension for this reason. The only extension I’ve had to.
I mean, it doesn’t take that much work to have some tests in the pipeline to make sure the extension continue to work, it almost feels like they are purposely doing this.
I have now experienced the consequences of ”move fast and break things”. I realize how much software quality means to me. Its not fun being on the receiving end, especially when it affects my daily workflow.
If any of you, see anyone hype up LLMs again, please refer them to the state of Codex vscode extension.