179 points whimblepop 1 hour ago 111 comments

dingaling911 1 hour ago | parent

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.

icantevenhold 59 minutes ago | parent

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

nicce 46 minutes ago | parent

For example, Firefox updates by default and forces you to restart it, disabling using websites or seeing any site content before doing so.

djsavvy 42 minutes ago | parent

I've been using Firefox for years and don't think I've ever seen this. Are you running some custom configuration?

nicce 19 minutes ago | parent

Firefox Developer Edition on macOS.

TeMPOraL 7 minutes ago | parent

Standard on Linux, I believe. One of many reasons I got back to Windows as my main OS (with Linux needs fulfilled by WSL).

Zambyte 35 minutes ago | parent

On your setup.

Firefox does not only not prompt me for updates (it only updates if I manually run an update), even if I do update with Firefox running, it does not stop me from continuing to use Firefox without restarting it. All I did was install Firefox from flathub (packaged by Mozilla (a default configuration provided by Mozilla)).

nicce 19 minutes ago | parent

I am running Firefox Developer Edition on macOS, where it is the default option. Have to set "Check for updates, but choose when to install" to get the similar behavior.

4chandaily 34 minutes ago | parent

Iirc, this is a pattern of the flatpack version of Firefox. I do not believe the .deb does this.

RobotToaster 34 minutes ago | parent

I've never seen that behaviour, it downloads updates in the background and then gives me a little notification that I should restart it to update, but it's dismiss-able.

nicce 18 minutes ago | parent

I think this is the old default option. What options you see in the update options?

six_seven 21 minutes ago | parent

Are you sure this isn't your organization's update policy kicking in here?

jstummbillig 40 minutes ago | parent

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.

dv35z 30 minutes ago | parent

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.

vorticalbox 19 minutes ago | parent

Isn’t this what docker is for?

Jokes aside I do the same I tend not to upgrade my Mac, my phone unless I really have to.

The “update” button on the top of my brave install has now turned from green to orange and I’ll likely wait until it goes red

TeMPOraL 9 minutes ago | parent

> Isn’t this what docker is for?

What? Pinning a browser?

First thing it'll want to do after starting is update itself to newest version anyway.

johnnyApplePRNG 59 minutes ago | parent

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

That's not odd whatsoever. /s

dingaling911 57 minutes ago | parent

you run it on the bare metal?!! Balls. I run it in a container

wren6991 58 minutes ago | parent

If software engineering is solved they should be able to get it right the first time

dingaling911 57 minutes ago | parent

CODEX WRITES ITSELF! DONT YOU PEOPLE UNDERSTAND!!!!!

bayindirh 56 minutes ago | parent

So you imply that Codex has a hoarding issue?

jonplackett 49 minutes ago | parent

It gets very attached to itself

Rapzid 13 minutes ago | parent

It loves hording issues. Over 15 THOUSAND on GH.

TeMPOraL 6 minutes ago | parent

Nah, you're confusing it with Autolith.

phoghed 18 minutes ago | parent

Coding is solved, software engineering still TBD

bayindirh 58 minutes ago | parent

You can do this without a daemon, and without storing n previous versions as noted by another user.

jmbwell 29 minutes ago | parent

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

swatcoder 49 minutes ago | parent

Products moving fast doesn't mean that they're moving in 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.

isityettime 42 minutes ago | parent

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.

wtallis 41 minutes ago | parent

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.

RobotToaster 35 minutes ago | parent

Then use the package manager, or windows store on windows.

icantevenhold 1 hour ago | parent

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

bayindirh 58 minutes ago | parent

Remember: VSCode runs a complete headless Eclipse instance as its Java LSP, so I don't expect quality code from any of the big companies anymore.

dwattttt 41 minutes ago | parent

Are you referring to something built into VS Code, or an extension? It looks you're talking about https://github.com/redhat-developer/vscode-java, which is RedHat's doing.

accrual 41 minutes ago | parent

