Extension Gallery
Browse the official Gemini CLI extension gallery to discover available extensions
What Are Extensions?
Extensions are self-contained packages that can include:MCP Servers
Expose new tools and data sources to the model
Custom Commands
Create shortcuts for repetitive tasks and complex prompts
Context Files
Provide persistent instructions and knowledge to the model
Agent Skills
Bundle specialized expertise for complex tasks
Hooks
Customize CLI behavior at lifecycle events
Themes
Personalize the CLI’s visual appearance
Choose Your Path
- Use Extensions
- Build Extensions
Extension Features
Decide which features your extension needs based on your use case.MCP Servers
MCP Servers
What it is: A standard way to expose new tools and data sources to the model.When to use it: Use this when you want the model to perform new actions like:
- Fetching data from an internal API
- Querying a database
- Controlling a local application
- Accessing external services
MCP Server Guide
Learn more about MCP server integration
Custom Commands
Custom Commands
What it is: A shortcut (like Usage:
/my-cmd) that executes a pre-defined prompt or shell command.When to use it: Use this for:- Repetitive tasks
- Saving long, complex prompts
- Automation workflows
/fs:grep-code "function.*User"Custom Commands
Learn about creating custom commands
Context Files (GEMINI.md)
Context Files (GEMINI.md)
What it is: A markdown file containing instructions loaded into the model’s context at the start of every session.When to use it: Use this to:Configure in
- Define the extension’s “personality”
- Set coding standards
- Provide essential knowledge the model should always have
gemini-extension.json:Agent Skills
Agent Skills
What it is: Specialized instructions and workflows that the model activates only when needed.When to use it: Use this for:
- Complex, occasional tasks (“create a PR”, “audit security”)
- Avoiding context window clutter when skill isn’t needed
- Task-specific expertise
Agent Skills
Learn about agent skills system
Hooks
Hooks
What it is: A way to intercept and customize the CLI’s behavior at specific lifecycle events.When to use it: Use this when you want to:
- Validate tool arguments before execution
- Log activity for auditing
- Modify the model’s input/output
- Automate actions based on model behavior
Hooks System
Learn about the hooks system
Custom Themes
Custom Themes
What it is: A set of color definitions to personalize the CLI UI.When to use it: Use this to:Usage:
- Provide a unique visual identity for your extension
- Offer specialized high-contrast schemes
- Create thematic color palettes
/theme commandExample:/theme myThemeThemes Reference
Learn about theme configuration
Example Use Cases
API Integration
Create an extension with MCP tools to interact with your internal API
Code Quality
Bundle linting commands and context about your team’s coding standards
Database Tools
Expose database query tools and migration commands
DevOps Workflows
Package deployment commands and infrastructure management tools
Documentation
Create commands that generate and update project documentation
Testing Utilities
Bundle test generation skills and test execution commands
Getting Started
Next Steps
Writing Extensions
Complete guide to creating your first extension
Extension Reference
Detailed API reference and configuration options
Best Practices
Learn how to build secure and reliable extensions
Publishing Guide
Share your extension with the community