@mmmbuto/gemini-cli-termux 0.30.3-termux → 0.30.5-termux

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 (400) hide show
  1. package/README.md +42 -193
  2. package/bundle/docs/cli/settings.md +8 -9
  3. package/bundle/docs/extensions/reference.md +14 -38
  4. package/bundle/docs/hooks/reference.md +0 -8
  5. package/bundle/docs/reference/configuration.md +0 -8
  6. package/bundle/gemini.js +10730 -11704
  7. package/bundle/node_modules/@google/gemini-cli-devtools/package.json +1 -1
  8. package/bundle/package.json +2 -1
  9. package/package.json +67 -5
  10. package/packages/cli/dist/index.js +0 -0
  11. package/packages/cli/dist/package.json +2 -2
  12. package/packages/cli/dist/src/commands/extensions/examples/custom-commands/gemini-extension.json +2 -2
  13. package/packages/cli/dist/src/commands/extensions/examples/exclude-tools/gemini-extension.json +3 -3
  14. package/packages/cli/dist/src/commands/extensions/examples/hooks/gemini-extension.json +2 -2
  15. package/packages/cli/dist/src/commands/extensions/examples/hooks/hooks/hooks.json +11 -11
  16. package/packages/cli/dist/src/commands/extensions/examples/mcp-server/example.js +1 -1
  17. package/packages/cli/dist/src/commands/extensions/examples/mcp-server/gemini-extension.json +8 -8
  18. package/packages/cli/dist/src/commands/extensions/examples/mcp-server/package.json +9 -9
  19. package/packages/cli/dist/src/commands/extensions/examples/skills/gemini-extension.json +2 -2
  20. package/packages/cli/dist/src/commands/extensions/examples/themes-example/README.md +8 -5
  21. package/packages/cli/dist/src/commands/extensions/examples/themes-example/gemini-extension.json +27 -27
  22. package/packages/cli/dist/src/config/config.js +4 -65
  23. package/packages/cli/dist/src/config/config.js.map +1 -1
  24. package/packages/cli/dist/src/config/settingsSchema.d.ts +1 -235
  25. package/packages/cli/dist/src/config/settingsSchema.js +1 -235
  26. package/packages/cli/dist/src/config/settingsSchema.js.map +1 -1
  27. package/packages/cli/dist/src/gemini.js +0 -2
  28. package/packages/cli/dist/src/gemini.js.map +1 -1
  29. package/packages/cli/dist/src/generated/git-commit.d.ts +2 -2
  30. package/packages/cli/dist/src/generated/git-commit.js +2 -2
  31. package/packages/cli/dist/src/patches/empty-module.d.ts +2 -0
  32. package/packages/cli/dist/src/patches/empty-module.js +2 -0
  33. package/packages/cli/dist/src/patches/empty-module.js.map +1 -0
  34. package/packages/cli/dist/src/services/McpPromptLoader.js +3 -6
  35. package/packages/cli/dist/src/services/McpPromptLoader.js.map +1 -1
  36. package/packages/cli/dist/src/ui/components/AgentConfigDialog.js +19 -5
  37. package/packages/cli/dist/src/ui/components/AgentConfigDialog.js.map +1 -1
  38. package/packages/cli/dist/src/ui/components/AgentConfigDialog.test.js +41 -19
  39. package/packages/cli/dist/src/ui/components/AgentConfigDialog.test.js.map +1 -1
  40. package/packages/cli/dist/src/ui/components/DialogManager.d.ts +1 -1
  41. package/packages/cli/dist/src/ui/components/DialogManager.js +34 -7
  42. package/packages/cli/dist/src/ui/components/DialogManager.js.map +1 -1
  43. package/packages/cli/dist/src/ui/components/InputPrompt.d.ts +9 -0
  44. package/packages/cli/dist/src/ui/components/InputPrompt.js +350 -125
  45. package/packages/cli/dist/src/ui/components/InputPrompt.js.map +1 -1
  46. package/packages/cli/dist/src/ui/components/InputPrompt.test.js +788 -35
  47. package/packages/cli/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  48. package/packages/cli/dist/src/ui/components/messages/ShellToolMessage.js +2 -2
  49. package/packages/cli/dist/src/ui/components/messages/ShellToolMessage.js.map +1 -1
  50. package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessage.js +4 -77
  51. package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  52. package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +0 -51
  53. package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
  54. package/packages/cli/dist/src/ui/components/messages/ToolMessage.js +2 -2
  55. package/packages/cli/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  56. package/packages/cli/dist/src/ui/components/messages/ToolShared.d.ts +0 -1
  57. package/packages/cli/dist/src/ui/components/messages/ToolShared.js +2 -2
  58. package/packages/cli/dist/src/ui/components/messages/ToolShared.js.map +1 -1
  59. package/packages/cli/dist/src/ui/components/shared/BaseSettingsDialog.js +4 -1
  60. package/packages/cli/dist/src/ui/components/shared/BaseSettingsDialog.js.map +1 -1
  61. package/packages/cli/dist/src/ui/components/shared/BaseSettingsDialog.test.js +139 -40
  62. package/packages/cli/dist/src/ui/components/shared/BaseSettingsDialog.test.js.map +1 -1
  63. package/packages/cli/dist/src/ui/components/shared/TextInput.js +2 -1
  64. package/packages/cli/dist/src/ui/components/shared/TextInput.js.map +1 -1
  65. package/packages/cli/dist/src/ui/hooks/toolMapping.js +0 -1
  66. package/packages/cli/dist/src/ui/hooks/toolMapping.js.map +1 -1
  67. package/packages/cli/dist/src/ui/hooks/toolMapping.test.js +0 -13
  68. package/packages/cli/dist/src/ui/hooks/toolMapping.test.js.map +1 -1
  69. package/packages/cli/dist/src/ui/hooks/useToolScheduler.js +2 -18
  70. package/packages/cli/dist/src/ui/hooks/useToolScheduler.js.map +1 -1
  71. package/packages/cli/dist/src/ui/hooks/useToolScheduler.test.js +0 -44
  72. package/packages/cli/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  73. package/packages/cli/dist/src/ui/keyMatchers.test.js.map +1 -1
  74. package/packages/cli/dist/src/ui/types.d.ts +0 -1
  75. package/packages/cli/dist/src/ui/types.js.map +1 -1
  76. package/packages/cli/dist/src/ui/utils/commandUtils.js +4 -1
  77. package/packages/cli/dist/src/ui/utils/commandUtils.js.map +1 -1
  78. package/packages/cli/dist/src/utils/activityLogger.js +23 -94
  79. package/packages/cli/dist/src/utils/activityLogger.js.map +1 -1
  80. package/packages/cli/dist/src/utils/handleAutoUpdate.d.ts +1 -1
  81. package/packages/cli/dist/src/utils/handleAutoUpdate.js +1 -1
  82. package/packages/cli/dist/src/utils/handleAutoUpdate.js.map +1 -1
  83. package/packages/cli/dist/src/utils/handleAutoUpdate.test.js +11 -11
  84. package/packages/cli/dist/src/utils/handleAutoUpdate.test.js.map +1 -1
  85. package/{bundle/sandbox-macos-restrictive-closed.sb → packages/cli/dist/src/utils/sandbox-macos-strict-open.sb} +42 -4
  86. package/packages/cli/dist/src/utils/{sandbox-macos-restrictive-closed.sb → sandbox-macos-strict-proxied.sb} +44 -4
  87. package/packages/cli/dist/tsconfig.tsbuildinfo +1 -1
  88. package/packages/core/dist/docs/admin/enterprise-controls.md +115 -0
  89. package/packages/core/dist/docs/changelogs/index.md +57 -1
  90. package/packages/core/dist/docs/changelogs/latest.md +357 -314
  91. package/packages/core/dist/docs/changelogs/preview.md +288 -411
  92. package/packages/core/dist/docs/cli/checkpointing.md +2 -3
  93. package/packages/core/dist/docs/cli/cli-reference.md +42 -28
  94. package/packages/core/dist/docs/cli/custom-commands.md +3 -0
  95. package/packages/core/dist/docs/cli/enterprise.md +28 -8
  96. package/packages/core/dist/docs/cli/gemini-md.md +21 -13
  97. package/packages/core/dist/docs/cli/headless.md +34 -372
  98. package/packages/core/dist/docs/cli/model.md +1 -1
  99. package/packages/core/dist/docs/cli/plan-mode.md +245 -0
  100. package/packages/core/dist/docs/cli/rewind.md +11 -11
  101. package/packages/core/dist/docs/cli/sandbox.md +6 -5
  102. package/packages/core/dist/docs/cli/session-management.md +61 -44
  103. package/packages/core/dist/docs/cli/settings.md +64 -49
  104. package/packages/core/dist/docs/cli/skills.md +29 -7
  105. package/packages/core/dist/docs/cli/telemetry.md +41 -5
  106. package/packages/core/dist/docs/cli/themes.md +88 -54
  107. package/packages/core/dist/docs/cli/trusted-folders.md +31 -0
  108. package/packages/core/dist/docs/cli/tutorials/automation.md +187 -0
  109. package/packages/core/dist/docs/cli/tutorials/file-management.md +142 -0
  110. package/packages/core/dist/docs/cli/tutorials/mcp-setup.md +105 -0
  111. package/packages/core/dist/docs/cli/tutorials/memory-management.md +126 -0
  112. package/packages/core/dist/docs/cli/tutorials/session-management.md +105 -0
  113. package/packages/core/dist/docs/cli/tutorials/shell-commands.md +107 -0
  114. package/packages/core/dist/docs/cli/tutorials/skills-getting-started.md +36 -31
  115. package/packages/core/dist/docs/cli/tutorials/task-planning.md +93 -0
  116. package/packages/core/dist/docs/cli/tutorials/web-tools.md +78 -0
  117. package/packages/core/dist/docs/core/index.md +7 -7
  118. package/packages/core/dist/docs/core/subagents.md +40 -40
  119. package/packages/core/dist/docs/extensions/best-practices.md +102 -53
  120. package/packages/core/dist/docs/extensions/index.md +37 -21
  121. package/packages/core/dist/docs/extensions/reference.md +148 -219
  122. package/packages/core/dist/docs/extensions/releasing.md +93 -122
  123. package/packages/core/dist/docs/extensions/writing-extensions.md +87 -76
  124. package/packages/core/dist/docs/get-started/authentication.md +4 -4
  125. package/packages/core/dist/docs/get-started/examples.md +39 -119
  126. package/packages/core/dist/docs/get-started/gemini-3.md +17 -3
  127. package/packages/core/dist/docs/get-started/index.md +16 -5
  128. package/packages/core/dist/docs/get-started/installation.md +110 -77
  129. package/packages/core/dist/docs/hooks/best-practices.md +1 -1
  130. package/packages/core/dist/docs/hooks/reference.md +2 -2
  131. package/packages/core/dist/docs/index.md +142 -149
  132. package/packages/core/dist/docs/redirects.json +19 -0
  133. package/packages/core/dist/docs/reference/commands.md +523 -0
  134. package/{bundle/docs/get-started → packages/core/dist/docs/reference}/configuration.md +180 -71
  135. package/packages/core/dist/docs/{cli → reference}/keyboard-shortcuts.md +49 -35
  136. package/packages/core/dist/docs/{core → reference}/policy-engine.md +76 -32
  137. package/packages/core/dist/docs/releases.md +2 -2
  138. package/{bundle/docs → packages/core/dist/docs/resources}/faq.md +1 -1
  139. package/packages/core/dist/docs/{quota-and-pricing.md → resources/quota-and-pricing.md} +12 -5
  140. package/{bundle/docs → packages/core/dist/docs/resources}/tos-privacy.md +3 -3
  141. package/packages/core/dist/docs/{troubleshooting.md → resources/troubleshooting.md} +1 -1
  142. package/packages/core/dist/docs/sidebar.json +194 -113
  143. package/packages/core/dist/docs/tools/activate-skill.md +43 -0
  144. package/packages/core/dist/docs/tools/ask-user.md +95 -0
  145. package/packages/core/dist/docs/tools/file-system.md +55 -143
  146. package/packages/core/dist/docs/tools/index.md +97 -93
  147. package/packages/core/dist/docs/tools/internal-docs.md +46 -0
  148. package/packages/core/dist/docs/tools/mcp-server.md +65 -16
  149. package/packages/core/dist/docs/tools/memory.md +21 -40
  150. package/packages/core/dist/docs/tools/planning.md +57 -0
  151. package/packages/core/dist/docs/tools/shell.md +44 -88
  152. package/packages/core/dist/docs/tools/todos.md +22 -44
  153. package/packages/core/dist/docs/tools/web-fetch.md +22 -46
  154. package/packages/core/dist/docs/tools/web-search.md +19 -29
  155. package/packages/core/dist/src/code_assist/types.d.ts +14 -14
  156. package/packages/core/dist/src/config/config.d.ts +1 -13
  157. package/packages/core/dist/src/config/config.js +6 -39
  158. package/packages/core/dist/src/config/config.js.map +1 -1
  159. package/packages/core/dist/src/confirmation-bus/types.d.ts +0 -3
  160. package/packages/core/dist/src/confirmation-bus/types.js.map +1 -1
  161. package/packages/core/dist/src/core/coreToolHookTriggers.d.ts +1 -1
  162. package/packages/core/dist/src/core/coreToolHookTriggers.js +3 -8
  163. package/packages/core/dist/src/core/coreToolHookTriggers.js.map +1 -1
  164. package/packages/core/dist/src/generated/git-commit.d.ts +2 -2
  165. package/packages/core/dist/src/generated/git-commit.js +2 -2
  166. package/packages/core/dist/src/hooks/hookEventHandler.d.ts +2 -2
  167. package/packages/core/dist/src/hooks/hookEventHandler.js +2 -8
  168. package/packages/core/dist/src/hooks/hookEventHandler.js.map +1 -1
  169. package/packages/core/dist/src/hooks/hookSystem.d.ts +2 -2
  170. package/packages/core/dist/src/hooks/hookSystem.js +4 -4
  171. package/packages/core/dist/src/hooks/hookSystem.js.map +1 -1
  172. package/packages/core/dist/src/hooks/types.d.ts +0 -18
  173. package/packages/core/dist/src/hooks/types.js +0 -17
  174. package/packages/core/dist/src/hooks/types.js.map +1 -1
  175. package/packages/core/dist/src/ide/ide-client.js +1 -1
  176. package/packages/core/dist/src/ide/ide-client.js.map +1 -1
  177. package/packages/core/dist/src/ide/types.d.ts +8 -8
  178. package/packages/core/dist/src/index.d.ts +2 -0
  179. package/packages/core/dist/src/index.js +2 -0
  180. package/packages/core/dist/src/index.js.map +1 -1
  181. package/packages/core/dist/src/policy/policies/plan.toml +29 -43
  182. package/packages/core/dist/src/policy/policies/read-only.toml +12 -11
  183. package/packages/core/dist/src/policy/policies/write.toml +11 -10
  184. package/packages/core/dist/src/policy/policies/yolo.toml +24 -12
  185. package/packages/core/dist/src/policy/policy-engine.js +1 -5
  186. package/packages/core/dist/src/policy/policy-engine.js.map +1 -1
  187. package/packages/core/dist/src/policy/types.d.ts +1 -2
  188. package/packages/core/dist/src/policy/types.js +0 -1
  189. package/packages/core/dist/src/policy/types.js.map +1 -1
  190. package/packages/core/dist/src/safety/context-builder.d.ts +3 -3
  191. package/packages/core/dist/src/safety/context-builder.js +4 -60
  192. package/packages/core/dist/src/safety/context-builder.js.map +1 -1
  193. package/packages/core/dist/src/safety/context-builder.test.js +18 -98
  194. package/packages/core/dist/src/safety/context-builder.test.js.map +1 -1
  195. package/packages/core/dist/src/safety/protocol.d.ts +0 -4
  196. package/packages/core/dist/src/safety/registry.d.ts +1 -2
  197. package/packages/core/dist/src/safety/registry.js +4 -14
  198. package/packages/core/dist/src/safety/registry.js.map +1 -1
  199. package/packages/core/dist/src/safety/registry.test.js +2 -5
  200. package/packages/core/dist/src/safety/registry.test.js.map +1 -1
  201. package/packages/core/dist/src/scheduler/scheduler.d.ts +1 -1
  202. package/packages/core/dist/src/scheduler/scheduler.js +4 -49
  203. package/packages/core/dist/src/scheduler/scheduler.js.map +1 -1
  204. package/packages/core/dist/src/scheduler/scheduler.test.js +0 -91
  205. package/packages/core/dist/src/scheduler/scheduler.test.js.map +1 -1
  206. package/packages/core/dist/src/scheduler/state-manager.d.ts +0 -6
  207. package/packages/core/dist/src/scheduler/state-manager.js +0 -12
  208. package/packages/core/dist/src/scheduler/state-manager.js.map +1 -1
  209. package/packages/core/dist/src/scheduler/tool-executor.js +7 -9
  210. package/packages/core/dist/src/scheduler/tool-executor.js.map +1 -1
  211. package/packages/core/dist/src/scheduler/tool-executor.test.js +1 -1
  212. package/packages/core/dist/src/scheduler/tool-executor.test.js.map +1 -1
  213. package/packages/core/dist/src/scheduler/types.d.ts +0 -13
  214. package/packages/core/dist/src/services/shellExecutionService.d.ts +1 -1
  215. package/packages/core/dist/src/services/shellExecutionService.js +7 -8
  216. package/packages/core/dist/src/services/shellExecutionService.js.map +1 -1
  217. package/packages/core/dist/src/services/shellExecutionService.test.js +5 -5
  218. package/packages/core/dist/src/services/shellExecutionService.test.js.map +1 -1
  219. package/packages/core/dist/src/services/test-data/resolved-aliases-retry.golden.json +251 -251
  220. package/packages/core/dist/src/services/test-data/resolved-aliases.golden.json +251 -251
  221. package/packages/core/dist/src/skills/builtin/skill-creator/scripts/init_skill.cjs +5 -1
  222. package/packages/core/dist/src/skills/builtin/skill-creator/scripts/package_skill.cjs +5 -1
  223. package/packages/core/dist/src/skills/builtin/skill-creator/scripts/validate_skill.cjs +5 -1
  224. package/packages/core/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +1 -3
  225. package/packages/core/dist/src/telemetry/clearcut-logger/clearcut-logger.js +0 -2
  226. package/packages/core/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  227. package/packages/core/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +1 -9
  228. package/packages/core/dist/src/telemetry/clearcut-logger/event-metadata-key.js +1 -19
  229. package/packages/core/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  230. package/packages/core/dist/src/telemetry/index.d.ts +1 -2
  231. package/packages/core/dist/src/telemetry/index.js +1 -2
  232. package/packages/core/dist/src/telemetry/index.js.map +1 -1
  233. package/packages/core/dist/src/telemetry/loggers.js +0 -4
  234. package/packages/core/dist/src/telemetry/loggers.js.map +1 -1
  235. package/packages/core/dist/src/telemetry/trace.js.map +1 -1
  236. package/packages/core/dist/src/telemetry/types.d.ts +0 -26
  237. package/packages/core/dist/src/telemetry/types.js +2 -76
  238. package/packages/core/dist/src/telemetry/types.js.map +1 -1
  239. package/packages/core/dist/src/tools/diffOptions.d.ts +2 -2
  240. package/packages/core/dist/src/tools/diffOptions.js.map +1 -1
  241. package/packages/core/dist/src/tools/mcp-client.test.js.map +1 -1
  242. package/packages/core/dist/src/tools/mcp-tool.d.ts +1 -3
  243. package/packages/core/dist/src/tools/mcp-tool.js +2 -9
  244. package/packages/core/dist/src/tools/mcp-tool.js.map +1 -1
  245. package/packages/core/dist/src/tools/memoryTool.d.ts +0 -10
  246. package/packages/core/dist/src/tools/memoryTool.js +30 -25
  247. package/packages/core/dist/src/tools/memoryTool.js.map +1 -1
  248. package/packages/core/dist/src/tools/tool-names.d.ts +6 -0
  249. package/packages/core/dist/src/tools/tool-names.js +16 -1
  250. package/packages/core/dist/src/tools/tool-names.js.map +1 -1
  251. package/packages/core/dist/src/tools/tools.d.ts +0 -11
  252. package/packages/core/dist/src/tools/tools.js.map +1 -1
  253. package/packages/core/dist/src/utils/getPty.d.ts +14 -1
  254. package/packages/core/dist/src/utils/getPty.js +67 -2
  255. package/packages/core/dist/src/utils/getPty.js.map +1 -1
  256. package/packages/core/dist/src/utils/memoryDiscovery.d.ts +11 -3
  257. package/packages/core/dist/src/utils/memoryDiscovery.js +56 -21
  258. package/packages/core/dist/src/utils/memoryDiscovery.js.map +1 -1
  259. package/packages/core/dist/src/utils/secure-browser-launcher.js +40 -29
  260. package/packages/core/dist/src/utils/secure-browser-launcher.js.map +1 -1
  261. package/packages/core/dist/src/utils/textUtils.d.ts +0 -9
  262. package/packages/core/dist/src/utils/textUtils.js +0 -15
  263. package/packages/core/dist/src/utils/textUtils.js.map +1 -1
  264. package/packages/core/dist/src/utils/textUtils.test.js +1 -42
  265. package/packages/core/dist/src/utils/textUtils.test.js.map +1 -1
  266. package/packages/core/dist/tsconfig.tsbuildinfo +1 -1
  267. package/packages/test-utils/dist/tsconfig.tsbuildinfo +1 -1
  268. package/bundle/docs/ROADMAP.md +0 -113
  269. package/bundle/docs/TERMUX.md +0 -95
  270. package/bundle/docs/architecture.md +0 -80
  271. package/bundle/docs/assets/hero.png +0 -0
  272. package/bundle/docs/cli/authentication.md +0 -3
  273. package/bundle/docs/cli/commands.md +0 -430
  274. package/bundle/docs/cli/context-memory.md +0 -69
  275. package/bundle/docs/cli/index.md +0 -65
  276. package/bundle/docs/cli/keyboard-shortcuts.md +0 -140
  277. package/bundle/docs/cli/tutorials.md +0 -87
  278. package/bundle/docs/core/policy-engine.md +0 -305
  279. package/bundle/docs/get-started/configuration-v1.md +0 -888
  280. package/bundle/docs/patches/README.md +0 -74
  281. package/bundle/docs/patches/mcp-sdk-typings-shim.md +0 -27
  282. package/bundle/docs/quota-and-pricing.md +0 -158
  283. package/bundle/docs/termux-api/COMMANDS.md +0 -592
  284. package/bundle/docs/termux-api/DISCOVERY_SETUP.md +0 -670
  285. package/bundle/docs/termux-api/EXECUTION_PLAN.md +0 -532
  286. package/bundle/docs/termux-api/MERGE_STRATEGY.md +0 -365
  287. package/bundle/docs/termux-api/PATCHES.md +0 -480
  288. package/bundle/docs/termux-api/README.md +0 -416
  289. package/bundle/docs/troubleshooting.md +0 -173
  290. package/bundle/policies/conseca.toml +0 -6
  291. package/bundle/sandbox-macos-permissive-closed.sb +0 -32
  292. package/packages/cli/README.md +0 -173
  293. package/packages/cli/dist/src/commands/extensions/examples/mcp-server/example.d.ts +0 -6
  294. package/packages/cli/dist/src/commands/extensions/examples/mcp-server/example.js.map +0 -1
  295. package/packages/cli/dist/src/commands/extensions/examples/mcp-server/example.test.d.ts +0 -6
  296. package/packages/cli/dist/src/commands/extensions/examples/mcp-server/example.test.js +0 -111
  297. package/packages/cli/dist/src/commands/extensions/examples/mcp-server/example.test.js.map +0 -1
  298. package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessageOverflow.test.d.ts +0 -6
  299. package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessageOverflow.test.js +0 -93
  300. package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessageOverflow.test.js.map +0 -1
  301. package/packages/cli/dist/src/ui/hooks/useReactToolScheduler.d.ts +0 -42
  302. package/packages/cli/dist/src/ui/hooks/useReactToolScheduler.js +0 -105
  303. package/packages/cli/dist/src/ui/hooks/useReactToolScheduler.js.map +0 -1
  304. package/packages/cli/dist/src/ui/hooks/useReactToolScheduler.test.d.ts +0 -6
  305. package/packages/cli/dist/src/ui/hooks/useReactToolScheduler.test.js +0 -58
  306. package/packages/cli/dist/src/ui/hooks/useReactToolScheduler.test.js.map +0 -1
  307. package/packages/cli/dist/src/ui/hooks/useRefreshMemoryCommand.d.ts +0 -6
  308. package/packages/cli/dist/src/ui/hooks/useRefreshMemoryCommand.js +0 -7
  309. package/packages/cli/dist/src/ui/hooks/useRefreshMemoryCommand.js.map +0 -1
  310. package/packages/cli/dist/src/ui/hooks/useShowMemoryCommand.d.ts +0 -9
  311. package/packages/cli/dist/src/ui/hooks/useShowMemoryCommand.js +0 -59
  312. package/packages/cli/dist/src/ui/hooks/useShowMemoryCommand.js.map +0 -1
  313. package/packages/cli/dist/src/ui/hooks/useToolExecutionScheduler.d.ts +0 -30
  314. package/packages/cli/dist/src/ui/hooks/useToolExecutionScheduler.js +0 -149
  315. package/packages/cli/dist/src/ui/hooks/useToolExecutionScheduler.js.map +0 -1
  316. package/packages/cli/dist/src/ui/hooks/useToolExecutionScheduler.test.d.ts +0 -6
  317. package/packages/cli/dist/src/ui/hooks/useToolExecutionScheduler.test.js +0 -376
  318. package/packages/cli/dist/src/ui/hooks/useToolExecutionScheduler.test.js.map +0 -1
  319. package/packages/cli/dist/src/ui/hooks/useToolSchedulerFacade.test.d.ts +0 -6
  320. package/packages/cli/dist/src/ui/hooks/useToolSchedulerFacade.test.js +0 -45
  321. package/packages/cli/dist/src/ui/hooks/useToolSchedulerFacade.test.js.map +0 -1
  322. package/packages/cli/dist/src/ui/utils/InlineMarkdownRenderer.test.d.ts +0 -6
  323. package/packages/cli/dist/src/ui/utils/InlineMarkdownRenderer.test.js +0 -21
  324. package/packages/cli/dist/src/ui/utils/InlineMarkdownRenderer.test.js.map +0 -1
  325. package/packages/cli/dist/src/ui/utils/terminalUtils.test.d.ts +0 -6
  326. package/packages/cli/dist/src/ui/utils/terminalUtils.test.js +0 -40
  327. package/packages/cli/dist/src/ui/utils/terminalUtils.test.js.map +0 -1
  328. package/packages/cli/dist/src/utils/checks.d.ts +0 -19
  329. package/packages/cli/dist/src/utils/checks.js +0 -24
  330. package/packages/cli/dist/src/utils/checks.js.map +0 -1
  331. package/packages/cli/dist/src/utils/checks.test.d.ts +0 -6
  332. package/packages/cli/dist/src/utils/checks.test.js +0 -29
  333. package/packages/cli/dist/src/utils/checks.test.js.map +0 -1
  334. package/packages/cli/dist/src/utils/sandbox-macos-permissive-closed.sb +0 -32
  335. package/packages/cli/index.js +0 -2
  336. package/packages/core/dist/docs/TERMUX.md +0 -95
  337. package/packages/core/dist/docs/architecture.md +0 -80
  338. package/packages/core/dist/docs/assets/hero.png +0 -0
  339. package/packages/core/dist/docs/cli/authentication.md +0 -3
  340. package/packages/core/dist/docs/cli/commands.md +0 -430
  341. package/packages/core/dist/docs/cli/context-memory.md +0 -69
  342. package/packages/core/dist/docs/cli/index.md +0 -65
  343. package/packages/core/dist/docs/cli/tutorials.md +0 -87
  344. package/packages/core/dist/docs/cli/uninstall.md +0 -65
  345. package/packages/core/dist/docs/core/memport.md +0 -246
  346. package/packages/core/dist/docs/core/tools-api.md +0 -131
  347. package/packages/core/dist/docs/faq.md +0 -154
  348. package/packages/core/dist/docs/get-started/configuration-v1.md +0 -888
  349. package/packages/core/dist/docs/get-started/configuration.md +0 -1585
  350. package/packages/core/dist/docs/patches/README.md +0 -74
  351. package/packages/core/dist/docs/patches/mcp-sdk-typings-shim.md +0 -27
  352. package/packages/core/dist/docs/termux-api/COMMANDS.md +0 -592
  353. package/packages/core/dist/docs/termux-api/DISCOVERY_SETUP.md +0 -670
  354. package/packages/core/dist/docs/termux-api/EXECUTION_PLAN.md +0 -532
  355. package/packages/core/dist/docs/termux-api/MERGE_STRATEGY.md +0 -365
  356. package/packages/core/dist/docs/termux-api/PATCHES.md +0 -480
  357. package/packages/core/dist/docs/termux-api/README.md +0 -416
  358. package/packages/core/dist/docs/tos-privacy.md +0 -96
  359. package/packages/core/dist/src/safety/conseca/conseca.d.ts +0 -31
  360. package/packages/core/dist/src/safety/conseca/conseca.js +0 -105
  361. package/packages/core/dist/src/safety/conseca/conseca.js.map +0 -1
  362. package/packages/core/dist/src/safety/conseca/conseca.test.d.ts +0 -6
  363. package/packages/core/dist/src/safety/conseca/conseca.test.js +0 -226
  364. package/packages/core/dist/src/safety/conseca/conseca.test.js.map +0 -1
  365. package/packages/core/dist/src/safety/conseca/integration.test.d.ts +0 -6
  366. package/packages/core/dist/src/safety/conseca/integration.test.js +0 -19
  367. package/packages/core/dist/src/safety/conseca/integration.test.js.map +0 -1
  368. package/packages/core/dist/src/safety/conseca/policy-enforcer.d.ts +0 -13
  369. package/packages/core/dist/src/safety/conseca/policy-enforcer.js +0 -135
  370. package/packages/core/dist/src/safety/conseca/policy-enforcer.js.map +0 -1
  371. package/packages/core/dist/src/safety/conseca/policy-enforcer.test.d.ts +0 -6
  372. package/packages/core/dist/src/safety/conseca/policy-enforcer.test.js +0 -141
  373. package/packages/core/dist/src/safety/conseca/policy-enforcer.test.js.map +0 -1
  374. package/packages/core/dist/src/safety/conseca/policy-generator.d.ts +0 -15
  375. package/packages/core/dist/src/safety/conseca/policy-generator.js +0 -144
  376. package/packages/core/dist/src/safety/conseca/policy-generator.js.map +0 -1
  377. package/packages/core/dist/src/safety/conseca/policy-generator.test.d.ts +0 -6
  378. package/packages/core/dist/src/safety/conseca/policy-generator.test.js +0 -84
  379. package/packages/core/dist/src/safety/conseca/policy-generator.test.js.map +0 -1
  380. package/packages/core/dist/src/safety/conseca/types.d.ts +0 -15
  381. package/packages/core/dist/src/safety/conseca/types.js +0 -7
  382. package/packages/core/dist/src/safety/conseca/types.js.map +0 -1
  383. package/packages/core/dist/src/telemetry/conseca-logger.d.ts +0 -9
  384. package/packages/core/dist/src/telemetry/conseca-logger.js +0 -91
  385. package/packages/core/dist/src/telemetry/conseca-logger.js.map +0 -1
  386. package/packages/core/dist/src/telemetry/conseca-logger.test.d.ts +0 -6
  387. package/packages/core/dist/src/telemetry/conseca-logger.test.js +0 -89
  388. package/packages/core/dist/src/telemetry/conseca-logger.test.js.map +0 -1
  389. package/packages/core/dist/src/tools/mcpImportTool.d.ts +0 -31
  390. package/packages/core/dist/src/tools/mcpImportTool.js +0 -143
  391. package/packages/core/dist/src/tools/mcpImportTool.js.map +0 -1
  392. package/packages/core/dist/src/utils/contextMemory.d.ts +0 -67
  393. package/packages/core/dist/src/utils/contextMemory.js +0 -493
  394. package/packages/core/dist/src/utils/contextMemory.js.map +0 -1
  395. package/packages/core/dist/src/utils/contextMemory.test.d.ts +0 -6
  396. package/packages/core/dist/src/utils/contextMemory.test.js +0 -183
  397. package/packages/core/dist/src/utils/contextMemory.test.js.map +0 -1
  398. /package/{bundle/docs/core → packages/core/dist/docs/reference}/memport.md +0 -0
  399. /package/{bundle/docs/core → packages/core/dist/docs/reference}/tools-api.md +0 -0
  400. /package/{bundle/docs/cli → packages/core/dist/docs/resources}/uninstall.md +0 -0