Yes, my DEV VM tended to fill up with VSCode backups as well. I finally expanded the disk so it's less of an issue today, but for a while ENOSPC was resolved by cleaning up ~/.vscode-server/cli/servers.

Onavo 55 minutes ago | parent

Even if you installed codex with brew?

umvi 53 minutes ago | parent

Can't wait until we get really well designed harnesses written in a compiled language that doesn't bloat my computer. Will probably have to be written by a company other than OpenAI because codex is like the exact opposite of everything I just listed

dummydummy1234 51 minutes ago | parent

Codex is written in rust, fyi... Not that I disagree.

umvi 46 minutes ago | parent

Oh, I haven't been keeping up. I assumed it was still TS since it prompts me to run npm all the time.

lynx97 42 minutes ago | parent

Which generates unnecessarily huge binaries.

rfgplk 39 minutes ago | parent

It's because they statically linked it, and probably rely on a trillion pointless crates (as is standard in Rust development). A good statically linked harness can easily be ~5MB MAX

rfgplk 46 minutes ago | parent

Just write your own harness. Ironically Codex/Claude are both abysmal.

theowaway213456 35 minutes ago | parent

How do you even write a harness that can use a Claude subscription? I thought it was not allowed by Anthropic's ToS and can get you banned?

sroussey 31 minutes ago | parent

That’s a different discussion.

fasterik 13 minutes ago | parent

I suspect a lot of people wouldn't use AI if they had to pay per token at current rates. Yes, it's technically a different discussion, but "just write your own harness" isn't really an answer for the vast majority of us riding on the investor-subsidized subscription plans.

agentdev001 30 minutes ago | parent

It's allowed, but you get bumped to per token pricing.

bhelkey 9 minutes ago | parent

That defeats the purpose of using the Claude subscription.

sroussey 31 minutes ago | parent

I did, and the weird things you have to do to make work at least decent. I’ve been doing evals and I got some things better than opencode but not as good as pi. Though my goal is to optimize for a browser and browser based llm so it can create stuff in a web container or at least generate ui by requesting json schema (a2ui style).

koe123 31 minutes ago | parent

Omp

smartmic 31 minutes ago | parent

Found this one: https://usehax.dev/

Anyone experiences with it?

InsideOutSanta 50 minutes ago | parent

All of the harnesses I've used are terrible at cleaning up after themselves. They leave all kind of clutter behind, to the point where on my dev VM, I now have an LLM run once a day to just look through the disk and delete everything that looks like it's leftover garbage.

It's like fighting fire by employing an arsonist.

sroussey 36 minutes ago | parent

I just erased 20GB of Cursor’s cruft.

agentdev001 32 minutes ago | parent

Harness problem, or model problem?

corndoge 18 minutes ago | parent

Let's be real, what do you think wrote the harness?

TeMPOraL 18 minutes ago | parent

Is that cruft or past conversation history / subagent history and observability logs?

NooneAtAll3 7 minutes ago | parent

> I now have an LLM run once a day to just look through the disk and delete everything that looks like it's leftover garbage

...are you sure it wouldn't consider your personal files garbage?

jonplackett 49 minutes ago | parent

It’s extremely ironic that the software that’s meant to end software is itself pretty terrible software.

rfgplk 49 minutes ago | parent

Yep, .codex/packages/standalone/releases keeps all the old versions. Also each codex bin is somehow ~300MB.

JodieBenitez 43 minutes ago | parent

thanks, I just removed all the old stuff.

nicce 48 minutes ago | parent

> People moan about how badly made Claude code is but Codex seems much worse on every metric

Also, it feels that chatgpt.com and aistudio.google.com are the buggiest websites I have seen for long time. Why it is always something related to LLMs?

bakugo 35 minutes ago | parent

Because they're the most likely to be 100% vibe coded. And as much as some people still deny it, AI code = buggy code.

sdcfgy 34 minutes ago | parent

All the LLM turds we've curled out at work are the same.

