OpenCode is the teammate that lives in the TUI — provider-agnostic, MIT-licensed, and happy with Claude, GPT, Gemini, or a local model via Ollama. When I want agent power without locking into one vendor's IDE, this is the bench I reach for.
How OpenCode helps me
Cursor is where most nzian.xyz work ships. Claude is where I plan. OpenCode is the open terminal agent — same "read the repo, edit files, run commands" loop, but I pick the model and keep the harness under an MIT license.
I put it on the bench when I care about provider flexibility or want a session that isn't tied to Cursor's cloud. Client work with stricter data rules, experiments with local models, or a quick opencode run from a script all fit here better than opening a full IDE agent.
Workflow
Typical session:
cdinto the project and start the TUI (opencode).- Connect or pick a provider (
/connectwhen setting up a new machine). - State a scoped goal — "match the pattern in
blog-content/team/github-copilot.md" — not a vague "improve the site." - Prefer plan mode first when the change spans many files; switch to build when the approach is clear.
- Review the diff in git. Accept, steer, or discard — same discipline as Cursor.
For automation-shaped tasks I use opencode run "…" so the agent does one job and exits. That keeps CI-ish scripts and one-off maintenance from leaving a chat session open.
Strengths
- Provider-agnostic. Swap Claude, GPT, Gemini, OpenRouter, or Ollama without changing the workflow. Cost and privacy become dials, not migrations.
- Terminal-native. Fits SSH sessions, Windows terminals, and headless runs. No "you must open our IDE" tax.
- Open source. I can read how the harness works, pin a version, and avoid surprise lock-in on the agent layer.
- Plan vs build. Read-only planning before write access reduces the "helpful rewrite of half the repo" failure mode.
- LSP + MCP. Language servers keep edits grounded; MCP reaches browsers, APIs, and other tools when the task needs more than files.
Limits
- Not my daily IDE. Inline Tab completions and Cloud Agent cron still live in Cursor. OpenCode doesn't replace that surface.
- You bring the model bill. The CLI is free; tokens are not (unless you stay on local models). Easy to burn budget with a loose prompt.
- Setup friction. First-time provider keys, permissions, and trust prompts matter — especially on client machines.
- Less "project memory" than Cursor Skills unless I maintain prompts and config myself. Conventions still need a home (rules files, README, or a skill doc I
@in the prompt).
Tips
- Start in plan for cross-cutting refactors; promote to build only after the file list looks right.
- Keep a short project prompt (stack, "don't commit unless asked", path conventions) so every session doesn't relearn nzian.xyz layout.
- Use local/Ollama for exploratory or sensitive passes; switch to a frontier model when the task needs sharper tool use.
- Prefer
opencode runfor fire-and-exit jobs; keep the TUI for interactive back-and-forth. - Treat OpenCode like Cursor's agent: small goals, review every diff, gate shell on untrusted trees.