WindowsmacOSLinux

Where Does Gemini CLI Store Settings?

Gemini CLI reads a user settings.json plus an optional per project one. Paths for every OS and how the layers override each other.

Last updated

Gemini CLI settings live in a .gemini folder, in two places at once. The user file in your home directory applies to every session. A second file inside a project's own .gemini folder overrides it for that project only.

There is a third system layer most people never touch. It sits in a system wide directory and lets administrators force settings for every user on the machine. Anything set there wins over both files below.

Where Gemini CLI stores this, by platform

Windows
%USERPROFILE%\.gemini\settings.json

User settings for all sessions. Project overrides live at <project>\.gemini\settings.json. System defaults sit in C:\ProgramData\gemini-cli\settings.json and outrank both.

macOS
~/.gemini/settings.json

Same two layer model. The system file on Mac is /Library/Application Support/GeminiCli/settings.json. Edit with the /settings command or by hand.

Linux
~/.gemini/settings.json

Same again. System file is /etc/gemini-cli/settings.json, relocatable with GEMINI_CLI_SYSTEM_SETTINGS_PATH. Chat history and extensions also collect under ~/.gemini.

Frequently asked questions

which Gemini CLI settings file wins?

System beats project beats user. Put personal defaults in ~/.gemini/settings.json and project specifics in the project's .gemini/settings.json so teammates get them with the checkout.

where does Antigravity keep its MCP config then?

Somewhere else: ~/.gemini/config/mcp_config.json globally or .agents/mcp_config.json per workspace. That belongs to the Antigravity IDE rather than the Gemini CLI itself.

Notice an outdated path? Let us know.