Skip to content
woza.ink
← Blog
5 min read

OpenCode vs Claude Code: Same Idea, Different Philosophy

Both run AI agents in your terminal. Both support Claude. The differences are in architecture, openness, and what you can configure.

On this page
  1. What they have in common
  2. Claude Code
  3. OpenCode
  4. The practical differences
  5. How I use them
  6. Further reading

Both tools do roughly the same thing: run an AI coding agent in your terminal that can read your codebase, write files, run commands, and iterate on tasks. Both support Claude as a backend. If you've used one, the other won't feel alien.

But they come from different places and make different bets. Those differences matter depending on how you work.


What they have in common

Before the distinctions: the overlap is substantial.

  • Both operate as terminal-native CLI tools
  • Both support agentic loops1 — the model can read files, run shell commands, edit code, and verify its own work
  • Both support Claude models (and others)
  • Both support project-level rules/instructions that persist across sessions
  • Both have active development communities pushing features fast

If you're evaluating which to try first, either works. The differences become more relevant once you have opinions about how you want to work.


Claude Code

Claude Code is Anthropic's official CLI. It ships from the company that makes Claude2, which has a few concrete implications.

Tight Claude integration. It's the reference implementation for how Anthropic wants Claude to be used in an agentic coding context. New model capabilities tend to show up here first. The tool-use patterns, the memory model, the way permissions work — these are designed around Claude's actual capabilities rather than being a layer on top of an API.

The permission model. Claude Code asks for explicit approval before running shell commands or writing to files (unless you configure it otherwise). This feels cautious at first. It's actually useful — you stay in the loop on what the agent is doing, and you build a clearer mental model of the task progression. You can turn this off for trusted operations.

AGENTS.md and skills. Rules go in AGENTS.md at the project root. Slash commands live in .claude/commands/. Skills (larger context packages) are loaded by task type. This three-layer system is well-documented and plays nicely with tools like BMAD that build on it.

Closed source. The CLI itself is proprietary3. You can extend it through commands and skills, but you can't fork it or self-host the orchestration layer.


OpenCode

OpenCode is open-source (MIT licensed) and built to be model-agnostic4. It started as a community project and has developed a distinct philosophy around configurability and openness.

Model agnostic. OpenCode supports Claude, GPT-4o, Gemini, local models via Ollama, and others through a provider abstraction. If you want to run a local Mistral model for cost reasons, or switch between providers based on task type, OpenCode is designed for that. Claude Code is Claude-only.

Fully open source. The entire orchestration layer is on GitHub5. You can read exactly how it works, fork it, run it yourself, or contribute. For developers who want to understand or modify the tool itself, this matters.

neovim integration. OpenCode has a neovim plugin that makes it feel less like a separate terminal tool and more like an integrated part of your editor workflow. If your primary environment is neovim, this is a real advantage — you can drive the agent from within your editor instead of context-switching to a terminal.

Configuration. OpenCode uses a ~/.config/opencode/ directory for global config and per-project opencode.json for project-level settings. It's more explicit than Claude Code's approach — more to configure upfront, more control once configured.

Community-driven pace. Because it's open source, features land based on what contributors care about. This means some rough edges persist longer, but also means the tool evolves in directions actual users want.


The practical differences

If you're already deep in neovim: OpenCode's editor integration is meaningfully better. Driving an agent from within neovim without leaving your editor is qualitatively different from switching to a terminal.

If you want to use non-Claude models: OpenCode is the obvious choice6. Claude Code doesn't support this.

If you're building a structured agentic workflow with rules, commands, and skills: Claude Code's tooling here is more mature and better documented. The BMAD ecosystem is built for it specifically.

If you care about the tool being auditable/modifiable: OpenCode, clearly.

If you want the tightest possible Claude integration with the least configuration overhead: Claude Code.


How I use them

In practice I run both. Claude Code for most feature work — the permission model keeps me informed, the skills system handles complex workflows well. OpenCode via neovim for quick edits and exploratory work where I want to stay in the editor.

They're not mutually exclusive. Both read the same codebase. Both respect the same AGENTS.md. You can switch between them mid-project without any migration cost.

The tooling around agentic coding is moving fast enough that the right answer today might be different in six months. The more important investment is the context infrastructure7 — your rules, your docs, your skills — because that works regardless of which CLI you're running.


Further reading

Notes

  1. 1Quote

    We saw two trends converging. First, there would be an explosion of AI coding models beyond just Anthropic or OpenAI. Second, developers were going to demand open-source alternatives to locked-in, proprietary tools.

    — Jay V, OpenCode co-creator and CEO of Anomaly

    source →
  2. 2Note

    According to SemiAnalysis, Claude Code is responsible for ~4% of all public GitHub commits as of February 2026 -- roughly 135,000 commits per day. That figure doubled in a single month and represents 42,896x growth in 13 months since the research preview launch in early 2025. The projection: 20%+ of all daily commits by end of 2026.

    source →
  3. 3Context

    Claude Code was released as a research preview in February 2025, made generally available in May 2025 alongside Claude 4, then saw explosive viral growth over the 2025 winter holidays -- partly driven by non-programmers using it for "vibe coding." Anthropic reported a 5.5x revenue increase from Claude Code by July 2025. A web version and iOS app followed in October 2025.

    source →
  4. 4Context

    OpenCode was built by the team behind SST (Serverless Stack) -- Jay V, Frank Wang, Dax Raad, and Adam Elmore. SST went through Y Combinator in 2021, grew to 25K GitHub stars, and turned profitable in 2025. OpenCode launched June 19, 2025, and reached 650K monthly active users within five months. The team's insight: AI coding models would proliferate beyond just Anthropic and OpenAI, and developers would demand open-source alternatives to locked-in tools.

    source →
  5. 5Note

    OpenCode has 112K+ GitHub stars (vs Claude Code's ~71K as of February 2026), but raw star counts invert the usage story: Claude Code dominates actual production usage by a wide margin. OpenCode's star count reflects the open-source community's enthusiasm for auditable, provider-agnostic tooling -- a different signal than daily active developer usage.

    source →
  6. 6Context

    In January 2026, Anthropic blocked OpenCode from using Claude via consumer OAuth tokens. OpenCode removed Claude Pro/Max support in response, citing "Anthropic legal requests." The backlash on Hacker News was fierce and split the community -- provider-freedom advocates rallied around OpenCode, while tight-integration advocates stayed with Claude Code. This incident crystallizes the core open-vs-closed tension.

    source →
  7. 7Counter

    The open-source vs closed-source performance gap is narrowing fast: open models like Qwen3-Coder now score 69.6% on SWE-Bench Verified, nearly matching Claude 4 Sonnet's 72.7%. Open-source models deliver ~90% of closed-model performance at up to 87% lower cost. The implication for coding agents: the model-agnostic bet that OpenCode makes becomes more compelling as the gap shrinks.