|
Download docs/cli/auto-memory.md from SaylorTwift/gemini-cli: direct link, hf CLI and curl.
- Browser
- Download file 6.98 kB
-
https://huggingface.co/SaylorTwift/gemini-cli/resolve/main/docs/cli/auto-memory.md
- Command line
-
hf download hf://SaylorTwift/gemini-cli/docs/cli/auto-memory.md
-
curl -L -o auto-memory.md https://huggingface.co/SaylorTwift/gemini-cli/resolve/main/docs/cli/auto-memory.md
6.98 kB
| # Auto Memory | |
| Auto Memory is an experimental feature that mines your past Gemini CLI sessions | |
| in the background and proposes durable memory updates and reusable | |
| [Agent Skills](./skills.md). You review each candidate before it becomes | |
| available to future sessions: apply memory updates, promote skills, or discard | |
| anything you do not want. | |
| <!-- prettier-ignore --> | |
| > [!NOTE] | |
| > This is an experimental feature currently under active development. | |
| ## Overview | |
| Every session you run with Gemini CLI is recorded locally as a transcript. Auto | |
| Memory scans those transcripts for durable facts, preferences, workflow | |
| constraints, and procedural patterns that recur across sessions. It can draft | |
| memory updates as unified diff `.patch` files and draft reusable procedures as | |
| `SKILL.md` files. All candidates are held in a project-local inbox until you | |
| approve or discard them. | |
| You'll use Auto Memory when you want to: | |
| - **Capture team workflows** that you find yourself walking the agent through | |
| more than once. | |
| - **Preserve durable project context** such as repeated verification commands, | |
| local constraints, or personal project notes. | |
| - **Codify hard-won fixes** for project-specific landmines so future sessions | |
| avoid them. | |
| - **Bootstrap a skills library** without writing every `SKILL.md` by hand. | |
| Auto Memory complements direct memory-file editing. The agent can still persist | |
| explicit user instructions by editing the appropriate Markdown memory file; Auto | |
| Memory infers candidates from past sessions, writes reviewable patches or skill | |
| drafts, and never applies them without your approval. | |
| ## Prerequisites | |
| - Gemini CLI installed and authenticated. | |
| - At least one idle project session with 10 or more user messages. Auto Memory | |
| ignores active, trivial, and sub-agent sessions. | |
| ## How to enable Auto Memory | |
| Auto Memory is off by default. Enable it in your settings file: | |
| 1. Open your global settings file at `~/.gemini/settings.json`. If you only | |
| want Auto Memory in one project, edit `.gemini/settings.json` in that | |
| project instead. | |
| 2. Add the experimental flag: | |
| ```json | |
| { | |
| "experimental": { | |
| "autoMemory": true | |
| } | |
| } | |
| ``` | |
| 3. Restart Gemini CLI. The flag requires a restart because the extraction | |
| service starts during session boot. | |
| ## How Auto Memory works | |
| Auto Memory runs as a background task on session startup. It does not block the | |
| UI, consume your interactive turns, or surface tool prompts. | |
| 1. **Eligibility scan.** The service indexes recent sessions from | |
| `~/.gemini/tmp/<project>/chats/`. Sessions are eligible only if they have | |
| been idle for at least three hours and contain at least 10 user messages. | |
| 2. **Lock acquisition.** A lock file in the project's memory directory | |
| coordinates across multiple CLI instances so extraction runs at most once at | |
| a time. A state file records processed session versions, and extraction is | |
| throttled so short back-to-back CLI launches do not repeatedly scan history. | |
| 3. **Candidate extraction.** A background extraction agent reviews the session | |
| index, reads any sessions that look like they contain durable memory or | |
| repeated procedural workflows, and drafts candidates. It defaults to | |
| creating no artifacts unless the evidence is strong, so many runs produce no | |
| inbox items. | |
| 4. **Safety boundaries.** Auto Memory writes candidates to a review inbox. It | |
| cannot directly edit active memory files, settings, credentials, or project | |
| `GEMINI.md` files. | |
| 5. **Patch validation.** Skill update patches are parsed and dry-run before | |
| they are surfaced. Memory patches are parsed, target-allowlisted, and | |
| applied atomically only when you approve them from the inbox. | |
| 6. **Notification.** When a run produces new candidates, Gemini CLI surfaces an | |
| inline message telling you how many items are waiting. | |
| ## How to review extracted items | |
| Use the `/memory inbox` slash command to open the inbox dialog at any time: | |
| **Command:** `/memory inbox` | |
| The dialog groups pending items into new skills, skill updates, and memory | |
| updates. From there you can: | |
| - **Read** the full `SKILL.md` body before deciding. | |
| - **Promote** a skill to your user (`~/.gemini/skills/`) or workspace | |
| (`.gemini/skills/`) directory. | |
| - **Discard** a skill you do not want. | |
| - **Apply** or reject a `.patch` proposal against an existing skill. | |
| - **Review** memory diffs before they touch active files. | |
| - **Apply** or dismiss private and global memory patches. Private patches target | |
| the project memory directory; global patches target only your personal | |
| `~/.gemini/GEMINI.md` file. | |
| Promoted skills become discoverable in the next session and follow the standard | |
| [skill discovery precedence](./skills.md#skill-discovery-tiers). Applied memory | |
| patches update the underlying memory files and reload memory for the current | |
| session. | |
| ## How to disable Auto Memory | |
| To turn off background extraction, set the flag back to `false` in your settings | |
| file and restart Gemini CLI: | |
| ```json | |
| { | |
| "experimental": { | |
| "autoMemory": false | |
| } | |
| } | |
| ``` | |
| Disabling the flag stops the background service immediately on the next session | |
| start. Existing inbox items remain on disk; you can either drain them with | |
| `/memory inbox` first or remove the project memory directory manually. | |
| ## Data and privacy | |
| - Auto Memory only reads session files that already exist locally on your | |
| machine. | |
| - Auto Memory uses model calls to analyze selected local transcript content | |
| during extraction. No candidates are applied automatically, but transcript | |
| excerpts may be sent to the configured model as part of those calls. | |
| - The extraction agent is instructed to redact secrets, tokens, and credentials | |
| it encounters and to never copy large tool outputs verbatim. | |
| - Drafted skills and memory patches live in your project's memory directory | |
| until you promote, apply, dismiss, or discard them. They are not automatically | |
| loaded into any session. | |
| ## Limitations | |
| - The extraction agent runs on a preview Gemini Flash model. Extraction quality | |
| depends on the model's ability to recognize durable patterns versus one-off | |
| incidents. | |
| - Auto Memory does not extract memory or skills from the current session. It | |
| only considers sessions that have been idle for three hours or more. | |
| - Project or workspace shared instructions in project `GEMINI.md` files are not | |
| auto-extractable. Auto Memory can propose private project memory, global | |
| personal memory, and skills. | |
| - Inbox items are stored per project. Skills extracted in one workspace are not | |
| visible from another until you promote them to the user-scope skills | |
| directory. | |
| ## Next steps | |
| - Learn how skills are discovered and activated in [Agent Skills](./skills.md). | |
| - Explore the [memory management tutorial](./tutorials/memory-management.md) for | |
| the complementary explicit-memory and `GEMINI.md` workflows. | |
| - Review the experimental settings catalog in | |
| [Settings](./settings.md#experimental). | |