Skip to content

Commit 56f9e59

Browse files
skeshiveadamfweidmansehoon38Adib234SandyTao520
authored
feat: launch Gemini 3 in Gemini CLI 🚀🚀🚀 (#13279)
Co-authored-by: Adam Weidman <65992621+adamfweidman@users.noreply.github.com> Co-authored-by: Sehoon Shon <sshon@google.com> Co-authored-by: Adib234 <30782825+Adib234@users.noreply.github.com> Co-authored-by: Sandy Tao <sandytao520@icloud.com> Co-authored-by: Abhi <43648792+abhipatel12@users.noreply.github.com> Co-authored-by: Aishanee Shah <aishaneeshah@gmail.com> Co-authored-by: gemini-cli-robot <gemini-cli-robot@google.com> Co-authored-by: Gal Zahavi <38544478+galz10@users.noreply.github.com> Co-authored-by: Jacob Richman <jacob314@gmail.com> Co-authored-by: joshualitt <joshualitt@google.com> Co-authored-by: Jenna Inouye <jinouye@google.com>
1 parent 670f13c commit 56f9e59

79 files changed

Lines changed: 3154 additions & 611 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/cli/commands.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,13 +158,15 @@ Slash commands provide meta-level control over the CLI itself.
158158
option or configured via [settings](../get-started/configuration.md). See
159159
[Checkpointing documentation](../cli/checkpointing.md) for more details.
160160

161-
- **`/settings`**
161+
- [**`/settings`**](./settings.md)
162162
- **Description:** Open the settings editor to view and modify Gemini CLI
163163
settings.
164164
- **Details:** This command provides a user-friendly interface for changing
165165
settings that control the behavior and appearance of Gemini CLI. It is
166166
equivalent to manually editing the `.gemini/settings.json` file, but with
167-
validation and guidance to prevent errors.
167+
validation and guidance to prevent errors. See the
168+
[settings documentation](./settings.md) for a full list of available
169+
settings.
168170
- **Usage:** Simply run `/settings` and the editor will open. You can then
169171
browse or search for specific settings, view their current values, and
170172
modify them as desired. Changes to some settings are applied immediately,

docs/cli/index.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@ overview of Gemini CLI, see the [main documentation page](../index.md).
77
## Basic features
88

99
- **[Commands](./commands.md):** A reference for all built-in slash commands
10-
(e.g., `/help`, `/chat`, `/tools`).
1110
- **[Custom Commands](./custom-commands.md):** Create your own commands and
1211
shortcuts for frequently used prompts.
1312
- **[Headless Mode](./headless.md):** Use Gemini CLI programmatically for
1413
scripting and automation.
14+
- **[Model Selection](./model.md):** Configure the Gemini AI model used by the
15+
CLI.
16+
- **[Settings](./settings.md):** Configure various aspects of the CLI's behavior
17+
and appearance.
1518
- **[Themes](./themes.md):** Customizing the CLI's appearance with different
1619
themes.
1720
- **[Keyboard Shortcuts](./keyboard-shortcuts.md):** A reference for all

docs/cli/model.md

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,28 @@ Use the following command in Gemini CLI:
1414

1515
Running this command will open a dialog with your model options:
1616

17-
- **Auto (recommended):** Let the system choose the best model for your task.
18-
Typically, this is the best option.
19-
- **Pro:** For complex tasks that require deep reasoning and creativity. The Pro
20-
model may take longer to return a response.
21-
- **Flash:** For tasks that need a balance of speed and reasoning. The Flash
22-
model will usually return a faster response than Pro.
23-
- **Flash-Lite:** For simple tasks that need to be done quickly. The Flash-Lite
24-
model is typically the fastest.
17+
| Option | Description | Models |
18+
| ------------------ | ------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
19+
| Auto (recommended) | Let the system choose the best model for your task. | gemini-3-pro-preview (if enabled), gemini-2.5-pro, gemini-2.5-flash, gemini-2.5-flash-lite |
20+
| Pro | For complex tasks that require deep reasoning and creativity. | gemini-3-pro-preview (if enabled), gemini-2.5-pro |
21+
| Flash | For tasks that need a balance of speed and reasoning. | gemini-2.5-flash |
22+
| Flash-Lite | For simple tasks that need to be done quickly. | gemini-2.5-flash-lite |
23+
24+
### Gemini 3 Pro and Preview Features
25+
26+
Note: Gemini 3 is not currently available on all account types. To learn more
27+
about Gemini 3 access, refer to
28+
[Gemini 3 Pro on Gemini CLI](../get-started/gemini-3).
29+
30+
To enable Gemini 3 Pro (if available), enable
31+
[**Preview features** by using the `settings` command](../cli/settings). Once
32+
enabled, Gemini CLI will attempt to use Gemini 3 Pro when you select **Auto** or
33+
**Pro**. Both **Auto** and **Pro** will try to use Gemini 3 Pro before falling
34+
back to Gemini 2.5 Pro.
35+
36+
You can also use the `--model` flag to specify a particular Gemini model on
37+
startup. For more details, refer to the
38+
[configuration documentation](./configuration.md).
2539

2640
Changes to these settings will be applied to all subsequent interactions with
2741
Gemini CLI.

docs/cli/settings.md

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
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` |

docs/get-started/configuration.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,11 @@ their corresponding top-level category object in your `settings.json` file.
9898

9999
#### `general`
100100

101+
- **`general.previewFeatures`** (boolean):
102+
- **Description:** Enable preview features (e.g., preview models).
103+
- **Default:** `false`
104+
- **Requires restart:** Yes
105+
101106
- **`general.preferredEditor`** (string):
102107
- **Description:** The preferred editor to open files in.
103108
- **Default:** `undefined`

0 commit comments

Comments
 (0)