@@ -101,8 +101,8 @@ execution.
101
101
 
102
102
  #### Global MCP settings (`mcp`)
103
103
 
104
- The `mcp` object in your `settings.json` allows you to define global rules for
105
- all MCP servers.
104
+ The `mcp` object in your `settings.json` lets you define global rules for all
105
+ MCP servers.
106
106
 
107
107
  - **`mcp.serverCommand`** (string): A global command to start an MCP server.
108
108
  - **`mcp.allowed`** (array of strings): A list of MCP server names to allow. If
@@ -163,7 +163,8 @@ Each server configuration supports the following properties:
163
163
  - **`args`** (string[]): Command-line arguments for Stdio transport
164
164
  - **`headers`** (object): Custom HTTP headers when using `url` or `httpUrl`
165
165
  - **`env`** (object): Environment variables for the server process. Values can
166
- reference environment variables using `$VAR_NAME` or `${VAR_NAME}` syntax
166
+ reference environment variables using `$VAR_NAME` or `${VAR_NAME}` syntax (all
167
+ platforms), or `%VAR_NAME%` (Windows only).
167
168
  - **`cwd`** (string): Working directory for Stdio transport
168
169
  - **`timeout`** (number): Request timeout in milliseconds (default: 600,000ms =
169
170
  10 minutes)
