One agent client, many model choices
OpenCode is a coding agent with a very good terminal interface and an unusually broad view of where that agent should run. The same project now spans a terminal UI, a web client, a server, and a beta desktop application. Its practical appeal is straightforward: you can explore a repository, ask for a plan, let an agent edit files and run tools, then change model providers without replacing the entire workflow.
That provider independence is the main reason to choose OpenCode over a first-party client. The official guide supports connecting API keys from many services, using OpenCode's own Zen gateway, or configuring other compatible endpoints. The client is MIT-licensed, so its interface and local orchestration are inspectable. This does not make inference free, and it does not erase differences between models, but it keeps the client from being the strongest source of lock-in.
The repository is written mainly in TypeScript, had about 195,000 GitHub stars when reviewed, and was pushed on August 8, 2026. Release v1.18.15 arrived the day before. This is not an emerging side project waiting for its first audience. It is a large, aggressively developed product with a community capable of finding obscure failures quickly.
The terminal experience gets the basics right
The README keeps the user model understandable. OpenCode includes a build agent with full development access and a plan agent that denies edits by default and asks before shell commands. Pressing Tab switches between them. A general subagent handles longer searches and multi-step investigation. That separation gives users a useful habit: inspect an unfamiliar repository in plan mode, then enter build mode only when the intended change is clear.
Installation is also better than the usual curl-only story. The project lists Homebrew, npm-family package managers, Scoop, Chocolatey, Pacman, AUR, Mise, and Nix, alongside its install script. Desktop packages cover Apple Silicon and Intel Macs, Windows, and common Linux formats. The desktop app remains explicitly beta, so the terminal remains the safer recommendation for work that cannot tolerate client regressions.
OpenCode can be shaped well beyond its defaults. Custom agents can carry their own prompts and tool policies. Permissions can allow, ask, or deny actions globally or by matching command patterns. Language server and formatter integrations give the agent feedback from the project's own toolchain. Local and remote Model Context Protocol servers add external tools, and plugins can react to agent events. This is enough machinery to build a serious team setup rather than a clever chat window.
Permission configuration is not optional thinking
The build agent is described as full-access, and the permissions documentation states that most permissions default to allow. Users can set global prompts, deny edits, restrict external directories, or match shell commands with wildcard rules. There is also an auto mode that approves requests unless they were explicitly denied. All of that is flexible, but flexibility can create a false sense that the initial policy is necessarily conservative.
Start with plan mode and an expendable branch. Read the generated configuration, deny access to secrets, and require prompts for broad shell actions before treating the agent as a daily tool. MCP servers deserve the same scrutiny because they add both context and actions. The docs warn that enabling many servers increases context use, which can reduce useful room for the code you actually want the model to inspect. Fewer, narrowly useful tools are better than an impressive catalog.
Model setup also carries practical cost. The official getting-started guide recommends OpenCode Zen to newcomers, which means signing in, adding billing details, and copying an API key. Other providers require their own accounts and pricing decisions. A local model may improve privacy, but its coding quality, context limit, and hardware requirements become your responsibility. OpenCode makes switching possible; it cannot make the choices equivalent.
Scale brings visible rough edges
GitHub reported 5,039 open issues and pull requests during this review. That number alone does not prove poor maintenance, especially in a repository receiving updates throughout the day. Recent activity included fixes for plugin reloading, tests, prompt caching, UI details, and model-provider behavior. The latest release corrected message chronology, repeated compaction, stale truncation files, attachments in the web UI, and desktop localization. These are signs of maintainers processing real defects.
They also show how many moving parts can fail. One open report says the local SQLite event table grew past 13GB because historical snapshots lacked retention or compaction. Other current reports cover provider-specific response termination, a malformed model name through a gateway, and narrow-screen UI overlap. Users managing long histories or unusual providers should not assume the popular path has exercised their combination. Back up important sessions, watch database size, and pin versions rather than following every release automatically.
The very high issue count will be difficult for a small team to triage, no matter how active contributors are. Search before reporting a bug, expect duplicate or rapidly superseded guidance, and test an update against your actual model and plugins. OpenCode's velocity is excellent for feature access and less attractive for organizations that want a quiet quarterly change window.
The best fit
Choose OpenCode if you value a polished terminal, model choice, and open configuration more than first-party certainty. It offers enough permission control for careful operators, a useful plan mode for cautious exploration, and enough extensions to grow with a team. Claude Code, Codex, and Gemini CLI remain sensible choices when one provider already owns your account and support path.
OpenCode is not automatically safer or cheaper because it is open source. Its real advantage is agency over the client: providers, tools, interfaces, and policies are yours to select. Accept the release churn, configure access carefully, and it is an excellent daily coding companion. Expect a finished, low-maintenance appliance, and its pace will exhaust you.