@google/gemini-cli-core 0.35.0-preview.2 → 0.36.0-nightly.20260321.fc03891a1

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.
Files changed (366) hide show
  1. package/README.md +0 -1
  2. package/dist/docs/CONTRIBUTING.md +0 -15
  3. package/dist/docs/admin/enterprise-controls.md +61 -0
  4. package/dist/docs/changelogs/index.md +11 -0
  5. package/dist/docs/changelogs/latest.md +459 -209
  6. package/dist/docs/changelogs/preview.md +355 -454
  7. package/dist/docs/cli/checkpointing.md +3 -1
  8. package/dist/docs/cli/cli-reference.md +1 -0
  9. package/dist/docs/cli/custom-commands.md +7 -5
  10. package/dist/docs/cli/enterprise.md +15 -9
  11. package/dist/docs/cli/git-worktrees.md +107 -0
  12. package/dist/docs/cli/model-steering.md +4 -3
  13. package/dist/docs/cli/model.md +3 -1
  14. package/dist/docs/cli/notifications.md +4 -3
  15. package/dist/docs/cli/plan-mode.md +28 -8
  16. package/dist/docs/cli/sandbox.md +24 -4
  17. package/dist/docs/cli/session-management.md +6 -0
  18. package/dist/docs/cli/settings.md +14 -1
  19. package/dist/docs/cli/skills.md +4 -2
  20. package/dist/docs/cli/system-prompt.md +3 -1
  21. package/dist/docs/cli/telemetry.md +6 -3
  22. package/dist/docs/cli/themes.md +12 -8
  23. package/dist/docs/cli/tutorials/file-management.md +8 -6
  24. package/dist/docs/cli/tutorials/mcp-setup.md +5 -3
  25. package/dist/docs/cli/tutorials/memory-management.md +6 -6
  26. package/dist/docs/cli/tutorials/plan-mode-steering.md +4 -3
  27. package/dist/docs/cli/tutorials/shell-commands.md +3 -3
  28. package/dist/docs/core/remote-agents.md +8 -3
  29. package/dist/docs/core/subagents.md +21 -13
  30. package/dist/docs/extensions/reference.md +8 -3
  31. package/dist/docs/get-started/authentication.md +60 -50
  32. package/dist/docs/get-started/examples.md +3 -1
  33. package/dist/docs/get-started/gemini-3.md +11 -5
  34. package/dist/docs/hooks/index.md +3 -1
  35. package/dist/docs/hooks/writing-hooks.md +2 -2
  36. package/dist/docs/ide-integration/ide-companion-spec.md +5 -3
  37. package/dist/docs/ide-integration/index.md +8 -4
  38. package/dist/docs/issue-and-pr-automation.md +3 -1
  39. package/dist/docs/local-development.md +3 -1
  40. package/dist/docs/reference/commands.md +2 -2
  41. package/dist/docs/reference/configuration.md +410 -16
  42. package/dist/docs/reference/policy-engine.md +47 -19
  43. package/dist/docs/reference/tools.md +3 -1
  44. package/dist/docs/release-confidence.md +7 -3
  45. package/dist/docs/releases.md +11 -7
  46. package/dist/docs/resources/faq.md +13 -0
  47. package/dist/docs/resources/tos-privacy.md +4 -2
  48. package/dist/docs/resources/troubleshooting.md +3 -1
  49. package/dist/docs/sidebar.json +5 -0
  50. package/dist/docs/tools/mcp-server.md +17 -9
  51. package/dist/docs/tools/planning.md +3 -1
  52. package/dist/docs/tools/shell.md +4 -4
  53. package/dist/docs/tools/todos.md +2 -1
  54. package/dist/{google-gemini-cli-core-0.35.0-preview.1.tgz → google-gemini-cli-core-0.36.0-nightly.20260317.2f90b4653.tgz} +0 -0
  55. package/dist/src/agent/agent-session.d.ts +37 -0
  56. package/dist/src/agent/agent-session.js +168 -0
  57. package/dist/src/agent/agent-session.js.map +1 -0
  58. package/dist/src/agent/agent-session.test.d.ts +6 -0
  59. package/dist/src/agent/agent-session.test.js +217 -0
  60. package/dist/src/agent/agent-session.test.js.map +1 -0
  61. package/dist/src/agent/content-utils.d.ts +33 -0
  62. package/dist/src/agent/content-utils.js +135 -0
  63. package/dist/src/agent/content-utils.js.map +1 -0
  64. package/dist/src/agent/content-utils.test.d.ts +6 -0
  65. package/dist/src/agent/content-utils.test.js +223 -0
  66. package/dist/src/agent/content-utils.test.js.map +1 -0
  67. package/dist/src/agent/mock.d.ts +9 -12
  68. package/dist/src/agent/mock.js +88 -129
  69. package/dist/src/agent/mock.js.map +1 -1
  70. package/dist/src/agent/mock.test.js +114 -144
  71. package/dist/src/agent/mock.test.js.map +1 -1
  72. package/dist/src/agent/types.d.ts +21 -21
  73. package/dist/src/agents/a2a-client-manager.d.ts +2 -11
  74. package/dist/src/agents/a2a-client-manager.js +3 -19
  75. package/dist/src/agents/a2a-client-manager.js.map +1 -1
  76. package/dist/src/agents/a2a-client-manager.test.js +6 -10
  77. package/dist/src/agents/a2a-client-manager.test.js.map +1 -1
  78. package/dist/src/agents/agent-scheduler.d.ts +6 -0
  79. package/dist/src/agents/agent-scheduler.js +3 -2
  80. package/dist/src/agents/agent-scheduler.js.map +1 -1
  81. package/dist/src/agents/agent-scheduler.test.js +6 -0
  82. package/dist/src/agents/agent-scheduler.test.js.map +1 -1
  83. package/dist/src/agents/browser/browserAgentDefinition.js +10 -1
  84. package/dist/src/agents/browser/browserAgentDefinition.js.map +1 -1
  85. package/dist/src/agents/browser/browserAgentFactory.js +62 -1
  86. package/dist/src/agents/browser/browserAgentFactory.js.map +1 -1
  87. package/dist/src/agents/browser/browserAgentFactory.test.js +73 -0
  88. package/dist/src/agents/browser/browserAgentFactory.test.js.map +1 -1
  89. package/dist/src/agents/browser/browserAgentInvocation.js +2 -97
  90. package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
  91. package/dist/src/agents/browser/browserAgentInvocation.test.js +30 -0
  92. package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -1
  93. package/dist/src/agents/browser/browserManager.js +11 -0
  94. package/dist/src/agents/browser/browserManager.js.map +1 -1
  95. package/dist/src/agents/browser/browserManager.test.js +37 -0
  96. package/dist/src/agents/browser/browserManager.test.js.map +1 -1
  97. package/dist/src/agents/browser/mcpToolWrapper.d.ts +4 -2
  98. package/dist/src/agents/browser/mcpToolWrapper.js +30 -8
  99. package/dist/src/agents/browser/mcpToolWrapper.js.map +1 -1
  100. package/dist/src/agents/browser/mcpToolWrapper.test.js +30 -0
  101. package/dist/src/agents/browser/mcpToolWrapper.test.js.map +1 -1
  102. package/dist/src/agents/browser/mcpToolWrapperConfirmation.test.js +3 -3
  103. package/dist/src/agents/codebase-investigator.js +3 -3
  104. package/dist/src/agents/codebase-investigator.js.map +1 -1
  105. package/dist/src/agents/local-executor.d.ts +3 -1
  106. package/dist/src/agents/local-executor.js +138 -39
  107. package/dist/src/agents/local-executor.js.map +1 -1
  108. package/dist/src/agents/local-executor.test.js +305 -12
  109. package/dist/src/agents/local-executor.test.js.map +1 -1
  110. package/dist/src/agents/local-invocation.js +43 -24
  111. package/dist/src/agents/local-invocation.js.map +1 -1
  112. package/dist/src/agents/local-invocation.test.js +89 -14
  113. package/dist/src/agents/local-invocation.test.js.map +1 -1
  114. package/dist/src/agents/memory-manager-agent.d.ts +25 -0
  115. package/dist/src/agents/memory-manager-agent.js +137 -0
  116. package/dist/src/agents/memory-manager-agent.js.map +1 -0
  117. package/dist/src/agents/memory-manager-agent.test.d.ts +6 -0
  118. package/dist/src/agents/memory-manager-agent.test.js +117 -0
  119. package/dist/src/agents/memory-manager-agent.test.js.map +1 -0
  120. package/dist/src/agents/registry.js +21 -3
  121. package/dist/src/agents/registry.js.map +1 -1
  122. package/dist/src/agents/registry.test.js +23 -24
  123. package/dist/src/agents/registry.test.js.map +1 -1
  124. package/dist/src/agents/remote-invocation.d.ts +3 -1
  125. package/dist/src/agents/remote-invocation.js +10 -5
  126. package/dist/src/agents/remote-invocation.js.map +1 -1
  127. package/dist/src/agents/remote-invocation.test.js +64 -41
  128. package/dist/src/agents/remote-invocation.test.js.map +1 -1
  129. package/dist/src/agents/subagent-tool-wrapper.js +1 -1
  130. package/dist/src/agents/subagent-tool-wrapper.js.map +1 -1
  131. package/dist/src/agents/types.d.ts +12 -0
  132. package/dist/src/agents/types.js +14 -0
  133. package/dist/src/agents/types.js.map +1 -1
  134. package/dist/src/availability/policyHelpers.js +41 -1
  135. package/dist/src/availability/policyHelpers.js.map +1 -1
  136. package/dist/src/availability/policyHelpers.test.js +47 -0
  137. package/dist/src/availability/policyHelpers.test.js.map +1 -1
  138. package/dist/src/code_assist/admin/admin_controls.js +11 -0
  139. package/dist/src/code_assist/admin/admin_controls.js.map +1 -1
  140. package/dist/src/code_assist/admin/admin_controls.test.js +68 -0
  141. package/dist/src/code_assist/admin/admin_controls.test.js.map +1 -1
  142. package/dist/src/code_assist/admin/mcpUtils.d.ts +16 -1
  143. package/dist/src/code_assist/admin/mcpUtils.js +43 -0
  144. package/dist/src/code_assist/admin/mcpUtils.js.map +1 -1
  145. package/dist/src/code_assist/admin/mcpUtils.test.js +130 -1
  146. package/dist/src/code_assist/admin/mcpUtils.test.js.map +1 -1
  147. package/dist/src/code_assist/types.d.ts +458 -0
  148. package/dist/src/code_assist/types.js +26 -0
  149. package/dist/src/code_assist/types.js.map +1 -1
  150. package/dist/src/config/agent-loop-context.d.ts +6 -0
  151. package/dist/src/config/config.d.ts +41 -10
  152. package/dist/src/config/config.js +96 -19
  153. package/dist/src/config/config.js.map +1 -1
  154. package/dist/src/config/config.test.js +29 -1
  155. package/dist/src/config/config.test.js.map +1 -1
  156. package/dist/src/config/defaultModelConfigs.js +265 -9
  157. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  158. package/dist/src/config/models.d.ts +13 -2
  159. package/dist/src/config/models.js +31 -3
  160. package/dist/src/config/models.js.map +1 -1
  161. package/dist/src/config/models.test.js +52 -7
  162. package/dist/src/config/models.test.js.map +1 -1
  163. package/dist/src/config/path-validation.test.d.ts +6 -0
  164. package/dist/src/config/path-validation.test.js +59 -0
  165. package/dist/src/config/path-validation.test.js.map +1 -0
  166. package/dist/src/core/client.d.ts +1 -0
  167. package/dist/src/core/client.js +6 -1
  168. package/dist/src/core/client.js.map +1 -1
  169. package/dist/src/core/client.test.js +9 -1
  170. package/dist/src/core/client.test.js.map +1 -1
  171. package/dist/src/core/contentGenerator.js +36 -6
  172. package/dist/src/core/contentGenerator.js.map +1 -1
  173. package/dist/src/core/contentGenerator.test.js +97 -3
  174. package/dist/src/core/contentGenerator.test.js.map +1 -1
  175. package/dist/src/core/geminiChat.js +2 -2
  176. package/dist/src/core/geminiChat.js.map +1 -1
  177. package/dist/src/core/prompts.test.js +10 -0
  178. package/dist/src/core/prompts.test.js.map +1 -1
  179. package/dist/src/generated/git-commit.d.ts +2 -2
  180. package/dist/src/generated/git-commit.js +2 -2
  181. package/dist/src/generated/git-commit.js.map +1 -1
  182. package/dist/src/ide/ide-connection-utils.js +2 -7
  183. package/dist/src/ide/ide-connection-utils.js.map +1 -1
  184. package/dist/src/ide/ide-connection-utils.test.js +7 -0
  185. package/dist/src/ide/ide-connection-utils.test.js.map +1 -1
  186. package/dist/src/index.d.ts +4 -0
  187. package/dist/src/index.js +4 -0
  188. package/dist/src/index.js.map +1 -1
  189. package/dist/src/policy/config.js +2 -0
  190. package/dist/src/policy/config.js.map +1 -1
  191. package/dist/src/policy/config.test.js +15 -0
  192. package/dist/src/policy/config.test.js.map +1 -1
  193. package/dist/src/policy/memory-manager-policy.test.d.ts +6 -0
  194. package/dist/src/policy/memory-manager-policy.test.js +80 -0
  195. package/dist/src/policy/memory-manager-policy.test.js.map +1 -0
  196. package/dist/src/policy/policies/memory-manager.toml +10 -0
  197. package/dist/src/policy/policies/plan.toml +14 -0
  198. package/dist/src/policy/policies/yolo.toml +1 -0
  199. package/dist/src/policy/policy-engine.js +33 -6
  200. package/dist/src/policy/policy-engine.js.map +1 -1
  201. package/dist/src/policy/policy-engine.test.js +85 -3
  202. package/dist/src/policy/policy-engine.test.js.map +1 -1
  203. package/dist/src/policy/policy-updater.test.js +44 -0
  204. package/dist/src/policy/policy-updater.test.js.map +1 -1
  205. package/dist/src/policy/toml-loader.js +2 -0
  206. package/dist/src/policy/toml-loader.js.map +1 -1
  207. package/dist/src/policy/types.d.ts +11 -0
  208. package/dist/src/policy/types.js +5 -0
  209. package/dist/src/policy/types.js.map +1 -1
  210. package/dist/src/prompts/promptProvider.js +5 -3
  211. package/dist/src/prompts/promptProvider.js.map +1 -1
  212. package/dist/src/prompts/promptProvider.test.js +1 -0
  213. package/dist/src/prompts/promptProvider.test.js.map +1 -1
  214. package/dist/src/prompts/snippets-memory-manager.test.d.ts +6 -0
  215. package/dist/src/prompts/snippets-memory-manager.test.js +31 -0
  216. package/dist/src/prompts/snippets-memory-manager.test.js.map +1 -0
  217. package/dist/src/prompts/snippets.d.ts +2 -0
  218. package/dist/src/prompts/snippets.js +7 -3
  219. package/dist/src/prompts/snippets.js.map +1 -1
  220. package/dist/src/prompts/snippets.legacy.d.ts +5 -0
  221. package/dist/src/prompts/snippets.legacy.js +30 -2
  222. package/dist/src/prompts/snippets.legacy.js.map +1 -1
  223. package/dist/src/routing/strategies/classifierStrategy.js +1 -1
  224. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  225. package/dist/src/routing/strategies/defaultStrategy.js +1 -1
  226. package/dist/src/routing/strategies/defaultStrategy.js.map +1 -1
  227. package/dist/src/routing/strategies/fallbackStrategy.js +1 -1
  228. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
  229. package/dist/src/routing/strategies/numericalClassifierStrategy.js +1 -1
  230. package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
  231. package/dist/src/routing/strategies/overrideStrategy.js +1 -1
  232. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
  233. package/dist/src/sandbox/macos/MacOsSandboxManager.d.ts +28 -0
  234. package/dist/src/sandbox/macos/MacOsSandboxManager.integration.test.d.ts +1 -0
  235. package/dist/src/sandbox/macos/MacOsSandboxManager.integration.test.js +160 -0
  236. package/dist/src/sandbox/macos/MacOsSandboxManager.integration.test.js.map +1 -0
  237. package/dist/src/sandbox/macos/MacOsSandboxManager.js +33 -0
  238. package/dist/src/sandbox/macos/MacOsSandboxManager.js.map +1 -0
  239. package/dist/src/sandbox/macos/MacOsSandboxManager.test.d.ts +1 -0
  240. package/dist/src/sandbox/macos/MacOsSandboxManager.test.js +87 -0
  241. package/dist/src/sandbox/macos/MacOsSandboxManager.test.js.map +1 -0
  242. package/dist/src/sandbox/macos/baseProfile.d.ts +20 -0
  243. package/dist/src/sandbox/macos/baseProfile.js +93 -0
  244. package/dist/src/sandbox/macos/baseProfile.js.map +1 -0
  245. package/dist/src/sandbox/macos/seatbeltArgsBuilder.d.ts +25 -0
  246. package/dist/src/sandbox/macos/seatbeltArgsBuilder.js +58 -0
  247. package/dist/src/sandbox/macos/seatbeltArgsBuilder.js.map +1 -0
  248. package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.d.ts +1 -0
  249. package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js +80 -0
  250. package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js.map +1 -0
  251. package/dist/src/scheduler/scheduler.js +2 -0
  252. package/dist/src/scheduler/scheduler.js.map +1 -1
  253. package/dist/src/services/contextManager.js +2 -3
  254. package/dist/src/services/contextManager.js.map +1 -1
  255. package/dist/src/services/contextManager.test.js +1 -1
  256. package/dist/src/services/contextManager.test.js.map +1 -1
  257. package/dist/src/services/modelConfigService.d.ts +36 -1
  258. package/dist/src/services/modelConfigService.js +66 -0
  259. package/dist/src/services/modelConfigService.js.map +1 -1
  260. package/dist/src/services/sandboxManager.d.ts +3 -4
  261. package/dist/src/services/sandboxManager.js +1 -14
  262. package/dist/src/services/sandboxManager.js.map +1 -1
  263. package/dist/src/services/sandboxManager.test.js +13 -16
  264. package/dist/src/services/sandboxManager.test.js.map +1 -1
  265. package/dist/src/services/sandboxManagerFactory.d.ts +11 -0
  266. package/dist/src/services/sandboxManagerFactory.js +31 -0
  267. package/dist/src/services/sandboxManagerFactory.js.map +1 -0
  268. package/dist/src/services/sandboxedFileSystemService.d.ts +17 -0
  269. package/dist/src/services/sandboxedFileSystemService.js +95 -0
  270. package/dist/src/services/sandboxedFileSystemService.js.map +1 -0
  271. package/dist/src/services/sandboxedFileSystemService.test.d.ts +6 -0
  272. package/dist/src/services/sandboxedFileSystemService.test.js +87 -0
  273. package/dist/src/services/sandboxedFileSystemService.test.js.map +1 -0
  274. package/dist/src/services/scripts/GeminiSandbox.cs +370 -0
  275. package/dist/src/services/shellExecutionService.d.ts +2 -0
  276. package/dist/src/services/shellExecutionService.js +79 -75
  277. package/dist/src/services/shellExecutionService.js.map +1 -1
  278. package/dist/src/services/trackerTypes.d.ts +1 -0
  279. package/dist/src/services/trackerTypes.js +1 -0
  280. package/dist/src/services/trackerTypes.js.map +1 -1
  281. package/dist/src/services/windowsSandboxManager.d.ts +27 -0
  282. package/dist/src/services/windowsSandboxManager.js +148 -0
  283. package/dist/src/services/windowsSandboxManager.js.map +1 -0
  284. package/dist/src/services/windowsSandboxManager.test.d.ts +6 -0
  285. package/dist/src/services/windowsSandboxManager.test.js +59 -0
  286. package/dist/src/services/windowsSandboxManager.test.js.map +1 -0
  287. package/dist/src/services/worktreeService.d.ts +33 -0
  288. package/dist/src/services/worktreeService.js +174 -0
  289. package/dist/src/services/worktreeService.js.map +1 -0
  290. package/dist/src/services/worktreeService.test.d.ts +6 -0
  291. package/dist/src/services/worktreeService.test.js +200 -0
  292. package/dist/src/services/worktreeService.test.js.map +1 -0
  293. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +4 -0
  294. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  295. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +1 -0
  296. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +2 -0
  297. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  298. package/dist/src/telemetry/loggers.test.js +62 -40
  299. package/dist/src/telemetry/loggers.test.js.map +1 -1
  300. package/dist/src/telemetry/types.d.ts +1 -0
  301. package/dist/src/telemetry/types.js +3 -0
  302. package/dist/src/telemetry/types.js.map +1 -1
  303. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +8 -1
  304. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  305. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +8 -1
  306. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  307. package/dist/src/tools/exit-plan-mode.d.ts +6 -1
  308. package/dist/src/tools/exit-plan-mode.js +17 -6
  309. package/dist/src/tools/exit-plan-mode.js.map +1 -1
  310. package/dist/src/tools/exit-plan-mode.test.js +22 -1
  311. package/dist/src/tools/exit-plan-mode.test.js.map +1 -1
  312. package/dist/src/tools/mcp-client-manager.d.ts +22 -3
  313. package/dist/src/tools/mcp-client-manager.js +84 -32
  314. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  315. package/dist/src/tools/mcp-client-manager.test.js +76 -56
  316. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  317. package/dist/src/tools/mcp-client.d.ts +15 -6
  318. package/dist/src/tools/mcp-client.js +85 -71
  319. package/dist/src/tools/mcp-client.js.map +1 -1
  320. package/dist/src/tools/mcp-client.test.js +195 -88
  321. package/dist/src/tools/mcp-client.test.js.map +1 -1
  322. package/dist/src/tools/tool-registry.d.ts +2 -1
  323. package/dist/src/tools/tool-registry.js +12 -1
  324. package/dist/src/tools/tool-registry.js.map +1 -1
  325. package/dist/src/tools/tool-registry.test.js +15 -0
  326. package/dist/src/tools/tool-registry.test.js.map +1 -1
  327. package/dist/src/tools/tools.d.ts +1 -1
  328. package/dist/src/tools/tools.js.map +1 -1
  329. package/dist/src/tools/trackerTools.js +6 -1
  330. package/dist/src/tools/trackerTools.js.map +1 -1
  331. package/dist/src/tools/trackerTools.test.js +9 -1
  332. package/dist/src/tools/trackerTools.test.js.map +1 -1
  333. package/dist/src/tools/write-todos.js +1 -0
  334. package/dist/src/tools/write-todos.js.map +1 -1
  335. package/dist/src/tools/write-todos.test.js +4 -1
  336. package/dist/src/tools/write-todos.test.js.map +1 -1
  337. package/dist/src/utils/agent-sanitization-utils.d.ts +23 -0
  338. package/dist/src/utils/agent-sanitization-utils.js +123 -0
  339. package/dist/src/utils/agent-sanitization-utils.js.map +1 -0
  340. package/dist/src/utils/agent-sanitization-utils.test.d.ts +6 -0
  341. package/dist/src/utils/agent-sanitization-utils.test.js +83 -0
  342. package/dist/src/utils/agent-sanitization-utils.test.js.map +1 -0
  343. package/dist/src/utils/browserConsent.d.ts +17 -0
  344. package/dist/src/utils/browserConsent.js +78 -0
  345. package/dist/src/utils/browserConsent.js.map +1 -0
  346. package/dist/src/utils/browserConsent.test.d.ts +6 -0
  347. package/dist/src/utils/browserConsent.test.js +93 -0
  348. package/dist/src/utils/browserConsent.test.js.map +1 -0
  349. package/dist/src/utils/compatibility.d.ts +16 -0
  350. package/dist/src/utils/compatibility.js +58 -9
  351. package/dist/src/utils/compatibility.js.map +1 -1
  352. package/dist/src/utils/compatibility.test.js +127 -29
  353. package/dist/src/utils/compatibility.test.js.map +1 -1
  354. package/dist/src/utils/memoryDiscovery.d.ts +2 -2
  355. package/dist/src/utils/memoryDiscovery.js +5 -10
  356. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  357. package/dist/src/utils/memoryDiscovery.test.js +37 -37
  358. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  359. package/dist/src/utils/memoryImportProcessor.js +5 -5
  360. package/dist/src/utils/memoryImportProcessor.js.map +1 -1
  361. package/dist/src/utils/surface.js +4 -3
  362. package/dist/src/utils/surface.js.map +1 -1
  363. package/dist/src/utils/toolCallContext.d.ts +2 -0
  364. package/dist/src/utils/toolCallContext.js.map +1 -1
  365. package/dist/tsconfig.tsbuildinfo +1 -1
  366. package/package.json +2 -1