charliermarsh 25 minutes ago | parent

I haven't worked with the update subsystem before but that seems like an oversight to me. I'm gonna fix it.

AgharaShyam 22 minutes ago | parent

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.

whimblepop 8 minutes ago | parent

My preferred Nix package for this patches at least that behavior out, afaict: https://github.com/numtide/llm-agents.nix/blob/dc285bfd94ec7...

https://github.com/numtide/llm-agents.nix/

timdorr 40 minutes ago | parent

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.

whimblepop 24 minutes ago | parent

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.

javcasas 12 minutes ago | parent

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

TLDR: They don't care.

reacharavindh 40 minutes ago | parent

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.

agentdev001 27 minutes ago | parent

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.

HackerThemAll 40 minutes ago | parent

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.

dv35z 27 minutes ago | parent

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

esjeon 39 minutes ago | parent

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.

sdcfgy 36 minutes ago | parent

Totally.

The problem is hardly anyone gives a shit if they can pump out stuff that makes them look like they are good at stuff.

Vanity before engineering.

whimsicalism 30 minutes ago | parent

I find codex CLI to be a pretty high quality application. Is the existence of a backend daemon what you're referring to ?

warpspin 25 minutes ago | parent

It's buggy like hell once you do not run the default settings. Whole permissions system is completely broken, for example.

demibabs 12 minutes ago | parent

It’s kinda vibe coding in a nutshell. Lots of cool and varied features, that often just don’t quite work right.

abighamb 21 minutes ago | parent

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.

joshheitzman 10 minutes ago | parent

What OS are you running on and do you hate Python?

Rapzid 15 minutes ago | parent

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

qoez 12 minutes ago | parent

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.

bhaak 5 minutes ago | parent

Time doesn't solve bad designs. We still have lots of buffer overflows in C.

We don't see any indication that the LLM companies are slowing down and go for better code.

Instead it just looks like a cash grab until the AI bubble bursts.

techgnosis 7 minutes ago | parent

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.

thebeardisred 37 minutes ago | parent

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

Cyph0n 34 minutes ago | parent

Nix/NixOS takes it a step further and makes you have to go out of the way to enable self-updating behavior when packaging something :)

dv35z 33 minutes ago | parent

What are the top ones you recommend? ( I am running Mint Debian Linux )

quotemstr 30 minutes ago | parent

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.

whimblepop 15 minutes ago | parent

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.

whimblepop 28 minutes ago | parent

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

pilooch 24 minutes ago | parent

Yes this should be turned off by default. The daemon is useful when building apps on top of the daemon server, e.g. pi or pi-durable custom harnesses.

whimblepop 22 minutes ago | parent

What makes ACP deficient for headless uses of LLM agents? Maybe fixing that or standardizing on another protocol designed for pluggable LLM agents (I guess ACP is more oriented towards pair programming in an IDE, at least originally) is a better idea imo.

vunderba 15 minutes ago | parent

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

Sha1rholder 22 minutes ago | parent

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?

grimgrin 22 minutes ago | parent

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 "${@:-.}"
    }

warpspin 20 minutes ago | parent

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.

phoghed 16 minutes ago | parent

Just be the 10th person to make one this week.

piker 19 minutes ago | parent

It's not necessarily hostility. We considered different updating approaches with our legal IDE 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

TeMPOraL 13 minutes ago | parent

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

piker 6 minutes ago | parent

I guess I mean it's a choice in the sense that it's a transparent part of the product that one chooses how and when to use (or not). That's opposed to something running in the background on its own schedule, with its own agenda whether the user is running the application or not.

No idea what the second sentence is supposed to be suggesting? It's software that is sold as a service, yes. But installing it yields a superior experience to the web version.

dllu 14 minutes ago | parent

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

gruntled-worker 6 minutes ago | parent

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.

ilitirit 6 minutes ago | parent

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.

umutsevdi 5 minutes ago | parent

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.