What it is and who it's for
Roo Code is an open-source coding agent for VS Code that builds on Cline's ideas with a focus on customizable modes and roles (Architect, Code, Debug, plus your own custom modes). For advanced developers who want an agent shaped to their own workflow: different personas with different permissions and models for different phases of the work. It stands out for how flexibly you can customize behavior and for its custom modes.
Key features
- Custom modes/roles: your own persona, instructions and permission set per mode.
- Different models per mode (a cheap one for routine work, a strong one for architecture).
- Autonomous edits, command execution, MCP support.
- Context control and a diff view before anything is applied.
- Any model provider, local ones included.
- Open-source and free (you pay for tokens).
Get started in 5 minutes
- Install the Roo Code extension from the VS Code Marketplace.
- Connect a model provider and key; set up several model profiles if you want.
- Pick a mode (Architect/Code/Debug, or create your own) and give it a task.
When to pick it, when not to
- ✅ Pick it if you want custom modes/roles and different models for different phases of the work.
- ✅ Pick it if you want fine-grained control over the agent's permissions and behavior.
- ❌ Skip it → go with "Cline" if you'd rather keep it simple and not fiddle with mode setup.
- ❌ Skip it → go with "Kilo Code" if you want the combined Cline+Roo feature set out of the box.
The honest price
Free and open-source; you only pay for the tokens of whichever models you use (local ones cost nothing). Exact numbers are on the provider's site and do change.
Gotchas
- Flexibility means more setup: a beginner can easily get lost in modes.
- Running several models across modes makes cost tracking messier.
- Being part of the Cline fork family, it inherits Cline's quirks too (context, cost).
- Broad permissions in custom modes call for caution with commands.
🤖 Prompt accelerator
"I'm configuring Roo Code in VS Code for a
project. Help me design a set of custom modes: say Architect (planning, no edits, strong model), Code (edits, mid-tier model), Debug (running tests). Describe the instructions and permissions for each mode and which model to assign given my budget. The task I'm starting with: ."