OpenCode 2.0
anoma.lyI'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: I'm missing some context others have pointed out.
EDIT: as a rewrite, owning the name. but not code.
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.
https://support.freedomscientific.com/support/technicalsuppo...
(my wife works with several visually impaired people at her workplace)
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
ideally that should look more like enforced preflight by the plugin system
You need to run it with —standalone to properly sandbox it.
Those tools should be designed to be sandboxed.
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.
https://hyper.charm.land/docs/models.html
No prices on the pricing page, "credit" based systems is a non-starter for me, don't be different or "innovate" on pricing, unless it's an unlimited plan, but that is more progress and which I expect as commodification happens.
If you like their service and the company, tell them they are losing potential customers with their inaccurate, minimal docs and unappealing pricing abstractions
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. This issue links to the OpenCode ones too.
https://github.com/earendil-works/pi/issues/10895
The Pi dev does not seem to grasp the issue after several back and forths.
I do really like their CONTRIBUTING.md
https://github.com/earendil-works/pi/blob/main/CONTRIBUTING....
Sorry, too busy vibe coding ship games.
> 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
Maybe the Go plan is changing that for others?
nix run github:juspay/agent-distro
https://agent-distro.nixos.asia/ brings auto-updating coding agents managed by Nix, along with https://agent-plugins.org/ based profiles.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).
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).
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.
It's an incredibly useful GUI that lets you use the provider's harness, but adds extra productivity features. You can use OpenCode, Pi, Claude, Codex, whatever you want. The TUI runs in a window, but you can also pull up terminals, open tabs, keep projects, workspaces, show file diffs, give feedback on lines of code, review PRs, and way, way more. The number of features is impressive.
The devs are very quickly adding features, yet the app remains stable. And they fix bugs super fast! They fixed like three bugs and implemented two feature requests of mine within a week of asking. Best of all the whole thing is FOSS and they're not trying to make money off you. Absolutely awesome maintainers.
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.
Several basic things don't work, like hiding the sidebar.
With 3.2k open GitHub issues there's no point reporting anything.
I had one this week that, while took some effort to explain the why, was handled better than I expected. (https://github.com/anomalyco/opencode/pull/54921)
Being the most popular open harness, they get inundated with slop and are doing their best (imo).
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
This is all a stopgap until I have some time to go back to my personal/custom harness.
Cordis also looks interesting as an alternative, but appears more bound to DSH rather than a more general thing (which I prefer).
2. opencode 2.0 does not exists. I mean it: there is no release[1] and per their own instructions, `npm i -g @opencode/cli@latest` does not install opencode 2.0.
3. `Error: @opencode/cli's postinstall script was not run.` Not even running postinstall.js can fix that, neither on linux nor macos. And even if it works, in a couple of days or on the next upgrade it will fail again.
Fun fact: The npm release does not contain the code, it is downloaded by the postinsta script. Galaxy brain.
npm install -g --allow-scripts=@opencode/cli @opencode/cli- several poor security mistakes or choices that broke my trust
- trying to be closer to an IDE, all these harnesses want to be the interface to rule them all, that's not what I want in my harness
- doing things that another tool, which is harness independent, should own (multiple async/parallel agents)
- too much change dropped at once, so many breaking changes, several I cannot migrate at work without impacting the devs I support
I think the benefits of this one vastly outweigh the risks since it enables the self-modification Pi (!) became famous for.
you cannot have both and be serious about security
to be clear, I'm talking about hot reload, agent can manipulate its own environment in real time, that's asking for trouble, put some controls on that or reap the consequences from loss of control
It was the big selling point of the harness a couple months ago.
1. agent != harness, Pi is a harness, agents running under Pi can do things, Pi is not the actor or agent
2. self modification vs Pi supports customization / extension / plugin
3. hot-reload (real time modification) vs restart/reload (agent can be blocked)
but "self modification" sounds cooler, I guess
Pi’s whole UI is customizable, so a lot of people were having their agents build their own interfaces.
The distinction is probably irrelevant for most people. I secure the whole thing in a container, because I lack the willpower to audit a bajillion lines of LLM code just inside the harness.
What stops your agent from adding a new MCP server on its own? Would you consider that a gap in security posturing?
It does have native tools, but they're also in plugins that aren't hot-reloaded. The LLM would have to write the tool, you close Pi and re-open it before it was available.
> Would you consider that a gap in security posturing?
Honestly, I think trying to secure the harness is a lost cause for the same reasons SELinux never really took off. They solve a real problem in a way so painful people would rather just live dangerously.
I actually wrote a thing to implement my security posture https://github.com/SethCurry/abyss TLDR it pretends to be an ACP agent, but runs the agent inside Docker (with optional bind mounts) and proxies the ACP connection into the container.
I'm also tinkering with WASM-based plugins in the ACP proxy to add some additional security and compliance posturing at the protocol layer (ie agnostic to what the underlying agent is). E.g. I slapped together a plugin that will automatically cancel a prompt mid-turn if an OpenRouter API token shows up in a) the prompt, b) agent output/thinking, c) agent tool calls. ([1], [2], [3]). The grand vision is slapping centralized management on that so security and compliance teams get a "firewall" of sorts to prevent leaking secrets, filter bash commands, censor PII, yada, yada.
1. Screenshot of it blocking something in Zed https://abyss.scurry.io/docs/guides/what-is-abyss/#i-am-not-... (I need to add buffering so it doesn't output any of the key)
2. Implementation of ^ https://github.com/SethCurry/abyss/blob/main/plugins/secrets...
3. Plugin architecture docs https://abyss.scurry.io/docs/guides/04-plugins/02-developing...
1. I can feel the claudisms coming through, a turnoff for me personally
2. You're shaving yourself short on a good pun
I'll still give it a look since I am in the market for a kubernetes based platform for dealing with lots of agents across harnesses. Scion was my goto, but I'm not so keen on that project anymore.
My ideal solution does not require a running server (CRDs should be sufficient) nor a UI, I want to start new agents in my existing automations.
Also, which lines on the website are the claudiest? I tried to edit out the tone, especially too many one-two punches, but to be honest couldn’t be bothered to write every word myself still
If you want humans to spend time reading and evaluating, put the human time into writing and editing.
https://pi.dev/docs/latest/mcp
I'm using a number of @gotgene's plugins, they are really nice
I'm looking at porting my Dagger based env to Pi, mainly because it allows me to fork / time-travel the complete environment. One thing I really like about Pi is that /tree command and friends. It aligns really well with how container layer based env can be realized with the Dagger SDK.
Why not? I think DSH does this pretty well with an agent preset that exposes the tools required for the agent to modify the harness.
It's kind of like how the kernel can expose interfaces to allow userspace to load kernel modules at runtime: you "just" have to control which processes can use them.
Between that, and a couple of extra injected bwrap args to make my SSH keys and LLM API credentials unreadable from the agent's shell by default, I'm pretty comfortable using the harness outside of a VM for most things.
If an agent can change the harness it is running in, in real-time, all bets are off
There is semantic ambiguity here. An agent being able to write plugin code for the harness it runs in is related, but orthogonal, to the real-time or not availability of that plugin to the current session.
When I have my agents assist with plugins, I pay closer attention and either do the testing myself or have them run the altered harness in another instance.
Part of this is because they have borked themselves and it can be super annoying to undo their f-ups. Little qwen did this once, breaking its own connection to vllm.
I'm going to distill that from you :]
It was more I let the agent work on my homelab setup and it wrote a bad config value, but I had to actually look at what it had done to figure it out...
Then I upgraded OpenCode to 2.0 and pretty much all the bugs vanished. I still wish there was a happy medium between "parse tool calls for perms" (which fails all the time if the tool call is long/complex enough) and a full-on sandbox, but otherwise 2.0 is really solid.
> 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.
Also, the Rust ecosystem is annoying with demands for explicit answers to why their preferred language was not used.
One person != "the ecosystem"
The built-in browser is a most welcome feature.
PS(A): Opencode Go is a great deal and now has a $40 plan.
Scion was the tool I'd been using for this, but haven't been doing that kind of stuff for some time.
By the way opencode go $40 plan for 2x-3x usage vs their $10 plan is not such a good deal.
I'm very happy with my OpenCode go plans, it's the best deal I have found, everyone that claims they are better is not upon my inspection
Firepass v2 (unlimited kimi-2.7 for $50/m) sounded good too, but I missed that by the time I found Fireworks, v3 is still soon (tm)
I agree that opencode go is great. I didn't say it wasn't. That the $40 plan is not 4 times the value of their $10 plan is just fact and that was my claim.
long-term I look forward to unlimited plans
Huh?
A vibe coded minimal JavaScript interpreter? This sounds dangerous af.
With several thousand of open issues on GitHub already.
Are we just ignoring security when it comes to harnesses?
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.
I'd prefer not to share my Discord username here.
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!
Not sure if it's fixed in 2.x. There's some way to get it to not do that with ignore files or rules but not sure exactly how--I had Claude fix it...
There are many of these available, alongside the provider ones.
Are there any benchmarks which help me decide which ones I should try over the standard codex/claude?
They are vendor offerings but you don’t have to take them.
For example, consider something like SWEBench, where a test should pass. Harness or a skill can just tell the agent keep trying until the test pass. So same model can have a lot of behavior changes between the harnesses.
In my experience (i own a multi-agent IDE with 50+ supported harness) folks stick to first party, usually either openai or anthropic, grok, agy; if they are willing to pay for the subscription the value is unbeatable. And they don't risk trying different harnesses.
I do often see benchmarks comparing them and usually Pi comes out on top, but I think the benchmarks are generally testing one moderately sized clear task. Pi is minimal and great in that situation.
For more general usage, where tasks are not clear, you might interrupt at any moment to steer it, etc. benchmarks are harder I guess. I personally love pi because anytime there's something I don't like, I spin up a separate session and fix it.
E.g. I've found the "reply in simple technical English" hack amazing but I have to keep saying it over and over. So I had an agent write an extension in about ten minutes that appends a short hidden message saying all user and dev facing text must be in STE, apply that without talking about STE. Works amazingly well.
Here is an example I encountered recently: The Figma MCP Server documents usage with Claude (Code), Codex, Cursor, Grok and Antigravity [], but notably not OpenCode. More so, their oauth registration seems to use some kind of whitelist, meaning just adding the MCP by url does not work either. To make it work, my agent edited the config entry to use "Codex" as the oauth name, which worked.
That's just one example, but something you see quite frequently.
In other words, big industry supporting bigger industry. I don't think that's surprising or says much about the real landscape.
Pi is the most basic with the ability to add features.
opencode also supports more features and was build as an open alternative to claude.
and "agent" as the instance which is running... this is the more overloaded term because there are "agent" definitions, this is where a combinatorial exists, because the running "agent" is a combination of agent definitions, context, tool choice where you can modify each independently to create a new "agent"
I think Scion (Google's) does a decent job defining these concepts: https://googlecloudplatform.github.io/scion/concepts/
i used the bonus anthropic credits to get ornith 1.5 35b q8 running on a jetson. it's no opus 5, but it's usable for real coding and sys admin work, and works great in opencode. at least as good as sonnet 4. 5 token/sec is a little painful though.
The setup was mostly for the learning experience and I haven't done any serious work with it, but it's been great for writing bash scripts.
The computer is very slow (old Dell Optiplex running Mint Debian Linux), but it worked! So cool to turn off the network, and still be able to chit-chat with Qwen model ("Tell me a joke about...").
For personal projects, Claude Pro seems to give me a lot of tokens to use with Claude Code, and from experiments using other models with Claude Code (e.g. via Vercel) always seems way more expensive.
The headline figures are $10/month for 'Go' with "Generous limits" and $40/month for 'Go Plus' with "Higher limits".
Then, in the table below, picking (at random of course) Claude Haiku 5.5, I see it listing 3,850 'requests' per 5h for 'Go', 15,380 'requests' per hour for 'Go Plus'. Then there's another column saying that the "Monthly Usage" is $15 for 'Go', and $60 for 'Go Plus'.
What are the limits?
What's a 'request' and how does it relate to a token?
Why are the 'requests' figures per '5h' (the limit resets every 5h?)
Why are there 'Monthly Usage' dollar amounts that are in no way connected to the subscription costs, and what do they mean?
All the explanations below are just repeated rewordings of the same thing: "Go costs $10/month with generous limits and Plus costs $40/month with higher limits", as if that makes everything clear.
But it still feels like sleight-of-hand. They’re the ones setting these prices, no? Aren’t there rules about saying things like ‘this product $10 - but it’s worth $60’!
I agree that the Claude price is also opaque - though it becomes kind of ‘intuitive’ after you start using it. I guess these would too.
- You pay $10/mo for Go and get $10 worth of usage per month
- Now, each model they make available has a multiplier from 1.5-8x
- So, the expensive ones like Kimi K3 have a 1.5x multiplier, cheaper ones like DeepSeek 4.1 Flash have 8x
- This gives you usage of $15 and $80 per month respectively
- You can mix and match
- So, you can use 25% of your quota with K3 and 75% with DS41Flash ... usage of $3.75 and $60 respectively
- You divide the two figures by their respective multiplier ... $3.75 / 1.5 and $60 / 8 ... and you end up with $2.5 + $7.5 = $10 which is what you paid
- You should ignore the requests table and go directly to the price/M tokens table where all the actual rates are given
- They control usage at 5h/1w/1mo intervals
- You can use 25% of your monthly quota in a 5h block, 50% in a week, and 100% in a month.
- If you were only using DS41Flash, that is $20m, $40 and $80 worth of usage respectively which is $2.5, $5 and $10 of your subscription figure after accounting for the multipliers.
It would be so much simpler if they credited 1M microdollars per $1 of subscription and quoted the per M token rates for each model in this currency.
But then Claude/Codex/StepFun and all the other subscription services are far more opaque.
For some models your 10 Usd sub will get you 60 Usd worth of tokens per month.
But you can use any sub from other providers if you want. You can just log in with openai account and use chatgpt models.
There are two plans, OpenCode Go and Go Plus, for 10$/mo and 40$/mo.
With your plan, you get a specific monthly amount of money you can use, with separate weekly and 5-hour limits to not spend all at once.
The amount of money you can use depends on the model, but the usage percentage adds up regardless. For example, on the Haiku Model, the monthly limit is 15$/mo, as you read from the page. For other models, such as DeepSeek V4.1 Flash, the limit is now 80$/mo (the increased it from 60$ recently).
This might seem odd, but the stated purpose of OpenCode Go is "Low cost coding models for everyone", so the limits on the open models tend to be higher.
The math works like this: You use 5$ no Haiku and 20$ on a 60$ model, then your monthly limit is used 66.6%, meaning 5$ of Haiku or 20$ of a 60$ model remaining.
Another way to view this is as follows: You have 10$ flat usage per month, and the "higher usage on each model" is actually just a discount on the token price. So Haiku is discounted to 10$/15$=66.6%, DeepSeek to 12.5% and so on.
Go Plus just means you get more usage, though the rate is not always 4x.
To answer your remaining questions: The billing is based on the actual provider's api costs, so input/cached/output tokens. I suppose the "requests" number is estimated. The OpenCode TUI and your account website actually show the real session prices, which also helps with an understanding how expensive the agents are on raw (unsubsidized) api pricing. The usage limits are rolling, so there is a 5-hour, a weekly and a monthly limit. The 5h is 20% of the monthly limit, and the weekly is 50% (not sure on the exact numbers).
I would agree that the pricing is confusing, but for the price you get surprisingly much usage, especially on the 60$ models. Give DeepSeek V4.1 a try, you get nearly unlimited usage and it's around Sonnet/Opus level.
I think it means you can't use more than 25% of your monthly limit in the 5 hour period.
If you use something like "DeepSeek V4.1 Flash" you get 80 USD worth of API price out of the 10 USD subscription. Assuming you spread it out over a few sessions, as you have the 5h and weekly limits. I think it's similar with Claude or Codex subscription.
A list of big new features and changes would have been nicer.
I hope they fixed the long delays to opening OpenCode I have been experiencing, and the huge database of old chats I don't care about anymore.
+1 for knowing when to use a slash, not a hyphen.
You're looking at software written by SOTA AI.
Last time I tried OpenCode was on a tiny VPS which stopped responding when OpenCode tried to eat over 2GB of RAM in launch.
OpenCode was thousands or tens of thousands last time I checked. Not sure if this has been improved.
very possible that a smaller more custom system prompt (+ custom tools) could work better for specific use cases.
In my experience, what works for one model in terms of system prompt doesn't necessarily transfer to another model, so I would be concerned that a large system prompt would end up being a "jack of all trades, master of none" situation where your giant prompt has to try to account for the eccentricities of every single model, and might even include details that add confusion for some models.
And pi has been eye-opening for me in terms of how well newer models perform with basically no system prompt. It makes me wonder how much of the default system prompt is essentially cruft which was added to support older models which needed more guidance, and is still in there.
unfortunately making a great harness is tricky and i often just steal with things i like from ocv2 and pi.
been using ocv2 as my daily driver for a while and had very little complaints. its a great product from a great team.
It's not. A permanently running buggy() server on your computer instead of a screen or tmux session is not something that should be a default solution.
I mean it neutrally. Software quality is not a value in code harnesses. Something else is a value: speed of development, features, etc. But quality is ignored.
I'd like to mention two other impressive things about OpenCode.
First, their issue tracker on GitHub works really well. They have the OpenCode GitHub App connected, and for any bug report it reads the issue, tests on the mentioned version and latest dev branch, and comments the findings along with a reproduction script. For TUI Bugs it even records a video. And all that in less than two minutes, usually.
https://github.com/anomalyco/opencode/issues?q=is%3Aissue+st...
Another thing they are working on is opentunnel, where you can tunnel services to https on <random>.opentunnel.xyz and its subdomains. What's notable is that the subdomain is persistent and unique to you, and a wildcard ssl cert is actually generated on your machine, so the platform cannot see the traffic. Their primary use case seems to be making the OpenCode Server usable from anywhere, but it can do much more with their cli:
I see people talking about this being new in v2 everywhere but it's not the case. What's new is that it's the default (and also not really since `opencode service` and `opencode serve` start two different things). But in v1 it was very possible to run one opencode instance and have multiple clients connect to it (like Openchamber and neovim).
Many of the workarounds I had to develop for the v1 now come as native features in v2 (i.e. session rebinding to other folders), now the only thing that was missing is the ability of plugins to read the response you’re writing (useful if you want to have the double-Esc feature like in claude code).
You should't really run a coding harness on your host computer anyway, because it is impossible to protect yourself from prompt injections and from an incredible amount of security vulnerabilities in the vibecoded plugins.
Security is fundamentally unachievable in popular coding harnesses.
The only right way to use it is in an isolated environment.
By this logic, a harness doesn't even have to be related to programming to be insecure. Any harness that enables unauthorized activity from the model would be insecure. For example, this would include any system that allows a model to make an unauthorized management decision.
I'd like to switch to opencode, But "yolo mode" feels risky and manually approving every command the model runs kills the flow
The docs all say there is a time and billing cost:
> Auto mode may have a small impact on token consumption, cost, and latency for tool calls. https://claude.com/resources/articles/auto-mode#what-to-expe...
https://code.claude.com/docs/en/permission-modes#cost-and-la... doesn't say anything specific. It mentions that server-side classification can be used but doesn't talk about the billing for it.
But at the end of the day it is a leaky system. It may reduce the frequency of bad actions but doesn't prevent it. So you need the sandbox either way.
This post is dated August 7, 2026: "In the coming month, working with our cloud partners, we plan to make it the default across all of these and no longer charge for classifier overhead." https://claude.com/resources/articles/auto-mode-default-in-c...
> but doesn't prevent it. So you need the sandbox either way.
Yep. Single points of failure are bad.
I'm actually working on multi harness auto mode. It's already done for Pi and I'm currently working on copilot cli port (where it is needed the most by the fa r of autopilot in copilot being so atrocious).
The correct way for auto approve to work is similar to what claude code does (a deterministic algorithm where a separate model reads what the user says and adds rules based on what the user enables).
I couldn't believe such a thing that works well doesn't exist, but it doesn't. You either have to do borderline yolo or you cannot leave a model working overnight and not find it got stuck on some silyness after an hour.
It's an NVidia product, and so far I quite like their sandboxing and policy system. I'm still getting used to the download and upload flow though, it makes it a bit more annoying to read diffs and commit (unless you let it git as a part of the policy)
Basically Podman is a more secure version of Docker.
I would keep stuff like secret keys outside the container and sign/push commits manually.
I mean this neutrally: quality is not something that these projects strive for. Other values are a priority: features, speed of development, etc.
I tried opencode 2 with my locally hosted llama, and I noticed that llama is always producing stuff even when I close opencode. I suspect it's the backend still doing stuff with the frontend isn't displaying, but I have no way of investigating. So I'm sticking with 1.9 for now.
you install the software and it just works, no login no nothing.
(Obviously, this feature should not exist at all let alone be default.)
Of course. Obviously, just a week ago and before that none of the harnesses did work in enterprise settings.
Irony aside, I don't think that there are that many tasks that will benefit from a daemon but which aren't solvable with screen or tmux. In other words, I think this feature should not exist, let alone be enabled by default.
Also, I actually am "an enterprise who pays money for these tools" and I strongly believe most of my engineers immediately disabled the background daemon. I know of a few who were unpleasantly surprised by the cli codex update.
I am certain we are going to end up using these tools like we do with CI in the near future. With this, you'll get full observability, RBAC, sandboxing, and reproducible benchmarking.
I assume as an enterprise you will want all of these when you spend a big chunk of your budget on tokens.
I routinely run dozens or hundreds of daemons. Why wouldn’t I want one to keep my network connections to llms open?
The optimistic version is that the new zeitgeist is deeply recursive agents writing _huge_ swaths of code at once. The human side seems very asynchronous. You do a lot of queueing something that the agents churn on for an hour, so being able to detach/reattach would make sense.
The cynical version is everyone is realizing that nobody will pay for a harness, so they’re pivoting to a client-server model to try to PaaS-ify them. If they haven’t announced it already, they’ll have an OpenCode Cloud within the next quarter or two.
We’ll see how that goes. I’m not holding my breath that these will thrive as long as infrastructure teams exist. Agents are too simple from an infra perspective, and we’re seeing frameworks to make them stateless pop up already.
No daemon needed for that. Like, at all.
> they’re pivoting to a client-server model to try to PaaS-ify them
This is absolutely it! The more I think about it.
There is, for the same reasons that people use screen or tmux (which some people do use for this). If I were queueing a prompt I expected to take hours to finish, it would be nice to be able to run it another computer so I don't have to worry about closing my laptop lid or the battery dying.
It's not world-changing, but I have had agents do `grep -r /` commands before and it would have been nice to be able to detach and let it run rather than having to kill it because I have to leave before it'll actually finish (WSL is sooo slow on that). It would be better if the agent did a better grep, but sometimes I'd rather wait 20 minutes than spend 7 minutes setting it all back up again.
Maybe that’ll be my weekend project, I’m sure no one has ever been mad to spend a weekend trying to parse bash.
https://github.com/skorokithakis/symphony
It turns GitHub issues into your harness's frontend, so you just chat with OpenCode on GitHub issues, and OpenCode runs on some remote server of your choice.
It works extremely well for me.
That's why I first switched to Pi and then to DeepSeek harness.
No matter how many times I run the postinstall script, it still comes up in a few hours or days. On various Linuxes and on macOS.
> If a story has not had significant attention in the last year or so, a small number of reposts is ok. Otherwise we bury reposts as duplicates.
In my experience, if a story gets 4-5 points and < 5 comments, it hasn't gotten "significant attention" and a repost gets a second chance. That's not data, just anecdote.
I just tried the excellent local https://www.liquid.ai/blog/lfm2-5-24b-a2b model, but the model is trained to talk in bash, while OpenCode stubbornly expects JavaScript, and there seems to be no way to make them work together. The model itself performs excellently in pi.
- Someone in this thread said the curl installer was slow because the install script needed cute progress bar rendering. To be clear, I don't care about the installer user experience, but I want to spend a moment on this point, because having used OpenCode for over a year, I think this perfectly sums up the entire experience. A commit born from "Claude, please make the installer look sick as fuck with loading bars and stuff" will always be preferred by the developers over a commit that reverts such a change for a 10 MB drop in memory use.
- Tried to read the unreadable announcement website after waiting for the little ThreeJS demo to load. I gave up.
- Logs from various old sessions leaked up to 16GB on some temp folder on my drive. The harness prompts are still token heavy. I know neither of these are real issues, and chat logs are a useful feature for many, but I felt validated to see someone else in the comments also complaining about the silent storage of chat sessions leaking into my drive in a random folder being the default behaviour.
IMO, this release goes far beyond OpenCode. I had always imagined that the advent of LLMs developing human-level coding abilities, combined with the high hardware prices as a result of it, would act as a forcing function to inspire a new generation of ultra-performant, bloat-free open software.
But this release is proving me wrong in every way.
We are entering a new era, what George Hotz coined "maximalist software": A new dawn of computing, where one one hand, we can simply prompt a superintelligent LLM to "please prove the Riemann hypothesis", and it will actually work. On the other hand, the chat log for the proof disappeared, because because the 2 GB Bun server (yes, the one meant to interact with a plaintext LLM API) just crashed.
Not my experience. YMMV
> I had always imagined that the advent of LLMs developing human-level coding abilities, combined with the high hardware prices as a result of it, would act as a forcing function to inspire a new generation of ultra-performant, bloat-free open software.
I mean, faster and better hardware has never resulted in more efficient software, I really didn’t expect it to be any different here.
anyone knows?
source:virustotal
https://opencode.ai/update/api/latest/desktop/opencode/openc...
application/x-apple-diskimage Last Analysis Date 3 days ago Summary Detection --- SOCRadar Malicious --- ZeroCERT Malicious ---- Gridinsoft Suspicious --- ??
It is all focused on pushing prompts out to 3rd party providers that uses them for training. Irony is having to use the 3rd party provider to properly configure OpenCode with local only ML. I cannot have private information leak.
Good thing I tested it on open source code base before touching property code bases.