From OpenCode to Kilo Code CLI: what changed in the workflow
TL;DR
Kilo Code CLI is a fork of OpenCode with Kilo Gateway on top. In practice, the TUI is identical, custom commands work the same, and migration took 15 minutes. The real difference: free models via the gateway change the workflow economics.
Update, July 2026 — This choice didn’t hold up over time: Kilo Gateway’s free tier eventually stopped being worth it, and I moved back to Claude Code (Max subscription). This piece stays published as-is, as a documented step in a tool evaluation. Sequel: Anthropic, the Apple of AI.
When Anthropic restricted the use of the Claude Code subscription in third-party tools, my OpenCode + Anthropic subscription workflow broke overnight. Migrating to Kilo Code CLI — a fork of OpenCode — wasn’t a technology choice. It was a necessity.
What’s identical
Kilo Code CLI is a fork. Not a rewrite. In practice:
The TUI is the same. Same vim-like navigation, same model selector with m, same session system. If you know OpenCode, you know Kilo Code CLI.
Custom commands are compatible. The .opencode/commands/*.md files work without modification. The team’s 15 formalized workflows migrated without touching a single file.
The client/server architecture is inherited. The SSH Mac → Ubuntu setup with tmux works exactly as before.
The project context file (AGENTS.md, CLAUDE.md) is read the same way.
What changed
Kilo Gateway is the real difference. It’s a proxy that provides access to free models — including MiniMax 2.5. On mechanical tasks (tests, fixtures, DTOs), the output is comparable to Claude Sonnet. Except it costs nothing.
In practice, ~65% of my sessions run on MiniMax 2.5 via the gateway. Reasoning sessions (complex debugging, architecture) stay on Claude Sonnet via the Anthropic API. Routing is done with the m key — a 2-second gesture.
The Kilo ecosystem also brings Kilo Code VS Code for the team. Same gateway, same models, different interface. Devs who prefer VS Code don’t need a terminal TUI.
Migration in practice
15 minutes. Install the binary, point the config to the same providers, verify custom commands are read. No data to migrate — the agent has no memory between sessions anyway.
The only adjustment: configuring Kilo Gateway as the default provider to get MiniMax as the first choice. Everything else — tmux bindings, split layout, SSH workflow — nothing changed.
Who this is relevant for
If you use OpenCode and want access to Kilo Gateway’s free models: migration is trivial. If you already use OpenCode with OpenRouter and you’re happy with your costs: there’s no urgent reason to migrate, both tools are functionally identical.
If you’re starting from scratch in terminal-first: at the time of this dispatch, Kilo Code CLI was the best entry point thanks to the free gateway. That advice didn’t survive the end of the free tier’s usefulness — see the update note at the top and the rest of the arc for my current recommendation.