Roo Code 3.23 Release Notes
This release graduates codebase indexing to a stable feature, introduces a powerful new todo list for managing complex tasks, and a whole lot of bug fixes!
Codebase Indexing: Always On, Always Ready
Codebase indexing has graduated from an experimental feature and is now a core part of Roo Code, available directly from your chat input. Once configured, the indexer runs automatically in the background, ensuring Roo always has an up-to-date semantic understanding of your project. To get started FREE, see the Codebase Indexing quick start guide.

Thank you to MuriloFP, OleynikAleksandr, sxueck, CW-B-W, WAcry, bughaver, daniel-lxs, SannidhyaSah, ChuKhaLi, HahaBill, koberghe, sfz009900, and tmchow for helping get this across the finish line! (#5378, #5377, #5383, #5483, #5481, #5228, #5214, #5158, #5402, #5451, #5352, #5403)
New: Task Todo List
This release introduces a new todo list feature to help you keep track of complex tasks. Roo Code will now display a checklist of steps for your task, ensuring that no step is missed. You can view and manage the todo list directly in the chat interface.

Thank you to qdaxb for this feature! (#5182, #5472, #5473, #5482)
QOL Improvements
- Simplified Prompt History: Navigate your prompt history using only the up and down arrow keys when the cursor is at the start of the input field (#5467)
- API Provider Search: You can now search and filter the list of API providers in the settings (thanks GOODBOY008!) (#5278)

- Copy Prompt Button: Adds a 'Copy Prompt' button to the task actions (thanks Juice10, vultrnerd!) (#5392)

- Chat UI: Fixes several UI inconsistencies and layout shifting issues in the chat view to create a more stable and polished user experience (thanks seedlord!) (#5237)
- Model Search Dropdown: Fixed an issue where the model search input was pre-filled with the current model, now starts with a clean search field (thanks kevinvandijk!) (#5449)
- Chat Interface Polish: Added proper spacing to the camera icon and made placeholder text non-selectable, preventing accidental highlighting (thanks MuriloFP!) (#5477)
- Clean Custom Mode Deletion: Deleting a custom mode now also deletes its corresponding
.roo/rules-{mode}
folder (#5317) - File Listing Performance: Optimized file listing in large repositories when workspace file listing is disabled, resolving slow initial requests (thanks daniel-lxs, jcaplan!) (#5421)
insert_content
Tool: Theinsert_content
tool can now create new files when inserting content at the beginning or end of a file (thanks Ruakij, KJ7LNW!) (#4382)- Indexing Status: The code indexing indicator is now always visible in the chat area, making it easier to track indexing progress (#5505)
- Chat Interface: Removed outdated feature announcement for a cleaner chat experience (#5510)
- Chat Interface: Improved tooltip consistency across chat interface buttons for a more polished experience (thanks daniel-lxs!) (#5528)
- Interface Organization: Cleaner Roo Code view header with reduced visual clutter - less frequently used actions moved to VS Code's overflow menu (thanks dlab-anton!) (#3060)
- Command Organization: Better organized VS Code extension interface with commands properly grouped in overflow menus (#5525)
- Indexing Status: Improved visual alignment and consistency of the indexing status indicator (#5523)
- Interface Icons: More consistent and clearer icons throughout the interface for better visibility of codebase indexing status (#5520)
- Account Access: Account features are now more accessible - the account tab is visible in the main navigation instead of being hidden in the overflow menu (#5534)
- User-Agent Headers: All API requests now include a standard User-Agent header for improved tool identification and compliance (#5492)
Bug Fixes
apply_diff
Tool: Fixed an issue where theapply_diff
tool would hang indefinitely on an error (thanks lhish!) (#5391)- Chat Focus: Prevents the chat from losing focus during automated workflows, stopping user input from being accidentally redirected to files being edited by Roo (thanks ColbySerpa!) (#5349)
- Architect Mode File Restrictions: Fixed an issue where Architect mode was not properly enforcing file restrictions (thanks shanemmattner!) (#5447)
- Slash Command Descriptions: Standardizes mode descriptions in slash commands for a more consistent user experience (#5388)
- Follow-up Question Timer: Fixed an issue where the auto-approval timer for follow-up questions would continue even after a user responded (thanks liwilliam2021!) (#5368)
- TypeScript Watch Path: Fixes an issue where TypeScript compiler errors in watch mode would not correctly link back to the source file (thanks bbenshalom, KJ7LNW!) (#5155)
- Completion Sound: Prevents annoying repetitive completion sounds when reopening completed tasks, making the completion notification more meaningful and less intrusive (thanks SannidhyaSah!) (#5249)
- New Task Streaming: Fixed an issue where creating a new task with large instructions would cause the UI to appear frozen (#5432)
- MCP Image Resources: Fixed MCP image resource handling to support servers that don't use standard data URI format, allowing users to successfully process images from a wider range of MCP servers (thanks s97712!) (#5254)
create_mode
Instructions: Thecreate_mode
instructions now include thedescription
field (#5433)- OpenRouter: Fixes an issue where the number of reserved tokens for OpenRouter models was displayed incorrectly (thanks shariqriazz!) (#5240)
- Auto-Approval: Fixed issue where subsequent tools required manual approval after using
update_todo_list
, even when auto-approval was enabled (thanks daniel-lxs!) (#5508) - Custom Modes: Fixed crashes when custom modes configuration files were empty or contained null content (thanks daniel-lxs!) (#5526)
- File Listing: Fixed issue where the
list_files
tool incorrectly showed directories that should be ignored according to .gitignore patterns (thanks X9VoiD!) (#5394) - Error Messages: Fixed display of raw translation keys in embedding provider error messages - now shows properly localized messages (thanks daniel-lxs!) (#5535)
- File Opening: Fixed file opening functionality for files and folders with special characters like brackets in their names (thanks vivekfyi, nielpattin!) (#5504)
- MDM Security: Fixed security vulnerability where users could bypass organizational MDM policies by opening the extension in new tabs/windows (thanks liwilliam2021!) (#5540)
Provider Updates
- xAI Grok-4: Added support for Grok-4 model with 256K context window, image support, and prompt cache support (#5559)
Repo Level Updates
- Issue Fixer Orchestrator: Internal mode improvements for GitHub issue resolution workflows (thanks MuriloFP!) (#5379, #5366)
- PR Fixer Orchestrator: Enhanced internal PR fixing workflow with better safety and user control (thanks MuriloFP!) (#5407)
- PR Reviewer Orchestrator: Improved internal code review delegation to specialized modes (thanks MuriloFP!) (#5406)
- Testing Guidelines: Added clear and compact testing guidelines to the project rules documentation (thanks daniel-lxs!) (#5353)
docs-extractor
Mode: Improved thedocs-extractor
mode for more reliable documentation generation (#5381)