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 :(
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.
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.
The Go plan is quite good, possibly the best deal out there. I recommend it for anyone interested in trying open weights ($10/month, very generous quota), and you can use it with any harness or direct curl. I have my Go sub configured through GoModel (no relation, my gateway of choice, also very good).
Many of the annoyances from V1 are gone. Skills and plugins reload automatically (finally). Tasks can be backgrounded (though I think this doesn't happen automatically yet). There's a built-in skill for editing the configuration (finally I can retire mine). The front-end got some love. Apparently they re-architected the loop around Effect. Sub-sessions can be communicated with better. Configuration is loaded from the folder the session is created in rather than where the server was started.
In general, this update largely takes OpenCode into the current age features-wise and is a good overhaul quality-wise. Just in time to stop my early switching away efforts, which would've been a pain because I know few other harnesses with such a strong server/client model.
Yeah, but only I can click to move a task to the background when it takes longer, which could and IMO should happen automatically. The model can’t always judge that. (I see how my comment wasn’t clear enough that I mean this)
In general, the preventable “model gets stuck” class of annoyances has not been fixed quite yet - there are also stil no timeouts for permission requests, at least by default.
To me, there are more annoyances in V2, so many that I've switched harnesses. I think the hot-reload is another security misalignment. An agent should not be able to modify plugins and have that immediately reloaded for availability.
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)
A well written TUI, esp with keyboard shortcuts is a power multiplier. One of the biggest bus companies in my country used real terminals well into 2000s, and continued to use the same TUI inside a terminal emulator then.
It was efficient, bug free and fast after that many years of polish and refinement, it became one of the defining pillars of the experience. Imagine doing something and that thing can be reproduced reliably by muscle memory. You can trust that system.
Trading consoles are basically TUIs which can be driven with their specialized keyboards at great speeds and reproducibility, as well.
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.
Edit: I'm missing some context others have pointed out.
Are there any recommended sandbox patterns to use? Custom linux users or bubblewrap and managing openbao is getting to be a lot to manage each harness by themselves!
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.
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
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.
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.
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.
For me the distinguishing feature of OpenCode is the web ui/desktop app. I’m using OpenCode because it’s the only open-source agent-harness I’ve tried that runs outside of a TUI. I like terminals but not TUIs and especially not for prose-based interactions like prompting.
But that’s a shallow moat, and the rest of the features here are not particularly interesting to me. I don’t have a use for plugins or a model-server proxy (I can connect other tools directly to the model provider).
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
Same OpenCode team who ignore bug reports, don't respond on their discord, don't have modern CI/CD test suites (often shipping regressions), don't have bots to triage bug reports or PRs, and have what might be the worst open model subscription service available today.
OpenCode users: switching to Pi takes about 5 minutes, and customizing it to work just like OpenCode takes another 30 minutes. Better design, better devs, better community.
OC is all right -- it's my daily driver -- but it could be better. I'd like a harness to let me customize the GUI, not just add MCPs and plugins. For example, I'd like add buttons to merge a PR, and show indicators for CI. Claude Code does a lot of this out of the box. Give me UI building blocks (buttons, labels, etc.) and wire them with my own functions. Could Code Mode enable this?
The built-in browser is a most welcome feature.
PS(A): Opencode Go is a great deal and now has a $40 plan.
Somehow I manage to get issues noticed and PRs merged. They aggressively cull old issues but if they take notice things get done. I contributed just this week.
These guys stole money from me. It amounts to like 10 US or something, so not significant, but still...
Their models have pricing published in their docs, like any other LLM provider. I measured the tokens I consumed, did the math, and it was always off, in their favor. One model (GPT Luna) was about 2x as expensive as advertised.
I joined their Discord, which is apparently how you get support from them. I filed a bug and someone from their team replied, we verified the data, and he said that something was indeed off and that he'd escalate it. Then silence. After 2–3 weeks, I followed up and was now ignored.
As I said, the amount isn't material to me, but if they do this a million times, they could make some decent money out of it. No idea if it's on purpose, I'll leave that to the reader to speculate.
Overall, their complete lack of interest after acknowledging the "bug" left a really bad taste in my mouth, so I decided to leave.
Ahh. I recall their opencode go plan offered $60-$80 worth of Deepseek for $5-10 or something? I was debating if I should try it out but I think this is convincing me not to...Thanks for the heads up
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
https://github.com/anomalyco/opencode/issues/22998 https://github.com/anomalyco/opencode/issues/53702
either that or fail outright; dont waste my time.
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?
Many of the annoyances from V1 are gone. Skills and plugins reload automatically (finally). Tasks can be backgrounded (though I think this doesn't happen automatically yet). There's a built-in skill for editing the configuration (finally I can retire mine). The front-end got some love. Apparently they re-architected the loop around Effect. Sub-sessions can be communicated with better. Configuration is loaded from the folder the session is created in rather than where the server was started.
In general, this update largely takes OpenCode into the current age features-wise and is a good overhaul quality-wise. Just in time to stop my early switching away efforts, which would've been a pain because I know few other harnesses with such a strong server/client model.
In general, the preventable “model gets stuck” class of annoyances has not been fixed quite yet - there are also stil no timeouts for permission requests, at least by default.
I thought it was just me. The damn thing get sucked when standing up my applications like half the time
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.
The Opencode desktop app could already connect to a remote web session; does it now talk to the server directly?
EDIT: as a rewrite, owning the name. but not code.
https://x.com/thdxr/status/1933561254481666466
It was efficient, bug free and fast after that many years of polish and refinement, it became one of the defining pillars of the experience. Imagine doing something and that thing can be reproduced reliably by muscle memory. You can trust that system.
Trading consoles are basically TUIs which can be driven with their specialized keyboards at great speeds and reproducibility, as well.
Edit: I'm missing some context others have pointed out.
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..
Are there any recommended sandbox patterns to use? Custom linux users or bubblewrap and managing openbao is getting to be a lot to manage each harness by themselves!
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.
You need to run it with —standalone to properly sandbox it.
Those tools should be designed to be sandboxed.
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
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.
Once I got past the initial hurdle of having to upgrade my server and clients all at once, everything has been smooth sailing.
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.
But that’s a shallow moat, and the rest of the features here are not particularly interesting to me. I don’t have a use for plugins or a model-server proxy (I can connect other tools directly to the model provider).
OpenCode users: switching to Pi takes about 5 minutes, and customizing it to work just like OpenCode takes another 30 minutes. Better design, better devs, better community.
I thought $80 of deepseek usage for $10 was a pretty good deal, but I’d be delighted to hear of better ones.
The built-in browser is a most welcome feature.
PS(A): Opencode Go is a great deal and now has a $40 plan.
> TypeScript
Considering the whole thing is LLM produced I would like an explicit answer as to why C++ or Rust weren't used to write the project in.
Huh?
Several basic things don't work, like hiding the sidebar.
With 3.2k open GitHub issues there's no point reporting anything.
Their models have pricing published in their docs, like any other LLM provider. I measured the tokens I consumed, did the math, and it was always off, in their favor. One model (GPT Luna) was about 2x as expensive as advertised.
I joined their Discord, which is apparently how you get support from them. I filed a bug and someone from their team replied, we verified the data, and he said that something was indeed off and that he'd escalate it. Then silence. After 2–3 weeks, I followed up and was now ignored.
As I said, the amount isn't material to me, but if they do this a million times, they could make some decent money out of it. No idea if it's on purpose, I'll leave that to the reader to speculate.
Overall, their complete lack of interest after acknowledging the "bug" left a really bad taste in my mouth, so I decided to leave.