What's New
Changed
-
Major Refactor: Extracted ~1400 lines from
App.tsxinto reusable hooks and utilities for better maintainability: -
useExtensionHost- Extension host connection and lifecycle management -
useMessageHandlers- Message processing and state updates -
useTaskSubmit- Task submission logic -
useGlobalInput- Global keyboard shortcut handling -
useFollowupCountdown- Auto-approval countdown logic -
useFocusManagement- Input focus state management -
usePickerHandlers- Picker component event handling -
uiStateStore- UI-specific state (showExitHint, countdown, etc.) -
Tool data utilities (
extractToolData,formatToolOutput, etc.) -
HorizontalLinecomponent -
Performance Optimizations:
-
Added RAF-style scroll throttling to reduce state updates
-
Stabilized
useExtensionHosthook return values withuseCallback/useMemo -
Added streaming message debouncing to batch rapid partial updates
-
Added shallow array equality checks to prevent unnecessary re-renders
-
Simplified
ModeToollayout to horizontal with mode suffix -
Simplified logging by removing verbose debug output and adding first/last partial message logging pattern
-
Updated Nerd Font icon codepoints in
Iconcomponent
Added
#shortcut in help trigger for quick access to task history autocomplete
Fixed
- Fixed a crash in message handling
- Added protected file warning in tool approval prompts
- Enabled
alwaysAllowWriteProtectedfor non-interactive mode
Removed
- Removed unused
renderLogger.tsutility file
Tests
- Updated extension-host tests to expect
[Tool Request]format - Updated Icon tests to expect single-char Nerd Font icons
Installation
curl -fsSL https://raw.githubusercontent.com/RooCodeInc/Roo-Code/main/apps/cli/install.sh | shOr install a specific version:
ROO_VERSION=0.0.45 curl -fsSL https://raw.githubusercontent.com/RooCodeInc/Roo-Code/main/apps/cli/install.sh | shRequirements
- Node.js 20 or higher
- macOS (Intel or Apple Silicon) or Linux (x64 or ARM64)
Usage
# Set your API key
export OPENROUTER_API_KEY=sk-or-v1-...
# Run a task
roo "What is this project?" ~/my-project
# See all options
roo --helpPlatform Support
This release includes:
roo-cli-darwin-arm64.tar.gz- Built on Darwin arm64
Note: Additional platforms will be added as needed. If you need a different platform, please open an issue.
Checksum
415ec2612648dff989ed3399a11e07e46e70ec8b6537ad180268f86efc2d6d12 roo-cli-darwin-arm64.tar.gz