Summarizer

Third-Party Harness Restrictions

Criticism of Anthropic banning subscription use with third-party harnesses like opencode, arguments this prevents users from avoiding harness bugs, and speculation it enables cost control

← Back to An update on recent Claude Code quality reports

Anthropic’s restriction on third-party harnesses is widely viewed as a strategic push for vertical integration, allowing the company to manage costs and performance by dictating system prompts and reasoning levels behind a fixed subscription price. However, this policy has sparked significant backlash from developers who argue that the official Claude Code harness is bug-prone and far less "hackable" than community alternatives like OpenCode, which offer superior UI features and deeper customization. Beyond technical frustrations, many users feel alienated by Anthropic’s perceived hostility toward the open-source community, citing legal threats and sudden account bans as reasons to migrate toward more developer-friendly providers. Ultimately, the community is torn between the undeniable quality of Anthropic's models and a restrictive ecosystem that limits the flexibility power users need to truly optimize their agentic workflows.

27 comments tagged with this topic

View on HN · Topics
While I hate all the gaslighting Anthropic seems to do recently (and the fact that their harness broke the code quality, while they forbid use of third party harnesses), making decisions for users is what UX is. See also the difference between eg. MacOS (with large M, the older good versions) and waiting for "Year of linux on desktop". I don't think the issue is making decisions for users, but trying to switch off the soup tap in the all-you-can-eat soup bar. Or, wrong business model setting wrong incentives to both sides.
View on HN · Topics
I don't envy you Boris. Getting flak from all sorts of places can't be easy. But thanks for keeping a direct line with us. I wish Anthropic's leadership would understand that the dev community is such a vital community that they should appreciate a bit more (i.e. not nice sending lawyers afters various devs without asking nicely first, banning accounts without notice, etc etc). Appreciate it's not easy to scale. OpenAI seems to be doing a much better job when it comes to developer relations, but I would like to see you guys 'win' since Anthropic shows more integrity and has clear ethical red lines they are not willing to cross unlike OpenAI's leadership.
View on HN · Topics
Wow, I always thought the context is always stored locally and this is something I have control over. Glad I use kiro-cli which doesn't do this.
View on HN · Topics
To be clear, I'm talking about subscription pricing. API pricing for Anthropic is probably at-cost. I dare you to run CC on API pricing and see how much your usage actually costs. (We did this internally at work, that's where my "few orders of magnitude" comment above comes from)
View on HN · Topics
Everything else aside, their brief "experiment" with removing CC support from the Pro plan got me seriously considering other options. I've been wary of vendor lock-in the whole time, but it was a useful reminder. (opencode+openrouter will probably be my first port of call)
View on HN · Topics
I'm 3 weeks into switching from CC to OpenCode, and in some ways it is far superior to CC right out of the box, and I've maybe burned $200 in tokens to make a private fork that is my ultimate development and personal agent platform. Totally worth it. Still use CC at work because team standards, but I'd take my OpenCode stack over it any day.
View on HN · Topics
I find OpenCode vastly superior. Only thing missing is Vim mode but I saw a fork that someone implemented it. I really like being able to click on a previous message I sent to revert to that point in the conversation. You can revert in CC by pressing Escape twice but the “menu” it takes you to for picking the message is terrible because it only shows your messages. Also, expanding subagent/tools/thinking/etc. blocks is super intuitive in OpenCode whereas CC’s view when you press CTRL+O is also terrible and hard to understand at first glance.
View on HN · Topics
I’m in the process of doing this as well - hackability is such a massive moat. Care to share what you changed, maybe even the code?
View on HN · Topics
I've got to do some cleanup before sharing (yay vibe coding) but the big things I've changed so far: 1) Curated a set of models I like and heavily optimized all possible settings, per agent role and even per skill (had to really replumb a lot of stuff to get it as granular as I liked) 2) Ported from sqlite to postgresql, with heavily extended schema. I generate embeddings for everything, so every aspect of my stack is a knowledge graph that can be vector searched. Integrated with a memory MCP server and auditing tools so I can trace anything that happens in the stack/cluster back to an agent action and even thinking that was related to the action. It really helps refine stuff. 3) Tight integration of Gitea server, k3s with RBAC (agents get their own permissions in the cluster), every user workspace is a pod running opencode web UI behind Gitea oauth2. 4) Codified structure of `/projects/<monorepo>/<subrepos>` with simpler browserso non-technical family members can manage their work easier (agents handle all the management and there are sidecars handling all gitops transparent to the user) 5) Transparent failover across providers with cooldown by making model definitions linked lists in the config, so I can use a handful of subscriptions that offer my favorite models, and fail over from one to the next as I hit quota/rate limits. This has really cut my bill down lately, along with skipping OpenRouter for my favorite models and going direct to Alibaba and Xiaomi so I can tailor caching and stuff exactly how I want. 6) Integrated filebrowser, a fork of the Milkdown Crepe markdown editor, and codemirror editor so I don't even need an IDE anymore. I just work entirely from OpenCode web UI on whatever device is nearest at the moment. I added support for using Gemma 4 local on CPU from my phone yesterday while waiting in line at a store yesterday. Those are the big ones off the top of my head. Im sure there's more. I've probably made a few hundred other changes, it just evolves as I go.
View on HN · Topics
The solution IMO is to switch to an agent harness wrapper solution that uses CLI-wrapping or ACP to connect to different coding agents. This is the only way that works across OpenAI, Claude and Gemini. There are a few out there (latest example is Zed's new multi-agent UI), but they still rely on the underlying agent's skill and plugin system. I'm experimenting with my own approach that integrates a plugin system that can dynamically change the agent skillset & prompts supplied via an integrated MCP server, allowing you to define skills and workflows that work regardless of the underlying agent harness.
View on HN · Topics
At the moment, yeah. If Google ever figures out how to build an agentic model, I would use them as well. However you feel about OpenAI, at least their harness is actually open source and they don’t send lawyers after oss projects like opencode
View on HN · Topics
The word is not co-opted. A harness is just supportive scaffolding to run something. A test harness is scaffolding to run tests against software, a fuzz harness is scaffolding to run a fuzzer against the software, and so on. I've seen it being used in this manner many times over the past 15 years. It's the device that wraps your software so you can run it repeatedly with modifications of parameters, source code, or test condition.
View on HN · Topics
> A harness is just supportive scaffolding to run something. Thank you for the perfect explanation. Last week in my confusion about the word because Anthropic was using test, eval, and harness in the same sentence so I thought Anthropic made a test harness, I used Google asking "in computer science what is a harness". It responded only discussing test harnesses which solidified my thinking that is what it is. I wish Google had responded as clearly you did. In my defense, we don't know if we understand something unless we discuss it.
View on HN · Topics
Why ban third party wrappers? All of this could've been sidestepped had you not banned them.
View on HN · Topics
Because then they lose vertical integration and the extra ability it grants to tune settings to reduce costs / token use / response time for subscription users. Or improve performance and efficiency, if we’re generous and give them the benefit of the doubt. It makes sense, in a way. It means the subscription deal is something along the lines of fixed / predictable price in exchange for Anthropic controlling usage patterns, scheduling, throttling (quotas consumptions), defaults, and effective workload shape (system prompt, caching) in whatever way best optimises the system for them (or us if, again, we’re feeling generous) / makes the deal sustainable for them. It’s a trade-off
View on HN · Topics
That’s what we see. It may be (but I wouldn’t know) that some of other changes not covered here reduced costs on their side without impacting users, improving the viability of their subscription model. Or maybe even improved things for users. I’d really appreciate more transparency on this, and not just when things fail. But I’ve learned my lesson. I’ve been weening off Claude for a few weeks, cancelled my subscription three weeks ago, let it expire yesterday, and moved to both another provider and a third-party open source harness.
View on HN · Topics
Nothing you wrote makes sense. The limits are so Anthropic isn't on a loss. If they can customize Claude using Code, I see no reason why they couldn't do so with other wrappers. Other wrappers can also make use of cache. If you worry about "degraded" experience, then let people choose. People won't be using other wrappers if they turn out to be bad. People ain't stupid.
View on HN · Topics
By imposing the use of their harness, they control the system prompt: > On April 16, we added a system prompt instruction to reduce verbosity. In combination with other prompt changes, it hurt coding quality, and was reverted on April 20. This impacted Sonnet 4.6, Opus 4.6, and Opus 4.7 They can pick the default reasoning effort: > On March 4, we changed Claude Code's default reasoning effort from high to medium to reduce the very long latency—enough to make the UI appear frozen—some users were seeing in high mode They can decide what to keep and what to throw out (beyond simple token caching): > On March 26, we shipped a change to clear Claude's older thinking from sessions that had been idle for over an hour, to reduce latency when users resumed those sessions. A bug caused this to keep happening every turn for the rest of the session instead of just once, which made Claude seem forgetful and repetitive. We fixed it on April 10. This affected Sonnet 4.6 and Opus 4.6 It literally is all in the post. I don't worry about anything though. It's not my product. I don't work for Anthropic, so I really couldn't care less about anyone else's degraded (or not) experience.
View on HN · Topics
> they control the system prompt They control the default system prompt. You can change it if you want to. > They can pick the default reasoning effort Don't see how it's an obstacle in allowing third party wrappers. > They can decide what to keep and what to throw out That's actually a good point. However I still don't think it's an obstacle. If third party wrappers were bad, people simply wouldn't be using them.
View on HN · Topics
> Defaults matter. A large share of people never change them (status quo bias, psychological inertia). Having control over them (and usage quotas) means Anthropic can control and fine-tune what this fixed subscription costs them. Allowing third party wrappers doesn't mean Claude Code would cease to exist. The opposite actually, Claude Code would be the default . People dissatisfied with Code would simply use other wrappers. I call it a win-win. Don't see how Anthropic would be on a lose here, they would still retain the ability to control the defaults.
View on HN · Topics
Except one of the major other wrappers was pi, through OpenClaw. With countless hundreds of thousands of instances running every hour on that heartbeat. I have no idea what the share of OpenClaw instances running on pi was, or third-party wrappers in general, but it was obviously large enough that Anthropic decided they had to put an end to it. Conversely, from the latest developments, it would seem they are perfectly fine with people running OpenClaw with Claude models through Claude Code’s programmatic interface using subscriptions. But in the end, this, my take, your take, is all conjecture. We are both on the outside looking in. Only the people who work at Anthropic know.
View on HN · Topics
Yes, but for many users, CC is the product. Especially since I'm not allowed(?) to use my own harness with my sub.
View on HN · Topics
Weren't there reports that quality decreased when using non-CC harnesses too? Nothing in blog post can explain that.
View on HN · Topics
Because it is still good though. If you have a good product, you are more understanding. And getting worse doesn't mean its no longer valuable, only that the price/value factor went down. But Opus 4.5 was relevant better and only came out in November. There was no price increase at that time so for the same money we get better models. Opus 4.6 again feels relevant better though. Also moving fastish means having more/better models faster. I do know plenty of people though which do use opencode or pi and openrouter and switching models a lot more often.
View on HN · Topics
How about just not change the harness abruptly in the first place? Make new system prompt changes "experimental" first so you can gather feedback.
View on HN · Topics
Now we know why Anthropic banned the use of subscriptions with other agent harnesses: they partially rely on the Claude Code cli to control token usage through various settings. And it also tells us why we shouldn’t use their harness anyway: they constantly fiddle with it in ways that can seriously impact outcomes without even a warning.
View on HN · Topics
or you can use a non vibe designed efficient Rust TUI coding agent made by yours truly, all my coworkers use it too :) called https://maki.sh ! lua plugins WIP