@mmmbuto/gemini-cli-termux 0.42.0-termux → 0.46.0-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.
- package/README.md +22 -2
- package/bundle/builtin/antigravity-support/SKILL.md +58 -0
- package/bundle/{chunk-BF6DCDLJ.js → chunk-4TSWR3AN.js} +145 -55
- package/bundle/{chunk-PL5MCDGY.js → chunk-6HI7VNOG.js} +55 -70
- package/bundle/{chunk-6PXDEURC.js → chunk-7QZTHDKK.js} +2 -4
- package/bundle/{chunk-ORXUJRZC.js → chunk-B7I47N5E.js} +3 -3
- package/bundle/{chunk-EHTAR2YP.js → chunk-G2G6HEZZ.js} +1 -1
- package/bundle/{chunk-LX6GOGBA.js → chunk-IB4Q6NBY.js} +123186 -73766
- package/bundle/{chunk-MP2YMAMR.js → chunk-IT3YFQ3I.js} +1 -1
- package/bundle/{chunk-RJTRUG2J.js → chunk-TUDYL3X4.js} +29 -5
- package/bundle/{chunk-A6KCGXPK.js → chunk-WUVOS6TV.js} +13 -6
- package/bundle/{chunk-SLMD2AMF.js → chunk-YGU42N5I.js} +847 -655
- package/bundle/{cleanup-RTDYF5DD.js → cleanup-GEP2OOHM.js} +4 -5
- package/bundle/{devtools-ZLHMA45S.js → devtools-V7NE4CQA.js} +1 -1
- package/bundle/{devtoolsService-SKRXJOXW.js → devtoolsService-EVM2JJLB.js} +5 -6
- package/bundle/{dist-B3HBIK36.js → dist-R3LOFA4X.js} +331 -285
- package/bundle/docs/changelogs/index.md +59 -0
- package/bundle/docs/changelogs/latest.md +201 -167
- package/bundle/docs/changelogs/preview.md +45 -102
- package/bundle/docs/cli/auto-memory.md +61 -40
- package/bundle/docs/cli/gemini-md.md +0 -2
- package/bundle/docs/cli/plan-mode.md +0 -1
- package/bundle/docs/cli/settings.md +19 -19
- package/bundle/docs/cli/tutorials/memory-management.md +3 -3
- package/bundle/docs/extensions/reference.md +16 -0
- package/bundle/docs/extensions/releasing.md +58 -24
- package/bundle/docs/extensions/writing-extensions.md +7 -0
- package/bundle/docs/get-started/installation.mdx +2 -2
- package/bundle/docs/issue-and-pr-automation.md +29 -1
- package/bundle/docs/reference/commands.md +0 -3
- package/bundle/docs/reference/configuration.md +173 -78
- package/bundle/docs/reference/keyboard-shortcuts.md +23 -0
- package/bundle/docs/reference/tools.md +0 -2
- package/bundle/docs/tools/mcp-server.md +24 -3
- package/bundle/docs/tools/memory.md +10 -13
- package/bundle/examples/custom-commands/commands/fs/grep-code.toml +6 -0
- package/bundle/examples/custom-commands/gemini-extension.json +4 -0
- package/bundle/examples/exclude-tools/gemini-extension.json +5 -0
- package/bundle/examples/hooks/gemini-extension.json +4 -0
- package/bundle/examples/hooks/hooks/hooks.json +14 -0
- package/bundle/examples/hooks/scripts/on-start.js +8 -0
- package/bundle/examples/mcp-server/README.md +35 -0
- package/bundle/examples/mcp-server/example.js +60 -0
- package/bundle/examples/mcp-server/gemini-extension.json +11 -0
- package/bundle/examples/mcp-server/package.json +11 -0
- package/bundle/examples/policies/README.md +41 -0
- package/bundle/examples/policies/gemini-extension.json +5 -0
- package/bundle/examples/policies/policies/policies.toml +28 -0
- package/bundle/examples/skills/gemini-extension.json +4 -0
- package/bundle/examples/skills/skills/greeter/SKILL.md +7 -0
- package/bundle/examples/themes-example/README.md +31 -0
- package/bundle/examples/themes-example/gemini-extension.json +29 -0
- package/bundle/{gemini-NJWIVDFH.js → gemini-SGAFQX2R.js} +450 -297
- package/bundle/gemini.js +18 -13
- package/bundle/{dist-T73EYRDX.js → https-proxy-agent-AVGR4LHR.js} +8 -3
- package/bundle/{interactiveCli-QHKQZZJU.js → interactiveCli-MEEXSI2X.js} +1922 -1675
- package/bundle/{liteRtServerManager-USDJEPCM.js → liteRtServerManager-3EZO3JZ5.js} +6 -7
- package/bundle/{oauth2-provider-ARATJNEE.js → oauth2-provider-AJMTKEL6.js} +8 -10
- package/bundle/package.json +1 -1
- package/bundle/policies/plan.toml +1 -1
- package/bundle/policies/write.toml +0 -7
- package/bundle/src-LG4OHBW7.js +343 -0
- package/bundle/{start-IWR7MCIR.js → start-YW7YIVR7.js} +8 -9
- package/bundle/worker/worker-entry.js +7863 -0
- package/package.json +3 -3
- package/bundle/chunk-2X6HJV2G.js +0 -52710
- package/bundle/memoryDiscovery-EEGUKQ5C.js +0 -29
- package/bundle/node_modules/@google/gemini-cli-devtools/dist/client/main.js +0 -96
- package/bundle/node_modules/@google/gemini-cli-devtools/dist/src/_client-assets.d.ts +0 -7
- package/bundle/node_modules/@google/gemini-cli-devtools/dist/src/_client-assets.js +0 -9
- package/bundle/node_modules/@google/gemini-cli-devtools/dist/src/_client-assets.js.map +0 -1
- package/bundle/node_modules/@google/gemini-cli-devtools/dist/src/index.d.ts +0 -48
- package/bundle/node_modules/@google/gemini-cli-devtools/dist/src/index.js +0 -333
- package/bundle/node_modules/@google/gemini-cli-devtools/dist/src/index.js.map +0 -1
- package/bundle/node_modules/@google/gemini-cli-devtools/dist/src/types.d.ts +0 -36
- package/bundle/node_modules/@google/gemini-cli-devtools/dist/src/types.js +0 -7
- package/bundle/node_modules/@google/gemini-cli-devtools/dist/src/types.js.map +0 -1
- package/bundle/node_modules/@google/gemini-cli-devtools/package.json +0 -33
- package/bundle/policies/memory-manager.toml +0 -20
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Preview release: v0.
|
|
1
|
+
# Preview release: v0.45.0-preview.0
|
|
2
2
|
|
|
3
|
-
Released:
|
|
3
|
+
Released: May 27, 2026
|
|
4
4
|
|
|
5
5
|
Our preview release includes the latest, new, and experimental features. This
|
|
6
6
|
release may not be as stable as our [latest weekly release](latest.md).
|
|
@@ -13,109 +13,52 @@ npm install -g @google/gemini-cli@preview
|
|
|
13
13
|
|
|
14
14
|
## Highlights
|
|
15
15
|
|
|
16
|
-
- **
|
|
17
|
-
|
|
18
|
-
- **
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
- **
|
|
26
|
-
|
|
27
|
-
auto-memory scratchpad for skill extraction.
|
|
16
|
+
- **Context Simplification:** Completed major architectural work to simplify and
|
|
17
|
+
optimize how the agent manages and processes session context.
|
|
18
|
+
- **A2A Usage Metadata:** The Agent-to-Agent (A2A) interface now exposes
|
|
19
|
+
detailed usage metadata, providing better visibility into resource
|
|
20
|
+
consumption.
|
|
21
|
+
- **Improved Routing:** Updated default auto-routing logic and added bypasses
|
|
22
|
+
for certain routing classifiers to prevent orphaned function response errors.
|
|
23
|
+
- **Terminal Stability:** Fixed several issues affecting terminal environments,
|
|
24
|
+
including Termux relaunch loops and PTY resize errors.
|
|
25
|
+
- **Security & Fixes:** Strengthened MCP list security and addressed issues with
|
|
26
|
+
session resumption and PTY environment signals.
|
|
28
27
|
|
|
29
28
|
## What's Changed
|
|
30
29
|
|
|
31
|
-
- chore(release): bump version to 0.
|
|
30
|
+
- chore(release): bump version to 0.45.0-nightly.20260521.g854f811be by
|
|
32
31
|
@gemini-cli-robot in
|
|
33
|
-
[#
|
|
34
|
-
- fix(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
-
|
|
38
|
-
|
|
39
|
-
-
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
[#
|
|
43
|
-
-
|
|
44
|
-
|
|
45
|
-
-
|
|
46
|
-
|
|
47
|
-
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
-
|
|
53
|
-
|
|
54
|
-
-
|
|
55
|
-
|
|
56
|
-
-
|
|
57
|
-
|
|
58
|
-
-
|
|
59
|
-
|
|
60
|
-
-
|
|
61
|
-
|
|
62
|
-
[#
|
|
63
|
-
- fix(cli-ui): revert backspace handling to fix Windows regression by @scidomino
|
|
64
|
-
in [#25941](https://github.com/google-gemini/gemini-cli/pull/25941)
|
|
65
|
-
- feat(voice): implement real-time voice mode with cloud and local backends by
|
|
66
|
-
@Abhijit-2592 in
|
|
67
|
-
[#24174](https://github.com/google-gemini/gemini-cli/pull/24174)
|
|
68
|
-
- Changelog for v0.39.0 by @gemini-cli-robot in
|
|
69
|
-
[#25848](https://github.com/google-gemini/gemini-cli/pull/25848)
|
|
70
|
-
- feat(memory): persist auto-memory scratchpad for skill extraction by
|
|
71
|
-
@SandyTao520 in
|
|
72
|
-
[#25873](https://github.com/google-gemini/gemini-cli/pull/25873)
|
|
73
|
-
- fix(cli): add missing response key to custom theme text schema by @gaurav0107
|
|
74
|
-
in [#25822](https://github.com/google-gemini/gemini-cli/pull/25822)
|
|
75
|
-
- fix(cli): provide manual update command when automatic update fails by
|
|
76
|
-
@cocosheng-g in
|
|
77
|
-
[#26052](https://github.com/google-gemini/gemini-cli/pull/26052)
|
|
78
|
-
- test(cli): add unit tests for restore ACP command (#23402) by @cocosheng-g in
|
|
79
|
-
[#26053](https://github.com/google-gemini/gemini-cli/pull/26053)
|
|
80
|
-
- fix(ui): better error messages for ECONNRESET and ETIMEDOUT by @devr0306 in
|
|
81
|
-
[#26059](https://github.com/google-gemini/gemini-cli/pull/26059)
|
|
82
|
-
- feat(core): wire up the new ContextManager and AgentChatHistory by @joshualitt
|
|
83
|
-
in [#25409](https://github.com/google-gemini/gemini-cli/pull/25409)
|
|
84
|
-
- fix(cli): ensure sandbox proxy cleanup and remove handler leaks by @ehedlund
|
|
85
|
-
in [#26065](https://github.com/google-gemini/gemini-cli/pull/26065)
|
|
86
|
-
- fix(cli): correct alternate buffer warning logic for JetBrains by @Adib234 in
|
|
87
|
-
[#26067](https://github.com/google-gemini/gemini-cli/pull/26067)
|
|
88
|
-
- fix(cli): make MCP ping optional in list command and use configured timeout by
|
|
89
|
-
@cocosheng-g in
|
|
90
|
-
[#26068](https://github.com/google-gemini/gemini-cli/pull/26068)
|
|
91
|
-
- fix(core): better error message for failed cloudshell-gca auth by @devr0306 in
|
|
92
|
-
[#26079](https://github.com/google-gemini/gemini-cli/pull/26079)
|
|
93
|
-
- feat(cli): provide manual session UUID via command line arg by @cocosheng-g in
|
|
94
|
-
[#26060](https://github.com/google-gemini/gemini-cli/pull/26060)
|
|
95
|
-
- Changelog for v0.40.0-preview.2 by @gemini-cli-robot in
|
|
96
|
-
[#25846](https://github.com/google-gemini/gemini-cli/pull/25846)
|
|
97
|
-
- (docs) update sandboxing documentation by @g-samroberts in
|
|
98
|
-
[#25930](https://github.com/google-gemini/gemini-cli/pull/25930)
|
|
99
|
-
- fix(core): enforce parallel task tracker updates by @anj-s in
|
|
100
|
-
[#24477](https://github.com/google-gemini/gemini-cli/pull/24477)
|
|
101
|
-
- Update policy so transient errors are not marked terminal by @DavidAPierce in
|
|
102
|
-
[#26066](https://github.com/google-gemini/gemini-cli/pull/26066)
|
|
103
|
-
- Implement bot that performs time-series metric analysis and suggests repo
|
|
104
|
-
management improvements by @gundermanc in
|
|
105
|
-
[#25945](https://github.com/google-gemini/gemini-cli/pull/25945)
|
|
106
|
-
- fix(core): handle non-string model flags in resolution by @Adib234 in
|
|
107
|
-
[#26069](https://github.com/google-gemini/gemini-cli/pull/26069)
|
|
108
|
-
- fix(ux): added error message for ENOTDIR by @devr0306 in
|
|
109
|
-
[#26128](https://github.com/google-gemini/gemini-cli/pull/26128)
|
|
110
|
-
- Changelog for v0.40.0-preview.3 by @gemini-cli-robot in
|
|
111
|
-
[#25904](https://github.com/google-gemini/gemini-cli/pull/25904)
|
|
112
|
-
- fix(cli): prevent ACP stdout pollution from SessionEnd hooks by @cocosheng-g
|
|
113
|
-
in [#26125](https://github.com/google-gemini/gemini-cli/pull/26125)
|
|
114
|
-
- feat(cli): support boolean and number casting for env vars in settings.json by
|
|
115
|
-
@cocosheng-g in
|
|
116
|
-
[#26118](https://github.com/google-gemini/gemini-cli/pull/26118)
|
|
117
|
-
- fix(cli): preserve Request headers in DevTools activity logger by @Adib234 in
|
|
118
|
-
[#26078](https://github.com/google-gemini/gemini-cli/pull/26078)
|
|
32
|
+
[#27362](https://github.com/google-gemini/gemini-cli/pull/27362)
|
|
33
|
+
- fix(cli): prevent Termux relaunch and resize remount loops by @saymanq in
|
|
34
|
+
[#27110](https://github.com/google-gemini/gemini-cli/pull/27110)
|
|
35
|
+
- Feat/a2a expose usage metadata by @jvargassanchez-dot in
|
|
36
|
+
[#27288](https://github.com/google-gemini/gemini-cli/pull/27288)
|
|
37
|
+
- feat(context): Complete simplification work. by @joshualitt in
|
|
38
|
+
[#27345](https://github.com/google-gemini/gemini-cli/pull/27345)
|
|
39
|
+
- fix(core): force update_topic tool to execute sequentially by
|
|
40
|
+
@jvargassanchez-dot in
|
|
41
|
+
[#27357](https://github.com/google-gemini/gemini-cli/pull/27357)
|
|
42
|
+
- Changelog for v0.44.0-preview.0 by @gemini-cli-robot in
|
|
43
|
+
[#27360](https://github.com/google-gemini/gemini-cli/pull/27360)
|
|
44
|
+
- Changelog for v0.43.0 by @gemini-cli-robot in
|
|
45
|
+
[#27361](https://github.com/google-gemini/gemini-cli/pull/27361)
|
|
46
|
+
- Revert "fix(core): prevent SIGHUP kills in PTY environments" by @bbiggs in
|
|
47
|
+
[#27401](https://github.com/google-gemini/gemini-cli/pull/27401)
|
|
48
|
+
- fix(cli): filter internal session context from history during resumption by
|
|
49
|
+
@rmedranollamas in
|
|
50
|
+
[#27391](https://github.com/google-gemini/gemini-cli/pull/27391)
|
|
51
|
+
- Update default auto routing by @DavidAPierce in
|
|
52
|
+
[#27071](https://github.com/google-gemini/gemini-cli/pull/27071)
|
|
53
|
+
- fix(core): bypass routing classifiers to prevent orphaned function response
|
|
54
|
+
errors by @danielweis in
|
|
55
|
+
[#27389](https://github.com/google-gemini/gemini-cli/pull/27389)
|
|
56
|
+
- fix(core): suppress PTY resize EBADF errors by @scidomino in
|
|
57
|
+
[#27461](https://github.com/google-gemini/gemini-cli/pull/27461)
|
|
58
|
+
- fix(core): prevent blacklist bypass in mcp list by @ompatel-aiml in
|
|
59
|
+
[#27377](https://github.com/google-gemini/gemini-cli/pull/27377)
|
|
60
|
+
- fix(cli): ignore unmapped vim normal keys by @MukundaKatta in
|
|
61
|
+
[#27102](https://github.com/google-gemini/gemini-cli/pull/27102)
|
|
119
62
|
|
|
120
63
|
**Full Changelog**:
|
|
121
|
-
https://github.com/google-gemini/gemini-cli/compare/v0.
|
|
64
|
+
https://github.com/google-gemini/gemini-cli/compare/v0.44.0-preview.0...v0.45.0-preview.0
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
# Auto Memory
|
|
2
2
|
|
|
3
3
|
Auto Memory is an experimental feature that mines your past Gemini CLI sessions
|
|
4
|
-
in the background and
|
|
5
|
-
[Agent Skills](./skills.md). You review
|
|
6
|
-
|
|
4
|
+
in the background and proposes durable memory updates and reusable
|
|
5
|
+
[Agent Skills](./skills.md). You review each candidate before it becomes
|
|
6
|
+
available to future sessions: apply memory updates, promote skills, or discard
|
|
7
|
+
anything you do not want.
|
|
7
8
|
|
|
8
9
|
<!-- prettier-ignore -->
|
|
9
10
|
> [!NOTE]
|
|
@@ -12,28 +13,32 @@ before it becomes available to future sessions.
|
|
|
12
13
|
## Overview
|
|
13
14
|
|
|
14
15
|
Every session you run with Gemini CLI is recorded locally as a transcript. Auto
|
|
15
|
-
Memory scans those transcripts for
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
Memory scans those transcripts for durable facts, preferences, workflow
|
|
17
|
+
constraints, and procedural patterns that recur across sessions. It can draft
|
|
18
|
+
memory updates as unified diff `.patch` files and draft reusable procedures as
|
|
19
|
+
`SKILL.md` files. All candidates are held in a project-local inbox until you
|
|
20
|
+
approve or discard them.
|
|
19
21
|
|
|
20
22
|
You'll use Auto Memory when you want to:
|
|
21
23
|
|
|
22
24
|
- **Capture team workflows** that you find yourself walking the agent through
|
|
23
25
|
more than once.
|
|
26
|
+
- **Preserve durable project context** such as repeated verification commands,
|
|
27
|
+
local constraints, or personal project notes.
|
|
24
28
|
- **Codify hard-won fixes** for project-specific landmines so future sessions
|
|
25
29
|
avoid them.
|
|
26
30
|
- **Bootstrap a skills library** without writing every `SKILL.md` by hand.
|
|
27
31
|
|
|
28
|
-
Auto Memory complements
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
Auto Memory complements direct memory-file editing. The agent can still persist
|
|
33
|
+
explicit user instructions by editing the appropriate Markdown memory file; Auto
|
|
34
|
+
Memory infers candidates from past sessions, writes reviewable patches or skill
|
|
35
|
+
drafts, and never applies them without your approval.
|
|
31
36
|
|
|
32
37
|
## Prerequisites
|
|
33
38
|
|
|
34
39
|
- Gemini CLI installed and authenticated.
|
|
35
|
-
- At least
|
|
36
|
-
|
|
40
|
+
- At least one idle project session with 10 or more user messages. Auto Memory
|
|
41
|
+
ignores active, trivial, and sub-agent sessions.
|
|
37
42
|
|
|
38
43
|
## How to enable Auto Memory
|
|
39
44
|
|
|
@@ -66,36 +71,45 @@ UI, consume your interactive turns, or surface tool prompts.
|
|
|
66
71
|
been idle for at least three hours and contain at least 10 user messages.
|
|
67
72
|
2. **Lock acquisition.** A lock file in the project's memory directory
|
|
68
73
|
coordinates across multiple CLI instances so extraction runs at most once at
|
|
69
|
-
a time.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
is strong, so
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
5. **
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
74
|
+
a time. A state file records processed session versions, and extraction is
|
|
75
|
+
throttled so short back-to-back CLI launches do not repeatedly scan history.
|
|
76
|
+
3. **Candidate extraction.** A background extraction agent reviews the session
|
|
77
|
+
index, reads any sessions that look like they contain durable memory or
|
|
78
|
+
repeated procedural workflows, and drafts candidates. It defaults to
|
|
79
|
+
creating no artifacts unless the evidence is strong, so many runs produce no
|
|
80
|
+
inbox items.
|
|
81
|
+
4. **Safety boundaries.** Auto Memory writes candidates to a review inbox. It
|
|
82
|
+
cannot directly edit active memory files, settings, credentials, or project
|
|
83
|
+
`GEMINI.md` files.
|
|
84
|
+
5. **Patch validation.** Skill update patches are parsed and dry-run before
|
|
85
|
+
they are surfaced. Memory patches are parsed, target-allowlisted, and
|
|
86
|
+
applied atomically only when you approve them from the inbox.
|
|
87
|
+
6. **Notification.** When a run produces new candidates, Gemini CLI surfaces an
|
|
88
|
+
inline message telling you how many items are waiting.
|
|
89
|
+
|
|
90
|
+
## How to review extracted items
|
|
83
91
|
|
|
84
92
|
Use the `/memory inbox` slash command to open the inbox dialog at any time:
|
|
85
93
|
|
|
86
94
|
**Command:** `/memory inbox`
|
|
87
95
|
|
|
88
|
-
The dialog
|
|
89
|
-
|
|
96
|
+
The dialog groups pending items into new skills, skill updates, and memory
|
|
97
|
+
updates. From there you can:
|
|
90
98
|
|
|
91
99
|
- **Read** the full `SKILL.md` body before deciding.
|
|
92
100
|
- **Promote** a skill to your user (`~/.gemini/skills/`) or workspace
|
|
93
101
|
(`.gemini/skills/`) directory.
|
|
94
102
|
- **Discard** a skill you do not want.
|
|
95
103
|
- **Apply** or reject a `.patch` proposal against an existing skill.
|
|
104
|
+
- **Review** memory diffs before they touch active files.
|
|
105
|
+
- **Apply** or dismiss private and global memory patches. Private patches target
|
|
106
|
+
the project memory directory; global patches target only your personal
|
|
107
|
+
`~/.gemini/GEMINI.md` file.
|
|
96
108
|
|
|
97
109
|
Promoted skills become discoverable in the next session and follow the standard
|
|
98
|
-
[skill discovery precedence](./skills.md#skill-discovery-tiers).
|
|
110
|
+
[skill discovery precedence](./skills.md#skill-discovery-tiers). Applied memory
|
|
111
|
+
patches update the underlying memory files and reload memory for the current
|
|
112
|
+
session.
|
|
99
113
|
|
|
100
114
|
## How to disable Auto Memory
|
|
101
115
|
|
|
@@ -117,19 +131,26 @@ start. Existing inbox items remain on disk; you can either drain them with
|
|
|
117
131
|
## Data and privacy
|
|
118
132
|
|
|
119
133
|
- Auto Memory only reads session files that already exist locally on your
|
|
120
|
-
machine.
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
-
|
|
125
|
-
|
|
134
|
+
machine.
|
|
135
|
+
- Auto Memory uses model calls to analyze selected local transcript content
|
|
136
|
+
during extraction. No candidates are applied automatically, but transcript
|
|
137
|
+
excerpts may be sent to the configured model as part of those calls.
|
|
138
|
+
- The extraction agent is instructed to redact secrets, tokens, and credentials
|
|
139
|
+
it encounters and to never copy large tool outputs verbatim.
|
|
140
|
+
- Drafted skills and memory patches live in your project's memory directory
|
|
141
|
+
until you promote, apply, dismiss, or discard them. They are not automatically
|
|
142
|
+
loaded into any session.
|
|
126
143
|
|
|
127
144
|
## Limitations
|
|
128
145
|
|
|
129
|
-
- The
|
|
130
|
-
on the model's ability to recognize durable patterns versus one-off
|
|
131
|
-
|
|
132
|
-
|
|
146
|
+
- The extraction agent runs on a preview Gemini Flash model. Extraction quality
|
|
147
|
+
depends on the model's ability to recognize durable patterns versus one-off
|
|
148
|
+
incidents.
|
|
149
|
+
- Auto Memory does not extract memory or skills from the current session. It
|
|
150
|
+
only considers sessions that have been idle for three hours or more.
|
|
151
|
+
- Project or workspace shared instructions in project `GEMINI.md` files are not
|
|
152
|
+
auto-extractable. Auto Memory can propose private project memory, global
|
|
153
|
+
personal memory, and skills.
|
|
133
154
|
- Inbox items are stored per project. Skills extracted in one workspace are not
|
|
134
155
|
visible from another until you promote them to the user-scope skills
|
|
135
156
|
directory.
|
|
@@ -138,6 +159,6 @@ start. Existing inbox items remain on disk; you can either drain them with
|
|
|
138
159
|
|
|
139
160
|
- Learn how skills are discovered and activated in [Agent Skills](./skills.md).
|
|
140
161
|
- Explore the [memory management tutorial](./tutorials/memory-management.md) for
|
|
141
|
-
the complementary
|
|
162
|
+
the complementary explicit-memory and `GEMINI.md` workflows.
|
|
142
163
|
- Review the experimental settings catalog in
|
|
143
164
|
[Settings](./settings.md#experimental).
|
|
@@ -65,8 +65,6 @@ You can interact with the loaded context files by using the `/memory` command.
|
|
|
65
65
|
being provided to the model.
|
|
66
66
|
- **`/memory reload`**: Forces a re-scan and reload of all `GEMINI.md` files
|
|
67
67
|
from all configured locations.
|
|
68
|
-
- **`/memory add <text>`**: Appends your text to your global
|
|
69
|
-
`~/.gemini/GEMINI.md` file. This lets you add persistent memories on the fly.
|
|
70
68
|
|
|
71
69
|
## Modularize context with imports
|
|
72
70
|
|
|
@@ -138,7 +138,6 @@ These are the only allowed tools:
|
|
|
138
138
|
[`replace`](../tools/file-system.md#6-replace-edit) only allowed for `.md`
|
|
139
139
|
files in the `~/.gemini/tmp/<project>/<session-id>/plans/` directory or your
|
|
140
140
|
[custom plans directory](#custom-plan-directory-and-policies).
|
|
141
|
-
- **Memory:** [`save_memory`](../tools/memory.md)
|
|
142
141
|
- **Skills:** [`activate_skill`](../cli/skills.md) (allows loading specialized
|
|
143
142
|
instructions and resources in a read-only manner)
|
|
144
143
|
|
|
@@ -40,6 +40,7 @@ they appear in the UI.
|
|
|
40
40
|
| Enable Session Cleanup | `general.sessionRetention.enabled` | Enable automatic session cleanup | `true` |
|
|
41
41
|
| Keep chat history | `general.sessionRetention.maxAge` | Automatically delete chats older than this time period (e.g., "30d", "7d", "24h", "1w") | `"30d"` |
|
|
42
42
|
| Topic & Update Narration | `general.topicUpdateNarration` | Enable the Topic & Update communication model for reduced chattiness and structured progress reporting. | `true` |
|
|
43
|
+
| Log RAG Snippets | `general.logRagSnippets` | Log full Code Customization (RAG) retrieved snippets to a local file for debugging. | `false` |
|
|
43
44
|
|
|
44
45
|
### Output
|
|
45
46
|
|
|
@@ -162,25 +163,24 @@ they appear in the UI.
|
|
|
162
163
|
|
|
163
164
|
### Experimental
|
|
164
165
|
|
|
165
|
-
| UI Label | Setting | Description
|
|
166
|
-
| ---------------------------------------------------- | ----------------------------------------------- |
|
|
167
|
-
| Gemma Models | `experimental.gemma` | Enable access to Gemma 4 models via Gemini API.
|
|
168
|
-
| Voice Mode | `experimental.voiceMode` | Enable experimental voice dictation and commands (/voice, /voice model).
|
|
169
|
-
| Voice Activation Mode | `experimental.voice.activationMode` | How to trigger voice recording with the Space key.
|
|
170
|
-
| Voice Transcription Backend | `experimental.voice.backend` | The backend to use for voice transcription. Note: When using the Gemini Live backend, voice recordings are sent to Google Cloud for transcription.
|
|
171
|
-
| Whisper Model | `experimental.voice.whisperModel` | The Whisper model to use for local transcription.
|
|
172
|
-
| Voice Stop Grace Period (ms) | `experimental.voice.stopGracePeriodMs` | How long to wait for final transcription after stopping recording.
|
|
173
|
-
| Enable Git Worktrees | `experimental.worktrees` | Enable automated Git worktree management for parallel work.
|
|
174
|
-
| 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).
|
|
175
|
-
| 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).
|
|
176
|
-
| Model Steering | `experimental.modelSteering` | Enable model steering (user hints) to guide the model during tool execution.
|
|
177
|
-
| Direct Web Fetch | `experimental.directWebFetch` | Enable web fetch behavior that bypasses LLM summarization.
|
|
178
|
-
| Enable Gemma Model Router | `experimental.gemmaModelRouter.enabled` | Enable the Gemma Model Router (experimental). Requires a local endpoint serving Gemma via the Gemini API using LiteRT-LM shim.
|
|
179
|
-
| Auto-start LiteRT Server | `experimental.gemmaModelRouter.autoStartServer` | Automatically start the LiteRT-LM server when Gemini CLI starts and the Gemma router is enabled.
|
|
180
|
-
| Memory
|
|
181
|
-
|
|
|
182
|
-
|
|
|
183
|
-
| Enable Context Management | `experimental.contextManagement` | Enable logic for context management. | `false` |
|
|
166
|
+
| UI Label | Setting | Description | Default |
|
|
167
|
+
| ---------------------------------------------------- | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- |
|
|
168
|
+
| Gemma Models | `experimental.gemma` | Enable access to Gemma 4 models via Gemini API. | `true` |
|
|
169
|
+
| Voice Mode | `experimental.voiceMode` | Enable experimental voice dictation and commands (/voice, /voice model). | `false` |
|
|
170
|
+
| Voice Activation Mode | `experimental.voice.activationMode` | How to trigger voice recording with the Space key. | `"push-to-talk"` |
|
|
171
|
+
| Voice Transcription Backend | `experimental.voice.backend` | The backend to use for voice transcription. Note: When using the Gemini Live backend, voice recordings are sent to Google Cloud for transcription. | `"gemini-live"` |
|
|
172
|
+
| Whisper Model | `experimental.voice.whisperModel` | The Whisper model to use for local transcription. | `"ggml-base.en.bin"` |
|
|
173
|
+
| Voice Stop Grace Period (ms) | `experimental.voice.stopGracePeriodMs` | How long to wait for final transcription after stopping recording. | `4000` |
|
|
174
|
+
| Enable Git Worktrees | `experimental.worktrees` | Enable automated Git worktree management for parallel work. | `false` |
|
|
175
|
+
| 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` |
|
|
176
|
+
| 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` |
|
|
177
|
+
| Model Steering | `experimental.modelSteering` | Enable model steering (user hints) to guide the model during tool execution. | `false` |
|
|
178
|
+
| Direct Web Fetch | `experimental.directWebFetch` | Enable web fetch behavior that bypasses LLM summarization. | `false` |
|
|
179
|
+
| Enable Gemma Model Router | `experimental.gemmaModelRouter.enabled` | Enable the Gemma Model Router (experimental). Requires a local endpoint serving Gemma via the Gemini API using LiteRT-LM shim. | `false` |
|
|
180
|
+
| Auto-start LiteRT Server | `experimental.gemmaModelRouter.autoStartServer` | Automatically start the LiteRT-LM server when Gemini CLI starts and the Gemma router is enabled. | `false` |
|
|
181
|
+
| Auto Memory | `experimental.autoMemory` | Automatically extract memory patches and skills from past sessions in the background. Every change is written as a unified diff `.patch` file under `<projectMemoryDir>/.inbox/<kind>/` and held for review in /memory inbox; nothing is applied until you approve it. | `false` |
|
|
182
|
+
| Use the generalist profile to manage agent contexts. | `experimental.generalistProfile` | Suitable for general coding and software development tasks. | `false` |
|
|
183
|
+
| Enable Context Management | `experimental.contextManagement` | Enable logic for context management. | `false` |
|
|
184
184
|
|
|
185
185
|
### Skills
|
|
186
186
|
|
|
@@ -71,8 +71,8 @@ Just tell the agent to remember something.
|
|
|
71
71
|
|
|
72
72
|
**Prompt:** `Remember that I prefer using 'const' over 'let' wherever possible.`
|
|
73
73
|
|
|
74
|
-
The agent will
|
|
75
|
-
|
|
74
|
+
The agent will edit the appropriate memory Markdown file, so the fact is loaded
|
|
75
|
+
in future sessions.
|
|
76
76
|
|
|
77
77
|
**Prompt:** `Save the fact that the staging server IP is 10.0.0.5.`
|
|
78
78
|
|
|
@@ -125,4 +125,4 @@ immediately. Force a reload with:
|
|
|
125
125
|
`/memory` options.
|
|
126
126
|
- Read the technical spec for [Project context](../../cli/gemini-md.md).
|
|
127
127
|
- Try the experimental [Auto Memory](../auto-memory.md) feature to extract
|
|
128
|
-
reusable skills from your past sessions automatically.
|
|
128
|
+
memory updates and reusable skills from your past sessions automatically.
|
|
@@ -210,6 +210,22 @@ To update an extension's settings:
|
|
|
210
210
|
gemini extensions config <name> [setting] [--scope <scope>]
|
|
211
211
|
```
|
|
212
212
|
|
|
213
|
+
#### Environment variable sanitization
|
|
214
|
+
|
|
215
|
+
For security reasons, sensitive environment variables are filtered out and not
|
|
216
|
+
passed to extensions or MCP servers by default.
|
|
217
|
+
|
|
218
|
+
Extensions **will not** inherit the user's full shell environment variables.
|
|
219
|
+
They will only have access to:
|
|
220
|
+
|
|
221
|
+
1. Standard safe variables (e.g., `HOME`, `PATH`, `TMPDIR`).
|
|
222
|
+
2. Variables explicitly declared and requested in the `gemini-extension.json`
|
|
223
|
+
manifest via the `settings` array (using the `envVar` property).
|
|
224
|
+
|
|
225
|
+
If your extension requires specific environment variables (like an API key,
|
|
226
|
+
custom host, or config path), you **must** declare them in the `settings` array
|
|
227
|
+
so the CLI can allowlist them for use within the extension.
|
|
228
|
+
|
|
213
229
|
### Custom commands
|
|
214
230
|
|
|
215
231
|
Provide [custom commands](../cli/custom-commands.md) by placing TOML files in a
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
# Release extensions
|
|
2
2
|
|
|
3
3
|
Release Gemini CLI extensions to your users through a Git repository or GitHub
|
|
4
|
-
Releases.
|
|
4
|
+
Releases. This guide explains how to share your work, list it in the gallery,
|
|
5
|
+
and manage updates.
|
|
5
6
|
|
|
6
7
|
Git repository releases are the simplest approach and offer the most flexibility
|
|
7
8
|
for managing development branches. GitHub Releases are more efficient for
|
|
@@ -153,29 +154,62 @@ jobs:
|
|
|
153
154
|
release/win32.arm64.my-tool.zip
|
|
154
155
|
```
|
|
155
156
|
|
|
156
|
-
##
|
|
157
|
+
## Migrate an extension repository
|
|
157
158
|
|
|
158
|
-
If you
|
|
159
|
-
|
|
160
|
-
property in your `gemini-extension.json` file to seamlessly transition your
|
|
159
|
+
If you move your extension to a new repository or rename it, use the
|
|
160
|
+
`migratedTo` property in `gemini-extension.json` to seamlessly transition your
|
|
161
161
|
users.
|
|
162
162
|
|
|
163
|
-
1.
|
|
164
|
-
2.
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
163
|
+
1. **Create the new repository:** Set up your extension in its new location.
|
|
164
|
+
2. **Update the old repository:** In your original repository, update the
|
|
165
|
+
`gemini-extension.json` file to include the `migratedTo` property pointing
|
|
166
|
+
to the new repository URL, and increment the version number.
|
|
167
|
+
```json
|
|
168
|
+
{
|
|
169
|
+
"name": "my-extension",
|
|
170
|
+
"version": "1.1.0",
|
|
171
|
+
"migratedTo": "https://github.com/new-owner/new-extension-repo"
|
|
172
|
+
}
|
|
173
|
+
```
|
|
174
|
+
3. **Release the update:** Publish this new version in your old repository.
|
|
175
|
+
|
|
176
|
+
When users check for updates, Gemini CLI detects the `migratedTo` field,
|
|
177
|
+
verifies the new repository, and automatically updates their local installation
|
|
178
|
+
to track the new source. All settings migrate automatically.
|
|
179
|
+
|
|
180
|
+
## How updates work
|
|
181
|
+
|
|
182
|
+
Gemini CLI automatically checks for extension updates based on the installation
|
|
183
|
+
method. Understanding these mechanisms helps you ensure your users always have
|
|
184
|
+
the latest version.
|
|
185
|
+
|
|
186
|
+
### Sync manifest and tags
|
|
187
|
+
|
|
188
|
+
For GitHub releases, always ensure the `version` in `gemini-extension.json`
|
|
189
|
+
matches your GitHub release tag. While the CLI uses tags for update detection,
|
|
190
|
+
it displays the manifest version in the UI. Keeping them in sync prevents
|
|
191
|
+
confusion.
|
|
192
|
+
|
|
193
|
+
### Update mechanisms
|
|
194
|
+
|
|
195
|
+
<details>
|
|
196
|
+
<summary>Technical update details</summary>
|
|
197
|
+
|
|
198
|
+
The CLI uses different strategies depending on the installation type:
|
|
199
|
+
|
|
200
|
+
- **GitHub releases:** The CLI queries the GitHub API for the latest release
|
|
201
|
+
tag. It ignores the `version` field in the manifest for detection.
|
|
202
|
+
- **Git clones:** The CLI runs `git ls-remote` to compare the latest remote
|
|
203
|
+
commit hash with your local `HEAD`.
|
|
204
|
+
- **Local extensions:** The CLI compares the `version` field in the source
|
|
205
|
+
directory's manifest with the installed version.
|
|
206
|
+
|
|
207
|
+
To verify an extension's installation type, inspect the `type` field in the
|
|
208
|
+
metadata file at `~/.gemini/extensions/<name>/.gemini-extension-install.json`.
|
|
209
|
+
|
|
210
|
+
</details>
|
|
211
|
+
|
|
212
|
+
<!-- prettier-ignore -->
|
|
213
|
+
> [!IMPORTANT]
|
|
214
|
+
> The `migratedTo` flow requires at least one release on the new repository for
|
|
215
|
+
> the CLI to recognize it as a valid update source.
|
|
@@ -159,6 +159,13 @@ When a user installs this extension, Gemini CLI will prompt them to enter the
|
|
|
159
159
|
`sensitive` is true) and injected into the MCP server's process as the
|
|
160
160
|
`MY_SERVICE_API_KEY` environment variable.
|
|
161
161
|
|
|
162
|
+
> **Important (Environment Variable Sanitization):** For security reasons,
|
|
163
|
+
> sensitive environment variables are filtered out and not passed to extensions
|
|
164
|
+
> or MCP servers by default. Extensions will _only_ have access to environment
|
|
165
|
+
> variables that are explicitly declared in the `settings` array using the
|
|
166
|
+
> `envVar` property, plus a few standard safe variables. Do not expect host
|
|
167
|
+
> environment variables to be available otherwise.
|
|
168
|
+
|
|
162
169
|
## Step 4: Link your extension
|
|
163
170
|
|
|
164
171
|
Link your extension to your Gemini CLI installation for local development.
|
|
@@ -111,8 +111,8 @@ You can also run Gemini CLI using one of the following advanced methods:
|
|
|
111
111
|
directly. This is useful for environments where you only have Docker and want
|
|
112
112
|
to run the CLI.
|
|
113
113
|
```bash
|
|
114
|
-
# Run the published sandbox image
|
|
115
|
-
docker run --rm -it us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.
|
|
114
|
+
# Run the published sandbox image for a specified CLI version
|
|
115
|
+
docker run --rm -it us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.42.0-nightly.20260428.g59b2dea0e
|
|
116
116
|
```
|
|
117
117
|
- **Using the `--sandbox` flag:** If you have Gemini CLI installed locally
|
|
118
118
|
(using the standard installation described above), you can instruct it to run
|