@@ -184,6 +185,63 @@ Each server configuration supports the following properties:
184
185
  Service Account to impersonate. Used with
185
186
  `authProviderType: 'service_account_impersonation'`.
186
187
 
188
+ ### Environment variable expansion
189
+
190
+ Gemini CLI automatically expands environment variables in the `env` block of
191
+ your MCP server configuration. This allows you to securely reference variables
192
+ defined in your shell or environment without hardcoding sensitive information
193
+ directly in your `settings.json` file.
194
+
195
+ The expansion utility supports:
196
+
197
+ - **POSIX/Bash syntax:** `$VARIABLE_NAME` or `${VARIABLE_NAME}` (supported on
198
+ all platforms)
199
+ - **Windows syntax:** `%VARIABLE_NAME%` (supported only when running on Windows)
200
+
201
+ If a variable is not defined in the current environment, it resolves to an empty
202
+ string.
203
+
204
+ **Example:**
205
+
206
+ ```json
207
+ "env": {
208
+ "API_KEY": "$MY_EXTERNAL_TOKEN",
209
+ "LOG_LEVEL": "$LOG_LEVEL",
210
+ "TEMP_DIR": "%TEMP%"
211
+ }
212
+ ```
213
+
214
+ ### Security and environment sanitization
215
+
216
+ To protect your credentials, Gemini CLI performs environment sanitization when
217
+ spawning MCP server processes.
218
+
219
+ #### Automatic redaction
220
+
221
+ By default, the CLI redacts sensitive environment variables from the base
222
+ environment (inherited from the host process) to prevent unintended exposure to
223
+ third-party MCP servers. This includes:
224
+
225
+ - Core project keys: `GEMINI_API_KEY`, `GOOGLE_API_KEY`, etc.
226
+ - Variables matching sensitive patterns: `*TOKEN*`, `*SECRET*`, `*PASSWORD*`,
227
+ `*KEY*`, `*AUTH*`, `*CREDENTIAL*`.
228
+ - Certificates and private key patterns.
229
+
230
+ #### Explicit overrides
231
+
232
+ If an environment variable must be passed to an MCP server, you must explicitly
233
+ state it in the `env` property of the server configuration in `settings.json`.
234
+ Explicitly defined variables (including those from extensions) are trusted and
235
+ are **not** subjected to the automatic redaction process.
236
+
237
+ This follows the security principle that if a variable is explicitly configured
238
+ by the user for a specific server, it constitutes informed consent to share that
239
+ specific data with that server.
240
+
241
+ > **Note:** Even when explicitly defined, you should avoid hardcoding secrets.
242
+ > Instead, use environment variable expansion (e.g., `"MY_KEY": "$MY_KEY"`) to
243
+ > securely pull the value from your host environment at runtime.
244
+
187
245
  ### OAuth support for remote MCP servers
