mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-04-09 04:41:19 -07:00
fix(core): improve headless mode detection for flags and query args (#18855)
This commit is contained in:
@@ -28,18 +28,25 @@ export interface HeadlessModeOptions {
|
||||
* @returns true if the environment is considered headless.
|
||||
*/
|
||||
export function isHeadlessMode(options?: HeadlessModeOptions): boolean {
|
||||
if (process.env['GEMINI_CLI_INTEGRATION_TEST'] === 'true') {
|
||||
return (
|
||||
!!options?.prompt ||
|
||||
(!!process.stdin && !process.stdin.isTTY) ||
|
||||
(!!process.stdout && !process.stdout.isTTY)
|
||||
);
|
||||
if (process.env['GEMINI_CLI_INTEGRATION_TEST'] !== 'true') {
|
||||
const isCI =
|
||||
process.env['CI'] === 'true' || process.env['GITHUB_ACTIONS'] === 'true';
|
||||
if (isCI) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return (
|
||||
process.env['CI'] === 'true' ||
|
||||
process.env['GITHUB_ACTIONS'] === 'true' ||
|
||||
!!options?.prompt ||
|
||||
|
||||
const isNotTTY =
|
||||
(!!process.stdin && !process.stdin.isTTY) ||
|
||||
(!!process.stdout && !process.stdout.isTTY)
|
||||
(!!process.stdout && !process.stdout.isTTY);
|
||||
|
||||
if (isNotTTY || !!options?.prompt || !!options?.query) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Fallback: check process.argv for flags that imply headless or auto-approve mode.
|
||||
return process.argv.some(
|
||||
(arg) =>
|
||||
arg === '-p' || arg === '--prompt' || arg === '-y' || arg === '--yolo',
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user