# Memory files Gemini CLI persists durable facts, user preferences, and project details by editing Markdown memory files directly. ## Technical reference The agent routes memories to the appropriate Markdown file: shared project instructions go in repository `GEMINI.md` files, private project notes go in the per-project private memory folder, and cross-project personal preferences go in the global `~/.gemini/GEMINI.md` file. ## Technical behavior - **Storage:** Edits Markdown files with `write_file` or `replace`. - **Loading:** The stored facts are automatically included in the hierarchical context system for all future sessions. - **Format:** Keeps durable instructions concise and avoids duplicating the same fact across multiple memory tiers. ## Use cases - Persisting user preferences (for example, "I prefer functional programming"). - Saving project-wide architectural decisions. - Storing frequently used aliases or system configurations. ## Next steps - Follow the [Memory management guide](../cli/tutorials/memory-management.md) for practical examples. - Learn how the [Project context (GEMINI.md)](../cli/gemini-md.md) system loads this information.