apps/docs/docs/faq.md
import KangarooIcon from '@site/src/components/KangarooIcon';
This page answers some common questions about Roo Code.
Roo Code is an open-source AI coding agent for VS Code designed to take full advantage of advanced large-language models.
Roo Code uses large language models (LLMs) to understand your requests and translate them into actions. It can:
You interact with Roo Code through a chat interface in the extension.
Roo Code can help with a variety of coding tasks, including:
The Roo Code extension is free and open-source.
Roo Code relies on external LLM inference providers (like Anthropic, OpenAI, OpenRouter, Requesty, etc.) for its AI capabilities. These providers typically charge for API usage based on the number of tokens processed. You will need to create an account and obtain an API key from your chosen provider. Learn more about providers and how to set them up for details.
Roo Code is a powerful tool, and it's important to use it responsibly. Here are some things to keep in mind:
See the Installation Guide for detailed instructions.
See the full list here.
Each API provider has its own process for obtaining an API key. See the Setting Up Your First AI Provider for links to the relevant documentation for each provider.
Yes, Roo Code supports running models locally using Ollama and LM Studio. See Using Local Models for instructions.
Open the Roo Code panel (<KangarooIcon />) and type your task in the chat box. Be clear and specific about what you want Roo Code to do. See Typing Your Requests for best practices.
Modes are different personas that Roo Code can adopt, each with a specific focus and set of capabilities. The built-in modes are:
Use the dropdown menu in the chat input area to select a different mode, or use the / command to switch to a specific mode.
Tools are how Roo Code interacts with your system. Roo Code automatically selects and uses the appropriate tools to complete your tasks. You don't need to call tools directly. You will be prompted to approve or reject each tool use.
Context mentions are a way to provide Roo Code with specific information about your project, such as files, folders, or problems. Use the "@" symbol followed by the item you want to mention (e.g., @/src/file.ts, @problems).
Yes, if you are using a provider with a model that support web browsing. Be mindful of the security implications of allowing this.
Yes, Roo Code can execute commands in your VS Code terminal. You will be prompted to approve each command before it's executed, unless you've enabled auto-approval for commands. Be extremely cautious about auto-approving commands. If you're experiencing issues with terminal commands, see the Shell Integration Guide for troubleshooting.
You can provide feedback by approving or rejecting Roo Code's proposed actions. You can provide additional feedback by using the feedback field.
Yes, you can customize Roo Code in several ways:
.roorules Files: Create .roorules files in your project to provide additional guidelines.Yes, Roo Code has a few settings that when enabled will automatically approve actions. Find out more here.
Yes, if you use a local model.
MCP is a protocol that allows Roo Code to communicate with external servers, extending its capabilities with custom tools and resources.
Yes, you can create your own MCP servers to add custom functionality to Roo Code. See the MCP documentation for details.
Codebase Indexing creates a semantic search index of your project using AI embeddings. This enables Roo Code to better understand and navigate large codebases by finding relevant code based on meaning rather than just keywords.
Codebase Indexing requires an OpenAI API key for generating embeddings and a Qdrant vector database for storage. Costs depend on your project size and the embedding model used. Initial indexing is the most expensive part; subsequent updates are incremental and much cheaper.
Roo Code uses VS Code's built-in file editing capabilities. You can use the standard "Undo" command (Ctrl/Cmd + Z) to revert changes. Also, if experimental checkpoints are enabled, Roo can revert changes made to a file.
If Roo Code fails to write to .md files with errors like "Failed to open diff editor" or "write_to_file tool failed", this is typically caused by VS Code extensions or settings that interfere with file editing:
Common causes:
Solutions:
settings.json:
"markdown.preview.openMarkdownLinks": "inPreview",
"workbench.editorAssociations": {
"*.md": "vscode.markdown.preview.editor"
}