Gemini CLI
Within Gemini CLI, packages/cli is the frontend for users to send and receive
prompts with the Gemini AI model and its associated tools. For a general
overview of Gemini CLI, see the main documentation page.
Basic features
- Commands: A reference for all built-in slash commands
- Custom commands: Create your own commands and shortcuts for frequently used prompts.
- Headless mode: Use Gemini CLI programmatically for scripting and automation.
- Model selection: Configure the Gemini AI model used by the CLI.
- Settings: Configure various aspects of the CLI's behavior and appearance.
- Themes: Customizing the CLI's appearance with different themes.
- Keyboard shortcuts: A reference for all keyboard shortcuts to improve your workflow.
- Tutorials: Step-by-step guides for common tasks.
Advanced features
- Checkpointing: Automatically save and restore snapshots of your session and files.
- Enterprise configuration: Deploying and manage Gemini CLI in an enterprise environment.
- Sandboxing: Isolate tool execution in a secure, containerized environment.
- Telemetry: Configure observability to monitor usage and performance.
- Token caching: Optimize API costs by caching tokens.
- Trusted folders: A security feature to control which projects can use the full capabilities of the CLI.
- Ignoring files (.geminiignore): Exclude specific files and directories from being accessed by tools.
- Context files (GEMINI.md): Provide persistent, hierarchical context to the model.
Non-interactive mode
Gemini CLI can be run in a non-interactive mode, which is useful for scripting and automation. In this mode, you pipe input to the CLI, it executes the command, and then it exits.
The following example pipes a command to Gemini CLI from your terminal:
echo "What is fine tuning?" | gemini
You can also use the --prompt or -p flag:
gemini -p "What is fine tuning?"
For comprehensive documentation on headless usage, scripting, automation, and advanced examples, see the Headless mode guide.