Skip to content

Commit 2aa9ff6

Browse files
committed
feat(terminal): enable Inline Terminal by default and clarify advanced settings
Set terminalShellIntegrationDisabled default to true to use Inline Terminal by default. Update Terminal settings UI to default to Inline Terminal and only show "Inherit environment variables" when using the VS Code terminal. Refresh English settings copy for clarity and reliability.
1 parent 4748303 commit 2aa9ff6

File tree

5 files changed

+45
-45
lines changed

5 files changed

+45
-45
lines changed

apps/vscode-e2e/src/types/global.d.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import type { RooCodeAPI } from "@roo-code/types"
22

33
declare global {
4-
// eslint-disable-next-line no-var
54
var api: RooCodeAPI
65
}
76

apps/web-evals/next-env.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/// <reference types="next" />
22
/// <reference types="next/image-types/global" />
3+
/// <reference path="./.next/types/routes.d.ts" />
34

45
// NOTE: This file should not be edited
56
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.

src/core/tools/executeCommandTool.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ export async function executeCommandTool(
6767
const {
6868
terminalOutputLineLimit = 500,
6969
terminalOutputCharacterLimit = DEFAULT_TERMINAL_OUTPUT_CHARACTER_LIMIT,
70-
terminalShellIntegrationDisabled = false,
70+
terminalShellIntegrationDisabled = true,
7171
} = providerState ?? {}
7272

7373
// Get command execution timeout from VSCode configuration (in seconds)
@@ -149,7 +149,7 @@ export async function executeCommand(
149149
executionId,
150150
command,
151151
customCwd,
152-
terminalShellIntegrationDisabled = false,
152+
terminalShellIntegrationDisabled = true,
153153
terminalOutputLineLimit = 500,
154154
terminalOutputCharacterLimit = DEFAULT_TERMINAL_OUTPUT_CHARACTER_LIMIT,
155155
commandExecutionTimeout = 0,

webview-ui/src/components/settings/TerminalSettings.tsx

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -201,35 +201,7 @@ export const TerminalSettings = ({
201201
<div className="flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background">
202202
<div>
203203
<VSCodeCheckbox
204-
checked={inheritEnv}
205-
onChange={(e: any) => {
206-
setInheritEnv(e.target.checked)
207-
vscode.postMessage({
208-
type: "updateVSCodeSetting",
209-
setting: "terminal.integrated.inheritEnv",
210-
value: e.target.checked,
211-
})
212-
}}
213-
data-testid="terminal-inherit-env-checkbox">
214-
<span className="font-medium">{t("settings:terminal.inheritEnv.label")}</span>
215-
</VSCodeCheckbox>
216-
<div className="text-vscode-descriptionForeground text-sm mt-1">
217-
<Trans i18nKey="settings:terminal.inheritEnv.description">
218-
<VSCodeLink
219-
href={buildDocLink(
220-
"features/shell-integration#inherit-environment-variables",
221-
"settings_terminal_inherit_env",
222-
)}
223-
style={{ display: "inline" }}>
224-
{" "}
225-
</VSCodeLink>
226-
</Trans>
227-
</div>
228-
</div>
229-
230-
<div>
231-
<VSCodeCheckbox
232-
checked={terminalShellIntegrationDisabled ?? false}
204+
checked={terminalShellIntegrationDisabled ?? true}
233205
onChange={(e: any) =>
234206
setCachedStateField("terminalShellIntegrationDisabled", e.target.checked)
235207
}>
@@ -253,6 +225,34 @@ export const TerminalSettings = ({
253225

254226
{!terminalShellIntegrationDisabled && (
255227
<>
228+
<div>
229+
<VSCodeCheckbox
230+
checked={inheritEnv}
231+
onChange={(e: any) => {
232+
setInheritEnv(e.target.checked)
233+
vscode.postMessage({
234+
type: "updateVSCodeSetting",
235+
setting: "terminal.integrated.inheritEnv",
236+
value: e.target.checked,
237+
})
238+
}}
239+
data-testid="terminal-inherit-env-checkbox">
240+
<span className="font-medium">{t("settings:terminal.inheritEnv.label")}</span>
241+
</VSCodeCheckbox>
242+
<div className="text-vscode-descriptionForeground text-sm mt-1">
243+
<Trans i18nKey="settings:terminal.inheritEnv.description">
244+
<VSCodeLink
245+
href={buildDocLink(
246+
"features/shell-integration#inherit-environment-variables",
247+
"settings_terminal_inherit_env",
248+
)}
249+
style={{ display: "inline" }}>
250+
{" "}
251+
</VSCodeLink>
252+
</Trans>
253+
</div>
254+
</div>
255+
256256
<div>
257257
<label className="block font-medium mb-1">
258258
{t("settings:terminal.shellIntegrationTimeout.label")}

webview-ui/src/i18n/locales/en/settings.json

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -619,55 +619,55 @@
619619
},
620620
"advanced": {
621621
"label": "Terminal Settings: Advanced",
622-
"description": "The following options may require a terminal restart to apply the setting."
622+
"description": "These settings apply only when 'Use Inline Terminal' is disabled."
623623
},
624624
"outputLineLimit": {
625625
"label": "Terminal output limit",
626-
"description": "Keeps the beginning and end of command output and drops the middle when needed to stay under the limit. Lower to save tokens; raise if you need more middle content. <0>Learn more</0>"
626+
"description": "Keeps the first and last lines and drops the middle to stay under the limit. Lower to save tokens; raise to give Roo more middle detail. Roo sees a placeholder where the content is skipped.<0>Learn more</0>"
627627
},
628628
"outputCharacterLimit": {
629629
"label": "Terminal character limit",
630-
"description": "Hard cap on output size. Keeps the beginning and end and omits the middle if needed. Overrides the line limit to prevent memory issues from very long lines. <0>Learn more</0>"
630+
"description": "Overrides the line limit to prevent memory issues by enforcing a hard cap on output size. If exceeded, keeps the beginning and end and shows a placeholder to Roo where content is skipped. <0>Learn more</0>"
631631
},
632632
"shellIntegrationTimeout": {
633633
"label": "Terminal shell integration timeout",
634-
"description": "How long to wait for VS Code shell integration before running commands. Increase if you see 'Shell Integration Unavailable' errors. Only applies when using the VS Code terminal. <0>Learn more</0>"
634+
"description": "How long to wait for VS Code shell integration before running commands. Raise if your shell starts slowly or you see 'Shell Integration Unavailable' errors. <0>Learn more</0>"
635635
},
636636
"shellIntegrationDisabled": {
637637
"label": "Use Inline Terminal (recommended)",
638-
"description": "Run commands in a background process and stream output in chat (outside the VS Code terminal). Avoids shell profiles and shell integration, improving reliability and preventing 'Shell Integration Unavailable' errors. Recommended. <0>Learn more</0>"
638+
"description": "Run commands in the Inline Terminal (chat) to bypasses shell profiles/integration for faster, more reliable runs. When disabled Roo uses the VS Code terminal with your shell profile, prompts, and plugins. <0>Learn more</0>"
639639
},
640640
"commandDelay": {
641641
"label": "Terminal command delay",
642-
"description": "Adds a small delay after each command to help VS Code terminals flush all output. Set to 0 to disable. Workaround for terminal timing issues; usually not needed. <0>Learn more</0>"
642+
"description": "Adds a short pause after each command so the VS Code terminal can flush all output (bash/zsh: PROMPT_COMMAND sleep; PowerShell: start-sleep). Use only if you see missing tail output; otherwise leave at 0. VS Code terminal only. <0>Learn more</0>"
643643
},
644644
"compressProgressBar": {
645645
"label": "Compress progress bar output",
646-
"description": "Recommended. Processes carriage returns (\\r) and backspaces (\\b) so progress bars and spinners render like a real terminal and only the final state is kept. Saves tokens; disable only when you need to inspect intermediate updates. <0>Learn more</0>"
646+
"description": "Collapses progress bars/spinners so only the final state is kept (saves tokens). <0>Learn more</0>"
647647
},
648648
"powershellCounter": {
649649
"label": "Enable PowerShell counter workaround",
650-
"description": "Adds a small counter to PowerShell commands to work around missing output or repeated-command issues on some setups. <0>Learn more</0>"
650+
"description": "Turn this on when PowerShell output is missing or duplicated; it appends a tiny counter to each command to stabilize output. Keep this off if output already looks correct. <0>Learn more</0>"
651651
},
652652
"zshClearEolMark": {
653653
"label": "Clear ZSH EOL mark",
654-
"description": "Clears ZSH's end-of-line mark (%) so output is parsed correctly. <0>Learn more</0>"
654+
"description": "Turn this on when you see stray % at the end of lines or parsing looks wrong; it omits Zsh’s end‑of‑line mark (%). <0>Learn more</0>"
655655
},
656656
"zshOhMy": {
657657
"label": "Enable Oh My Zsh integration",
658-
"description": "Enables Oh My Zsh shell integration detection. May require restarting the IDE. <0>Learn more</0>"
658+
"description": "Turn this on when your Oh My Zsh theme/plugins expect shell integration; it sets ITERM_SHELL_INTEGRATION_INSTALLED=Yes. Turn this off to avoid setting that variable. VS Code terminal (zsh) only. May require restarting the IDE. <0>Learn more</0>"
659659
},
660660
"zshP10k": {
661661
"label": "Enable Powerlevel10k integration",
662-
"description": "Enables Powerlevel10k shell integration detection. <0>Learn more</0>"
662+
"description": "Turn this on when using Powerlevel10k shell integration. <0>Learn more</0>"
663663
},
664664
"zdotdir": {
665665
"label": "Enable ZDOTDIR handling",
666-
"description": "Uses a temporary ZDOTDIR so VS Code shell integration works with zsh while preserving your config. <0>Learn more</0>"
666+
"description": "Turn this on when zsh shell integration fails or conflicts with your dotfiles.<0>Learn more</0>"
667667
},
668668
"inheritEnv": {
669669
"label": "Inherit environment variables",
670-
"description": "Let the terminal inherit environment variables from the parent VS Code process. Toggles VS Code setting 'terminal.integrated.inheritEnv'. <0>Learn more</0>"
670+
"description": "Turn this to inherit environment variables from the parent VS Code process.<0>Learn more</0>"
671671
}
672672
},
673673
"advancedSettings": {

0 commit comments

Comments
 (0)