0
# Interactive Commands
1
2
The Gemini CLI provides a comprehensive set of interactive slash commands for managing conversations, settings, tools, and extensions within the terminal interface.
3
4
## Capabilities
5
6
### Core Commands
7
8
Essential commands for help, navigation, and session management.
9
10
```bash { .api }
11
/help # Show help information
12
/? # Show help information (alternative)
13
/quit # Exit the application
14
/exit # Exit the application (alternative)
15
/clear # Clear screen and conversation history
16
/stats # Show session statistics
17
/stats model # Show model-specific statistics
18
/stats tools # Show tool usage statistics
19
/usage # Show session statistics (alias for /stats)
20
/about # Show application information
21
```
22
23
**Usage Examples:**
24
25
```bash
26
# Get help
27
/help
28
29
# Show current session stats
30
/stats
31
32
# Clear conversation history
33
/clear
34
```
35
36
### Configuration and Settings Commands
37
38
Commands for managing application configuration and user preferences.
39
40
```bash { .api }
41
/settings # Open settings dialog
42
/theme # Open theme selection dialog
43
/auth # Manage authentication
44
/privacy # Open privacy settings
45
/vim # Toggle Vim mode
46
```
47
48
**Usage Examples:**
49
50
```bash
51
# Open settings interface
52
/settings
53
54
# Change theme
55
/theme
56
57
# Configure authentication
58
/auth
59
60
# Toggle Vim mode on/off
61
/vim
62
```
63
64
### Context and Memory Management Commands
65
66
Commands for managing conversation context, memory, and working directory.
67
68
```bash { .api }
69
/memory # Show/manage conversation memory
70
/compress # Compress conversation history
71
/summarize # Compress conversation history (alias for /compress)
72
/directory # Change working directory
73
/directory add <path> # Add directory to workspace context
74
/directory show # Show current workspace directories
75
/dir # Change working directory (alias for /directory)
76
/init # Initialize Gemini context file
77
/restore # Restore from checkpoint
78
```
79
80
**Usage Examples:**
81
82
```bash
83
# View conversation memory
84
/memory
85
86
# Change working directory
87
/directory
88
89
# Initialize GEMINI.md context file
90
/init
91
92
# Compress long conversation
93
/compress
94
```
95
96
### Tool and Extension Management Commands
97
98
Commands for managing available tools and extensions.
99
100
```bash { .api }
101
/tools # Show available tools
102
/extensions # Manage extensions
103
/mcp # Manage MCP servers
104
```
105
106
**Usage Examples:**
107
108
```bash
109
# List available tools
110
/tools
111
112
# Open extension management
113
/extensions
114
115
# Manage MCP servers
116
/mcp
117
```
118
119
### Development and Debugging Commands
120
121
Commands for development workflow and debugging support.
122
123
```bash { .api }
124
/bug # Create bug report
125
/editor # Configure editor settings
126
/copy # Copy conversation to clipboard
127
/terminal-setup # Configure terminal integration
128
/setup-github # Setup GitHub integration
129
```
130
131
**Usage Examples:**
132
133
```bash
134
# Create bug report
135
/bug
136
137
# Configure default editor
138
/editor
139
140
# Copy conversation for sharing
141
/copy
142
```
143
144
### Chat Management Commands
145
146
Commands for saving and managing conversation sessions.
147
148
```bash { .api }
149
/chat save <name> # Save conversation with name
150
/chat resume <name> # Resume saved conversation
151
/chat load <name> # Resume saved conversation (alias for /chat resume)
152
/chat list # List saved conversations
153
/chat delete <name> # Delete saved conversation
154
```
155
156
**Usage Examples:**
157
158
```bash
159
# Save current conversation
160
/chat save project-review
161
162
# Resume previous conversation
163
/chat resume project-review
164
165
# List all saved chats
166
/chat list
167
```
168
169
### Special Commands
170
171
Easter eggs and utility commands.
172
173
```bash { .api }
174
/corgi # Toggle corgi mode (easter egg)
175
/docs # Open documentation
176
/ide # Configure IDE integration
177
```
178
179
## Command Categories
180
181
### Information Commands
182
183
Commands that display information without modifying state:
184
185
- `/help`, `/?` - Help and usage information
186
- `/stats` - Session statistics and metrics
187
- `/about` - Application version and information
188
- `/tools` - Available tools listing
189
- `/chat list` - Saved conversations listing
190
191
### Navigation Commands
192
193
Commands that change application state or view:
194
195
- `/clear` - Clear conversation history
196
- `/directory` - Change working directory
197
- `/theme` - Change visual theme
198
- `/vim` - Toggle Vim editing mode
199
200
### Management Commands
201
202
Commands that modify configuration or manage resources:
203
204
- `/settings` - Application configuration
205
- `/auth` - Authentication management
206
- `/extensions` - Extension management
207
- `/mcp` - MCP server management
208
- `/chat save/resume` - Conversation management
209
210
### Workflow Commands
211
212
Commands that integrate with development workflows:
213
214
- `/init` - Initialize project context
215
- `/editor` - Editor configuration
216
- `/setup-github` - GitHub integration
217
- `/terminal-setup` - Terminal configuration
218
219
## Command Execution Context
220
221
### Session State
222
223
Interactive commands operate within the context of the current session:
224
225
```typescript { .api }
226
interface SessionContext {
227
conversationHistory: Message[];
228
currentDirectory: string;
229
activeSettings: LoadedSettings;
230
loadedExtensions: Extension[];
231
availableTools: string[];
232
mcpServers: Record<string, MCPServerConfig>;
233
}
234
```
235
236
### Command Response Types
237
238
Commands can produce different types of responses:
239
240
```typescript { .api }
241
type CommandResponse =
242
| { type: 'info'; message: string }
243
| { type: 'dialog'; component: React.ComponentType }
244
| { type: 'action'; action: () => Promise<void> }
245
| { type: 'navigation'; target: string };
246
```
247
248
### Error Handling
249
250
Interactive commands include comprehensive error handling:
251
252
```typescript { .api }
253
interface CommandError {
254
command: string;
255
message: string;
256
suggestions?: string[];
257
recoverable: boolean;
258
}
259
```
260
261
## Keyboard Shortcuts
262
263
### Global Shortcuts
264
265
Available in all interactive modes:
266
267
```bash { .api }
268
Ctrl+C # Interrupt current operation
269
Ctrl+D # Exit application (EOF)
270
Tab # Auto-complete commands and paths
271
Up/Down Arrow # Command history navigation
272
```
273
274
### Vim Mode Shortcuts
275
276
When Vim mode is enabled (`/vim`):
277
278
```bash { .api }
279
Esc # Enter command mode
280
i # Enter insert mode
281
:q # Quit (equivalent to /quit)
282
:w # Save conversation
283
```
284
285
### Dialog Navigation
286
287
For settings and configuration dialogs:
288
289
```bash { .api }
290
Tab # Next field
291
Shift+Tab # Previous field
292
Enter # Confirm selection
293
Esc # Cancel dialog
294
```
295
296
## Command Customization
297
298
### Custom Command Aliases
299
300
Users can define custom aliases in settings:
301
302
```json { .api }
303
{
304
"ui": {
305
"commandAliases": {
306
"s": "/settings",
307
"t": "/theme",
308
"cls": "/clear"
309
}
310
}
311
}
312
```
313
314
### Command History
315
316
Interactive commands maintain persistent history:
317
318
```typescript { .api }
319
interface CommandHistory {
320
commands: string[];
321
maxSize: number;
322
persistent: boolean;
323
}
324
```
325
326
Commands are saved across sessions and can be accessed via arrow key navigation.