-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Description
Problem
I discovered an Encoding::CompatibilityError when running commands like pod install (CocoaPods/Ruby) within Roo Code's integrated terminal when the "Disable terminal shell integration" setting is enabled. The root cause is identified as the ExecaTerminalProcess not being configured with UTF-8 encoding, leading to character encoding compatibility issues in Ruby scripts.
The error message specifically suggested setting export LANG=en_US.UTF-8.
Root Cause Analysis
When users enable the "Disable terminal shell integration" setting, Roo Code switches from VSCode's built-in terminal to the ExecaTerminal implementation. This fallback path uses Node.js execa library via ExecaTerminalProcess, which is not inheriting proper UTF-8 locale settings.
Code Path When "Disable Terminal Shell Integration" is Enabled:
executeCommandTool.ts:149→provider = "execa"TerminalRegistry.ts:133→new ExecaTerminal()ExecaTerminal.ts:21→new ExecaTerminalProcess()ExecaTerminalProcess.ts→ 🎯 Where UTF-8 issue is
Solution
Fix proposed in #3989
Metadata
Metadata
Assignees
Labels
Type
Projects
Status