{"slug": "opencode-proved-the-harness-is-worth-more-than-the-model", "title": "opencode proved the harness is worth more than the model", "summary": "Anthropic's 2026 lockout of third-party coding agents from Claude subscriptions did not slow opencode, which now exceeds 200,000 GitHub stars, the highest of any coding agent. The SST team behind opencode, rebranded as Anomaly, rebuilt the tool in TypeScript after a split with Charm, and its model-agnostic harness design has driven growth, with the CEO reporting 20x growth over six months and millions of monthly users.", "body_md": "[AI](https://sourcefeed.dev/c/ai)Article\n\n# opencode proved the harness is worth more than the model\n\nAnthropic spent 2026 locking third-party agents out of Claude subscriptions, and the most-starred open agent grew anyway.\n\n[Priya Nair](https://sourcefeed.dev/u/priya_nair)\n\nAnthropic spent the first half of 2026 prying third-party coding agents off its subscription plans. On January 9, its servers started rejecting OAuth tokens from tools that weren't Claude Code. In February, it rewrote the consumer terms to make the policy explicit. On April 4, it cut Claude Pro and Max access for third-party agentic tools entirely.\n\nThe most prominent tool on the receiving end was [opencode](https://opencode.ai), and the block did not slow it down. The repo now sits just above 200,000 GitHub stars, the highest of any coding agent, open or closed. Its CEO spent the year talking about 20x growth over six months and millions of monthly users. Those usage numbers come from the company itself, so apply salt, but the star curve and contributor activity are public and they point the same direction.\n\nMy read: the lockout was the strongest endorsement opencode ever got. Anthropic doesn't build server-side checks to stop a tool nobody uses.\n\n## A fork with a grudge\n\nopencode's origin story explains a lot about its design. The original project was a Go terminal agent built by Kujtim Hoxha in 2024. Dax Raad and collaborators from the [SST](https://sst.dev) team drove much of its interface work and early popularity. Then [Charm](https://charm.sh), the terminal-UI company, hired Hoxha and pulled the repo into its org. The SST side objected to a community project landing inside a VC-backed company, the dispute went public and got ugly, and the projects split. Charm's continuation became Crush. The SST team kept the opencode name and rebuilt it from scratch in TypeScript.\n\nIn January 2026 the SST team rebranded as Anomaly, which is why the repo lives at anomalyco/opencode today. So the people running the most popular open agent have already fought one ownership battle over their tool. Model-agnosticism is the lesson they took from it.\n\n## The harness is the product\n\nStrip the branding off any terminal coding agent and you find the same machine: a loop that assembles context, calls a model, executes tool calls under a permission policy, and feeds results back in. That loop, the harness, is where almost all the engineering lives. opencode's bet is that the harness and the model are separable, and that developers will pick each on its own merits.\n\nThe implementation backs the bet. It's a client/server system rather than a single binary, which is how one core drives the terminal UI, a desktop app in beta, and IDE extensions. It speaks to 75-plus providers through the [Models.dev](https://models.dev) catalog, including local models over Ollama or any OpenAI-compatible endpoint, and you can switch models mid-session. Two built-in agents ship by default, a full-access build agent and a read-only plan agent, toggled with Tab. Project rules live in AGENTS.md, the same convention Claude Code and Codex now read, so a team can keep one rules file across tools. Provider config, MCP servers, and permissions go in opencode.json. All of it ships under MIT.\n\nIf you've used Claude Code, the day-one experience is close enough that the switch costs an afternoon, not a week. That's deliberate.\n\n## What Anthropic was actually defending\n\nThe block wasn't spite. Flat-rate subscriptions like Max are subsidized compute: heavy agent users burn far more in inference than they pay, and Anthropic wears the difference on the assumption that its own client is efficient about caching and context. Third-party harnesses were grabbing consumer OAuth tokens and spoofing Claude Code's headers to ride that subsidy, and by Anthropic's account they often bypassed the cache optimizations that make the subsidy survivable. Metered API keys still work fine with opencode. The subsidy was the thing being defended, and the subsidy is the real lock-in.\n\nThat's also the honest caveat for anyone planning a switch. If you hammer Claude models all day on a $100 or $200 Max plan, you're buying compute below list price, and replicating that workload through opencode with an Anthropic API key will usually cost more. opencode's own answer is [Zen](https://opencode.ai/zen), a pay-as-you-go gateway with curated models and per-token pricing the company says carries no markup, plus a $10/month Go plan with usage caps. Cheaper entry, but nobody is subsidizing your marathon sessions anymore. You're trading a discount for independence, and you should price that trade honestly before you make it.\n\n## Who should move, and who shouldn't\n\nThe strong cases for opencode are concrete. Teams that can't ship code to a vendor they didn't choose get on-prem inference through local models. Shops that got burned in April get a harness no vendor can revoke. Cost-sensitive workflows get model mixing: a cheap model for mechanical refactors and test scaffolding, a frontier model for the parts that are actually hard. And anyone extending their agent gets a plugin API, an SDK, and source code instead of a black box.\n\nThe weak case is chasing feature parity for its own sake. Anthropic tunes Claude Code and Claude models together, and that co-tuning shows. A model-agnostic harness meets every model at arm's length, so opencode is rarely the absolute best client for any single frontier model, and with weaker open models you feel the gap in tool-calling reliability. Its plugin and skill catalog is also thinner than what has grown up around Claude Code. If you're happy on a Max plan and never hit the walls, staying put is defensible math.\n\nBut the direction of travel seems clear to me. Coding agents are commoditizing into interchangeable harnesses over metered models, the same way editors commoditized over LSP. Vendors whose margins depend on bundling will keep pulling levers like the April block, and every pull makes the unbundled option look better. opencode is what the unbundled option looks like when it's executed well: 200,000 stars, an MIT license, and no OAuth token anyone can revoke.\n\n## Sources & further reading\n\n1. \n                                    [anomalyco/opencode](https://github.com/anomalyco/opencode)\n                                — github.com\n2. \n                                    [OpenCode: The Open Source Coding Agent That Doesn't Lock You In](https://dev.to/playfulprogramming/opencode-the-open-source-coding-agent-that-doesnt-lock-you-in-pn3)\n                                — dev.to\n3. \n                                    [opencode documentation](https://opencode.ai/docs/)\n                                — opencode.ai\n4. \n                                    [opencode Zen](https://opencode.ai/docs/zen/)\n                                — opencode.ai\n5. \n                                    [Anthropic clarifies ban on third-party tool access to Claude](https://www.theregister.com/2026/02/20/anthropic_clarifies_ban_third_party_claude_access/)\n                                — theregister.com\n6. \n                                    [Anthropic cracks down on unauthorized Claude usage by third-party harnesses](https://venturebeat.com/technology/anthropic-cracks-down-on-unauthorized-claude-usage-by-third-party-harnesses)\n                                — venturebeat.com\n7. \n                                    [opencode CEO: Getting Blocked, 20X Growth in 6 Months, Building the Open Harness](https://www.ycombinator.com/library/TJ-opencode-ceo-getting-blocked-20x-growth-in-6-months-building-the-open-harness)\n                                — ycombinator.com\n\n[Priya Nair](https://sourcefeed.dev/u/priya_nair)· AI & Developer Experience Writer\n\nPriya covers AI frameworks, developer productivity tooling, and the startup ecosystem across South and Southeast Asia, bringing a researcher's rigour and a practitioner's empathy to every story. She is deeply sceptical of benchmarks and asks hard questions so her readers don't have to.\n\n## Discussion 7\n\nyeah but the real question is whether opencode's growth actually maps to retained users running production code, or if it's mostly people kicking the tires because it's suddenly free relative to the claude tax. the harness being better than the model is cool and all, but you still need a model underneath that doesn't hallucinate your deploy scripts into production.\n\ninteresting but the real question is: how do they handle model drift and retraining when they're locked out of api access\n\nexactly. opencode probably just vendored a snapshot and calls it a day, but that strategy scales until claude ships something that breaks their assumptions. curious what their actual eval pipeline looks like.\n\nyeah but vendoring snapshots is exactly why the harness matters more than the model here—opencode's probably got better routing logic, context windowing strategy, and retry semantics than anthropic's own integrations did. once you've built that orchestration layer, swapping the backbone model is basically a config change. the real risk is if claude's API pricing gets punitive enough that the math breaks, not if the model itself regresses.\n\ntotally agree on the harness being the moat—but i'm curious how much of opencode's growth is actually due to users wanting to escape vendor lock-in vs just the orchestration actually being better at the time. like, if claude started shipping competitive routing/retry logic natively again, would that routing-as-moat actually hold, or does the flexibility of swapping models only matter in theory once you're locked into one vendor's primitives anyway?\n\nyeah that's the part that keeps me up at night—i tried integrating opencode into a client project last month and it's shockingly solid for edge cases, but you're right that they're basically betting on stability. their evals are pretty opaque from what i can find, and i wonder if they're even catching the subtle regression stuff that matters in production code.\n\nyeah, that's the crux of it. if they're really at scale they have to be running their own inference or batching against open models. curious what the actual latency/cost breakdown looks like.", "url": "https://wpnews.pro/news/opencode-proved-the-harness-is-worth-more-than-the-model", "canonical_source": "https://sourcefeed.dev/a/opencode-proved-the-harness-is-worth-more-than-the-model", "published_at": "2026-09-04 12:09:41+00:00", "updated_at": "2026-09-07 02:00:16.871284+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools", "ai-products"], "entities": ["Anthropic", "opencode", "Anomaly", "SST", "Charm", "Kujtim Hoxha", "Dax Raad", "Claude Code"], "alternates": {"html": "https://wpnews.pro/news/opencode-proved-the-harness-is-worth-more-than-the-model", "markdown": "https://wpnews.pro/news/opencode-proved-the-harness-is-worth-more-than-the-model.md", "text": "https://wpnews.pro/news/opencode-proved-the-harness-is-worth-more-than-the-model.txt", "jsonld": "https://wpnews.pro/news/opencode-proved-the-harness-is-worth-more-than-the-model.jsonld"}}