16 KiB
16 KiB
Gemini CLI settings (/settings command)
Control your Gemini CLI experience with the /settings command. The /settings
command opens a dialog to view and edit all your Gemini CLI settings, including
your UI experience, keybindings, and accessibility features.
Your Gemini CLI settings are stored in a settings.json file. In addition to
using the /settings command, you can also edit them in one of the following
locations:
- User settings:
~/.gemini/settings.json - Workspace settings:
your-project/.gemini/settings.json
Note: Workspace settings override user settings.
Settings reference
Here is a list of all the available settings, grouped by category and ordered as they appear in the UI.
General
| UI Label | Setting | Description | Default |
|---|---|---|---|
| Preview Features (e.g., models) | general.previewFeatures |
Enable preview features (e.g., preview models). | false |
| Vim Mode | general.vimMode |
Enable Vim keybindings | false |
| Enable Auto Update | general.enableAutoUpdate |
Enable automatic updates. | true |
| Enable Prompt Completion | general.enablePromptCompletion |
Enable AI-powered prompt completion suggestions while typing. | false |
| Debug Keystroke Logging | general.debugKeystrokeLogging |
Enable debug logging of keystrokes to the console. | false |
| Enable Session Cleanup | general.sessionRetention.enabled |
Enable automatic session cleanup | false |
Output
| UI Label | Setting | Description | Default |
|---|---|---|---|
| Output Format | output.format |
The format of the CLI output. Can be text or json. |
"text" |
UI
| UI Label | Setting | Description | Default |
|---|---|---|---|
| Hide Window Title | ui.hideWindowTitle |
Hide the window title bar | false |
| Show Thoughts in Title | ui.showStatusInTitle |
Show Gemini CLI model thoughts in the terminal window title during the working phase | false |
| Dynamic Window Title | ui.dynamicWindowTitle |
Update the terminal window title with current status icons (Ready: ◇, Action Required: ✋, Working: ✦) | true |
| Show Home Directory Warning | ui.showHomeDirectoryWarning |
Show a warning when running Gemini CLI in the home directory. | true |
| Hide Tips | ui.hideTips |
Hide helpful tips in the UI | false |
| Hide Banner | ui.hideBanner |
Hide the application banner | false |
| Hide Context Summary | ui.hideContextSummary |
Hide the context summary (GEMINI.md, MCP servers) above the input. | false |
| Hide CWD | ui.footer.hideCWD |
Hide the current working directory path in the footer. | false |
| Hide Sandbox Status | ui.footer.hideSandboxStatus |
Hide the sandbox status indicator in the footer. | false |
| Hide Model Info | ui.footer.hideModelInfo |
Hide the model name and context usage in the footer. | false |
| Hide Context Window Percentage | ui.footer.hideContextPercentage |
Hides the context window remaining percentage. | true |
| Hide Footer | ui.hideFooter |
Hide the footer from the UI | false |
| Show Memory Usage | ui.showMemoryUsage |
Display memory usage information in the UI | false |
| Show Line Numbers | ui.showLineNumbers |
Show line numbers in the chat. | true |
| Show Citations | ui.showCitations |
Show citations for generated text in the chat. | false |
| Show Model Info In Chat | ui.showModelInfoInChat |
Show the model name in the chat for each model turn. | false |
| Use Full Width | ui.useFullWidth |
Use the entire width of the terminal for output. | true |
| Use Alternate Screen Buffer | ui.useAlternateBuffer |
Use an alternate screen buffer for the UI, preserving shell history. | false |
| Incremental Rendering | ui.incrementalRendering |
Enable incremental rendering for the UI. This option will reduce flickering but may cause rendering artifacts. Only supported when useAlternateBuffer is enabled. | true |
| Enable Loading Phrases | ui.accessibility.enableLoadingPhrases |
Enable loading phrases during operations. | true |
| Screen Reader Mode | ui.accessibility.screenReader |
Render output in plain-text to be more screen reader accessible | false |
IDE
| UI Label | Setting | Description | Default |
|---|---|---|---|
| IDE Mode | ide.enabled |
Enable IDE integration mode. | false |
Model
| UI Label | Setting | Description | Default |
|---|---|---|---|
| Max Session Turns | model.maxSessionTurns |
Maximum number of user/model/tool turns to keep in a session. -1 means unlimited. | -1 |
| Compression Threshold | model.compressionThreshold |
The fraction of context usage at which to trigger context compression (e.g. 0.2, 0.3). | 0.5 |
| Skip Next Speaker Check | model.skipNextSpeakerCheck |
Skip the next speaker check. | true |
Context
| UI Label | Setting | Description | Default |
|---|---|---|---|
| Memory Discovery Max Dirs | context.discoveryMaxDirs |
Maximum number of directories to search for memory. | 200 |
| Load Memory From Include Directories | context.loadMemoryFromIncludeDirectories |
Controls how /memory refresh loads GEMINI.md files. When true, include directories are scanned; when false, only the current directory is used. | false |
| Respect .gitignore | context.fileFiltering.respectGitIgnore |
Respect .gitignore files when searching. | true |
| Respect .geminiignore | context.fileFiltering.respectGeminiIgnore |
Respect .geminiignore files when searching. | true |
| Enable Recursive File Search | context.fileFiltering.enableRecursiveFileSearch |
Enable recursive file search functionality when completing @ references in the prompt. | true |
| Enable Fuzzy Search | context.fileFiltering.enableFuzzySearch |
Enable fuzzy search when searching for files. | true |
Tools
| UI Label | Setting | Description | Default |
|---|---|---|---|
| Enable Interactive Shell | tools.shell.enableInteractiveShell |
Use node-pty for an interactive shell experience. Fallback to child_process still applies. | true |
| Show Color | tools.shell.showColor |
Show color in shell output. | false |
| Auto Accept | tools.autoAccept |
Automatically accept and execute tool calls that are considered safe (e.g., read-only operations). | false |
| Use Ripgrep | tools.useRipgrep |
Use ripgrep for file content search instead of the fallback implementation. Provides faster search performance. | true |
| Enable Tool Output Truncation | tools.enableToolOutputTruncation |
Enable truncation of large tool outputs. | true |
| Tool Output Truncation Threshold | tools.truncateToolOutputThreshold |
Truncate tool output if it is larger than this many characters. Set to -1 to disable. | 4000000 |
| Tool Output Truncation Lines | tools.truncateToolOutputLines |
The number of lines to keep when truncating tool output. | 1000 |
| Disable LLM Correction | tools.disableLLMCorrection |
Disable LLM-based error correction for edit tools. When enabled, tools will fail immediately if exact string matches are not found, instead of attempting to self-correct. | true |
Security
| UI Label | Setting | Description | Default |
|---|---|---|---|
| Disable YOLO Mode | security.disableYoloMode |
Disable YOLO mode, even if enabled by a flag. | false |
| Allow Permanent Tool Approval | security.enablePermanentToolApproval |
Enable the "Allow for all future sessions" option in tool confirmation dialogs. | false |
| Blocks extensions from Git | security.blockGitExtensions |
Blocks installing and loading extensions from Git. | false |
| Folder Trust | security.folderTrust.enabled |
Setting to track whether Folder trust is enabled. | false |
| Enable Environment Variable Redaction | security.environmentVariableRedaction.enabled |
Enable redaction of environment variables that may contain secrets. | false |
Experimental
| UI Label | Setting | Description | Default |
|---|---|---|---|
| Agent Skills | experimental.skills |
Enable Agent Skills (experimental). | false |
| Use OSC 52 Paste | experimental.useOSC52Paste |
Use OSC 52 sequence for pasting instead of clipboardy (useful for remote sessions). | false |
| Plan | experimental.plan |
Enable planning features (Plan Mode and tools). | false |
HooksConfig
| UI Label | Setting | Description | Default |
|---|---|---|---|
| Hook Notifications | hooksConfig.notifications |
Show visual indicators when hooks are executing. | true |