|
| 1 | +# Gemini CLI Settings (`/settings` Command) |
| 2 | + |
| 3 | +Control your Gemini CLI experience with the `/settings` command. The `/settings` |
| 4 | +command opens a dialog to view and edit all your Gemini CLI settings, including |
| 5 | +your UI experience, keybindings, and accessibility features. |
| 6 | + |
| 7 | +Your Gemini CLI settings are stored in a `settings.json` file. In addition to |
| 8 | +using the `/settings` command, you can also edit them in one of the following |
| 9 | +locations: |
| 10 | + |
| 11 | +- **User settings**: `~/.gemini/settings.json` |
| 12 | +- **Workspace settings**: `your-project/.gemini/settings.json` |
| 13 | + |
| 14 | +Note: Workspace settings override user settings. |
| 15 | + |
| 16 | +## Settings reference |
| 17 | + |
| 18 | +Here is a list of all the available settings, grouped by category and ordered as |
| 19 | +they appear in the UI. |
| 20 | + |
| 21 | +### General |
| 22 | + |
| 23 | +| UI Label | Setting | Description | Default | |
| 24 | +| ------------------------------- | ---------------------------------- | ---------------------------------------------------------------------------- | ----------- | |
| 25 | +| Preview Features (e.g., models) | `general.previewFeatures` | Enable preview features (e.g., preview models). | `false` | |
| 26 | +| Vim Mode | `general.vimMode` | Enable Vim keybindings. | `false` | |
| 27 | +| Disable Auto Update | `general.disableAutoUpdate` | Disable automatic updates. | `false` | |
| 28 | +| Enable Prompt Completion | `general.enablePromptCompletion` | Enable AI-powered prompt completion suggestions while typing. | `false` | |
| 29 | +| Debug Keystroke Logging | `general.debugKeystrokeLogging` | Enable debug logging of keystrokes to the console. | `false` | |
| 30 | +| Session Retention | `general.sessionRetention` | Settings for automatic session cleanup. This feature is disabled by default. | `undefined` | |
| 31 | +| Enable Session Cleanup | `general.sessionRetention.enabled` | Enable automatic session cleanup. | `false` | |
| 32 | + |
| 33 | +### Output |
| 34 | + |
| 35 | +| UI Label | Setting | Description | Default | |
| 36 | +| ------------- | --------------- | ------------------------------------------------------ | ------- | |
| 37 | +| Output Format | `output.format` | The format of the CLI output. Can be `text` or `json`. | `text` | |
| 38 | + |
| 39 | +### UI |
| 40 | + |
| 41 | +| UI Label | Setting | Description | Default | |
| 42 | +| ------------------------------ | ---------------------------------------- | -------------------------------------------------------------------- | ------- | |
| 43 | +| Hide Window Title | `ui.hideWindowTitle` | Hide the window title bar. | `false` | |
| 44 | +| Show Status in Title | `ui.showStatusInTitle` | Show Gemini CLI status and thoughts in the terminal window title. | `false` | |
| 45 | +| Hide Tips | `ui.hideTips` | Hide helpful tips in the UI. | `false` | |
| 46 | +| Hide Banner | `ui.hideBanner` | Hide the application banner. | `false` | |
| 47 | +| Hide Context Summary | `ui.hideContextSummary` | Hide the context summary (GEMINI.md, MCP servers) above the input. | `false` | |
| 48 | +| Hide CWD | `ui.footer.hideCWD` | Hide the current working directory path in the footer. | `false` | |
| 49 | +| Hide Sandbox Status | `ui.footer.hideSandboxStatus` | Hide the sandbox status indicator in the footer. | `false` | |
| 50 | +| Hide Model Info | `ui.footer.hideModelInfo` | Hide the model name and context usage in the footer. | `false` | |
| 51 | +| Hide Context Window Percentage | `ui.footer.hideContextPercentage` | Hides the context window remaining percentage. | `true` | |
| 52 | +| Hide Footer | `ui.hideFooter` | Hide the footer from the UI. | `false` | |
| 53 | +| Show Memory Usage | `ui.showMemoryUsage` | Display memory usage information in the UI. | `false` | |
| 54 | +| Show Line Numbers | `ui.showLineNumbers` | Show line numbers in the chat. | `false` | |
| 55 | +| Show Citations | `ui.showCitations` | Show citations for generated text in the chat. | `false` | |
| 56 | +| Use Full Width | `ui.useFullWidth` | Use the entire width of the terminal for output. | `true` | |
| 57 | +| Use Alternate Screen Buffer | `ui.useAlternateBuffer` | Use an alternate screen buffer for the UI, preserving shell history. | `true` | |
| 58 | +| Disable Loading Phrases | `ui.accessibility.disableLoadingPhrases` | Disable loading phrases for accessibility. | `false` | |
| 59 | +| Screen Reader Mode | `ui.accessibility.screenReader` | Render output in plain-text to be more screen reader accessible. | `false` | |
| 60 | + |
| 61 | +### IDE |
| 62 | + |
| 63 | +| UI Label | Setting | Description | Default | |
| 64 | +| -------- | ------------- | ---------------------------- | ------- | |
| 65 | +| IDE Mode | `ide.enabled` | Enable IDE integration mode. | `false` | |
| 66 | + |
| 67 | +### Model |
| 68 | + |
| 69 | +| UI Label | Setting | Description | Default | |
| 70 | +| ----------------------- | ---------------------------- | -------------------------------------------------------------------------------------- | ------- | |
| 71 | +| Max Session Turns | `model.maxSessionTurns` | Maximum number of user/model/tool turns to keep in a session. -1 means unlimited. | `-1` | |
| 72 | +| Compression Threshold | `model.compressionThreshold` | The fraction of context usage at which to trigger context compression (e.g. 0.2, 0.3). | `0.2` | |
| 73 | +| Skip Next Speaker Check | `model.skipNextSpeakerCheck` | Skip the next speaker check. | `true` | |
| 74 | + |
| 75 | +### Context |
| 76 | + |
| 77 | +| UI Label | Setting | Description | Default | |
| 78 | +| ------------------------------------ | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ------- | |
| 79 | +| Memory Discovery Max Dirs | `context.discoveryMaxDirs` | Maximum number of directories to search for memory. | `200` | |
| 80 | +| 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` | |
| 81 | +| Respect .gitignore | `context.fileFiltering.respectGitIgnore` | Respect .gitignore files when searching. | `true` | |
| 82 | +| Respect .geminiignore | `context.fileFiltering.respectGeminiIgnore` | Respect .geminiignore files when searching. | `true` | |
| 83 | +| Enable Recursive File Search | `context.fileFiltering.enableRecursiveFileSearch` | Enable recursive file search functionality when completing @ references in the prompt. | `true` | |
| 84 | +| Disable Fuzzy Search | `context.fileFiltering.disableFuzzySearch` | Disable fuzzy search when searching for files. | `false` | |
| 85 | + |
| 86 | +### Tools |
| 87 | + |
| 88 | +| UI Label | Setting | Description | Default | |
| 89 | +| -------------------------------- | ------------------------------------ | --------------------------------------------------------------------------------------------------------------- | ------- | |
| 90 | +| Enable Interactive Shell | `tools.shell.enableInteractiveShell` | Use node-pty for an interactive shell experience. Fallback to child_process still applies. | `true` | |
| 91 | +| Show Color | `tools.shell.showColor` | Show color in shell output. | `false` | |
| 92 | +| Auto Accept | `tools.autoAccept` | Automatically accept and execute tool calls that are considered safe (e.g., read-only operations). | `false` | |
| 93 | +| Use Ripgrep | `tools.useRipgrep` | Use ripgrep for file content search instead of the fallback implementation. Provides faster search performance. | `true` | |
| 94 | +| Enable Tool Output Truncation | `tools.enableToolOutputTruncation` | Enable truncation of large tool outputs. | `true` | |
| 95 | +| Tool Output Truncation Threshold | `tools.truncateToolOutputThreshold` | Truncate tool output if it is larger than this many characters. Set to -1 to disable. | `10000` | |
| 96 | +| Tool Output Truncation Lines | `tools.truncateToolOutputLines` | The number of lines to keep when truncating tool output. | `100` | |
| 97 | +| Enable Message Bus Integration | `tools.enableMessageBusIntegration` | Enable policy-based tool confirmation via message bus integration. | `false` | |
| 98 | + |
| 99 | +### Security |
| 100 | + |
| 101 | +| UI Label | Setting | Description | Default | |
| 102 | +| -------------------------- | ------------------------------ | -------------------------------------------------- | ------- | |
| 103 | +| Disable YOLO Mode | `security.disableYoloMode` | Disable YOLO mode, even if enabled by a flag. | `false` | |
| 104 | +| Blocks extensions from Git | `security.blockGitExtensions` | Blocks installing and loading extensions from Git. | `false` | |
| 105 | +| Folder Trust | `security.folderTrust.enabled` | Setting to track whether Folder trust is enabled. | `false` | |
| 106 | + |
| 107 | +### Experimental |
| 108 | + |
| 109 | +| UI Label | Setting | Description | Default | |
| 110 | +| ----------------------------------- | ------------------------------------------------------- | ----------------------------------------------------------------------------- | ------- | |
| 111 | +| Use Model Router | `experimental.useModelRouter` | Enable model routing to route requests to the best model based on complexity. | `true` | |
| 112 | +| Enable Codebase Investigator | `experimental.codebaseInvestigatorSettings.enabled` | Enable the Codebase Investigator agent. | `true` | |
| 113 | +| Codebase Investigator Max Num Turns | `experimental.codebaseInvestigatorSettings.maxNumTurns` | Maximum number of turns for the Codebase Investigator agent. | `10` | |
0 commit comments