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.
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
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.
Their installer (curl | sh) was taking so long yesterday for me.
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
Isn't that an issue with your terminal? Why is stdout so slow?
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 :(
https://github.com/anomalyco/opencode/issues/22998 https://github.com/anomalyco/opencode/issues/53702
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?
either that or fail outright; dont waste my time.
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.
Well, stdout is not typically implemented for the purpose of simulating graphics rendering via character manipulation.
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.
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
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.
Maybe the Go plan is changing that for others?
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).
They need DHH!
chuckling
It's 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.
Tasks can be backgrounded by the model you are using automatically. It is not just manual fyi
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.
> the preventable “model gets stuck” class of annoyances has not been fixed quite yet
I thought it was just me. The damn thing get sucked when standing up my applications like half the time
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.
I was experimenting with Paseo for this.
The Opencode desktop app could already connect to a remote web session; does it now talk to the server directly?
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)
Wait, but OpenCode got renamed to Crush and the original dev went on to that new project. Where did this come from? Is this a fork? Who is behind it?
Someone from Opencode went to Crush, but Opencode continued.
EDIT: as a rewrite, owning the name. but not code.
https://x.com/thdxr/status/1933561254481666466
TIL - there was business in TUIs that actually warranted “acquisitions”. Always considered developing them a hobby…
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.
Moreover, it's a UI which should be ADA-compliant and readily used by the blind and visually disabled
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.
I really hope we don't get a slew of WebGL-intensive sites.
I can hardly scroll this page on my pixel 6.
With websites i went back to 90s styles. Hyper dense in information. Anything clickable is a link. A button is for Write actions.
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..
Nice work!
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 love opencode, but not this website. so difficult to use.
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.
out of curiosity, how or what do you use codex/claude code for that beats opencode?
My notebook took up flight and launched itself through the window and died trying to render this site.
Otherwise called OpenMemoryLeak, it eats memory like a piece of cake.
I'm a Vim user and I actually like the web interface of AI better than the TUIs, which is weird perhaps.
Is this related to https://opencode.ai/?
Anomaly is the company behind OpenCode (https://github.com/anomalyco/opencode)
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.
Yeah, it is a regression IMO.
You need to run it with —standalone to properly sandbox it.
Those tools should be designed to be sandboxed.
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.
I've been using OpenCode 2.0 indirectly via OpenChamber 2.0 and I've been very happy with it.
Once I got past the initial hurdle of having to upgrade my server and clients all at once, everything has been smooth sailing.
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.
I enjoy this program, and 2.0 is a great improvement.
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).
You should try dsh then. It also had a web ui.
Have you tried https://github.com/openchamber/openchamber ?
hermes also has desktop app.
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.
What open model subscription services are there that’s better. Genuinely interested in knowing.
I thought $80 of deepseek usage for $10 was a pretty good deal, but I’d be delighted to hear of better ones.
ollama cloud, syntetic - they both has much more care about quality of model hosting
having a daemon PID helps for web gui, but may bite in unexpected ways under extensive parallization.
I had no clue you have to scroll down.
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.
Goes to check the repo out
> 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.
Probably because of Effect.
This game is quite interestingly fun despite how basic it is.
I was annoyed that it takes just as much ram if not more than 1.0
> We've built a minimal JavaScript interpreter
Huh?
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
Can you link to the discord thread? I'm very much interested and I'll be double check my usage vs. their rates.
2.0 is a big disappointment so far.
Several basic things don't work, like hiding the sidebar.
With 3.2k open GitHub issues there's no point reporting anything.
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.
Everyone copies https//maki.sh. I've been the first!
curl | sh should die
The monkey's paw curls, now it's "Give your agent a link to our SKILL.md!"