188
246
 
189
247
  The Gemini CLI supports OAuth 2.0 authentication for remote MCP servers using
@@ -738,22 +796,13 @@ The MCP integration tracks several states:
738
796
  - **Trust settings:** The `trust` option bypasses all confirmation dialogs. Use
739
797
  cautiously and only for servers you completely control
740
798
  - **Access tokens:** Be security-aware when configuring environment variables
741
- containing API keys or tokens
742
- - **Environment variable redaction:** By default, the Gemini CLI redacts
743
- sensitive environment variables (such as `GEMINI_API_KEY`, `GOOGLE_API_KEY`,
744
- and variables matching patterns like `*TOKEN*`, `*SECRET*`, `*PASSWORD*`) when
745
- spawning MCP servers using the `stdio` transport. This prevents unintended
746
- exposure of your credentials to third-party servers.
747
- - **Explicit environment variables:** If you need to pass a specific environment
748
- variable to an MCP server, you should define it explicitly in the `env`
749
- property of the server configuration in `settings.json`.
799
+ containing API keys or tokens. See
800
+ [Security and environment sanitization](#security-and-environment-sanitization)
801
+ for details on how Gemini CLI protects your credentials.
750
802
  - **Sandbox compatibility:** When using sandboxing, ensure MCP servers are
751
- available within the sandbox environment.
803
+ available within the sandbox environment
752
804
  - **Private data:** Using broadly scoped personal access tokens can lead to
753
805
  information leakage between repositories.
754
- - **Untrusted servers:** Be extremely cautious when adding MCP servers from
755
- untrusted or third-party sources. Malicious servers could attempt to
756
- exfiltrate data or perform unauthorized actions through the tools they expose.
757
806
 
758
807
  ### Performance and resource management
759
808
 
@@ -1,54 +1,35 @@
1
1
  # Memory tool (`save_memory`)
2
2
 
3
- This document describes the `save_memory` tool for the Gemini CLI.
3
+ The `save_memory` tool allows the Gemini agent to persist specific facts, user
4
+ preferences, and project details across sessions.
4
5
 
5
- ## Description
6
+ ## Technical reference
6
7
 
7
- Use `save_memory` to save and recall information across your Gemini CLI
8
- sessions. With `save_memory`, you can direct the CLI to remember key details
9
- across sessions, providing personalized and directed assistance.
8
+ This tool appends information to the `## Gemini Added Memories` section of your
9
+ global `GEMINI.md` file (typically located at `~/.gemini/GEMINI.md`).
10
10
 
11
11
  ### Arguments
12
12
 
13
- `save_memory` takes one argument:
14
-
15
- - `fact` (string, required): The specific fact or piece of information to
16
- remember. This should be a clear, self-contained statement written in natural
13
+ - `fact` (string, required): A clear, self-contained statement in natural
17
14
  language.
18
15
 
19
- ## How to use `save_memory` with the Gemini CLI
20
-
21
- The tool appends the provided `fact` to a special `GEMINI.md` file located in
22
- the user's home directory (`~/.gemini/GEMINI.md`). This file can be configured
23
- to have a different name.
24
-
25
- Once added, the facts are stored under a `## Gemini Added Memories` section.
26
- This file is loaded as context in subsequent sessions, allowing the CLI to
27
- recall the saved information.
28
-
29
- Usage:
30
-
31
- ```
32
- save_memory(fact="Your fact here.")
33
- ```
34
-
35
- ### `save_memory` examples
36
-
37
- Remember a user preference:
16
+ ## Technical behavior
38
17
 
39
- ```
40
- save_memory(fact="My preferred programming language is Python.")
41
- ```
18
+ - **Storage:** Appends to the global context file in the user's home directory.
19
+ - **Loading:** The stored facts are automatically included in the hierarchical
20
+ context system for all future sessions.
21
+ - **Format:** Saves data as a bulleted list item within a dedicated Markdown
22
+ section.
42
23
 
43
- Store a project-specific detail:
24
+ ## Use cases
44
25
 
45
- ```
46
- save_memory(fact="The project I'm currently working on is called 'gemini-cli'.")
47
- ```
26
+ - Persisting user preferences (for example, "I prefer functional programming").
27
+ - Saving project-wide architectural decisions.
28
+ - Storing frequently used aliases or system configurations.
48
29
 
49
- ## Important notes
30
+ ## Next steps
50
31
 
51
- - **General usage:** This tool should be used for concise, important facts. It
52
- is not intended for storing large amounts of data or conversational history.
53
- - **Memory file:** The memory file is a plain text Markdown file, so you can
54
- view and edit it manually if needed.
32
+ - Follow the [Memory management guide](../cli/tutorials/memory-management.md)
33
+ for practical examples.
34
+ - Learn how the [Project context (GEMINI.md)](../cli/gemini-md.md) system loads
35
+ this information.
@@ -0,0 +1,57 @@
1
+ # Gemini CLI planning tools
2
+
3
+ Planning tools allow the Gemini model to switch into a safe, read-only "Plan
4
+ Mode" for researching and planning complex changes, and to signal the
5
+ finalization of a plan to the user.
6
+
7
+ ## 1. `enter_plan_mode` (EnterPlanMode)
8
+
9
+ `enter_plan_mode` switches the CLI to Plan Mode. This tool is typically called
10
+ by the agent when you ask it to "start a plan" using natural language. In this
11
+ mode, the agent is restricted to read-only tools to allow for safe exploration
12
+ and planning.
13
+
14
+ > **Note:** This tool is not available when the CLI is in YOLO mode.
15
+
16
+ - **Tool name:** `enter_plan_mode`
17
+ - **Display name:** Enter Plan Mode
18
+ - **File:** `enter-plan-mode.ts`
19
+ - **Parameters:**
20
+ - `reason` (string, optional): A short reason explaining why the agent is
21
+ entering plan mode (e.g., "Starting a complex feature implementation").
22
+ - **Behavior:**
23
+ - Switches the CLI's approval mode to `PLAN`.
24
+ - Notifies the user that the agent has entered Plan Mode.
25
+ - **Output (`llmContent`):** A message indicating the switch, e.g.,
26
+ `Switching to Plan mode.`
27
+ - **Confirmation:** Yes. The user is prompted to confirm entering Plan Mode.
28
+
29
+ ## 2. `exit_plan_mode` (ExitPlanMode)
30
+
31
+ `exit_plan_mode` signals that the planning phase is complete. It presents the
32
+ finalized plan to the user and requests approval to start the implementation.
33
+
34
+ - **Tool name:** `exit_plan_mode`
35
+ - **Display name:** Exit Plan Mode
36
+ - **File:** `exit-plan-mode.ts`
37
+ - **Parameters:**
38
+ - `plan_path` (string, required): The path to the finalized Markdown plan
39
+ file. This file MUST be located within the project's temporary plans
40
+ directory (e.g., `~/.gemini/tmp/<project>/plans/`).
41
+ - **Behavior:**
42
+ - Validates that the `plan_path` is within the allowed directory and that the
43
+ file exists and has content.
44
+ - Presents the plan to the user for review.
45
+ - If the user approves the plan:
46
+ - Switches the CLI's approval mode to the user's chosen approval mode (
47
+ `DEFAULT` or `AUTO_EDIT`).
48
+ - Marks the plan as approved for implementation.
49
+ - If the user rejects the plan:
50
+ - Stays in Plan Mode.
51
+ - Returns user feedback to the model to refine the plan.
52
+ - **Output (`llmContent`):**
53
+ - On approval: A message indicating the plan was approved and the new approval
54
+ mode.
55
+ - On rejection: A message containing the user's feedback.
56
+ - **Confirmation:** Yes. Shows the finalized plan and asks for user approval to
57
+ proceed with implementation.
@@ -1,70 +1,33 @@
1
1
  # Shell tool (`run_shell_command`)
2
2
 
3
- This document describes the `run_shell_command` tool for the Gemini CLI.
3
+ The `run_shell_command` tool allows the Gemini model to execute commands
4
+ directly on your system's shell. It is the primary mechanism for the agent to
5
+ interact with your environment beyond simple file edits.
4
6
 
5
- ## Description
7
+ ## Technical reference
6
8
 
7
- Use `run_shell_command` to interact with the underlying system, run scripts, or
8
- perform command-line operations. `run_shell_command` executes a given shell
9
- command, including interactive commands that require user input (e.g., `vim`,
10
- `git rebase -i`) if the `tools.shell.enableInteractiveShell` setting is set to
11
- `true`.
12
-
13
- On Windows, commands are executed with `powershell.exe -NoProfile -Command`
14
- (unless you explicitly point `ComSpec` at another shell). On other platforms,
15
- they are executed with `bash -c`.
9
+ On Windows, commands execute with `powershell.exe -NoProfile -Command`. On other
10
+ platforms, they execute with `bash -c`.
16
11
 
17
12
  ### Arguments
18
13
 
19
- `run_shell_command` takes the following arguments:
20
-
21
14
  - `command` (string, required): The exact shell command to execute.
22
- - `description` (string, optional): A brief description of the command's
23
- purpose, which will be shown to the user.
24
- - `directory` (string, optional): The directory (relative to the project root)
25
- in which to execute the command. If not provided, the command runs in the
26
- project root.
27
-
28
- ## How to use `run_shell_command` with the Gemini CLI
15
+ - `description` (string, optional): A brief description shown to the user for
16
+ confirmation.
17
+ - `dir_path` (string, optional): The absolute path or relative path from
18
+ workspace root where the command runs.
19
+ - `is_background` (boolean, optional): Whether to move the process to the
20
+ background immediately after starting.
29
21
 
30
- When using `run_shell_command`, the command is executed as a subprocess.
31
- `run_shell_command` can start background processes using `&`. The tool returns
32
- detailed information about the execution, including:
22
+ ### Return values
33
23
 
34
- - `Command`: The command that was executed.
35
- - `Directory`: The directory where the command was run.
36
- - `Stdout`: Output from the standard output stream.
37
- - `Stderr`: Output from the standard error stream.
38
- - `Error`: Any error message reported by the subprocess.
39
- - `Exit Code`: The exit code of the command.
40
- - `Signal`: The signal number if the command was terminated by a signal.
41
- - `Background PIDs`: A list of PIDs for any background processes started.
24
+ The tool returns a JSON object containing:
42
25
 
43
- Usage:
44
-
45
- ```
46
- run_shell_command(command="Your commands.", description="Your description of the command.", directory="Your execution directory.")
47
- ```
48
-
49
- ## `run_shell_command` examples
50
-
51
- List files in the current directory:
52
-
53
- ```
54
- run_shell_command(command="ls -la")
55
- ```
56
-
57
- Run a script in a specific directory:
58
-
59
- ```
60
- run_shell_command(command="./my_script.sh", directory="scripts", description="Run my custom script")
61
- ```
62
-
63
- Start a background server:
64
-
65
- ```
66
- run_shell_command(command="npm run dev &", description="Start development server in background")
67
- ```
26
+ - `Command`: The executed string.
27
+ - `Directory`: The execution path.
28
+ - `Stdout` / `Stderr`: The output streams.
29
+ - `Exit Code`: The process return code.
30
+ - `Background PIDs`: PIDs of any started background processes.
68
31
 
69
32
  ## Configuration
70
33
 
@@ -167,10 +130,11 @@ configuration file.
167
130
  `"tools": {"core": ["run_shell_command(git)"]}` will only allow `git`
168
131
  commands. Including the generic `run_shell_command` acts as a wildcard,
169
132
  allowing any command not explicitly blocked.
170
- - `tools.exclude`: To block specific commands, add entries to the `exclude` list
171
- under the `tools` category in the format `run_shell_command(<command>)`. For
172
- example, `"tools": {"exclude": ["run_shell_command(rm)"]}` will block `rm`
173
- commands.
133
+ - `tools.exclude` [DEPRECATED]: To block specific commands, use the
134
+ [Policy Engine](../reference/policy-engine.md). Historically, this setting
135
+ allowed adding entries to the `exclude` list under the `tools` category in the
136
+ format `run_shell_command(<command>)`. For example,
137
+ `"tools": {"exclude": ["run_shell_command(rm)"]}` will block `rm` commands.
174
138
 
175
139
  The validation logic is designed to be secure and flexible:
176
140
 
@@ -223,38 +187,30 @@ To block `rm` and allow all other commands:
223
187
  If a command prefix is in both `tools.core` and `tools.exclude`, it will be
224
188
  blocked.
225
189
 
226
- ```json
227
- {
228
- "tools": {
229
- "core": ["run_shell_command(git)"],
230
- "exclude": ["run_shell_command(git push)"]
231
- }
232
- }
233
- ```
190
+ - **`tools.shell.enableInteractiveShell`**: (boolean) Uses `node-pty` for
191
+ real-time interaction.
192
+ - **`tools.shell.showColor`**: (boolean) Preserves ANSI colors in output.
193
+ - **`tools.shell.inactivityTimeout`**: (number) Seconds to wait for output
194
+ before killing the process.
234
195
 
235
- - `git push origin main`: Blocked
236
- - `git status`: Allowed
196
+ ### Command restrictions
237
197
 
238
- **Block all shell commands**
198
+ You can limit which commands the agent is allowed to request using these
199
+ settings:
239
200
 
240
- To block all shell commands, add the `run_shell_command` wildcard to
241
- `tools.exclude`:
201
+ - **`tools.core`**: An allowlist of command prefixes (for example,
202
+ `["git", "npm test"]`).
203
+ - **`tools.exclude`**: A blocklist of command prefixes.
242
204
 
243
- ```json
244
- {
245
- "tools": {
246
- "exclude": ["run_shell_command"]
247
- }
248
- }
249
- ```
205
+ ## Use cases
250
206
 
251
- - `ls -l`: Blocked
252
- - `any other command`: Blocked
207
+ - Running build scripts and test suites.
208
+ - Initializing or managing version control systems.
209
+ - Installing project dependencies.
210
+ - Starting development servers or background watchers.
253
211
 
254
- ## Security note for `excludeTools`
212
+ ## Next steps
255
213
 
256
- Command-specific restrictions in `excludeTools` for `run_shell_command` are
257
- based on simple string matching and can be easily bypassed. This feature is
258
- **not a security mechanism** and should not be relied upon to safely execute
259
- untrusted code. It is recommended to use `coreTools` to explicitly select
260
- commands that can be executed.
214
+ - Follow the [Shell commands tutorial](../cli/tutorials/shell-commands.md) for
215
+ practical examples.
216
+ - Learn about [Sandboxing](../cli/sandbox.md) to isolate command execution.
@@ -1,57 +1,35 @@
1
1
  # Todo tool (`write_todos`)
2
2
 
3
- This document describes the `write_todos` tool for the Gemini CLI.
3
+ The `write_todos` tool allows the Gemini agent to maintain an internal list of
4
+ subtasks for multi-step requests.
4
5
 
5
- ## Description
6
+ ## Technical reference
6
7
 
7
- The `write_todos` tool allows the Gemini agent to create and manage a list of
8
- subtasks for complex user requests. This provides you, the user, with greater
9
- visibility into the agent's plan and its current progress. It also helps with
10
- alignment where the agent is less likely to lose track of its current goal.
8
+ The agent uses this tool to manage its execution plan and provide progress
9
+ updates to the CLI interface.
11
10
 
12
11
  ### Arguments
13
12
 
14
- `write_todos` takes one argument:
13
+ - `todos` (array of objects, required): The complete list of tasks. Each object
14
+ includes:
15
+ - `description` (string): Technical description of the task.
16
+ - `status` (enum): `pending`, `in_progress`, `completed`, or `cancelled`.
15
17
 
16
- - `todos` (array of objects, required): The complete list of todo items. This
17
- replaces the existing list. Each item includes:
18
- - `description` (string): The task description.
19
- - `status` (string): The current status (`pending`, `in_progress`,
20
- `completed`, or `cancelled`).
18
+ ## Technical behavior
21
19
 
22
- ## Behavior
20
+ - **Interface:** Updates the progress indicator above the CLI input prompt.
21
+ - **Exclusivity:** Only one task can be marked `in_progress` at any time.
22
+ - **Persistence:** Todo state is scoped to the current session.
23
+ - **Interaction:** Users can toggle the full list view using **Ctrl+T**.
23
24
 
24
- The agent uses this tool to break down complex multi-step requests into a clear
25
- plan.
25
+ ## Use cases
26
26
 
27
- - **Progress tracking:** The agent updates this list as it works, marking tasks
28
- as `completed` when done.
29
- - **Single focus:** Only one task will be marked `in_progress` at a time,
30
- indicating exactly what the agent is currently working on.
31
- - **Dynamic updates:** The plan may evolve as the agent discovers new
32
- information, leading to new tasks being added or unnecessary ones being
33
- cancelled.
27
+ - Breaking down a complex feature implementation into manageable steps.
28
+ - Coordinating multi-file refactoring tasks.
29
+ - Providing visibility into the agent's current focus during long-running tasks.
34
30
 
35
- When active, the current `in_progress` task is displayed above the input box,
36
- keeping you informed of the immediate action. You can toggle the full view of
37
- the todo list at any time by pressing `Ctrl+T`.
31
+ ## Next steps
38
32
 
39
- Usage example (internal representation):
40
-
41
- ```javascript
42
- write_todos({
43
- todos: [
44
- { description: 'Initialize new React project', status: 'completed' },
45
- { description: 'Implement state management', status: 'in_progress' },
46
- { description: 'Create API service', status: 'pending' },
47
- ],
48
- });
49
- ```
50
-
51
- ## Important notes
52
-
53
- - **Enabling:** This tool is enabled by default. You can disable it in your
54
- `settings.json` file by setting `"useWriteTodos": false`.
55
-
56
- - **Intended use:** This tool is primarily used by the agent for complex,
57
- multi-turn tasks. It is generally not used for simple, single-turn questions.
33
+ - Follow the [Task planning tutorial](../cli/tutorials/task-planning.md) for
34
+ usage details.
35
+ - Learn about [Session management](../cli/session-management.md) for context.
@@ -1,59 +1,35 @@
1
1
  # Web fetch tool (`web_fetch`)
2
2
 
3
- This document describes the `web_fetch` tool for the Gemini CLI.
3
+ The `web_fetch` tool allows the Gemini agent to retrieve and process content
4
+ from specific URLs provided in your prompt.
4
5
 
5
- ## Description
6
+ ## Technical reference
6
7
 
7
- Use `web_fetch` to summarize, compare, or extract information from web pages.
8
- The `web_fetch` tool processes content from one or more URLs (up to 20) embedded
9
- in a prompt. `web_fetch` takes a natural language prompt and returns a generated
10
- response.
8
+ The agent uses this tool when you include URLs in your prompt and request
9
+ specific operations like summarization or extraction.
11
10
 
12
11
  ### Arguments
13
12
 
14
- `web_fetch` takes one argument:
13
+ - `prompt` (string, required): A request containing up to 20 valid URLs
14
+ (starting with `http://` or `https://`) and instructions on how to process
15
+ them.
15
16
 
16
- - `prompt` (string, required): A comprehensive prompt that includes the URL(s)
17
- (up to 20) to fetch and specific instructions on how to process their content.
18
- For example:
19
- `"Summarize https://example.com/article and extract key points from https://another.com/data"`.
20
- The prompt must contain at least one URL starting with `http://` or
21
- `https://`.
17
+ ## Technical behavior
22
18
 
23
- ## How to use `web_fetch` with the Gemini CLI
19
+ - **Confirmation:** Triggers a confirmation dialog showing the converted URLs.
20
+ - **Processing:** Uses the Gemini API's `urlContext` for retrieval.
21
+ - **Fallback:** If API access fails, the tool attempts to fetch raw content
22
+ directly from your local machine.
23
+ - **Formatting:** Returns a synthesized response with source attribution.
24
24
 
25
- To use `web_fetch` with the Gemini CLI, provide a natural language prompt that
26
- contains URLs. The tool will ask for confirmation before fetching any URLs. Once
27
- confirmed, the tool will process URLs through Gemini API's `urlContext`.
25
+ ## Use cases
28
26
 
29
- If the Gemini API cannot access the URL, the tool will fall back to fetching
30
- content directly from the local machine. The tool will format the response,
31
- including source attribution and citations where possible. The tool will then
32
- provide the response to the user.
27
+ - Summarizing technical articles or blog posts.
28
+ - Comparing data between two or more web pages.
29
+ - Extracting specific information from a documentation site.
33
30
 
34
- Usage:
31
+ ## Next steps
35
32
 
36
- ```
37
- web_fetch(prompt="Your prompt, including a URL such as https://google.com.")
38
- ```
39
-
40
- ## `web_fetch` examples
41
-
42
- Summarize a single article:
43
-
44
- ```
45
- web_fetch(prompt="Can you summarize the main points of https://example.com/news/latest")
46
- ```
47
-
48
- Compare two articles:
49
-
50
- ```
51
- web_fetch(prompt="What are the differences in the conclusions of these two papers: https://arxiv.org/abs/2401.0001 and https://arxiv.org/abs/2401.0002?")
52
- ```
53
-
54
- ## Important notes
55
-
56
- - **URL processing:** `web_fetch` relies on the Gemini API's ability to access
57
- and process the given URLs.
58
- - **Output quality:** The quality of the output will depend on the clarity of
59
- the instructions in the prompt.
33
+ - Follow the [Web tools guide](../cli/tutorials/web-tools.md) for practical
34
+ usage examples.
35
+ - See the [Web search tool reference](./web-search.md) for general queries.
@@ -1,42 +1,32 @@
1
1
  # Web search tool (`google_web_search`)
2
2
 
3
- This document describes the `google_web_search` tool.
3
+ The `google_web_search` tool allows the Gemini agent to retrieve up-to-date
4
+ information, news, and facts from the internet via Google Search.
4
5
 
5
- ## Description
6
+ ## Technical reference
6
7
 
7
- Use `google_web_search` to perform a web search using Google Search via the
8
- Gemini API. The `google_web_search` tool returns a summary of web results with
9
- sources.
8
+ The agent uses this tool when your request requires knowledge of current events
9
+ or specific online documentation not available in its internal training data.
10
10
 
11
11
  ### Arguments
12
12
 
13
- `google_web_search` takes one argument:
13
+ - `query` (string, required): The search query to be executed.
14
14
 
15
- - `query` (string, required): The search query.
15
+ ## Technical behavior
16
16
 
17
- ## How to use `google_web_search` with the Gemini CLI
17
+ - **Grounding:** Returns a generated summary based on search results.
18
+ - **Citations:** Includes source URIs and titles for factual grounding.
19
+ - **Processing:** The Gemini API processes the search results before returning a
20
+ synthesized response to the agent.
18
21
 
19
- The `google_web_search` tool sends a query to the Gemini API, which then
20
- performs a web search. `google_web_search` will return a generated response
21
- based on the search results, including citations and sources.
22
+ ## Use cases
22
23
 
23
- Usage:
24
+ - Researching the latest version of a software library or API.
25
+ - Finding solutions to recent software bugs or security vulnerabilities.
26
+ - Retrieving news or documentation updated after the model's knowledge cutoff.
24
27
 
25
- ```
26
- google_web_search(query="Your query goes here.")
27
- ```
28
+ ## Next steps
28
29
 
29
- ## `google_web_search` examples
30
-
31
- Get information on a topic:
32
-
33
- ```
34
- google_web_search(query="latest advancements in AI-powered code generation")
35
- ```
36
-
37
- ## Important notes
38
-
39
- - **Response returned:** The `google_web_search` tool returns a processed
40
- summary, not a raw list of search results.
41
- - **Citations:** The response includes citations to the sources used to generate
42
- the summary.
30
+ - Follow the [Web tools guide](../cli/tutorials/web-tools.md) for practical
31
+ usage examples.
32
+ - Explore the [Web fetch tool reference](./web-fetch.md) for direct URL access.