@google/gemini-cli-core 0.34.0-preview.3 → 0.35.0-nightly.20260314.3038fdce2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docs/changelogs/index.md +19 -0
- package/dist/docs/changelogs/latest.md +217 -191
- package/dist/docs/changelogs/preview.md +447 -184
- package/dist/docs/cli/model-routing.md +18 -1
- package/dist/docs/cli/model-steering.md +79 -0
- package/dist/docs/cli/plan-mode.md +99 -14
- package/dist/docs/cli/settings.md +14 -12
- package/dist/docs/cli/telemetry.md +45 -0
- package/dist/docs/cli/tutorials/plan-mode-steering.md +89 -0
- package/dist/docs/core/index.md +2 -0
- package/dist/docs/core/local-model-routing.md +193 -0
- package/dist/docs/reference/configuration.md +27 -3
- package/dist/docs/reference/keyboard-shortcuts.md +168 -90
- package/dist/docs/reference/policy-engine.md +30 -6
- package/dist/docs/resources/troubleshooting.md +15 -0
- package/dist/docs/sidebar.json +10 -0
- package/dist/docs/tools/shell.md +8 -0
- package/dist/google-gemini-cli-core-0.35.0-nightly.20260311.657f19c1f.tgz +0 -0
- package/dist/src/agents/a2a-client-manager.d.ts +11 -4
- package/dist/src/agents/a2a-client-manager.js +61 -34
- package/dist/src/agents/a2a-client-manager.js.map +1 -1
- package/dist/src/agents/a2a-client-manager.test.js +178 -115
- package/dist/src/agents/a2a-client-manager.test.js.map +1 -1
- package/dist/src/agents/a2aUtils.d.ts +4 -28
- package/dist/src/agents/a2aUtils.js +20 -181
- package/dist/src/agents/a2aUtils.js.map +1 -1
- package/dist/src/agents/a2aUtils.test.js +19 -106
- package/dist/src/agents/a2aUtils.test.js.map +1 -1
- package/dist/src/agents/agent-scheduler.d.ts +2 -0
- package/dist/src/agents/agent-scheduler.js +3 -2
- package/dist/src/agents/agent-scheduler.js.map +1 -1
- package/dist/src/agents/agent-scheduler.test.js +12 -3
- package/dist/src/agents/agent-scheduler.test.js.map +1 -1
- package/dist/src/agents/agentLoader.d.ts +2 -2
- package/dist/src/agents/agentLoader.js +15 -0
- package/dist/src/agents/agentLoader.js.map +1 -1
- package/dist/src/agents/auth-provider/factory.d.ts +2 -0
- package/dist/src/agents/auth-provider/factory.js +6 -3
- package/dist/src/agents/auth-provider/factory.js.map +1 -1
- package/dist/src/agents/auth-provider/google-credentials-provider.d.ts +26 -0
- package/dist/src/agents/auth-provider/google-credentials-provider.js +117 -0
- package/dist/src/agents/auth-provider/google-credentials-provider.js.map +1 -0
- package/dist/src/agents/auth-provider/google-credentials-provider.test.d.ts +6 -0
- package/dist/src/agents/auth-provider/google-credentials-provider.test.js +126 -0
- package/dist/src/agents/auth-provider/google-credentials-provider.test.js.map +1 -0
- package/dist/src/agents/browser/browserAgentFactory.js +11 -2
- package/dist/src/agents/browser/browserAgentFactory.js.map +1 -1
- package/dist/src/agents/browser/browserAgentInvocation.d.ts +4 -3
- package/dist/src/agents/browser/browserAgentInvocation.js +10 -4
- package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
- package/dist/src/agents/browser/browserAgentInvocation.test.js +1 -0
- package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -1
- package/dist/src/agents/browser/browserManager.d.ts +10 -0
- package/dist/src/agents/browser/browserManager.js +53 -8
- package/dist/src/agents/browser/browserManager.js.map +1 -1
- package/dist/src/agents/browser/inputBlocker.d.ts +51 -0
- package/dist/src/agents/browser/inputBlocker.js +234 -0
- package/dist/src/agents/browser/inputBlocker.js.map +1 -0
- package/dist/src/agents/browser/inputBlocker.test.d.ts +6 -0
- package/dist/src/agents/browser/inputBlocker.test.js +82 -0
- package/dist/src/agents/browser/inputBlocker.test.js.map +1 -0
- package/dist/src/agents/browser/mcpToolWrapper.d.ts +3 -2
- package/dist/src/agents/browser/mcpToolWrapper.js +49 -8
- package/dist/src/agents/browser/mcpToolWrapper.js.map +1 -1
- package/dist/src/agents/browser/mcpToolWrapper.test.js +51 -0
- package/dist/src/agents/browser/mcpToolWrapper.test.js.map +1 -1
- package/dist/src/agents/local-executor.d.ts +5 -4
- package/dist/src/agents/local-executor.js +30 -25
- package/dist/src/agents/local-executor.js.map +1 -1
- package/dist/src/agents/local-executor.test.js +269 -3
- package/dist/src/agents/local-executor.test.js.map +1 -1
- package/dist/src/agents/local-invocation.d.ts +4 -4
- package/dist/src/agents/local-invocation.js +12 -9
- package/dist/src/agents/local-invocation.js.map +1 -1
- package/dist/src/agents/local-invocation.test.js +19 -3
- package/dist/src/agents/local-invocation.test.js.map +1 -1
- package/dist/src/agents/registry.js +3 -2
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/agents/registry.test.js +1 -0
- package/dist/src/agents/registry.test.js.map +1 -1
- package/dist/src/agents/remote-invocation.d.ts +0 -9
- package/dist/src/agents/remote-invocation.js +1 -28
- package/dist/src/agents/remote-invocation.js.map +1 -1
- package/dist/src/agents/remote-invocation.test.js +1 -0
- package/dist/src/agents/remote-invocation.test.js.map +1 -1
- package/dist/src/agents/subagent-tool-wrapper.d.ts +5 -4
- package/dist/src/agents/subagent-tool-wrapper.js +9 -5
- package/dist/src/agents/subagent-tool-wrapper.js.map +1 -1
- package/dist/src/agents/subagent-tool-wrapper.test.js +15 -1
- package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -1
- package/dist/src/agents/subagent-tool.d.ts +3 -3
- package/dist/src/agents/subagent-tool.js +16 -12
- package/dist/src/agents/subagent-tool.js.map +1 -1
- package/dist/src/agents/subagent-tool.test.js +13 -3
- package/dist/src/agents/subagent-tool.test.js.map +1 -1
- package/dist/src/code_assist/oauth2.js +0 -1
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/server.js +2 -2
- package/dist/src/code_assist/server.js.map +1 -1
- package/dist/src/code_assist/server.test.js +5 -1
- package/dist/src/code_assist/server.test.js.map +1 -1
- package/dist/src/code_assist/telemetry.d.ts +2 -2
- package/dist/src/code_assist/telemetry.js +5 -3
- package/dist/src/code_assist/telemetry.js.map +1 -1
- package/dist/src/code_assist/telemetry.test.js +14 -12
- package/dist/src/code_assist/telemetry.test.js.map +1 -1
- package/dist/src/code_assist/types.d.ts +14 -12
- package/dist/src/code_assist/types.js.map +1 -1
- package/dist/src/config/agent-loop-context.d.ts +3 -0
- package/dist/src/config/config.d.ts +75 -2
- package/dist/src/config/config.js +78 -11
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +170 -10
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/models.d.ts +14 -0
- package/dist/src/config/models.js +37 -0
- package/dist/src/config/models.js.map +1 -1
- package/dist/src/config/models.test.js +51 -1
- package/dist/src/config/models.test.js.map +1 -1
- package/dist/src/config/storage.d.ts +1 -0
- package/dist/src/config/storage.js +3 -0
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/core/baseLlmClient.js +19 -3
- package/dist/src/core/baseLlmClient.js.map +1 -1
- package/dist/src/core/baseLlmClient.test.js +2 -0
- package/dist/src/core/baseLlmClient.test.js.map +1 -1
- package/dist/src/core/client.d.ts +4 -3
- package/dist/src/core/client.js +42 -17
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +8 -0
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/contentGenerator.d.ts +1 -0
- package/dist/src/core/contentGenerator.js +35 -3
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/contentGenerator.test.js +137 -2
- package/dist/src/core/contentGenerator.test.js.map +1 -1
- package/dist/src/core/coreToolHookTriggers.d.ts +2 -3
- package/dist/src/core/coreToolHookTriggers.js +5 -11
- package/dist/src/core/coreToolHookTriggers.js.map +1 -1
- package/dist/src/core/coreToolHookTriggers.test.js +24 -0
- package/dist/src/core/coreToolHookTriggers.test.js.map +1 -1
- package/dist/src/core/coreToolScheduler.js +1 -1
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/geminiChat.js +31 -21
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +6 -4
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/geminiChat_network_retry.test.js +21 -11
- package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
- package/dist/src/fallback/handler.js +0 -4
- package/dist/src/fallback/handler.js.map +1 -1
- package/dist/src/fallback/handler.test.js +0 -6
- package/dist/src/fallback/handler.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/ide/detect-ide.d.ts +8 -0
- package/dist/src/ide/detect-ide.js +12 -1
- package/dist/src/ide/detect-ide.js.map +1 -1
- package/dist/src/ide/detect-ide.test.js +12 -0
- package/dist/src/ide/detect-ide.test.js.map +1 -1
- package/dist/src/ide/ide-installer.js +20 -8
- package/dist/src/ide/ide-installer.js.map +1 -1
- package/dist/src/ide/ide-installer.test.js +60 -4
- package/dist/src/ide/ide-installer.test.js.map +1 -1
- package/dist/src/mcp/oauth-provider.js +0 -2
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/mcp/oauth-token-storage.test.js +6 -10
- package/dist/src/mcp/oauth-token-storage.test.js.map +1 -1
- package/dist/src/mcp/oauth-utils.js +0 -2
- package/dist/src/mcp/oauth-utils.js.map +1 -1
- package/dist/src/mcp/token-storage/file-token-storage.d.ts +24 -0
- package/dist/src/mcp/token-storage/file-token-storage.js +152 -0
- package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -0
- package/dist/src/mcp/token-storage/file-token-storage.test.d.ts +6 -0
- package/dist/src/mcp/token-storage/file-token-storage.test.js +276 -0
- package/dist/src/mcp/token-storage/file-token-storage.test.js.map +1 -0
- package/dist/src/mcp/token-storage/hybrid-token-storage.js +21 -9
- package/dist/src/mcp/token-storage/hybrid-token-storage.js.map +1 -1
- package/dist/src/mcp/token-storage/hybrid-token-storage.test.js +59 -10
- package/dist/src/mcp/token-storage/hybrid-token-storage.test.js.map +1 -1
- package/dist/src/mcp/token-storage/index.d.ts +1 -1
- package/dist/src/mcp/token-storage/index.js +1 -1
- package/dist/src/mcp/token-storage/index.js.map +1 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.d.ts +0 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.js +0 -3
- package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
- package/dist/src/policy/config.d.ts +14 -2
- package/dist/src/policy/config.js +94 -49
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/policy/config.test.js +208 -488
- package/dist/src/policy/config.test.js.map +1 -1
- package/dist/src/policy/policies/plan.toml +1 -1
- package/dist/src/policy/stable-stringify.js +15 -5
- package/dist/src/policy/stable-stringify.js.map +1 -1
- package/dist/src/policy/types.d.ts +1 -0
- package/dist/src/policy/types.js.map +1 -1
- package/dist/src/policy/utils.d.ts +17 -0
- package/dist/src/policy/utils.js +27 -7
- package/dist/src/policy/utils.js.map +1 -1
- package/dist/src/prompts/snippets.js +2 -1
- package/dist/src/prompts/snippets.js.map +1 -1
- package/dist/src/prompts/utils.test.d.ts +6 -0
- package/dist/src/prompts/utils.test.js +225 -0
- package/dist/src/prompts/utils.test.js.map +1 -0
- package/dist/src/routing/modelRouterService.js +2 -2
- package/dist/src/routing/modelRouterService.js.map +1 -1
- package/dist/src/routing/modelRouterService.test.js +4 -3
- package/dist/src/routing/modelRouterService.test.js.map +1 -1
- package/dist/src/routing/strategies/numericalClassifierStrategy.js +6 -40
- package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
- package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +29 -64
- package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +1 -1
- package/dist/src/scheduler/policy.d.ts +3 -7
- package/dist/src/scheduler/policy.js +4 -3
- package/dist/src/scheduler/policy.js.map +1 -1
- package/dist/src/scheduler/policy.test.js +51 -31
- package/dist/src/scheduler/policy.test.js.map +1 -1
- package/dist/src/scheduler/scheduler.d.ts +4 -2
- package/dist/src/scheduler/scheduler.js +19 -16
- package/dist/src/scheduler/scheduler.js.map +1 -1
- package/dist/src/scheduler/scheduler.test.js +33 -10
- package/dist/src/scheduler/scheduler.test.js.map +1 -1
- package/dist/src/scheduler/scheduler_parallel.test.js +40 -2
- package/dist/src/scheduler/scheduler_parallel.test.js.map +1 -1
- package/dist/src/scheduler/scheduler_waiting_callback.test.js +1 -1
- package/dist/src/scheduler/scheduler_waiting_callback.test.js.map +1 -1
- package/dist/src/scheduler/tool-executor.d.ts +3 -3
- package/dist/src/scheduler/tool-executor.js +15 -21
- package/dist/src/scheduler/tool-executor.js.map +1 -1
- package/dist/src/scheduler/tool-executor.test.js +43 -8
- package/dist/src/scheduler/tool-executor.test.js.map +1 -1
- package/dist/src/services/chatRecordingService.js +2 -1
- package/dist/src/services/chatRecordingService.js.map +1 -1
- package/dist/src/services/chatRecordingService.test.js +21 -0
- package/dist/src/services/chatRecordingService.test.js.map +1 -1
- package/dist/src/services/executionLifecycleService.d.ts +83 -0
- package/dist/src/services/executionLifecycleService.js +271 -0
- package/dist/src/services/executionLifecycleService.js.map +1 -0
- package/dist/src/services/executionLifecycleService.test.d.ts +6 -0
- package/dist/src/services/executionLifecycleService.test.js +227 -0
- package/dist/src/services/executionLifecycleService.test.js.map +1 -0
- package/dist/src/services/keychainService.d.ts +0 -5
- package/dist/src/services/keychainService.js +13 -30
- package/dist/src/services/keychainService.js.map +1 -1
- package/dist/src/services/keychainService.test.js +22 -52
- package/dist/src/services/keychainService.test.js.map +1 -1
- package/dist/src/services/sandboxManager.d.ts +54 -0
- package/dist/src/services/sandboxManager.js +30 -0
- package/dist/src/services/sandboxManager.js.map +1 -0
- package/dist/src/services/sandboxManager.test.d.ts +6 -0
- package/dist/src/services/sandboxManager.test.js +95 -0
- package/dist/src/services/sandboxManager.test.js.map +1 -0
- package/dist/src/services/shellExecutionService.d.ts +4 -52
- package/dist/src/services/shellExecutionService.js +437 -498
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +10 -21
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +13 -2
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +91 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +77 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +10 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +25 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +3 -3
- package/dist/src/telemetry/index.js +3 -3
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +2 -1
- package/dist/src/telemetry/loggers.js +32 -1
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +37 -2
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +13 -0
- package/dist/src/telemetry/metrics.js +17 -0
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/startupProfiler.js +4 -4
- package/dist/src/telemetry/startupProfiler.js.map +1 -1
- package/dist/src/telemetry/startupProfiler.test.js +19 -0
- package/dist/src/telemetry/startupProfiler.test.js.map +1 -1
- package/dist/src/telemetry/telemetry-utils.test.js +3 -3
- package/dist/src/telemetry/types.d.ts +16 -2
- package/dist/src/telemetry/types.js +34 -0
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.d.ts +7 -0
- package/dist/src/telemetry/uiTelemetry.js +78 -0
- package/dist/src/telemetry/uiTelemetry.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.test.js +101 -0
- package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
- package/dist/src/tools/exit-plan-mode.js +10 -2
- package/dist/src/tools/exit-plan-mode.js.map +1 -1
- package/dist/src/tools/exit-plan-mode.test.js +15 -0
- package/dist/src/tools/exit-plan-mode.test.js.map +1 -1
- package/dist/src/tools/ls.js +2 -2
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/mcp-client.js +0 -1
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +4 -0
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/mcp-tool.test.js +10 -1
- package/dist/src/tools/mcp-tool.test.js.map +1 -1
- package/dist/src/tools/read-many-files.js +2 -4
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/shell.d.ts +1 -1
- package/dist/src/tools/shell.js +3 -3
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/tool-registry.test.js +4 -0
- package/dist/src/tools/tool-registry.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +34 -1
- package/dist/src/tools/tools.js +47 -1
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/web-fetch.d.ts +5 -0
- package/dist/src/tools/web-fetch.js +177 -100
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-fetch.test.js +130 -26
- package/dist/src/tools/web-fetch.test.js.map +1 -1
- package/dist/src/tools/web-search.test.js +2 -0
- package/dist/src/tools/web-search.test.js.map +1 -1
- package/dist/src/utils/fetch.d.ts +0 -29
- package/dist/src/utils/fetch.js +10 -123
- package/dist/src/utils/fetch.js.map +1 -1
- package/dist/src/utils/fetch.test.js +1 -103
- package/dist/src/utils/fetch.test.js.map +1 -1
- package/dist/src/utils/language-detection.js +96 -89
- package/dist/src/utils/language-detection.js.map +1 -1
- package/dist/src/utils/language-detection.test.d.ts +6 -0
- package/dist/src/utils/language-detection.test.js +39 -0
- package/dist/src/utils/language-detection.test.js.map +1 -0
- package/dist/src/utils/oauth-flow.js +0 -2
- package/dist/src/utils/oauth-flow.js.map +1 -1
- package/dist/src/utils/paths.js +5 -2
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/src/utils/paths.test.js +11 -0
- package/dist/src/utils/paths.test.js.map +1 -1
- package/dist/src/utils/process-utils.js +18 -4
- package/dist/src/utils/process-utils.js.map +1 -1
- package/dist/src/utils/process-utils.test.js +32 -10
- package/dist/src/utils/process-utils.test.js.map +1 -1
- package/dist/src/utils/retry.d.ts +7 -0
- package/dist/src/utils/retry.js +40 -3
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +13 -0
- package/dist/src/utils/retry.test.js.map +1 -1
- package/dist/src/utils/summarizer.test.js +5 -0
- package/dist/src/utils/summarizer.test.js.map +1 -1
- package/dist/src/utils/surface.d.ts +18 -0
- package/dist/src/utils/surface.js +46 -0
- package/dist/src/utils/surface.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/google-gemini-cli-core-0.34.0-preview.2.tgz +0 -0
- package/dist/src/services/fileKeychain.d.ts +0 -24
- package/dist/src/services/fileKeychain.js +0 -123
- package/dist/src/services/fileKeychain.js.map +0 -1
|
@@ -92,6 +92,13 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
92
92
|
- **Default:** `[]`
|
|
93
93
|
- **Requires restart:** Yes
|
|
94
94
|
|
|
95
|
+
#### `adminPolicyPaths`
|
|
96
|
+
|
|
97
|
+
- **`adminPolicyPaths`** (array):
|
|
98
|
+
- **Description:** Additional admin policy files or directories to load.
|
|
99
|
+
- **Default:** `[]`
|
|
100
|
+
- **Requires restart:** Yes
|
|
101
|
+
|
|
95
102
|
#### `general`
|
|
96
103
|
|
|
97
104
|
- **`general.preferredEditor`** (string):
|
|
@@ -105,7 +112,8 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
105
112
|
- **`general.defaultApprovalMode`** (enum):
|
|
106
113
|
- **Description:** The default approval mode for tool execution. 'default'
|
|
107
114
|
prompts for approval, 'auto_edit' auto-approves edit tools, and 'plan' is
|
|
108
|
-
read-only mode.
|
|
115
|
+
read-only mode. YOLO mode (auto-approve all actions) can only be enabled via
|
|
116
|
+
command line (--yolo or --approval-mode=yolo).
|
|
109
117
|
- **Default:** `"default"`
|
|
110
118
|
- **Values:** `"default"`, `"auto_edit"`, `"plan"`
|
|
111
119
|
|
|
@@ -146,7 +154,7 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
146
154
|
- **`general.retryFetchErrors`** (boolean):
|
|
147
155
|
- **Description:** Retry on "exception TypeError: fetch failed sending
|
|
148
156
|
request" errors.
|
|
149
|
-
- **Default:** `
|
|
157
|
+
- **Default:** `true`
|
|
150
158
|
|
|
151
159
|
- **`general.maxAttempts`** (number):
|
|
152
160
|
- **Description:** Maximum number of attempts for requests to the main chat
|
|
@@ -237,6 +245,11 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
237
245
|
- **Description:** Hide helpful tips in the UI
|
|
238
246
|
- **Default:** `false`
|
|
239
247
|
|
|
248
|
+
- **`ui.escapePastedAtSymbols`** (boolean):
|
|
249
|
+
- **Description:** When enabled, @ symbols in pasted text are escaped to
|
|
250
|
+
prevent unintended @path expansion.
|
|
251
|
+
- **Default:** `false`
|
|
252
|
+
|
|
240
253
|
- **`ui.showShortcutsHint`** (boolean):
|
|
241
254
|
- **Description:** Show the "? for shortcuts" hint above the input.
|
|
242
255
|
- **Default:** `true`
|
|
@@ -693,6 +706,10 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
693
706
|
- **Default:** `undefined`
|
|
694
707
|
- **Requires restart:** Yes
|
|
695
708
|
|
|
709
|
+
- **`agents.browser.disableUserInput`** (boolean):
|
|
710
|
+
- **Description:** Disable user input on browser window during automation.
|
|
711
|
+
- **Default:** `true`
|
|
712
|
+
|
|
696
713
|
#### `context`
|
|
697
714
|
|
|
698
715
|
- **`context.fileName`** (string | string[]):
|
|
@@ -755,7 +772,7 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
755
772
|
|
|
756
773
|
#### `tools`
|
|
757
774
|
|
|
758
|
-
- **`tools.sandbox`** (
|
|
775
|
+
- **`tools.sandbox`** (string):
|
|
759
776
|
- **Description:** Sandbox execution environment. Set to a boolean to enable
|
|
760
777
|
or disable the sandbox, provide a string path to a sandbox profile, or
|
|
761
778
|
specify an explicit sandbox command (e.g., "docker", "podman", "lxc").
|
|
@@ -1376,6 +1393,13 @@ the `advanced.excludedEnvVars` setting in your `settings.json` file.
|
|
|
1376
1393
|
- Useful for shared compute environments or keeping CLI state isolated.
|
|
1377
1394
|
- Example: `export GEMINI_CLI_HOME="/path/to/user/config"` (Windows
|
|
1378
1395
|
PowerShell: `$env:GEMINI_CLI_HOME="C:\path\to\user\config"`)
|
|
1396
|
+
- **`GEMINI_CLI_SURFACE`**:
|
|
1397
|
+
- Specifies a custom label to include in the `User-Agent` header for API
|
|
1398
|
+
traffic reporting.
|
|
1399
|
+
- This is useful for tracking specific internal tools or distribution
|
|
1400
|
+
channels.
|
|
1401
|
+
- Example: `export GEMINI_CLI_SURFACE="my-custom-tool"` (Windows PowerShell:
|
|
1402
|
+
`$env:GEMINI_CLI_SURFACE="my-custom-tool"`)
|
|
1379
1403
|
- **`GOOGLE_API_KEY`**:
|
|
1380
1404
|
- Your Google Cloud API key.
|
|
1381
1405
|
- Required for using Vertex AI in express mode.
|
|
@@ -8,126 +8,201 @@ available combinations.
|
|
|
8
8
|
|
|
9
9
|
#### Basic Controls
|
|
10
10
|
|
|
11
|
-
| Action | Keys |
|
|
12
|
-
| --------------------------------------------------------------- | ------------------- |
|
|
13
|
-
| Confirm the current selection or choice. | `Enter` |
|
|
14
|
-
| Dismiss dialogs or cancel the current focus. | `Esc`<br />`Ctrl+[` |
|
|
15
|
-
| Cancel the current request or quit the CLI when input is empty. | `Ctrl+C` |
|
|
16
|
-
| Exit the CLI when the input buffer is empty. | `Ctrl+D` |
|
|
11
|
+
| Command | Action | Keys |
|
|
12
|
+
| --------------- | --------------------------------------------------------------- | ------------------- |
|
|
13
|
+
| `basic.confirm` | Confirm the current selection or choice. | `Enter` |
|
|
14
|
+
| `basic.cancel` | Dismiss dialogs or cancel the current focus. | `Esc`<br />`Ctrl+[` |
|
|
15
|
+
| `basic.quit` | Cancel the current request or quit the CLI when input is empty. | `Ctrl+C` |
|
|
16
|
+
| `basic.exit` | Exit the CLI when the input buffer is empty. | `Ctrl+D` |
|
|
17
17
|
|
|
18
18
|
#### Cursor Movement
|
|
19
19
|
|
|
20
|
-
| Action | Keys |
|
|
21
|
-
| ------------------------------------------- | ------------------------------------------ |
|
|
22
|
-
| Move the cursor to the start of the line. | `Ctrl+A`<br />`Home` |
|
|
23
|
-
| Move the cursor to the end of the line. | `Ctrl+E`<br />`End` |
|
|
24
|
-
| Move the cursor up one line. | `Up` |
|
|
25
|
-
| Move the cursor down one line. | `Down` |
|
|
26
|
-
| Move the cursor one character to the left. | `Left` |
|
|
27
|
-
| Move the cursor one character to the right. | `Right`<br />`Ctrl+F` |
|
|
28
|
-
| Move the cursor one word to the left. | `Ctrl+Left`<br />`Alt+Left`<br />`Alt+B` |
|
|
29
|
-
| Move the cursor one word to the right. | `Ctrl+Right`<br />`Alt+Right`<br />`Alt+F` |
|
|
20
|
+
| Command | Action | Keys |
|
|
21
|
+
| ------------------ | ------------------------------------------- | ------------------------------------------ |
|
|
22
|
+
| `cursor.home` | Move the cursor to the start of the line. | `Ctrl+A`<br />`Home` |
|
|
23
|
+
| `cursor.end` | Move the cursor to the end of the line. | `Ctrl+E`<br />`End` |
|
|
24
|
+
| `cursor.up` | Move the cursor up one line. | `Up` |
|
|
25
|
+
| `cursor.down` | Move the cursor down one line. | `Down` |
|
|
26
|
+
| `cursor.left` | Move the cursor one character to the left. | `Left` |
|
|
27
|
+
| `cursor.right` | Move the cursor one character to the right. | `Right`<br />`Ctrl+F` |
|
|
28
|
+
| `cursor.wordLeft` | Move the cursor one word to the left. | `Ctrl+Left`<br />`Alt+Left`<br />`Alt+B` |
|
|
29
|
+
| `cursor.wordRight` | Move the cursor one word to the right. | `Ctrl+Right`<br />`Alt+Right`<br />`Alt+F` |
|
|
30
30
|
|
|
31
31
|
#### Editing
|
|
32
32
|
|
|
33
|
-
| Action | Keys |
|
|
34
|
-
| ------------------------------------------------ | -------------------------------------------------------- |
|
|
35
|
-
| Delete from the cursor to the end of the line. | `Ctrl+K` |
|
|
36
|
-
| Delete from the cursor to the start of the line. | `Ctrl+U` |
|
|
37
|
-
| Clear all text in the input field. | `Ctrl+C` |
|
|
38
|
-
| Delete the previous word. | `Ctrl+Backspace`<br />`Alt+Backspace`<br />`Ctrl+W` |
|
|
39
|
-
| Delete the next word. | `Ctrl+Delete`<br />`Alt+Delete`<br />`Alt+D` |
|
|
40
|
-
| Delete the character to the left. | `Backspace`<br />`Ctrl+H` |
|
|
41
|
-
| Delete the character to the right. | `Delete`<br />`Ctrl+D` |
|
|
42
|
-
| Undo the most recent text edit. | `Cmd/Win+Z`<br />`Alt+Z` |
|
|
43
|
-
| Redo the most recent undone text edit. | `Ctrl+Shift+Z`<br />`Shift+Cmd/Win+Z`<br />`Alt+Shift+Z` |
|
|
33
|
+
| Command | Action | Keys |
|
|
34
|
+
| ---------------------- | ------------------------------------------------ | -------------------------------------------------------- |
|
|
35
|
+
| `edit.deleteRightAll` | Delete from the cursor to the end of the line. | `Ctrl+K` |
|
|
36
|
+
| `edit.deleteLeftAll` | Delete from the cursor to the start of the line. | `Ctrl+U` |
|
|
37
|
+
| `edit.clear` | Clear all text in the input field. | `Ctrl+C` |
|
|
38
|
+
| `edit.deleteWordLeft` | Delete the previous word. | `Ctrl+Backspace`<br />`Alt+Backspace`<br />`Ctrl+W` |
|
|
39
|
+
| `edit.deleteWordRight` | Delete the next word. | `Ctrl+Delete`<br />`Alt+Delete`<br />`Alt+D` |
|
|
40
|
+
| `edit.deleteLeft` | Delete the character to the left. | `Backspace`<br />`Ctrl+H` |
|
|
41
|
+
| `edit.deleteRight` | Delete the character to the right. | `Delete`<br />`Ctrl+D` |
|
|
42
|
+
| `edit.undo` | Undo the most recent text edit. | `Cmd/Win+Z`<br />`Alt+Z` |
|
|
43
|
+
| `edit.redo` | Redo the most recent undone text edit. | `Ctrl+Shift+Z`<br />`Shift+Cmd/Win+Z`<br />`Alt+Shift+Z` |
|
|
44
44
|
|
|
45
45
|
#### Scrolling
|
|
46
46
|
|
|
47
|
-
| Action | Keys |
|
|
48
|
-
| ------------------------ | ----------------------------- |
|
|
49
|
-
| Scroll content up. | `Shift+Up` |
|
|
50
|
-
| Scroll content down. | `Shift+Down` |
|
|
51
|
-
| Scroll to the top. | `Ctrl+Home`<br />`Shift+Home` |
|
|
52
|
-
| Scroll to the bottom. | `Ctrl+End`<br />`Shift+End` |
|
|
53
|
-
| Scroll up by one page. | `Page Up` |
|
|
54
|
-
| Scroll down by one page. | `Page Down` |
|
|
47
|
+
| Command | Action | Keys |
|
|
48
|
+
| ----------------- | ------------------------ | ----------------------------- |
|
|
49
|
+
| `scroll.up` | Scroll content up. | `Shift+Up` |
|
|
50
|
+
| `scroll.down` | Scroll content down. | `Shift+Down` |
|
|
51
|
+
| `scroll.home` | Scroll to the top. | `Ctrl+Home`<br />`Shift+Home` |
|
|
52
|
+
| `scroll.end` | Scroll to the bottom. | `Ctrl+End`<br />`Shift+End` |
|
|
53
|
+
| `scroll.pageUp` | Scroll up by one page. | `Page Up` |
|
|
54
|
+
| `scroll.pageDown` | Scroll down by one page. | `Page Down` |
|
|
55
55
|
|
|
56
56
|
#### History & Search
|
|
57
57
|
|
|
58
|
-
| Action | Keys |
|
|
59
|
-
| -------------------------------------------- | -------- |
|
|
60
|
-
| Show the previous entry in history. | `Ctrl+P` |
|
|
61
|
-
| Show the next entry in history. | `Ctrl+N` |
|
|
62
|
-
| Start reverse search through history. | `Ctrl+R` |
|
|
63
|
-
| Submit the selected reverse-search match. | `Enter` |
|
|
64
|
-
| Accept a suggestion while reverse searching. | `Tab` |
|
|
58
|
+
| Command | Action | Keys |
|
|
59
|
+
| ----------------------- | -------------------------------------------- | -------- |
|
|
60
|
+
| `history.previous` | Show the previous entry in history. | `Ctrl+P` |
|
|
61
|
+
| `history.next` | Show the next entry in history. | `Ctrl+N` |
|
|
62
|
+
| `history.search.start` | Start reverse search through history. | `Ctrl+R` |
|
|
63
|
+
| `history.search.submit` | Submit the selected reverse-search match. | `Enter` |
|
|
64
|
+
| `history.search.accept` | Accept a suggestion while reverse searching. | `Tab` |
|
|
65
65
|
|
|
66
66
|
#### Navigation
|
|
67
67
|
|
|
68
|
-
| Action | Keys |
|
|
69
|
-
| -------------------------------------------------- | --------------- |
|
|
70
|
-
| Move selection up in lists. | `Up` |
|
|
71
|
-
| Move selection down in lists. | `Down` |
|
|
72
|
-
| Move up within dialog options. | `Up`<br />`K` |
|
|
73
|
-
| Move down within dialog options. | `Down`<br />`J` |
|
|
74
|
-
| Move to the next item or question in a dialog. | `Tab` |
|
|
75
|
-
| Move to the previous item or question in a dialog. | `Shift+Tab` |
|
|
68
|
+
| Command | Action | Keys |
|
|
69
|
+
| --------------------- | -------------------------------------------------- | --------------- |
|
|
70
|
+
| `nav.up` | Move selection up in lists. | `Up` |
|
|
71
|
+
| `nav.down` | Move selection down in lists. | `Down` |
|
|
72
|
+
| `nav.dialog.up` | Move up within dialog options. | `Up`<br />`K` |
|
|
73
|
+
| `nav.dialog.down` | Move down within dialog options. | `Down`<br />`J` |
|
|
74
|
+
| `nav.dialog.next` | Move to the next item or question in a dialog. | `Tab` |
|
|
75
|
+
| `nav.dialog.previous` | Move to the previous item or question in a dialog. | `Shift+Tab` |
|
|
76
76
|
|
|
77
77
|
#### Suggestions & Completions
|
|
78
78
|
|
|
79
|
-
| Action | Keys |
|
|
80
|
-
| --------------------------------------- | -------------------- |
|
|
81
|
-
| Accept the inline suggestion. | `Tab`<br />`Enter` |
|
|
82
|
-
| Move to the previous completion option. | `Up`<br />`Ctrl+P` |
|
|
83
|
-
| Move to the next completion option. | `Down`<br />`Ctrl+N` |
|
|
84
|
-
| Expand an inline suggestion. | `Right` |
|
|
85
|
-
| Collapse an inline suggestion. | `Left` |
|
|
79
|
+
| Command | Action | Keys |
|
|
80
|
+
| ----------------------- | --------------------------------------- | -------------------- |
|
|
81
|
+
| `suggest.accept` | Accept the inline suggestion. | `Tab`<br />`Enter` |
|
|
82
|
+
| `suggest.focusPrevious` | Move to the previous completion option. | `Up`<br />`Ctrl+P` |
|
|
83
|
+
| `suggest.focusNext` | Move to the next completion option. | `Down`<br />`Ctrl+N` |
|
|
84
|
+
| `suggest.expand` | Expand an inline suggestion. | `Right` |
|
|
85
|
+
| `suggest.collapse` | Collapse an inline suggestion. | `Left` |
|
|
86
86
|
|
|
87
87
|
#### Text Input
|
|
88
88
|
|
|
89
|
-
| Action | Keys |
|
|
90
|
-
| ---------------------------------------------------------- | ----------------------------------------------------------------------------------- |
|
|
91
|
-
| Submit the current prompt. | `Enter` |
|
|
92
|
-
| Insert a newline without submitting. | `Ctrl+Enter`<br />`Cmd/Win+Enter`<br />`Alt+Enter`<br />`Shift+Enter`<br />`Ctrl+J` |
|
|
93
|
-
| Open the current prompt or the plan in an external editor. | `Ctrl+X` |
|
|
94
|
-
| Paste from the clipboard. | `Ctrl+V`<br />`Cmd/Win+V`<br />`Alt+V` |
|
|
89
|
+
| Command | Action | Keys |
|
|
90
|
+
| -------------------------- | ---------------------------------------------------------- | ----------------------------------------------------------------------------------- |
|
|
91
|
+
| `input.submit` | Submit the current prompt. | `Enter` |
|
|
92
|
+
| `input.newline` | Insert a newline without submitting. | `Ctrl+Enter`<br />`Cmd/Win+Enter`<br />`Alt+Enter`<br />`Shift+Enter`<br />`Ctrl+J` |
|
|
93
|
+
| `input.openExternalEditor` | Open the current prompt or the plan in an external editor. | `Ctrl+X` |
|
|
94
|
+
| `input.paste` | Paste from the clipboard. | `Ctrl+V`<br />`Cmd/Win+V`<br />`Alt+V` |
|
|
95
95
|
|
|
96
96
|
#### App Controls
|
|
97
97
|
|
|
98
|
-
| Action | Keys |
|
|
99
|
-
| -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ |
|
|
100
|
-
| Toggle detailed error information. | `F12` |
|
|
101
|
-
| Toggle the full TODO list. | `Ctrl+T` |
|
|
102
|
-
| Show IDE context details. | `Ctrl+G` |
|
|
103
|
-
| Toggle Markdown rendering. | `Alt+M` |
|
|
104
|
-
| Toggle copy mode when in alternate buffer mode. | `Ctrl+S` |
|
|
105
|
-
| Toggle YOLO (auto-approval) mode for tool calls. | `Ctrl+Y` |
|
|
106
|
-
| Cycle through approval modes: default (prompt), auto_edit (auto-approve edits), and plan (read-only). Plan mode is skipped when the agent is busy. | `Shift+Tab` |
|
|
107
|
-
| Expand and collapse blocks of content when not in alternate buffer mode. | `Ctrl+O` |
|
|
108
|
-
| Expand or collapse a paste placeholder when cursor is over placeholder. | `Ctrl+O` |
|
|
109
|
-
| Move focus from Gemini to the active shell. | `Tab` |
|
|
110
|
-
| Move focus from the shell back to Gemini. | `Shift+Tab` |
|
|
111
|
-
| Clear the terminal screen and redraw the UI. | `Ctrl+L` |
|
|
112
|
-
| Restart the application. | `R`<br />`Shift+R` |
|
|
113
|
-
| Suspend the CLI and move it to the background. | `Ctrl+Z` |
|
|
114
|
-
| Show warning when trying to move focus away from shell input. | `Tab` |
|
|
98
|
+
| Command | Action | Keys |
|
|
99
|
+
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ |
|
|
100
|
+
| `app.showErrorDetails` | Toggle detailed error information. | `F12` |
|
|
101
|
+
| `app.showFullTodos` | Toggle the full TODO list. | `Ctrl+T` |
|
|
102
|
+
| `app.showIdeContextDetail` | Show IDE context details. | `Ctrl+G` |
|
|
103
|
+
| `app.toggleMarkdown` | Toggle Markdown rendering. | `Alt+M` |
|
|
104
|
+
| `app.toggleCopyMode` | Toggle copy mode when in alternate buffer mode. | `Ctrl+S` |
|
|
105
|
+
| `app.toggleYolo` | Toggle YOLO (auto-approval) mode for tool calls. | `Ctrl+Y` |
|
|
106
|
+
| `app.cycleApprovalMode` | Cycle through approval modes: default (prompt), auto_edit (auto-approve edits), and plan (read-only). Plan mode is skipped when the agent is busy. | `Shift+Tab` |
|
|
107
|
+
| `app.showMoreLines` | Expand and collapse blocks of content when not in alternate buffer mode. | `Ctrl+O` |
|
|
108
|
+
| `app.expandPaste` | Expand or collapse a paste placeholder when cursor is over placeholder. | `Ctrl+O` |
|
|
109
|
+
| `app.focusShellInput` | Move focus from Gemini to the active shell. | `Tab` |
|
|
110
|
+
| `app.unfocusShellInput` | Move focus from the shell back to Gemini. | `Shift+Tab` |
|
|
111
|
+
| `app.clearScreen` | Clear the terminal screen and redraw the UI. | `Ctrl+L` |
|
|
112
|
+
| `app.restart` | Restart the application. | `R`<br />`Shift+R` |
|
|
113
|
+
| `app.suspend` | Suspend the CLI and move it to the background. | `Ctrl+Z` |
|
|
114
|
+
| `app.showShellUnfocusWarning` | Show warning when trying to move focus away from shell input. | `Tab` |
|
|
115
115
|
|
|
116
116
|
#### Background Shell Controls
|
|
117
117
|
|
|
118
|
-
| Action | Keys |
|
|
119
|
-
| ------------------------------------------------------------------ | ----------- |
|
|
120
|
-
| Dismiss background shell list. | `Esc` |
|
|
121
|
-
| Confirm selection in background shell list. | `Enter` |
|
|
122
|
-
| Toggle current background shell visibility. | `Ctrl+B` |
|
|
123
|
-
| Toggle background shell list. | `Ctrl+L` |
|
|
124
|
-
| Kill the active background shell. | `Ctrl+K` |
|
|
125
|
-
| Move focus from background shell to Gemini. | `Shift+Tab` |
|
|
126
|
-
| Move focus from background shell list to Gemini. | `Tab` |
|
|
127
|
-
| Show warning when trying to move focus away from background shell. | `Tab` |
|
|
118
|
+
| Command | Action | Keys |
|
|
119
|
+
| --------------------------- | ------------------------------------------------------------------ | ----------- |
|
|
120
|
+
| `background.escape` | Dismiss background shell list. | `Esc` |
|
|
121
|
+
| `background.select` | Confirm selection in background shell list. | `Enter` |
|
|
122
|
+
| `background.toggle` | Toggle current background shell visibility. | `Ctrl+B` |
|
|
123
|
+
| `background.toggleList` | Toggle background shell list. | `Ctrl+L` |
|
|
124
|
+
| `background.kill` | Kill the active background shell. | `Ctrl+K` |
|
|
125
|
+
| `background.unfocus` | Move focus from background shell to Gemini. | `Shift+Tab` |
|
|
126
|
+
| `background.unfocusList` | Move focus from background shell list to Gemini. | `Tab` |
|
|
127
|
+
| `background.unfocusWarning` | Show warning when trying to move focus away from background shell. | `Tab` |
|
|
128
128
|
|
|
129
129
|
<!-- KEYBINDINGS-AUTOGEN:END -->
|
|
130
130
|
|
|
131
|
+
## Customizing Keybindings
|
|
132
|
+
|
|
133
|
+
You can add alternative keybindings or remove default keybindings by creating a
|
|
134
|
+
`keybindings.json` file in your home gemini directory (typically
|
|
135
|
+
`~/.gemini/keybindings.json`).
|
|
136
|
+
|
|
137
|
+
### Configuration Format
|
|
138
|
+
|
|
139
|
+
The configuration uses a JSON array of objects, similar to VS Code's keybinding
|
|
140
|
+
schema. Each object must specify a `command` from the reference tables above and
|
|
141
|
+
a `key` combination.
|
|
142
|
+
|
|
143
|
+
```json
|
|
144
|
+
[
|
|
145
|
+
{
|
|
146
|
+
"command": "edit.clear",
|
|
147
|
+
"key": "cmd+l"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
// prefix "-" to unbind a key
|
|
151
|
+
"command": "-app.toggleYolo",
|
|
152
|
+
"key": "ctrl+y"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"command": "input.submit",
|
|
156
|
+
"key": "ctrl+y"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
// multiple modifiers
|
|
160
|
+
"command": "cursor.right",
|
|
161
|
+
"key": "shift+alt+a"
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
// Some mac keyboards send "Å" instead of "shift+option+a"
|
|
165
|
+
"command": "cursor.right",
|
|
166
|
+
"key": "Å"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
// some base keys have special multi-char names
|
|
170
|
+
"command": "cursor.right",
|
|
171
|
+
"key": "shift+pageup"
|
|
172
|
+
}
|
|
173
|
+
]
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
- **Unbinding** To remove an existing or default keybinding, prefix a minus sign
|
|
177
|
+
(`-`) to the `command` name.
|
|
178
|
+
- **No Auto-unbinding** The same key can be bound to multiple commands in
|
|
179
|
+
different contexts at the same time. Therefore, creating a binding does not
|
|
180
|
+
automatically unbind the key from other commands.
|
|
181
|
+
- **Explicit Modifiers**: Key matching is explicit. For example, a binding for
|
|
182
|
+
`ctrl+f` will only trigger on exactly `ctrl+f`, not `ctrl+shift+f` or
|
|
183
|
+
`alt+ctrl+f`.
|
|
184
|
+
- **Literal Characters**: Terminals often translate complex key combinations
|
|
185
|
+
(especially on macOS with the `Option` key) into special characters, losing
|
|
186
|
+
modifier and keystroke information along the way. For example,`shift+5` might
|
|
187
|
+
be sent as `%`. In these cases, you must bind to the literal character `%` as
|
|
188
|
+
bindings to `shift+5` will never fire. To see precisely what is being sent,
|
|
189
|
+
enable `Debug Keystroke Logging` and hit f12 to open the debug log console.
|
|
190
|
+
- **Key Modifiers**: The supported key modifiers are:
|
|
191
|
+
- `ctrl`
|
|
192
|
+
- `shift`,
|
|
193
|
+
- `alt` (synonyms: `opt`, `option`)
|
|
194
|
+
- `cmd` (synonym: `meta`)
|
|
195
|
+
- **Base Key**: The base key can be any single unicode code point or any of the
|
|
196
|
+
following special keys:
|
|
197
|
+
- **Navigation**: `up`, `down`, `left`, `right`, `home`, `end`, `pageup`,
|
|
198
|
+
`pagedown`
|
|
199
|
+
- **Actions**: `enter`, `escape`, `tab`, `space`, `backspace`, `delete`,
|
|
200
|
+
`clear`, `insert`, `printscreen`
|
|
201
|
+
- **Toggles**: `capslock`, `numlock`, `scrolllock`, `pausebreak`
|
|
202
|
+
- **Function Keys**: `f1` through `f35`
|
|
203
|
+
- **Numpad**: `numpad0` through `numpad9`, `numpad_add`, `numpad_subtract`,
|
|
204
|
+
`numpad_multiply`, `numpad_divide`, `numpad_decimal`, `numpad_separator`
|
|
205
|
+
|
|
131
206
|
## Additional context-specific shortcuts
|
|
132
207
|
|
|
133
208
|
- `Option+B/F/M` (macOS only): Are interpreted as `Cmd+B/F/M` even if your
|
|
@@ -154,6 +229,9 @@ available combinations.
|
|
|
154
229
|
the numbered radio option and confirm when the full number is entered.
|
|
155
230
|
- `Ctrl + O`: Expand or collapse paste placeholders (`[Pasted Text: X lines]`)
|
|
156
231
|
inline when the cursor is over the placeholder.
|
|
232
|
+
- `Ctrl + X` (while a plan is presented): Open the plan in an external editor to
|
|
233
|
+
[collaboratively edit or comment](../cli/plan-mode.md#collaborative-plan-editing)
|
|
234
|
+
on the implementation strategy.
|
|
157
235
|
- `Double-click` on a paste placeholder (alternate buffer mode only): Expand to
|
|
158
236
|
view full content inline. Double-click again to collapse.
|
|
159
237
|
|
|
@@ -191,9 +191,13 @@ User, and (if configured) Admin directories.
|
|
|
191
191
|
|
|
192
192
|
#### System-wide policies (Admin)
|
|
193
193
|
|
|
194
|
-
Administrators can enforce system-wide policies (Tier
|
|
195
|
-
and default settings. These policies
|
|
196
|
-
|
|
194
|
+
Administrators can enforce system-wide policies (Tier 4) that override all user
|
|
195
|
+
and default settings. These policies can be loaded from standard system
|
|
196
|
+
locations or supplemental paths.
|
|
197
|
+
|
|
198
|
+
##### Standard Locations
|
|
199
|
+
|
|
200
|
+
These are the default paths the CLI searches for admin policies:
|
|
197
201
|
|
|
198
202
|
| OS | Policy Directory Path |
|
|
199
203
|
| :---------- | :------------------------------------------------ |
|
|
@@ -201,10 +205,25 @@ directories:
|
|
|
201
205
|
| **macOS** | `/Library/Application Support/GeminiCli/policies` |
|
|
202
206
|
| **Windows** | `C:\ProgramData\gemini-cli\policies` |
|
|
203
207
|
|
|
204
|
-
|
|
208
|
+
##### Supplemental Admin Policies
|
|
209
|
+
|
|
210
|
+
Administrators can also specify supplemental policy paths using:
|
|
211
|
+
|
|
212
|
+
- The `--admin-policy` command-line flag.
|
|
213
|
+
- The `adminPolicyPaths` setting in a system settings file.
|
|
205
214
|
|
|
206
|
-
|
|
207
|
-
|
|
215
|
+
These supplemental policies are assigned the same **Admin** tier (Base 4) as
|
|
216
|
+
policies in standard locations.
|
|
217
|
+
|
|
218
|
+
**Security Guard**: Supplemental admin policies are **ignored** if any `.toml`
|
|
219
|
+
policy files are found in the standard system location. This prevents flag-based
|
|
220
|
+
overrides when a central system policy has already been established.
|
|
221
|
+
|
|
222
|
+
#### Security Requirements
|
|
223
|
+
|
|
224
|
+
To prevent privilege escalation, the CLI enforces strict security checks on the
|
|
225
|
+
**standard system policy directory**. If checks fail, the policies in that
|
|
226
|
+
directory are **ignored**.
|
|
208
227
|
|
|
209
228
|
- **Linux / macOS:** Must be owned by `root` (UID 0) and NOT writable by group
|
|
210
229
|
or others (e.g., `chmod 755`).
|
|
@@ -214,6 +233,11 @@ admin directories. If checks fail, system policies are **ignored**.
|
|
|
214
233
|
for non-admin groups. You may need to "Disable inheritance" in Advanced
|
|
215
234
|
Security Settings._
|
|
216
235
|
|
|
236
|
+
**Note:** Supplemental admin policies (provided via `--admin-policy` or
|
|
237
|
+
`adminPolicyPaths` settings) are **NOT** subject to these strict ownership
|
|
238
|
+
checks, as they are explicitly provided by the user or administrator in their
|
|
239
|
+
current execution context.
|
|
240
|
+
|
|
217
241
|
### TOML rule schema
|
|
218
242
|
|
|
219
243
|
Here is a breakdown of the fields available in a TOML policy rule:
|
|
@@ -124,6 +124,21 @@ topics on:
|
|
|
124
124
|
`advanced.excludedEnvVars` setting in your `settings.json` to exclude fewer
|
|
125
125
|
variables.
|
|
126
126
|
|
|
127
|
+
- **Warning: `npm WARN deprecated node-domexception@1.0.0` or
|
|
128
|
+
`npm WARN deprecated glob` during install/update**
|
|
129
|
+
- **Issue:** When installing or updating the Gemini CLI globally via
|
|
130
|
+
`npm install -g @google/gemini-cli` or `npm update -g @google/gemini-cli`,
|
|
131
|
+
you might see deprecation warnings regarding `node-domexception` or old
|
|
132
|
+
versions of `glob`.
|
|
133
|
+
- **Cause:** These warnings occur because some dependencies (or their
|
|
134
|
+
sub-dependencies, like `google-auth-library`) rely on older package
|
|
135
|
+
versions. Since Gemini CLI requires Node.js 20 or higher, the platform's
|
|
136
|
+
native features (like the native `DOMException`) are used, making these
|
|
137
|
+
warnings purely informational.
|
|
138
|
+
- **Solution:** These warnings are harmless and can be safely ignored. Your
|
|
139
|
+
installation or update will complete successfully and function properly
|
|
140
|
+
without any action required.
|
|
141
|
+
|
|
127
142
|
## Exit codes
|
|
128
143
|
|
|
129
144
|
The Gemini CLI uses specific exit codes to indicate the reason for termination.
|
package/dist/docs/sidebar.json
CHANGED
|
@@ -47,6 +47,11 @@
|
|
|
47
47
|
"label": "Plan tasks with todos",
|
|
48
48
|
"slug": "docs/cli/tutorials/task-planning"
|
|
49
49
|
},
|
|
50
|
+
{
|
|
51
|
+
"label": "Use Plan Mode with model steering",
|
|
52
|
+
"badge": "🔬",
|
|
53
|
+
"slug": "docs/cli/tutorials/plan-mode-steering"
|
|
54
|
+
},
|
|
50
55
|
{
|
|
51
56
|
"label": "Web search and fetch",
|
|
52
57
|
"slug": "docs/cli/tutorials/web-tools"
|
|
@@ -106,6 +111,11 @@
|
|
|
106
111
|
{ "label": "MCP servers", "slug": "docs/tools/mcp-server" },
|
|
107
112
|
{ "label": "Model routing", "slug": "docs/cli/model-routing" },
|
|
108
113
|
{ "label": "Model selection", "slug": "docs/cli/model" },
|
|
114
|
+
{
|
|
115
|
+
"label": "Model steering",
|
|
116
|
+
"badge": "🔬",
|
|
117
|
+
"slug": "docs/cli/model-steering"
|
|
118
|
+
},
|
|
109
119
|
{
|
|
110
120
|
"label": "Notifications",
|
|
111
121
|
"badge": "🔬",
|
package/dist/docs/tools/shell.md
CHANGED
|
@@ -120,6 +120,14 @@ tools to detect if they are being run from within the Gemini CLI.
|
|
|
120
120
|
|
|
121
121
|
## Command restrictions
|
|
122
122
|
|
|
123
|
+
<!-- prettier-ignore -->
|
|
124
|
+
> [!WARNING]
|
|
125
|
+
> The `tools.core` setting is an **allowlist for _all_ built-in
|
|
126
|
+
> tools**, not just shell commands. When you set `tools.core` to any value,
|
|
127
|
+
> _only_ the tools explicitly listed will be enabled. This includes all built-in
|
|
128
|
+
> tools like `read_file`, `write_file`, `glob`, `grep_search`, `list_directory`,
|
|
129
|
+
> `replace`, etc.
|
|
130
|
+
|
|
123
131
|
You can restrict the commands that can be executed by the `run_shell_command`
|
|
124
132
|
tool by using the `tools.core` and `tools.exclude` settings in your
|
|
125
133
|
configuration file.
|
|
@@ -4,21 +4,28 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import type { AgentCard, Message, Task, TaskStatusUpdateEvent, TaskArtifactUpdateEvent } from '@a2a-js/sdk';
|
|
7
|
-
import {
|
|
7
|
+
import type { AuthenticationHandler, Client } from '@a2a-js/sdk/client';
|
|
8
|
+
import type { Config } from '../config/config.js';
|
|
9
|
+
/**
|
|
10
|
+
* Result of sending a message, which can be a full message, a task,
|
|
11
|
+
* or an incremental status/artifact update.
|
|
12
|
+
*/
|
|
8
13
|
export type SendMessageResult = Message | Task | TaskStatusUpdateEvent | TaskArtifactUpdateEvent;
|
|
9
14
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
15
|
+
* Orchestrates communication with remote A2A agents.
|
|
16
|
+
* Manages protocol negotiation, authentication, and transport selection.
|
|
12
17
|
*/
|
|
13
18
|
export declare class A2AClientManager {
|
|
14
19
|
private static instance;
|
|
15
20
|
private clients;
|
|
16
21
|
private agentCards;
|
|
22
|
+
private a2aDispatcher;
|
|
23
|
+
private a2aFetch;
|
|
17
24
|
private constructor();
|
|
18
25
|
/**
|
|
19
26
|
* Gets the singleton instance of the A2AClientManager.
|
|
20
27
|
*/
|
|
21
|
-
static getInstance(): A2AClientManager;
|
|
28
|
+
static getInstance(config?: Config): A2AClientManager;
|
|
22
29
|
/**
|
|
23
30
|
* Resets the singleton instance. Only for testing purposes.
|
|
24
31
|
* @internal
|