diff --git a/packages/cli/src/gemini.tsx b/packages/cli/src/gemini.tsx index 04a370d7e9..c6d5b7768b 100644 --- a/packages/cli/src/gemini.tsx +++ b/packages/cli/src/gemini.tsx @@ -271,6 +271,7 @@ export async function main() { const isDebugMode = cliConfig.isDebugMode(argv); const consolePatcher = new ConsolePatcher({ stderr: true, + suppressConsoleOutput: true, debugMode: isDebugMode, onNewMessage: (msg) => { coreEvents.emitConsoleLog(msg.type, msg.content); diff --git a/packages/cli/src/nonInteractiveCli.test.ts b/packages/cli/src/nonInteractiveCli.test.ts index 206d011e63..fb3095a04c 100644 --- a/packages/cli/src/nonInteractiveCli.test.ts +++ b/packages/cli/src/nonInteractiveCli.test.ts @@ -513,7 +513,7 @@ describe('runNonInteractive', () => { .mockReturnValueOnce(createStreamFromEvents(finalResponse)); await runNonInteractive({ - config: mockConfig, + config: { ...mockConfig, getDebugMode: () => true } as Config, settings: mockSettings, input: 'Trigger tool error', prompt_id: 'prompt-id-3', @@ -608,7 +608,7 @@ describe('runNonInteractive', () => { .mockReturnValueOnce(createStreamFromEvents(finalResponse)); await runNonInteractive({ - config: mockConfig, + config: { ...mockConfig, getDebugMode: () => true } as Config, settings: mockSettings, input: 'Trigger tool not found', prompt_id: 'prompt-id-5', diff --git a/packages/cli/src/nonInteractiveCli.ts b/packages/cli/src/nonInteractiveCli.ts index 891e3d0ee9..4c53913fdc 100644 --- a/packages/cli/src/nonInteractiveCli.ts +++ b/packages/cli/src/nonInteractiveCli.ts @@ -65,6 +65,7 @@ export async function runNonInteractive({ return promptIdContext.run(prompt_id, async () => { const consolePatcher = new ConsolePatcher({ stderr: true, + suppressConsoleOutput: true, debugMode: config.getDebugMode(), onNewMessage: (msg) => { coreEvents.emitConsoleLog(msg.type, msg.content); diff --git a/packages/cli/src/ui/utils/ConsolePatcher.ts b/packages/cli/src/ui/utils/ConsolePatcher.ts index 3674c5614e..2da3b4e612 100644 --- a/packages/cli/src/ui/utils/ConsolePatcher.ts +++ b/packages/cli/src/ui/utils/ConsolePatcher.ts @@ -13,6 +13,7 @@ interface ConsolePatcherParams { onNewMessage?: (message: Omit) => void; debugMode: boolean; stderr?: boolean; + suppressConsoleOutput?: boolean; } export class ConsolePatcher { @@ -49,6 +50,10 @@ export class ConsolePatcher { private patchConsoleMethod = (type: 'log' | 'warn' | 'error' | 'debug' | 'info') => (...args: unknown[]) => { + if (this.params.suppressConsoleOutput && !this.params.debugMode) { + return; + } + if (this.params.stderr) { if (type !== 'debug' || this.params.debugMode) { this.originalConsoleError(this.formatArgs(args));