2025-05-15 20:04:33 -07:00
# Gemini CLI
2025-06-13 09:53:30 -07:00
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 ](../index.md ).
## Navigating this section
2025-06-23 13:02:52 -07:00
- **[Authentication ](./authentication.md ):** A guide to setting up authentication with Google's AI services.
2025-06-13 09:53:30 -07:00
- **[Commands ](./commands.md ):** A reference for Gemini CLI commands (e.g., `/help` , `/tools` , `/theme` ).
- **[Configuration ](./configuration.md ):** A guide to tailoring Gemini CLI behavior using configuration files.
2025-08-20 17:04:03 +00:00
- **[Enterprise ](./enterprise.md ):** A guide to enterprise configuration.
2025-06-23 23:37:07 -04:00
- **[Token Caching ](./token-caching.md ):** Optimize API costs through token caching.
2025-06-05 08:10:05 -07:00
- **[Themes ](./themes.md )**: A guide to customizing the CLI's appearance with different themes.
2025-06-13 09:53:30 -07:00
- **[Tutorials ](tutorials.md )**: A tutorial showing how to use Gemini CLI to automate a development task.
2025-05-15 20:04:33 -07:00
2025-06-13 09:53:30 -07:00
## Non-interactive mode
2025-06-07 10:47:30 -07:00
2025-06-13 09:53:30 -07:00
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.
2025-06-07 10:47:30 -07:00
2025-06-13 09:53:30 -07:00
The following example pipes a command to Gemini CLI from your terminal:
2025-06-07 10:47:30 -07:00
```bash
echo "What is fine tuning?" | gemini
```
2025-06-13 09:53:30 -07:00
Gemini CLI executes the command and prints the output to your terminal. Note that you can achieve the same behavior by using the `--prompt` or `-p` flag. For example:
2025-06-07 10:47:30 -07:00
```bash
gemini -p "What is fine tuning?"
```
2025-09-11 05:19:47 +09:00
For non-interactive usage with structured output, use the `--output-format json` flag for scripting and automation.
Get structured JSON output for scripting:
```bash
gemini -p "What is fine tuning?" --output-format json
# Output:
# {
# "response": "Fine tuning is...",
# "stats": {
# "models": { "gemini-2.5-flash": { "tokens": {"total": 45} } }
# },
# "error": null
# }
```