Based on this post, it sounds like a ton of great improvements.
I've only used OpenCode a bit, but I found it was sufficient for the workloads I was throwing at it. It wasn't quite enough to beat out Codex or Claude Code as my go-to choice, though. Perhaps I'll give this version a shot and see if they've gotten it over the hump.
Interesting and I'll definitely give this a try, the client/server and plugin system do look very powerful.
However, I've been using OMP in combination with Tern (the terminal) lately and it's an incredibly smooth operation. It's hard to find a decent terminal on Windows (corporate device) but this is the best I've found so far.
I don't think that's the case. This is from anomalyco, the company who made sst.dev. Crush is from Charm. I think OpenCode may have originally been written in Go but nowadays their codebase is TypeScript.
I'm really tired of this being retread time and time and time again.
It's just not interesting, it doesn't seem to matter, they are are separate projects and both doing great. The inside baseball about old history doesn't feel like it goes anywhere, adds anything. It didn't the last 5 times opencode got submitted!
When I opened the site, I started hearing a sound that I never heard before: My MacBook Pro M4's fans. I checked ActivityMonitor and Firefox was using a significant CPU share. Are they mining crypto in the background or what's happening?
it feels like a clear improvement across the board but a heads up: i got bitten by upgrading - since all tool calls now go through the background process, the sandbox that i use to wrap the TUI process quietly became useless. took me a day or two to realize that web fetches, etc. which should have been blocked were succeeding.
There are at least 3 security regressions (imo) in the initial v2 release
1. configuration loading (now fixed) dropped support for system level, then restored it incorrectly, now it is better, but still some issues in user space
2. hot-reloading of plugins, agents can now change them with immediate effect
3. this, which I was unaware of
I wonder how many more there are given this much has been found already
The background task / subagent feature and the ability to specify a model when starting a subagent are so far my favorite improvements. Small things but make huge QoL difference in everyday development.
Good lord, me either. I thought it was a gag reading through these comments, but there was no way all of these people commenting were that locked into a joke.
OpenCode Go is the best deal in the market right now imo. Their quotas are so generous I often assume they are burning money, but I think they are largely thriving off of the subscription revenues and making it work, or their vendors are subsidizing things.
While I just switched from OpenCode to Pi, I'm still unclear on which is better in terms of handling github issues/pull-requests. I do give OC credit here, especially after the last week.
Here's the Pi issue for a security feature request, derived from an opencode v2 security regression I was able to work through with the OC team.
None of these are considered important. Opencode is a vibecoded vibecoding tool, so 1) software quality is fundamentally unachievable and if they will pay attention to bugreports, they will simple drawn in them; 2) it's now a trend to delete tests in the name of AI ideology.
Native apps connecting to the OpenCode server is a great way to run sessions on remote hosts!
I wish Claude Code would adopt the same model. The desktop app deploys a separate engine that restarts and clobbers long-running sessions upon reconnect (Remote Control is their recommended solution but requires a Claude.ai account).
I’ve been vibe coding a native macOS Claude Code app that spawns a server that wraps Claude Code on remote hosts, but the UX and features are always lagging behind.
Claude code agents have a protocol that's usable for the same purpose it just listen locally but it's usable i have my own claw-like that has options for claude, codex, and pi (my subscription, wife subscription, and i got a yearly sub on glm when it was cheap)
No because it doesnt get backgrounded and I would need to hold one end of the stream at all time, and feature completedness is spotty
I use the protocol claude code terminal use to talk to its server to spawn agents, opencode server protocol which is published for the same purpose, and manage pi command lines by pid
I've developed something similar for personal use. A harness who's only job is to delegate to other harnesses (i.e: AntiGravity, Codex, Claude Code, Hermes) to create an opencode-web-like interface across multiple hosts.
For Claude Code, don't use remote-connections. Your best option is to look at how the closed-source VSCode plugin interfaces with Claude Code. The way it works is that it reads files directly. This API, although unofficial, is likely very stable, because an old VSCode extension still has to interact with new version of Claude Code.
If there's any interest in this sort of thing, maybe I'll open-source it. I would have to cleanup the slop though.
That's already possible too. A single server can handle multiple sessions, and multiple devices can connect to a single session at the same time. However, since the client is limited to Anthropic's app, there is no local API for connecting your own client.
I am quite keen on this as well, I have been trying to move all my active development to happen inside a container, including the harnesses. This, of course, makes it very hard to run GUI harnesses. I prefer CLI, but it would be neat to be able to better isolate gui-based harnesses as well.
I have been using VSCodium with https://github.com/jeanp413/open-remote-ssh so (most of) the IDE also runs inside the container. I have been trying to get everything inside the container, including the projects I work on, the IDE, the harness, the dependencies, etc. Both for security and for portability so I can have the same setup in both my work and home computers.
One thing I haven't been able to do is limit the blast radius of is git, github ssh keys give blanket access to all repos tied to my profile and ATM I set up the github SSH key inside the container.
I've just seen your post, and I kind of went through similar pain, but went the other way round: a small self-hosted hub owns the Claude Code sessions, and the client is just Telegram, Slack or a web page, so a reconnect never touches a session. It does need a claude.ai login, though, same as Remote Control. Open source, in case you think it would help: https://github.com/enes-alatas/spool. I'd love to hear some feedback as well.
I don't think fast gpu rendering terminals should be mandatory for this kind of thing, and if you should have an option that facilitates the need for one then might I suggest falling back to something sensible rather than stalling out for forever when the user doesn't render glyphs as fast as you want them to?
My terminal has gpu acceleration disabled due to being wasteful with vram and while I don't use opencode I've ran the script and it was completely fine using minimal cpu.
anything that can run those applications should be able to run a progressbar, but as I have learned it updated the progress bar based on bytes received and not based on time.
I think it's due to they are doing a funny business to parse the progress, that's pretty much vibed and no one care. Like instead of using curl's progress, they re-invented a progress tracking with the tracing interface (--trace-ascii), byte by byte :(
Okay nevermind this is pretty bad. Although humans do this too and I've also done this without realizing it, only noticed when I was trying to move a file bigger than few kilobytes.
I’m kind of surprised at the overlap in “has progress bar” and “is expected to take a few seconds max”.
I’ve never even debated it for files under hundreds of megs. It’ll show up soon, if I care I’ll do an ls in a loop to look at file sizes. Just log where the file is.
It's one of those paradoxes inherent to software development: even if a tool is designed to work with Big Data, developers are too impatient / feel too unproductive to actually work with Big Data during development, so they only bother testing their tool using small data for 99.9% of development. Problems the tool has under actual Big Data tend to only start being found as of v1.0-rc1.
If it doesn't work at least ok with something like xterm, someone really needs to reconsider some life decisions. Htop makes it work, why should a terminal emulator need to crack the engima just to render silly stuff?
I suspect heavy eyes free coding. I spent the last week helping them understand a major security regression in config loading, took two issues/pull requests. Our hunch is the Ai told them what they had was good, not enough human critical thinking.
I've switched to Pi because I do not like the direction v2 has taken UX. Nor do I trust the security posturing going forward. There is also the social media stunts of the CEO that push me away.
I'm now trying to advocate Pi adopt system level configuration for similar security reasons. If any HNers would like to add their thoughts, please do so here
Ive anecdotally never found OpenCode to have a real axis where I find it "best". But I havent tried it in a bit, mostly because I don't have a real gap in use case coverage between Codex/CC/Pi. Anything more specific in need probably gets a custom harness.
Of course? I never ever upgrade any software unless I'm facing a bug or I want a new feature from the new release. Otherwise it's just taking risk for almost nothing in return.
OpenChamber ftw! I'm surprised it's not more popular - so much nicer to use than the TUI.
I'm always confused when people at work show me their opencode or Claude code setup of 6 terminal windows open simultaneously with the same illegible walls of text. No idea how people still prefer that over a nice GUI.
Once you really know your keyboard, it's like an extension of your hands. You can fly through those six terminals, and moving your hand to grab a mouse means stopping whatever you were doing. That wall of text is all familiar to me - I see an UI full of empty space and wonder what I could have used it for.
Of course there are great reasons for using pointers also. I'd say this is mostly a preference, I'm sure you are extremely effective using your own methods. I have maybe two dozen terminals open atm, and I can tell you what each of them is for - but put a phone bill or a bank statement in front of me and it might as well be Greek.
Reading long walls of unrendered markdown is where the TUI is not fun and the GUI can shine. Especially when illustrations come to play.
Also editing your own prompts with a normal text input is far better IMO (instead of whatever magical box Anthropic or OpenCode has shoehorned into the terminal).
You're not wrong, and I predominately use a TUI at work where I'm actually at the computer for ~8 hours a day.
But I use OpenCode / OpenChamber for personal stuff where I might only get 20 minutes at my computer before I have to go do something else. So the web interface and especially the mobile app get more use from me there. It's kind of wild to be working on a project while walking my dog or washing dishes or something along those lines.
I also used the desktop OpenChamber app once recently because it has a built-in web browser that the agent can fully control (unlike, for example, Gemini in Chrome).
The site took a minute to load in completely and when I scrolled to the bottom I couldn't read the SDK text, it was literally cut off, kinda resembling the current state of coding very accurately lmao
I am not too familiar with openchamber but I think I remember passing on it because not all of its features were freely available. Another one to keep an eye on is 'happier' which is like if Paseo were designed from the beginning to be multi-domain.
OpenCode is a beast. Does it still try to take a disk snapshot of my working directory, even when it contains hundreds of millions of files? Does it still eat all of my memory? Does it still have a super-gigantic system prompt that wastes a solid percentage of my context window before I've even begun?
I switched to pi some months ago, and I have no complaints. It just does what it says, with no shenanigans. They updated the rendering approach recently so scrollback is nice and smooth now.
I switched to Pi after experiencing OpenCode V2 about a week ago. Dislike the UX direction a lot. I took some effort to sift through the Pi plugin ecosystem to get my setup in a good place.
I will say OpenCode has likely improved significantly from your experience. I never experienced any of that since ~May of this year when I picked up OpenCode the first time.
I was opencode user, but like few months ago tried pi and never looked back. Pi with open models is absolutely mind-blowing - my agents run with speeds not achievable with any remote frontier model - they certainly not as smart, but it doesn't matter because they do their "work done" perfectly and fast.
All problems I had with opencode are not presented in pi - it looks it's the best approach to guarantee most productive coding environment - speed, simplicity, transparency, absolute customization. I will certainly try this 2.0, maybe they have now improvements.
391 comments
[ 0.24 ms ] story [ 86.0 ms ] threadI've only used OpenCode a bit, but I found it was sufficient for the workloads I was throwing at it. It wasn't quite enough to beat out Codex or Claude Code as my go-to choice, though. Perhaps I'll give this version a shot and see if they've gotten it over the hump.
However, I've been using OMP in combination with Tern (the terminal) lately and it's an incredibly smooth operation. It's hard to find a decent terminal on Windows (corporate device) but this is the best I've found so far.
EDIT: as a rewrite, owning the name. but not code.
https://x.com/thdxr/status/1933561254481666466
It's just not interesting, it doesn't seem to matter, they are are separate projects and both doing great. The inside baseball about old history doesn't feel like it goes anywhere, adds anything. It didn't the last 5 times opencode got submitted!
1. configuration loading (now fixed) dropped support for system level, then restored it incorrectly, now it is better, but still some issues in user space
2. hot-reloading of plugins, agents can now change them with immediate effect
3. this, which I was unaware of
I wonder how many more there are given this much has been found already
You need to run it with —standalone to properly sandbox it.
Those tools should be designed to be sandboxed.
I thought $80 of deepseek usage for $10 was a pretty good deal, but I’d be delighted to hear of better ones.
https://hyper.charm.land/docs/models.html
No prices on the pricing page, "credit" based systems is a non-starter for me
https://hyper.charm.land/docs/plans-billing.html
Here's the Pi issue for a security feature request, derived from an opencode v2 security regression I was able to work through with the OC team.
https://github.com/earendil-works/pi/issues/10895
The Pi dev does not seem to grasp the issue after several back and forths.
Sorry, too busy vibe coding ship games.
https://x.com/thdxr/status/2110567456947507698
> CI/CD test suites
None of these are considered important. Opencode is a vibecoded vibecoding tool, so 1) software quality is fundamentally unachievable and if they will pay attention to bugreports, they will simple drawn in them; 2) it's now a trend to delete tests in the name of AI ideology.
I wish Claude Code would adopt the same model. The desktop app deploys a separate engine that restarts and clobbers long-running sessions upon reconnect (Remote Control is their recommended solution but requires a Claude.ai account).
I’ve been vibe coding a native macOS Claude Code app that spawns a server that wraps Claude Code on remote hosts, but the UX and features are always lagging behind.
I use the protocol claude code terminal use to talk to its server to spawn agents, opencode server protocol which is published for the same purpose, and manage pi command lines by pid
The Opencode desktop app could already connect to a remote web session; does it now talk to the server directly?
For Claude Code, don't use remote-connections. Your best option is to look at how the closed-source VSCode plugin interfaces with Claude Code. The way it works is that it reads files directly. This API, although unofficial, is likely very stable, because an old VSCode extension still has to interact with new version of Claude Code.
If there's any interest in this sort of thing, maybe I'll open-source it. I would have to cleanup the slop though.
a server like herdr has a server
I have been using VSCodium with https://github.com/jeanp413/open-remote-ssh so (most of) the IDE also runs inside the container. I have been trying to get everything inside the container, including the projects I work on, the IDE, the harness, the dependencies, etc. Both for security and for portability so I can have the same setup in both my work and home computers.
One thing I haven't been able to do is limit the blast radius of is git, github ssh keys give blanket access to all repos tied to my profile and ATM I set up the github SSH key inside the container.
Interactive element are distinct from text.
If webpage page is an interactive canvas , make the canvas the main thing ad text as support.
If you start mixing the two idk..
It turns out it's incredibly slow... because of the progress bar rendering. This is insane. The installer took 6 minutes to reach 10%:
curl -fsSL https://opencode.ai/v2/install | bash
Managed to fix it by running this instead:
curl -fsSL https://opencode.ai/v2/install | bash 2>&1 | cat
either that or fail outright; dont waste my time.
...
claude code?
All of the common terminals run TTE surprisingly well. That's 60fps, pushing many megabytes per second of text and control sequences.
https://github.com/anomalyco/opencode/issues/22998 https://github.com/anomalyco/opencode/issues/53702
I’ve never even debated it for files under hundreds of megs. It’ll show up soon, if I care I’ll do an ls in a loop to look at file sizes. Just log where the file is.
https://news.ycombinator.com/item?id=50075319
I've switched to Pi because I do not like the direction v2 has taken UX. Nor do I trust the security posturing going forward. There is also the social media stunts of the CEO that push me away.
I'm now trying to advocate Pi adopt system level configuration for similar security reasons. If any HNers would like to add their thoughts, please do so here
https://github.com/earendil-works/pi/issues/10895
Maybe the Go plan is changing that for others?
time curl -fsSL https://opencode.ai/v2/install | bash
real 0m24.975s user 0m9.537s sys 0m14.904s
Edit: indeed https://github.com/anomalyco/opencode/commit/d099d2cb2a0869d... / https://github.com/anomalyco/opencode/pull/55586
The full gui app is decent though.
Once I got past the initial hurdle of having to upgrade my server and clients all at once, everything has been smooth sailing.
I'm always confused when people at work show me their opencode or Claude code setup of 6 terminal windows open simultaneously with the same illegible walls of text. No idea how people still prefer that over a nice GUI.
Of course there are great reasons for using pointers also. I'd say this is mostly a preference, I'm sure you are extremely effective using your own methods. I have maybe two dozen terminals open atm, and I can tell you what each of them is for - but put a phone bill or a bank statement in front of me and it might as well be Greek.
Also editing your own prompts with a normal text input is far better IMO (instead of whatever magical box Anthropic or OpenCode has shoehorned into the terminal).
But I use OpenCode / OpenChamber for personal stuff where I might only get 20 minutes at my computer before I have to go do something else. So the web interface and especially the mobile app get more use from me there. It's kind of wild to be working on a project while walking my dog or washing dishes or something along those lines.
I also used the desktop OpenChamber app once recently because it has a built-in web browser that the agent can fully control (unlike, for example, Gemini in Chrome).
TLDR of the benefits over OpenChamber?
Paseo is a layer on top of various harnesses (aka you get to use a Claude subscription), and keeps its own database of sessions, etc.
I use Openchamber (and another client in neovim), but Paseo does have one convenient advantage where you can connect to other paseo servers
It's long been surpassed by better UIs like OpenChamber. Looks like I'll be trying Paseo out next.
I switched to pi some months ago, and I have no complaints. It just does what it says, with no shenanigans. They updated the rendering approach recently so scrollback is nice and smooth now.
I will say OpenCode has likely improved significantly from your experience. I never experienced any of that since ~May of this year when I picked up OpenCode the first time.
All problems I had with opencode are not presented in pi - it looks it's the best approach to guarantee most productive coding environment - speed, simplicity, transparency, absolute customization. I will certainly try this 2.0, maybe they have now improvements.