@@ -39,7 +39,9 @@ file in your project's temporary directory, typically located at
39
39
  The Checkpointing feature is disabled by default. To enable it, you need to edit
40
40
  your `settings.json` file.
41
41
 
42
- > **Note:** The `--checkpointing` command-line flag was removed in version
42
+ <!-- prettier-ignore -->
43
+ > [!CAUTION]
44
+ > The `--checkpointing` command-line flag was removed in version
43
45
  > 0.11.0. Checkpointing can now only be enabled through the `settings.json`
44
46
  > configuration file.
45
47
 
@@ -50,6 +50,7 @@ These commands are available within the interactive REPL.
50
50
  | `--model` | `-m` | string | `auto` | Model to use. See [Model Selection](#model-selection) for available values. |
51
51
  | `--prompt` | `-p` | string | - | Prompt text. Appended to stdin input if provided. Forces non-interactive mode. |
52
52
  | `--prompt-interactive` | `-i` | string | - | Execute prompt and continue in interactive mode |
53
+ | `--worktree` | `-w` | string | - | Start Gemini in a new git worktree. If no name is provided, one is generated automatically. Requires `experimental.worktrees: true` in settings. |
53
54
  | `--sandbox` | `-s` | boolean | `false` | Run in a sandboxed environment for safer execution |
54
55
  | `--approval-mode` | - | string | `default` | Approval mode for tool execution. Choices: `default`, `auto_edit`, `yolo` |
55
56
  | `--yolo` | `-y` | boolean | `false` | **Deprecated.** Auto-approve all actions. Use `--approval-mode=yolo` instead. |
@@ -30,7 +30,9 @@ separator (`/` or `\`) being converted to a colon (`:`).
30
30
  - A file at `<project>/.gemini/commands/git/commit.toml` becomes the namespaced
31
31
  command `/git:commit`.
32
32
 
33
- > [!TIP] After creating or modifying `.toml` command files, run
33
+ <!-- prettier-ignore -->
34
+ > [!TIP]
35
+ > After creating or modifying `.toml` command files, run
34
36
  > `/commands reload` to pick up your changes without restarting the CLI.
35
37
 
36
38
  ## TOML file format (v1)
@@ -177,10 +179,10 @@ ensure that only intended commands can be run.
177
179
  automatically shell-escaped (see
178
180
  [Context-Aware Injection](#1-context-aware-injection-with-args) above).
179
181
  3. **Robust parsing:** The parser correctly handles complex shell commands that
180
- include nested braces, such as JSON payloads. **Note:** The content inside
181
- `!{...}` must have balanced braces (`{` and `}`). If you need to execute a
182
- command containing unbalanced braces, consider wrapping it in an external
183
- script file and calling the script within the `!{...}` block.
182
+ include nested braces, such as JSON payloads. The content inside `!{...}`
183
+ must have balanced braces (`{` and `}`). If you need to execute a command
184
+ containing unbalanced braces, consider wrapping it in an external script
185
+ file and calling the script within the `!{...}` block.
184
186
  4. **Security check and confirmation:** The CLI performs a security check on
185
187
  the final, resolved command (after arguments are escaped and substituted). A
186
188
  dialog will appear showing the exact command(s) to be executed.
@@ -5,9 +5,11 @@ and managing Gemini CLI in an enterprise environment. By leveraging system-level
5
5
  settings, administrators can enforce security policies, manage tool access, and
6
6
  ensure a consistent experience for all users.
7
7
 
8
- > **A note on security:** The patterns described in this document are intended
9
- > to help administrators create a more controlled and secure environment for
10
- > using Gemini CLI. However, they should not be considered a foolproof security
8
+ <!-- prettier-ignore -->
9
+ > [!WARNING]
10
+ > The patterns described in this document are intended to help
11
+ > administrators create a more controlled and secure environment for using
12
+ > Gemini CLI. However, they should not be considered a foolproof security
11
13
  > boundary. A determined user with sufficient privileges on their local machine
12
14
  > may still be able to circumvent these configurations. These measures are
13
15
  > designed to prevent accidental misuse and enforce corporate policy in a
@@ -280,10 +282,12 @@ environment to a blocklist.
280
282
  }
281
283
  ```
282
284
 
283
- **Security note:** Blocklisting with `excludeTools` is less secure than
284
- allowlisting with `coreTools`, as it relies on blocking known-bad commands, and
285
- clever users may find ways to bypass simple string-based blocks. **Allowlisting
286
- is the recommended approach.**
285
+ <!-- prettier-ignore -->
286
+ > [!WARNING]
287
+ > Blocklisting with `excludeTools` is less secure than
288
+ > allowlisting with `coreTools`, as it relies on blocking known-bad commands,
289
+ > and clever users may find ways to bypass simple string-based blocks.
290
+ > **Allowlisting is the recommended approach.**
287
291
 
288
292
  ### Disabling YOLO mode
289
293
 
@@ -494,8 +498,10 @@ other events. For more information, see the
494
498
  }
495
499
  ```
496
500
 
497
- **Note:** Ensure that `logPrompts` is set to `false` in an enterprise setting to
498
- avoid collecting potentially sensitive information from user prompts.
501
+ <!-- prettier-ignore -->
502
+ > [!NOTE]
503
+ > Ensure that `logPrompts` is set to `false` in an enterprise setting to
504
+ > avoid collecting potentially sensitive information from user prompts.
499
505
 
500
506
  ## Authentication
501
507
 
@@ -0,0 +1,107 @@
1
+ # Git Worktrees (experimental)
2
+
3
+ When working on multiple tasks at once, you can use Git worktrees to give each
4
+ Gemini session its own copy of the codebase. Git worktrees create separate
5
+ working directories that each have their own files and branch while sharing the
6
+ same repository history. This prevents changes in one session from colliding
7
+ with another.
8
+
9
+ Learn more about [session management](./session-management.md).
10
+
11
+ <!-- prettier-ignore -->
12
+ > [!NOTE]
13
+ > This is an experimental feature currently under active development. Your
14
+ > feedback is invaluable as we refine this feature. If you have ideas,
15
+ > suggestions, or encounter issues:
16
+ >
17
+ > - [Open an issue](https://github.com/google-gemini/gemini-cli/issues/new?template=bug_report.yml) on GitHub.
18
+ > - Use the **/bug** command within Gemini CLI to file an issue.
19
+
20
+ Learn more in the official Git worktree
21
+ [documentation](https://git-scm.com/docs/git-worktree).
22
+
23
+ ## How to enable Git worktrees
24
+
25
+ Git worktrees are an experimental feature. You must enable them in your settings
26
+ using the `/settings` command or by manually editing your `settings.json` file.
27
+
28
+ 1. Use the `/settings` command.
29
+ 2. Search for and set **Enable Git Worktrees** to `true`.
30
+
31
+ Alternatively, add the following to your `settings.json`:
32
+
33
+ ```json
34
+ {
35
+ "experimental": {
36
+ "worktrees": true
37
+ }
38
+ }
39
+ ```
40
+
41
+ ## How to use Git worktrees
42
+
43
+ Use the `--worktree` (`-w`) flag to create an isolated worktree and start Gemini
44
+ CLI in it.
45
+
46
+ - **Start with a specific name:** The value you pass becomes both the directory
47
+ name (within `.gemini/worktrees/`) and the branch name.
48
+
49
+ ```bash
50
+ gemini --worktree feature-search
51
+ ```
52
+
53
+ - **Start with a random name:** If you omit the name, Gemini generates a random
54
+ one automatically (for example, `worktree-a1b2c3d4`).
55
+
56
+ ```bash
57
+ gemini --worktree
58
+ ```
59
+
60
+ <!-- prettier-ignore -->
61
+ > [!NOTE]
62
+ > Remember to initialize your development environment in each new
63
+ > worktree according to your project's setup. Depending on your stack, this
64
+ > might include running dependency installation (`npm install`, `yarn`), setting
65
+ > up virtual environments, or following your project's standard build process.
66
+
67
+ ## How to exit a Git worktree session
68
+
69
+ When you exit a worktree session (using `/quit` or `Ctrl+C`), Gemini leaves the
70
+ worktree intact so your work is not lost. This includes your uncommitted changes
71
+ (modified files, staged changes, or untracked files) and any new commits you
72
+ have made.
73
+
74
+ Gemini prioritizes a fast and safe exit: it **does not automatically delete**
75
+ your worktree or branch. You are responsible for cleaning up your worktrees
76
+ manually once you are finished with them.
77
+
78
+ When you exit, Gemini displays instructions on how to resume your work or how to
79
+ manually remove the worktree if you no longer need it.
80
+
81
+ ## Resuming work in a Git worktree
82
+
83
+ To resume a session in a worktree, navigate to the worktree directory and start
84
+ Gemini CLI with the `--resume` flag and the session ID:
85
+
86
+ ```bash
87
+ cd .gemini/worktrees/feature-search
88
+ gemini --resume <session_id>
89
+ ```
90
+
91
+ ## Managing Git worktrees manually
92
+
93
+ For more control over worktree location and branch configuration, or to clean up
94
+ a preserved worktree, you can use Git directly:
95
+
96
+ - **Clean up a preserved Git worktree:**
97
+ ```bash
98
+ git worktree remove .gemini/worktrees/feature-search --force
99
+ git branch -D worktree-feature-search
100
+ ```
101
+ - **Create a Git worktree manually:**
102
+ ```bash
103
+ git worktree add ../project-feature-search -b feature-search
104
+ cd ../project-feature-search && gemini
105
+ ```
106
+
107
+ [Open an issue]: https://github.com/google-gemini/gemini-cli/issues
@@ -4,9 +4,10 @@ Model steering lets you provide real-time guidance and feedback to Gemini CLI
4
4
  while it is actively executing a task. This lets you correct course, add missing
5
5
  context, or skip unnecessary steps without having to stop and restart the agent.
6
6
 
7
- > **Note:** This is a preview feature under active development. Preview features
8
- > may only be available in the **Preview** channel or may need to be enabled
9
- > under `/settings`.
7
+ <!-- prettier-ignore -->
8
+ > [!NOTE]
9
+ > This is an experimental feature currently under active development and
10
+ > may need to be enabled under `/settings`.
10
11
 
11
12
  Model steering is particularly useful during complex [Plan Mode](./plan-mode.md)
12
13
  workflows or long-running subagent executions where you want to ensure the agent
@@ -5,7 +5,9 @@ used by Gemini CLI, giving you more control over your results. Use **Pro**
5
5
  models for complex tasks and reasoning, **Flash** models for high speed results,
6
6
  or the (recommended) **Auto** setting to choose the best model for your tasks.
7
7
 
8
- > **Note:** The `/model` command (and the `--model` flag) does not override the
8
+ <!-- prettier-ignore -->
9
+ > [!NOTE]
10
+ > The `/model` command (and the `--model` flag) does not override the
9
11
  > model used by sub-agents. Consequently, even when using the `/model` flag you
10
12
  > may see other models used in your model usage reports.
11
13
 
@@ -4,9 +4,10 @@ Gemini CLI can send system notifications to alert you when a session completes
4
4
  or when it needs your attention, such as when it's waiting for you to approve a
5
5
  tool call.
6
6
 
7
- > **Note:** This is a preview feature currently under active development.
8
- > Preview features may be available on the **Preview** channel or may need to be
9
- > enabled under `/settings`.
7
+ <!-- prettier-ignore -->
8
+ > [!NOTE]
9
+ > This is an experimental feature currently under active development and
10
+ > may need to be enabled under `/settings`.
10
11
 
11
12
  Notifications are particularly useful when running long-running tasks or using
12
13
  [Plan Mode](./plan-mode.md), letting you switch to other windows while Gemini
@@ -35,19 +35,17 @@ To launch Gemini CLI in Plan Mode once:
35
35
  To start Plan Mode while using Gemini CLI:
36
36
 
37
37
  - **Keyboard shortcut:** Press `Shift+Tab` to cycle through approval modes
38
- (`Default` -> `Auto-Edit` -> `Plan`).
39
-
40
- > **Note:** Plan Mode is automatically removed from the rotation when Gemini
41
- > CLI is actively processing or showing confirmation dialogs.
38
+ (`Default` -> `Auto-Edit` -> `Plan`). Plan Mode is automatically removed from
39
+ the rotation when Gemini CLI is actively processing or showing confirmation
40
+ dialogs.
42
41
 
43
42
  - **Command:** Type `/plan` in the input box.
44
43
 
45
44
  - **Natural Language:** Ask Gemini CLI to "start a plan for...". Gemini CLI
46
45
  calls the
47
46
  [`enter_plan_mode`](../tools/planning.md#1-enter_plan_mode-enterplanmode) tool
48
- to switch modes.
49
- > **Note:** This tool is not available when Gemini CLI is in
50
- > [YOLO mode](../reference/configuration.md#command-line-arguments).
47
+ to switch modes. This tool is not available when Gemini CLI is in
48
+ [YOLO mode](../reference/configuration.md#command-line-arguments).
51
49
 
52
50
  ## How to use Plan Mode
53
51
 
@@ -407,7 +405,9 @@ To build a custom planning workflow, you can use:
407
405
  [custom plan directories](#custom-plan-directory-and-policies) and
408
406
  [custom policies](#custom-policies).
409
407
 
410
- > **Note:** Use [Conductor] as a reference when building your own custom
408
+ <!-- prettier-ignore -->
409
+ > [!TIP]
410
+ > Use [Conductor] as a reference when building your own custom
411
411
  > planning workflow.
412
412
 
413
413
  By using Plan Mode as its execution environment, your custom methodology can
@@ -460,6 +460,26 @@ Manual deletion also removes all associated artifacts:
460
460
  If you use a [custom plans directory](#custom-plan-directory-and-policies),
461
461
  those files are not automatically deleted and must be managed manually.
462
462
 
463
+ ## Non-interactive execution
464
+
465
+ When running Gemini CLI in non-interactive environments (such as headless
466
+ scripts or CI/CD pipelines), Plan Mode optimizes for automated workflows:
467
+
468
+ - **Automatic transitions:** The policy engine automatically approves the
469
+ `enter_plan_mode` and `exit_plan_mode` tools without prompting for user
470
+ confirmation.
471
+ - **Automated implementation:** When exiting Plan Mode to execute the plan,
472
+ Gemini CLI automatically switches to
473
+ [YOLO mode](../reference/policy-engine.md#approval-modes) instead of the
474
+ standard Default mode. This allows the CLI to execute the implementation steps
475
+ automatically without hanging on interactive tool approvals.
476
+
477
+ **Example:**
478
+
479
+ ```bash
480
+ gemini --approval-mode plan -p "Analyze telemetry and suggest improvements"
481
+ ```
482
+
463
483
  [`plan.toml`]:
464
484
  https://github.com/google-gemini/gemini-cli/blob/main/packages/core/src/policy/policies/plan.toml
465
485
  [Conductor]: https://github.com/gemini-cli-extensions/conductor
@@ -50,7 +50,25 @@ Cross-platform sandboxing with complete process isolation.
50
50
  **Note**: Requires building the sandbox image locally or using a published image
51
51
  from your organization's registry.
52
52
 
53
- ### 3. gVisor / runsc (Linux only)
53
+ ### 3. Windows Native Sandbox (Windows only)
54
+
55
+ ... **Troubleshooting and Side Effects:**
56
+
57
+ The Windows Native sandbox uses the `icacls` command to set a "Low Mandatory
58
+ Level" on files and directories it needs to write to.
59
+
60
+ - **Persistence**: These integrity level changes are persistent on the
61
+ filesystem. Even after the sandbox session ends, files created or modified by
62
+ the sandbox will retain their "Low" integrity level.
63
+ - **Manual Reset**: If you need to reset the integrity level of a file or
64
+ directory, you can use:
65
+ ```powershell
66
+ icacls "C:\path\to\dir" /setintegritylevel Medium
67
+ ```
68
+ - **System Folders**: The sandbox manager automatically skips setting integrity
69
+ levels on system folders (like `C:\Windows`) for safety.
70
+
71
+ ### 4. gVisor / runsc (Linux only)
54
72
 
55
73
  Strongest isolation available: runs containers inside a user-space kernel via
56
74
  [gVisor](https://github.com/google/gvisor). gVisor intercepts all container
@@ -253,9 +271,11 @@ $env:SANDBOX_SET_UID_GID="false" # Disable UID/GID mapping
253
271
  DEBUG=1 gemini -s -p "debug command"
254
272
  ```
255
273
 
256
- **Note:** If you have `DEBUG=true` in a project's `.env` file, it won't affect
257
- gemini-cli due to automatic exclusion. Use `.gemini/.env` files for gemini-cli
258
- specific debug settings.
274
+ <!-- prettier-ignore -->
275
+ > [!NOTE]
276
+ > If you have `DEBUG=true` in a project's `.env` file, it won't affect
277
+ > gemini-cli due to automatic exclusion. Use `.gemini/.env` files for
278
+ > gemini-cli specific debug settings.
259
279
 
260
280
  ### Inspect sandbox
261
281
 
@@ -96,6 +96,12 @@ Compatibility aliases:
96
96
  - `/chat ...` works for the same commands.
97
97
  - `/resume checkpoints ...` also remains supported during migration.
98
98
 
99
+ ## Parallel sessions with Git worktrees
100
+
101
+ When working on multiple tasks at once, you can use
102
+ [Git worktrees](./git-worktrees.md) to give each Gemini session its own copy of
103
+ the codebase. This prevents changes in one session from colliding with another.
104
+
99
105
  ## Managing sessions
100
106
 
101
107
  You can list and delete sessions to keep your history organized and manage disk
@@ -11,7 +11,9 @@ locations:
11
11
  - **User settings**: `~/.gemini/settings.json`
12
12
  - **Workspace settings**: `your-project/.gemini/settings.json`
13
13
 
14
- Note: Workspace settings override user settings.
14
+ <!-- prettier-ignore -->
15
+ > [!IMPORTANT]
16
+ > Workspace settings override user settings.
15
17
 
16
18
  ## Settings reference
17
19
 
@@ -99,6 +101,13 @@ they appear in the UI.
99
101
  | Disable Loop Detection | `model.disableLoopDetection` | Disable automatic detection and prevention of infinite loops. | `false` |
100
102
  | Skip Next Speaker Check | `model.skipNextSpeakerCheck` | Skip the next speaker check. | `true` |
101
103
 
104
+ ### Agents
105
+
106
+ | UI Label | Setting | Description | Default |
107
+ | ------------------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------- | ------- |
108
+ | Confirm Sensitive Actions | `agents.browser.confirmSensitiveActions` | Require manual confirmation for sensitive browser actions (e.g., fill_form, evaluate_script). | `false` |
109
+ | Block File Uploads | `agents.browser.blockFileUploads` | Hard-block file upload requests from the browser agent. | `false` |
110
+
102
111
  ### Context
103
112
 
104
113
  | UI Label | Setting | Description | Default |
@@ -115,6 +124,8 @@ they appear in the UI.
115
124
 
116
125
  | UI Label | Setting | Description | Default |
117
126
  | -------------------------------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
127
+ | Sandbox Allowed Paths | `tools.sandboxAllowedPaths` | List of additional paths that the sandbox is allowed to access. | `[]` |
128
+ | Sandbox Network Access | `tools.sandboxNetworkAccess` | Whether the sandbox is allowed to access the network. | `false` |
118
129
  | Enable Interactive Shell | `tools.shell.enableInteractiveShell` | Use node-pty for an interactive shell experience. Fallback to child_process still applies. | `true` |
119
130
  | Show Color | `tools.shell.showColor` | Show color in shell output. | `false` |
120
131
  | Use Ripgrep | `tools.useRipgrep` | Use ripgrep for file content search instead of the fallback implementation. Provides faster search performance. | `true` |
@@ -147,11 +158,13 @@ they appear in the UI.
147
158
  | UI Label | Setting | Description | Default |
148
159
  | -------------------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
149
160
  | Enable Tool Output Masking | `experimental.toolOutputMasking.enabled` | Enables tool output masking to save tokens. | `true` |
161
+ | Enable Git Worktrees | `experimental.worktrees` | Enable automated Git worktree management for parallel work. | `false` |
150
162
  | Use OSC 52 Paste | `experimental.useOSC52Paste` | Use OSC 52 for pasting. This may be more robust than the default system when using remote terminal sessions (if your terminal is configured to allow it). | `false` |
151
163
  | Use OSC 52 Copy | `experimental.useOSC52Copy` | Use OSC 52 for copying. This may be more robust than the default system when using remote terminal sessions (if your terminal is configured to allow it). | `false` |
152
164
  | Plan | `experimental.plan` | Enable Plan Mode. | `true` |
153
165
  | Model Steering | `experimental.modelSteering` | Enable model steering (user hints) to guide the model during tool execution. | `false` |
154
166
  | Direct Web Fetch | `experimental.directWebFetch` | Enable web fetch behavior that bypasses LLM summarization. | `false` |
167
+ | Memory Manager Agent | `experimental.memoryManager` | Replace the built-in save_memory tool with a memory manager subagent that supports adding, removing, de-duplicating, and organizing memories. | `false` |
155
168
  | Topic & Update Narration | `experimental.topicUpdateNarration` | Enable the experimental Topic & Update communication model for reduced chattiness and structured progress reporting. | `false` |
156
169
 
157
170
  ### Skills
@@ -63,8 +63,10 @@ Use the `/skills` slash command to view and manage available expertise:
63
63
  - `/skills enable <name>`: Re-enables a disabled skill.
64
64
  - `/skills reload`: Refreshes the list of discovered skills from all tiers.
65
65
 
66
- _Note: `/skills disable` and `/skills enable` default to the `user` scope. Use
67
- `--scope workspace` to manage workspace-specific settings._
66
+ <!-- prettier-ignore -->
67
+ > [!NOTE]
68
+ > `/skills disable` and `/skills enable` default to the `user` scope. Use
69
+ > `--scope workspace` to manage workspace-specific settings.
68
70
 
69
71
  ### From the Terminal
70
72
 
@@ -14,7 +14,9 @@ core instructions will apply unless you include them yourself.
14
14
  This feature is intended for advanced users who need to enforce strict,
15
15
  project-specific behavior or create a customized persona.
16
16
 
17
- > Tip: You can export the current default system prompt to a file first, review
17
+ <!-- prettier-ignore -->
18
+ > [!TIP]
19
+ > You can export the current default system prompt to a file first, review
18
20
  > it, and then selectively modify or replace it (see
19
21
  > [“Export the default prompt”](#export-the-default-prompt-recommended)).
20
22
 
@@ -125,9 +125,11 @@ You must complete several setup steps before enabling Google Cloud telemetry.
125
125
  }
126
126
  ```
127
127
 
128
- > **Note:** This setting requires **Direct export** (in-process exporters)
129
- > and cannot be used when `useCollector` is `true`. If both are enabled,
130
- > telemetry will be disabled.
128
+ <!-- prettier-ignore -->
129
+ > [!NOTE]
130
+ > This setting requires **Direct export** (in-process exporters)
131
+ > and cannot be used when `useCollector` is `true`. If both are enabled,
132
+ > telemetry will be disabled.
131
133
 
132
134
  3. Ensure your account or service account has these IAM roles:
133
135
  - Cloud Trace Agent
@@ -304,6 +306,7 @@ Emitted at startup with the CLI configuration.
304
306
  - `extension_ids` (string)
305
307
  - `extensions_count` (int)
306
308
  - `auth_type` (string)
309
+ - `worktree_active` (boolean)
307
310
  - `github_workflow_name` (string, optional)
308
311
  - `github_repository_hash` (string, optional)
309
312
  - `github_event_name` (string, optional)
@@ -36,9 +36,11 @@ using the `/theme` command within Gemini CLI:
36
36
  preview or highlight as you select.
37
37
  4. Confirm your selection to apply the theme.
38
38
 
39
- **Note:** If a theme is defined in your `settings.json` file (either by name or
40
- by a file path), you must remove the `"theme"` setting from the file before you
41
- can change the theme using the `/theme` command.
39
+ <!-- prettier-ignore -->
40
+ > [!NOTE]
41
+ > If a theme is defined in your `settings.json` file (either by name or
42
+ > by a file path), you must remove the `"theme"` setting from the file before
43
+ > you can change the theme using the `/theme` command.
42
44
 
43
45
  ### Theme persistence
44
46
 
@@ -179,11 +181,13 @@ custom theme defined in `settings.json`.
179
181
  }
180
182
  ```
181
183
 
182
- **Security note:** For your safety, Gemini CLI will only load theme files that
183
- are located within your home directory. If you attempt to load a theme from
184
- outside your home directory, a warning will be displayed and the theme will not
185
- be loaded. This is to prevent loading potentially malicious theme files from
186
- untrusted sources.
184
+ <!-- prettier-ignore -->
185
+ > [!WARNING]
186
+ > For your safety, Gemini CLI will only load theme files that
187
+ > are located within your home directory. If you attempt to load a theme from
188
+ > outside your home directory, a warning will be displayed and the theme will
189
+ > not be loaded. This is to prevent loading potentially malicious theme files
190
+ > from untrusted sources.
187
191
 
188
192
  ### Example custom theme
189
193
 
@@ -7,9 +7,9 @@ create files, and control what Gemini CLI can see.
7
7
  ## Prerequisites
8
8
 
9
9
  - Gemini CLI installed and authenticated.
10
- - A project directory to work with (e.g., a git repository).
10
+ - A project directory to work with (for example, a git repository).
11
11
 
12
- ## How to give the agent context (Reading files)
12
+ ## Providing context by reading files
13
13
 
14
14
  Gemini CLI will generally try to read relevant files, sometimes prompting you
15
15
  for access (depending on your settings). To ensure that Gemini CLI uses a file,
@@ -58,11 +58,13 @@ You know there's a `UserProfile` component, but you don't know where it lives.
58
58
  ```
59
59
 
60
60
  Gemini uses the `glob` or `list_directory` tools to search your project
61
- structure. It will return the specific path (e.g.,
61
+ structure. It will return the specific path (for example,
62
62
  `src/components/UserProfile.tsx`), which you can then use with `@` in your next
63
63
  turn.
64
64
 
65
- > **Tip:** You can also ask for lists of files, like "Show me all the TypeScript
65
+ <!-- prettier-ignore -->
66
+ > [!TIP]
67
+ > You can also ask for lists of files, like "Show me all the TypeScript
66
68
  > configuration files in the root directory."
67
69
 
68
70
  ## How to modify code
@@ -111,8 +113,8 @@ or, better yet, run your project's tests.
111
113
  `Run the tests for the UserProfile component.`
112
114
  ```
113
115
 
114
- Gemini CLI uses the `run_shell_command` tool to execute your test runner (e.g.,
115
- `npm test` or `jest`). This ensures the changes didn't break existing
116
+ Gemini CLI uses the `run_shell_command` tool to execute your test runner (for
117
+ example, `npm test` or `jest`). This ensures the changes didn't break existing
116
118
  functionality.
117
119
 
118
120
  ## Advanced: Controlling what Gemini sees
@@ -52,7 +52,7 @@ You tell Gemini about new servers by editing your `settings.json`.
52
52
  "--rm",
53
53
  "-e",
54
54
  "GITHUB_PERSONAL_ACCESS_TOKEN",
55
- "ghcr.io/modelcontextprotocol/servers/github:latest"
55
+ "ghcr.io/github/github-mcp-server:latest"
56
56
  ],
57
57
  "env": {
58
58
  "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}"
@@ -62,8 +62,10 @@ You tell Gemini about new servers by editing your `settings.json`.
62
62
  }
63
63
  ```
64
64
 
65
- > **Note:** The `command` is `docker`, and the rest are arguments passed to it.
66
- > We map the local environment variable into the container so your secret isn't
65
+ <!-- prettier-ignore -->
66
+ > [!NOTE]
67
+ > The `command` is `docker`, and the rest are arguments passed to it. We
68
+ > map the local environment variable into the container so your secret isn't
67
69
  > hardcoded in the config file.
68
70
 
69
71
  ## How to verify the connection
@@ -11,8 +11,8 @@ persistent facts, and inspect the active context.
11
11
 
12
12
  ## Why manage context?
13
13
 
14
- Out of the box, Gemini CLI is smart but generic. It doesn't know your preferred
15
- testing framework, your indentation style, or that you hate using `any` in
14
+ Gemini CLI is powerful but general. It doesn't know your preferred testing
15
+ framework, your indentation style, or your preference against `any` in
16
16
  TypeScript. Context management solves this by giving the agent persistent
17
17
  memory.
18
18
 
@@ -109,11 +109,11 @@ immediately. Force a reload with:
109
109
 
110
110
  ## Best practices
111
111
 
112
- - **Keep it focused:** Don't dump your entire internal wiki into `GEMINI.md`.
113
- Keep instructions actionable and relevant to code generation.
112
+ - **Keep it focused:** Avoid adding excessive content to `GEMINI.md`. Keep
113
+ instructions actionable and relevant to code generation.
114
114
  - **Use negative constraints:** Explicitly telling the agent what _not_ to do
115
- (e.g., "Do not use class components") is often more effective than vague
116
- positive instructions.
115
+ (for example, "Do not use class components") is often more effective than
116
+ vague positive instructions.
117
117
  - **Review often:** Periodically check your `GEMINI.md` files to remove outdated
118
118
  rules.
119
119
 
@@ -5,9 +5,10 @@ structured environment with model steering's real-time feedback, you can guide
5
5
  Gemini CLI through the research and design phases to ensure the final
6
6
  implementation plan is exactly what you need.
7
7
 
8
- > **Note:** This is a preview feature under active development. Preview features
9
- > may only be available in the **Preview** channel or may need to be enabled
10
- > under `/settings`.
8
+ <!-- prettier-ignore -->
9
+ > [!NOTE]
10
+ > This is an experimental feature currently under active development and
11
+ > may need to be enabled under `/settings`.
11
12
 
12
13
  ## Prerequisites
13
14
 
@@ -7,7 +7,7 @@ automate complex workflows, and manage background processes safely.
7
7
  ## Prerequisites
8
8
 
9
9
  - Gemini CLI installed and authenticated.
10
- - Basic familiarity with your system's shell (Bash, Zsh, PowerShell, etc.).
10
+ - Basic familiarity with your system's shell (Bash, Zsh, PowerShell, and so on).
11
11
 
12
12
  ## How to run commands directly (`!`)
13
13
 
@@ -49,7 +49,7 @@ You want to run tests and fix any failures.
49
49
  6. Gemini uses `replace` to fix the bug.
50
50
  7. Gemini runs `npm test` again to verify the fix.
51
51
 
52
- This loop turns Gemini into an autonomous engineer.
52
+ This loop lets Gemini work autonomously.
53
53
 
54
54
  ## How to manage background processes
55
55
 
@@ -75,7 +75,7 @@ confirmation prompts) by streaming the output to you. However, for highly
75
75
  interactive tools (like `vim` or `top`), it's often better to run them yourself
76
76
  in a separate terminal window or use the `!` prefix.
77
77
 
78
- ## Safety first
78
+ ## Safety features
79
79
 
80
80
  Giving an AI access to your shell is powerful but risky. Gemini CLI includes
81
81
  several safety layers.