From fbc79c34c9eb05dcefa4618a6863360ec2b46277 Mon Sep 17 00:00:00 2001 From: Allen Hutchison Date: Wed, 18 Jun 2025 11:40:15 -0700 Subject: [PATCH] Fix noise in headless mode on STDOUT (#1184) --- packages/cli/src/gemini.tsx | 2 +- packages/cli/src/nonInteractiveCli.ts | 5 +++++ packages/cli/src/utils/sandbox.ts | 1 + packages/core/src/utils/gitIgnoreParser.ts | 3 ++- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/gemini.tsx b/packages/cli/src/gemini.tsx index 148f18bf..d87a8a6a 100644 --- a/packages/cli/src/gemini.tsx +++ b/packages/cli/src/gemini.tsx @@ -30,7 +30,6 @@ import { export async function main() { const workspaceRoot = process.cwd(); const settings = loadSettings(workspaceRoot); - setWindowTitle(basename(workspaceRoot), settings); await cleanupCheckpoints(); if (settings.errors.length > 0) { @@ -84,6 +83,7 @@ export async function main() { // Render UI, passing necessary config values. Check that there is no command line question. if (process.stdin.isTTY && input?.length === 0) { + setWindowTitle(basename(workspaceRoot), settings); render( 0 ) { + // We are running in headless mode so we don't need to return thoughts to STDOUT. + const thoughtPart = candidate.content.parts[0]; + if (thoughtPart?.thought) { + return null; + } return candidate.content.parts .filter((part) => part.text) .map((part) => part.text) diff --git a/packages/cli/src/utils/sandbox.ts b/packages/cli/src/utils/sandbox.ts index 9e9ab1a7..48386357 100644 --- a/packages/cli/src/utils/sandbox.ts +++ b/packages/cli/src/utils/sandbox.ts @@ -203,6 +203,7 @@ export async function start_sandbox(config: SandboxConfig) { ); process.exit(1); } + // Log on STDERR so it doesn't clutter the output on STDOUT console.error(`using macos seatbelt (profile: ${profile}) ...`); // if DEBUG is set, convert to --inspect-brk in NODE_OPTIONS const args = [ diff --git a/packages/core/src/utils/gitIgnoreParser.ts b/packages/core/src/utils/gitIgnoreParser.ts index 69797282..caa11f8b 100644 --- a/packages/core/src/utils/gitIgnoreParser.ts +++ b/packages/core/src/utils/gitIgnoreParser.ts @@ -49,7 +49,8 @@ export class GitIgnoreParser implements GitIgnoreFilter { .map((p) => p.trim()) .filter((p) => p !== '' && !p.startsWith('#')); if (patterns.length > 0) { - console.log( + // Log the number of patterns loaded on STDERR so it doesn't clutter the output on STDOUT + console.error( `Loaded ${patterns.length} patterns from ${patternsFilePath}`, ); }