185 comments

[ 1.9 ms ] story [ 35.9 ms ] thread
This stuff is moving fast, should update automatically. This is kind of standard now. Browsers do it. No reason for harnesses not to do it as well.
My browser doesnt update automatically, i have to approve it.

Maybe this kind of stuff is standard for some people but I absolutely loathe auto updating software for many reasons

For example, Firefox updates by default and forces you to restart it, disabling using websites or seeing any site content before doing so.
Are you sure this isn't your organization's update policy kicking in here?
Unless I rebuild my ports, Firefox does fuck all to my system. If it ever did, I would nuke it immediately.
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.
One practical reason - system stability for important events.

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.

> My browser doesnt update automatically, i have to approve it.

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?

Sure yea just let sam altman install a rootkit on your box.

That's not odd whatsoever. /s

If software engineering is solved they should be able to get it right the first time
Coding is solved, software engineering still TBD
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. :)
You don't understand Google business. It's an ad company, not a tech company. Nobody cares about that banner.
You can do this without a daemon, and without storing n previous versions as noted by another user.
(comment deleted)
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

I guarantee the prompt “add auto update feature” was the first and last human input applied to that feature.
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.
(comment deleted)
The entire class of software (harnesses) you're talking about was literally invented like 2 years ago...
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?

The majority of harness users are the equivalent of boomers using browsers. They don't really care.
Then use the package manager, or windows store on windows.
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

I haven't worked with the update subsystem before but that seems like an oversight to me. I'm gonna fix it.
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.
what's the lazy way to check? can you share where/how you cleaned up?
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
Don't get me started on my custom NES harness, it generates ~10MB per turn. At least the harness itself is pretty tiny
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.

And here is the issue raised in github: https://github.com/anthropics/claude-code/issues/14980

TLDR: They don't care.

This sort of persistent auto closing is just so infuriating. Shows 0 respect for the user and not wasting users' time.
An AI bot will create the issue, and another AI bot will close it without fixing anything.

The future is here! It's a shame it has to be _this_ future...

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:

  systemd-run --user --pty --wait --collect -p TimeoutStopSec=5s -- "$@"
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.

[1] - https://usehax.dev/

No affiliation whatsoever. Just a happy user.

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).

In the end what you said about letting the model know what tools exist is more or less what pi does regarding tools/extensions/plugins.

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…

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.

can I use this harness with subcription plans without being afraid to banned from violating some ToS?
ChatGPT: likely yes (Tibo tweeted that it was approved)

Claude: probably not (officially against the rules after the openclaw fiasco)

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 find codex CLI to be a pretty high quality application. Is the existence of a backend daemon what you're referring to ?
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.

To be fair, how many products this old even have a revert update mechanism?
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.
What OS are you running on and do you hate Python?
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

https://gist.github.com/entropie/8f30b9e33e9412fda3adf2f7507...

[delayed]
The script is working like charm. I updated the packages so it has more access to tooling (ffmpeg, rmagick etc)
Build your own, using the broken harness

Maybe thats just the tool nerd in me that just wants the perfect tool for every job.

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.

Pi as well? Comparatively it's quite a small surface. I haven't seen issues when I upgrade.
(comment deleted)
I'm sure if you file a bug on the 15k backlog they'll fix it eventually /s

Legit bugs still open 6 months on.. It's a bit ironic

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.
If we’re learning anything from the past 15 years it’s probably not to extrapolate AI progress in a straight line.

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

> 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.

Let me clarify your illogic for you:

> 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?

No need to be rude! Besides OP just said:

> I’m reminded of

They were drawing a comparison, not saying "x will definitely happen because y"

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.
If you blindly trust frontier LLM architecture 'decisions,' they often do look a lot like what a young/junior engineer would do.
I say this about 30 times a day, to nobody. "How the FUCK is this all so bad? They have unlimited tokens"
that's what I'm also wondering about.

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?

> They have unlimited tokens

That is exactly why it is so bad. Tokens spent generate code. Large amounts of code is a liability.

Both CLIs are getting worse, but I think it's because they keep bolting in unconsidered "features", not because of the code quality.

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.

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.
I disagree.

> [...] 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.

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.

[delayed]
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.

--

1: https://github.com/openai/codex/blob/0c329ad2c9d5a2592128a1d...

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.

  codex features disable daemon_auto_start
  codex app-server daemon stop
  pkill -f 'app-server daemon pid-update-loop'

[1] - https://github.com/openai/codex/issues/48195
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.
And then it changes a month later. Then new (bad) defaults. And again and again. Good luck with that.
(comment deleted)
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.
Eyes free coding is a badge of honor for some folks.

I think it's a crazy notion given what I see these things do and generate, and hoped they would too after recent incidents.

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.
Is there evidence to suggest that open ai business leadership values money over inspiring general public customer delight?
while this points it out, i'll show you what I had in place:

~/.codex/config.toml

    [features]
    daemon_auto_start = false
hell, I also have this redundancy configured in bash:

    codex() {
      command codex --no-daemon "${@:-.}"
    }
All I'd want is a CLI with a few tools AND a built-in, properly configurable and working sandbox. Seems that's too much too ask.
Just be the 10th person to make one this week.
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.

We wrote about it here: https://tritium.legal/blog/update

> 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.

https://github.com/openai/codex/issues/52251#issuecomment-60...

The CLI has been pretty good on this score, way better than the App. Has been…
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 "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.

Also, in Codex, one randomly can't click "New Chat" or "Scheduled Tasks". You know, the absolute two basic functions.
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.