Feature Enhancements for Gemini CLI
To-Do List: Feature Enhancements for Gemini CLI
Hello Gemini CLI Team,
Congratulations on the launch of the Gemini CLI! It's a powerful tool with a solid foundation. Based on a review of its capabilities and a comparison with an established tool like Anthropic's Claude Code, here is a categorized to-do list of potential features to consider for future development.
1. Deepen Developer Workflow & Agentic Capabilities
These features would more tightly integrate the CLI into a developer's day-to-day coding loop.
-
☐ Implement Native Git Integration
- Description: Allow Gemini to perform git operations directly. Claude Code can create commits with descriptive messages, create new branches, show history, and even generate entire pull requests.
- Rationale: This moves the tool from being a code generator to a true coding assistant that participates in the version control lifecycle, saving developers significant time.
- Potential Tools:
create_commit,create_pr,get_git_diff,get_git_log.
-
☐ Add Image & Vision Capabilities
- Description: Enable the CLI to understand and analyze images. Claude Code allows users to provide images (like screenshots of a UI, an error message, or an architecture diagram) as context for a prompt.
- Rationale: Visual context is incredibly powerful for UI development ("generate CSS to match this mockup"), debugging (analyzing a screenshot of a bug), and understanding system diagrams.
-
☐ Introduce "Extended Thinking" or a Computional Budget
- Description: Allow users to signal that a task is complex and requires more in-depth reasoning. Claude Code has keywords like "think", "think harder", and "ultrathink" that allocate more computational time for planning and analysis before generating a response.
- Rationale: For complex tasks like planning a major refactor or designing a new system architecture, a simple, fast response is often insufficient. Giving the model a larger "thinking" budget leads to more comprehensive and well-thought-out plans.
-
☐ Implement Structured To-Do List Management
- Description: Add tools for creating and managing a structured task list within a session. Claude Code has
TodoWriteandTodoReadtools to help break down a large problem into a checklist that both the user and the AI can track. - Rationale: This improves the agentic ability to handle multi-step tasks by maintaining a clear plan and tracking progress, preventing the AI from getting lost or forgetting steps.
- Description: Add tools for creating and managing a structured task list within a session. Claude Code has
2. Enhance User Experience & Interactivity
These features focus on improving the usability and power of the interactive REPL.
-
☐ Support User-Defined Custom Commands
- Description: Allow users to create their own reusable slash commands. Claude Code supports this at a project level (
.claude/commands/) and a user level (~/.claude/commands/), where a markdown file becomes a prompt template. - Rationale: This is a massive productivity booster. Teams can create project-specific commands like
/project:run_linteror/project:review_for_style_guide, and users can have personal commands like/user:summarize_my_diff. It standardizes common workflows.
- Description: Allow users to create their own reusable slash commands. Claude Code supports this at a project level (
-
☐ Add a VIM Mode for Input
- Description: Provide a Vim-style editing mode for power users who are comfortable with modal editing.
- Rationale: Many developers live in Vim and find its keybindings highly efficient for text manipulation. Supporting this caters to a significant segment of the target audience.
-
☐ Introduce a Session Resume/Continue Flow
- Description: Allow users to easily continue a previous session. Claude Code has
claude --continueto resume the last session andclaude --resumeto pick from a list of recent conversations. - Rationale: Development tasks are often interrupted. Losing the context of a long and productive AI session is frustrating. A simple way to resume work is a critical quality-of-life feature. Note: Gemini's
/chat saveand/chat resumeis a good start, but a CLI flag for the most recent session is more convenient.
- Description: Allow users to easily continue a previous session. Claude Code has
3. Expand Extensibility & Integrations
Connect the CLI to the broader developer ecosystem.
-
☐ Develop Official IDE Integrations (VS Code, JetBrains)
- Description: Create dedicated extensions for popular IDEs. Claude Code's integrations allow it to view diffs directly in the IDE, share editor context (current selection, open tabs, diagnostic errors), and use keyboard shortcuts to reference files.
- Rationale: While a terminal tool is powerful, modern development is centered in the IDE. A seamless bridge between the two environments creates a much more powerful and intuitive workflow.
-
☐ Create a Formal SDK for Programmatic Use
- Description: Publish a stable SDK (e.g., for TypeScript/Python) that allows other applications to call the Gemini CLI as a subprocess and interact with it programmatically.
- Rationale: An SDK unlocks automation and custom tooling. It's the foundation for features like the GitHub Action and allows a community to build on top of the CLI.
-
☐ Build a GitHub Actions Integration
- Description: Provide a GitHub Action that can run Gemini CLI in a CI/CD pipeline. This can be used for automated code reviews, implementing features from issues, or fixing bugs when triggered by an
@geminicommand in a PR. - Rationale: This extends the CLI's utility beyond the local machine into the heart of the development and deployment process, enabling powerful DevRels and MLOps workflows.
- Description: Provide a GitHub Action that can run Gemini CLI in a CI/CD pipeline. This can be used for automated code reviews, implementing features from issues, or fixing bugs when triggered by an
4. Bolster Enterprise & Security Features
These features are critical for adoption in corporate environments.
-
☐ Implement Enterprise Managed Policies
- Description: Allow system administrators to define a global, non-overridable settings file (e.g., in
/etc/gemini-cli/managed-settings.json). - Rationale: Security and compliance teams in large organizations need to enforce policies, such as disabling certain tools or forcing specific telemetry settings. This is a must-have for enterprise-wide deployment.
- Description: Allow system administrators to define a global, non-overridable settings file (e.g., in
-
☐ Create a Fine-Grained, Pattern-Based Permission System
- Description: Enhance the tool permission system to support patterns. Claude Code allows rules like
Bash(git diff:*)to permit anygit diffcommand, orEdit(docs/**)to allow edits only within thedocsdirectory. - Rationale: The current
excludeToolssetting is all-or-nothing. A granular system gives users and admins precise control, allowing them to enable safe commands while blocking potentially dangerous ones, which increases trust and safety.
- Description: Enhance the tool permission system to support patterns. Claude Code allows rules like
-
☐ Provide Explicit Corporate Proxy & LLM Gateway Documentation
- Description: Document how to configure the CLI to work with standard corporate proxies (
HTTPS_PROXY) and popular LLM Gateways like LiteLLM. - Rationale: Most enterprise developers operate behind a proxy. Clear, explicit instructions for this common setup challenge are essential for adoption.
- Description: Document how to configure the CLI to work with standard corporate proxies (
5. Improve Context & Memory Management
- ☐ Support Imports within Context Files
- Description: Allow
GEMINI.mdfiles to import content from other files using a syntax like@path/to/another/file.md. - Rationale: This allows for more modular and maintainable context. A team can have a central
project_conventions.mdfile that is imported into multiple sub-projectGEMINI.mdfiles, avoiding duplication and keeping context organized.
- Description: Allow
The Gemini CLI already has some excellent and unique features, such as the Checkpointing (/restore) system, which is a fantastic safety net. By building on this strong foundation with the features above, the Gemini CLI has the potential to become an indispensable tool for developers everywhere.
@coygeek Thank you for submitting all of these idea. For us to to be able to act on these and track them down, it will be very helpful to have each discrete feature idea captured in its own FR issue.
Adding help wanted label as well in case others in the community want to help with this.
+1 for Extended Thinking
I often use ultrathink when interacting with CLI models like Claude Code
Thanks for the reply @ptone are you asking me to submit each feature request as a separate github issue?
if so, i can close this issue and create 14 separate ones, if needed.
Thanks for the reply @ptone are you asking me to submit each feature request as a separate github issue?
if so, i can close this issue and create 14 separate ones, if needed.
I am almost sure that was the ask; otherwise, it's challenging to track and propose fixes against this "god" issue. As a Claude Code user, I'd love them to consider your suggestions! Thanks for filling this!
Introduce a Session Resume/Continue Flow
I'm actively working on this: issue: #3882, PR: #4401.
I'm interested in contributing to this issue. Could someone please share the current status? Is anyone actively working on it, or would it be alright for me to start looking into it? Thank you!
Thanks for the reply @ptone are you asking me to submit each feature request as a separate github issue? if so, i can close this issue and create 14 separate ones, if needed.
I am almost sure that was the ask; otherwise, it's challenging to track and propose fixes against this "god" issue. As a Claude Code user, I'd love them to consider your suggestions! Thanks for filling this!
Should I create 14 separate issues from it?
@satyanvm I believe you should. A more significant issue requires greater concern, making it more difficult to address.
@satyanvm I believe you should. A more significant issue requires greater concern, making it more difficult to address.
Hey I am busy with some other works, if anyone would like to pick this up, please do. Thank you so much.
This issue should be closed since it so broad in scope that it's never going to be assigned. Nothing will come of it. It's simply noise. Each of the enhancements contained herein should be addressed with separate issues.
As per your request, here's my original github issue separated into 14 separate issues:
1st Issue: Native Git Integration Tools #15531 https://github.com/google-gemini/gemini-cli/issues/15531
2nd Issue: Add Native Image & Vision Capabilities (Multimodal Support) #15532 https://github.com/google-gemini/gemini-cli/issues/15532
3rd Issue: Introduce "Extended Thinking" Mode / Dynamic Computational Budget #15533 https://github.com/google-gemini/gemini-cli/issues/15533
4th Issue: Enhance Structured To-Do List Management (Granular Updates & Persistence) #15534 https://github.com/google-gemini/gemini-cli/issues/15534
5th Issue: Support Markdown-based User-Defined Custom Commands #15535 https://github.com/google-gemini/gemini-cli/issues/15535
6th Issue: Enhance Vim Mode with Visual Mode, Registers, and Advanced Text Objects #15536 https://github.com/google-gemini/gemini-cli/issues/15536
7th Issue: Add --continue flag and interactive --resume launch mode #15537 https://github.com/google-gemini/gemini-cli/issues/15537
8th Issue: Deepen Official IDE Integrations (JetBrains Support & Enhanced VS Code Context) #15538 https://github.com/google-gemini/gemini-cli/issues/15538
9th Issue: Create a Formal SDK for Programmatic Use #15539 https://github.com/google-gemini/gemini-cli/issues/15539
10th Issue: First-Class GitHub Actions Integration & CI/CD Support #15540 https://github.com/google-gemini/gemini-cli/issues/15540
11th Issue: Implement UI Locking for Managed Policies and granular merge strategies #15541 https://github.com/google-gemini/gemini-cli/issues/15541
12th Issue: Fine-Grained, Pattern-Based Permission System #15542 https://github.com/google-gemini/gemini-cli/issues/15542
13th Issue: Documentation & Configuration Support for Corporate Proxies and Custom LLM Gateways #15543 https://github.com/google-gemini/gemini-cli/issues/15543
14th Issue: Support Recursive Imports in Context Files (GEMINI.md) #15544 https://github.com/google-gemini/gemini-cli/issues/15544
Feel free to close this main issue (or any of issues that might be already implemented) if needed.
Enjoy!