diff --git a/docs/get-started/configuration.md b/docs/get-started/configuration.md index a6e0d68f34..edc0566749 100644 --- a/docs/get-started/configuration.md +++ b/docs/get-started/configuration.md @@ -621,6 +621,11 @@ their corresponding top-level category object in your `settings.json` file. shell command. Defaults to 5 minutes. - **Default:** `300` +- **`tools.shell.enableShellOutputEfficiency`** (boolean): + - **Description:** Enable shell output efficiency optimizations for better + performance. + - **Default:** `true` + - **`tools.autoAccept`** (boolean): - **Description:** Automatically accept and execute tool calls that are considered safe (e.g., read-only operations). diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts index 21a9c14fcd..2ae3713298 100755 --- a/packages/cli/src/config/config.ts +++ b/packages/cli/src/config/config.ts @@ -682,6 +682,8 @@ export async function loadCliConfig( enableInteractiveShell: settings.tools?.shell?.enableInteractiveShell ?? true, shellToolInactivityTimeout: settings.tools?.shell?.inactivityTimeout, + enableShellOutputEfficiency: + settings.tools?.shell?.enableShellOutputEfficiency ?? true, skipNextSpeakerCheck: settings.model?.skipNextSpeakerCheck, enablePromptCompletion: settings.general?.enablePromptCompletion ?? false, truncateToolOutputThreshold: settings.tools?.truncateToolOutputThreshold, diff --git a/packages/cli/src/config/settingsSchema.ts b/packages/cli/src/config/settingsSchema.ts index 15f0df7f9d..30298672f0 100644 --- a/packages/cli/src/config/settingsSchema.ts +++ b/packages/cli/src/config/settingsSchema.ts @@ -953,6 +953,16 @@ const SETTINGS_SCHEMA = { 'The maximum time in seconds allowed without output from the shell command. Defaults to 5 minutes.', showInDialog: false, }, + enableShellOutputEfficiency: { + type: 'boolean', + label: 'Enable Shell Output Efficiency', + category: 'Tools', + requiresRestart: false, + default: true, + description: + 'Enable shell output efficiency optimizations for better performance.', + showInDialog: false, + }, }, }, autoAccept: { diff --git a/schemas/settings.schema.json b/schemas/settings.schema.json index 220e93538c..dc496d2cfe 100644 --- a/schemas/settings.schema.json +++ b/schemas/settings.schema.json @@ -1043,6 +1043,13 @@ "markdownDescription": "The maximum time in seconds allowed without output from the shell command. Defaults to 5 minutes.\n\n- Category: `Tools`\n- Requires restart: `no`\n- Default: `300`", "default": 300, "type": "number" + }, + "enableShellOutputEfficiency": { + "title": "Enable Shell Output Efficiency", + "description": "Enable shell output efficiency optimizations for better performance.", + "markdownDescription": "Enable shell output efficiency optimizations for better performance.\n\n- Category: `Tools`\n- Requires restart: `no`\n- Default: `true`", + "default": true, + "type": "boolean" } }, "additionalProperties": false