Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Gemini CLI on VSCodeNew to Visual Studio Code? Get it now.
Gemini CLI on VSCode

Gemini CLI on VSCode

Joji Jorge Senda

|
2,781 installs
| (1) | Free
Run Gemini & Codex CLI (GPT-5) in editor panes like Claude Code - no more terminal switching
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Gemini CLI on VSCode ?

🇯🇵 日本語版 | 🇺🇸 English

🔮 MAGUS Council - Unified AI CLI Management

Extension Features

Finally: The Same Claude Code Experience with Gemini CLI & Codex CLI (GPT-5)

💡 Why This Extension is Revolutionary

  • ❌ Traditional: Gemini CLI and Codex CLI only run in terminal
  • ✅ Innovation: Unified AI management system with editor integration

🔄 Traditional Limitations

  • Gemini CLI / Codex CLI: Powerful but only runs in terminal panels
  • Gemini Code Assist: Editor integrated but a different tool entirely
  • Claude Code: Perfect editor integration but can't use Gemini or GPT-5

✨ This Extension's Innovation

Brings Claude Code's editor integration experience to multiple AI CLIs

  • Gemini, Codex, and Qwen run directly in editor windows
  • MAGUS Council enables broadcasting single prompts to multiple AI CLIs

⚡ Key Features

🖱️ One-Click Launch

  • 4 AI types for batch and individual launch
  • Editor title bar icon for instant access
  • Command palette integration
  • Choose between new pane or active pane

🔧 True Editor Integration

  • Opens as an editor tab, not a terminal panel
  • Side-by-side with your code files
  • Maintains your editor layout

💻 Seamless Workflow

  • Keep your code visible while using AI assistance
  • No context switching between terminal and editor
  • Natural integration with your development flow

🔮 v0.1.0 Major Update - MAGUS Council

  • MAGUS Council - Multiple Agent Guidance & Intelligence System 🔮
    • Unified prompt broadcasting: Operate Gemini, Claude, Codex, and Qwen in perfect synchronization
    • All according to the scenario: Optimized execution timing for each AI type

🎨 Other Key Features

  • Claude Code Integration: Complete integration of multiple AI CLIs
  • Batch Launch: "Launch All CLIs" button starts multiple CLIs simultaneously
  • Universal History: Unified history folder .history-memo/ for work logs
  • Individual CLI Commands: Dedicated commands for each CLI
  • Advanced Settings: Enable/disable CLIs, menu visibility control, etc.

🚀 Quick Start

Prerequisites

# Install Gemini CLI (for Gemini)
npm install -g @google/gemini-cli
gemini  # Google account authentication

# Install Codex CLI (for GPT-5)
npm install -g codex
codex   # OpenAI account authentication

# Install Claude CLI (for Claude)
npm install -g @anthropic-ai/claude-cli
claude  # Anthropic account authentication

# Install Qwen CLI (for Qwen)
npm install -g @qwen-code/qwen-code@latest
qwen    # Qwen account authentication

Usage

  1. Open any project in VS Code
  2. Click the icon in the editor title bar
    • 🚀 Launch All CLIs - Launch all configured CLIs at once
    • ✨ Launch Gemini CLI
    • ❄️ Launch Codex CLI
    • ✴️ Launch Claude Code
    • 🐉 Launch Qwen Code
  3. Launch MAGUS Council
    • MAGUS Council panel appears in sidebar
    • Command Palette: "MAGUS Council: Open"
  4. Select desired AIs and send prompts
    • Multiple AI selection enables simultaneous execution

🎨 Customizing Editor Title Bar Buttons

To hide buttons:

  • Right-click on any button in the editor title bar
  • Uncheck the command from the menu

To show buttons again:

  • Right-click on empty space in the editor title bar
  • Check the hidden commands in the menu

💡 Tip: Even with buttons hidden, all features remain accessible via Command Palette (Cmd/Ctrl+Shift+P).

Or use Command Palette:

  1. Press Cmd+Shift+P (Mac) or Ctrl+Shift+P (Windows/Linux)
  2. Search for "Gemini CLI" or "Codex CLI"
  3. Choose your preferred launch mode

📁 Send Files/Folders to AI CLI

Send from Explorer

  • Right-click file or folder
  • Select "Gemini CLI: Send File Path" or "Codex CLI: Send File Path"
  • Supports multiple selection (Ctrl/Cmd+click)

Send from Editor Tab

  • Right-click on editor tab
  • Choose your preferred CLI command

Send All Open Files

  • Right-click in editor
  • Select "Gemini CLI: Send Open File Path" or "Codex CLI: Send Open File Path"

All paths are sent with @ prefix to your selected CLI.

💾 Universal History Save

Save all terminal output to .history-memo/YYYY-MM-DD.md:

From Any Terminal:

  • Select text → Click "Save to History" button in status bar
  • Works with Gemini CLI, Codex CLI, bash, zsh, Claude Code, and more

Custom Keyboard Shortcut:

  • Set your own in VSCode Keyboard Shortcuts settings

📤 Send to AI CLI

Send Selected Text:

  • Select text in editor → Right-click
  • "Gemini CLI: Send Selected Text", "Codex CLI: Send Selected Text", "Claude Code: Send Selected Text", or "MAGUS Council: Send Selected Text"

Send File/Folder Paths:

  • Right-click in Explorer
  • Choose your preferred CLI command ("MAGUS Council: Send File Path" also available)
  • Supports multiple selection and folders

Send All Open Files:

  • Right-click in editor
  • Choose "Send Open File Path" for your preferred CLI

📚 Using Templates (0.4.0+)

  1. Enable in Settings
  • gemini-cli-vscode.templates.enabled: true
  1. Register template files (Settings UI)
  • Setting key: gemini-cli-vscode.templates.files
  • In the Settings UI, click “Add Item” and enter one file path per item (relative paths resolve from workspace root)
  • Example values (one per item):
    • .history-memo/prompts.md
    • docs/prompts.md
  • Example in settings.json:
{
  "gemini-cli-vscode.templates.files": [
    ".history-memo/prompts.md",
    "docs/prompts.md"
  ]
}
  1. Formats and handling
  • MAGUS format (front matter at file start ---): treated as a single template
  • Plain Markdown: split by top-level H1 (# ...) and listed as multiple templates
  • History: only the latest .history-memo/YYYY-MM-DD.md is listed and split by H1
    • New history format writes H1 entries like # [10:24:32] - MAGUS Council → gemini, codex, claude
    • No per-file top header is written (date is obvious from the filename)
  1. Grouping, order, and usage
  • Templates are grouped per file; groups can be collapsed/expanded
  • Group order follows the templates.files order you set
  • Order inside a group follows H1 appearance (MAGUS format is a single item)
  • In the Templates view: expand a group → select an item → preview → insert via [Head]/[Cursor]/[Tail]/[Replace]

🔮 Using MAGUS Council

From Unified Control Panel:

  1. Open MAGUS Council panel in sidebar
  2. Check desired AIs (Gemini/Claude/Codex)
  3. Enter prompt
  4. Click "🔮 Ask n AIs" button for batch sending

Individual Control Also Available:

  • Direct operation from each AI tab
  • Traditional file sending features
  • Context menu operations

📋 Command List

MAGUS Council Commands:

  • "MAGUS Council: Open" - Open unified control panel
  • "MAGUS Council: Send Selected Text" - Send selected text to MAGUS Council
  • "MAGUS Council: Send File Path" - Send file/folder paths to MAGUS Council
  • "Multi-AI: Ask All" - Batch send to selected AIs

Existing Commands:

  • "Launch All CLIs" - Launch multiple CLIs at once (tabs in same group)

CLI Commands (v0.2.1+ Hierarchical Structure):

All commands now follow a consistent pattern: {extension}.{cli}.{action}.{target}

Gemini CLI:

  • gemini.start.newPane - Launch Gemini in new pane
  • gemini.start.activePane - Launch Gemini in active pane
  • gemini.send.selectedText - Send selected text to Gemini
  • gemini.send.filePath - Send files/folders to Gemini
  • gemini.send.openFiles - Send all open files to Gemini

Codex CLI:

  • codex.start.newPane - Launch Codex in new pane
  • codex.start.activePane - Launch Codex in active pane
  • codex.send.selectedText - Send selected text to Codex
  • codex.send.filePath - Send files/folders to Codex
  • codex.send.openFiles - Send all open files to Codex

Claude CLI:

  • claude.start.newPane - Launch Claude in new pane
  • claude.start.activePane - Launch Claude in active pane
  • claude.send.selectedText - Send selected text to Claude
  • claude.send.filePath - Send files/folders to Claude
  • claude.send.openFiles - Send all open files to Claude

Qwen CLI:

  • qwen.start.newPane - Launch Qwen in new pane
  • qwen.start.activePane - Launch Qwen in active pane
  • qwen.send.selectedText - Send selected text to Qwen
  • qwen.send.filePath - Send files/folders to Qwen
  • qwen.send.openFiles - Send all open files to Qwen

Common Commands:

  • saveClipboardToHistory - Save conversation (works with all terminals)
  • launchAllCLIs - Launch all enabled CLIs simultaneously
  • multiAI.openComposer - Open MAGUS Council composer
  • multiAI.askAll - Send to all active CLIs

⌨️ Custom Keyboard Shortcuts

Set your own keybindings:

  1. Open Keyboard Shortcuts: Cmd+K Cmd+S (Mac) or Ctrl+K Ctrl+S (Windows/Linux)
  2. Search for the command (e.g., "gemini.start" or "claude.send")
  3. Click the pencil icon to assign your preferred keys

Note: If you had custom keybindings from v0.2.0 or earlier, please see MIGRATION.md for updating instructions.

🆚 Why Choose This Over Alternatives?

🎯 Perfect For

  • Developers who love Claude Code's UX but want to use Gemini or GPT-5
  • Anyone tired of switching between terminal and editor

📊 Comparison

Feature This Extension Gemini Code Assist Gemini CLI Codex CLI Claude Code
Unified AI Management ✅ MAGUS Council ❌ ❌ ❌ ❌
Simultaneous Prompt Sending ✅ ❌ ❌ ❌ ❌
Code generation ✅ ✅ ✅ ✅ ✅
Runs in editor pane ✅ ❌ (sidebar) ❌ (terminal) ❌ (terminal) ✅
Gemini models ✅ ✅ ✅ ❌ ❌
OpenAI models ✅ ❌ ❌ ✅ ❌
Claude models ✅ ❌ ❌ ❌ ✅
Qwen models ✅ ❌ ❌ ❌ ❌

⚙️ Configuration Options

Settings are organized in two tiers for better usability:

Standard Settings (Main Configuration)

These are the essential settings most users need:

{
  // Enable/disable AI features
  "gemini-cli-vscode.gemini.enabled": true,
  "gemini-cli-vscode.codex.enabled": true,
  "gemini-cli-vscode.claude.enabled": true,
  "gemini-cli-vscode.qwen.enabled": false
  
  // Core features
  "gemini-cli-vscode.magusCouncil.enabled": true,
  "gemini-cli-vscode.contextMenu.enabled": true,
  "gemini-cli-vscode.saveToHistory.enabled": true
}

Advanced Settings (Fine-tuning)

For power users who want detailed control:

{
  // MAGUS Council configuration
  "gemini-cli-vscode.magusCouncil.defaultAgents": ["gemini", "codex", "claude"],
  "gemini-cli-vscode.magusCouncil.launch.clis": ["claude", "gemini", "codex"],
  "gemini-cli-vscode.magusCouncil.composer.delays.initial": 100,
  
  // Context menu fine-tuning
  "gemini-cli-vscode.contextMenu.showSendText": true,
  "gemini-cli-vscode.contextMenu.showSendFilePath": true,
  "gemini-cli-vscode.gemini.showInContextMenu": true,
  
  // Custom CLI commands (examples)
  "gemini-cli-vscode.gemini.command": "gemini",
  "gemini-cli-vscode.gemini.args": ["--model", "gemini-pro"],
  "gemini-cli-vscode.claude.command": "claude",
  "gemini-cli-vscode.claude.args": [],
  
  // Terminal behavior
  "gemini-cli-vscode.terminal.groupingBehavior": "same",
  "gemini-cli-vscode.terminal.disableFlowControl": true,
  
  // History file settings 🕐
  "gemini-cli-vscode.saveToHistory.useLocalTimezone": true,
  "gemini-cli-vscode.saveToHistory.dayBoundary": "00:00",
  "gemini-cli-vscode.saveToHistory.includeTerminalName": true
}

Settings Explained

Standard Settings:

  • *.enabled: Enable/disable each AI CLI integration
  • magusCouncil.enabled: Enable the unified AI management interface
  • contextMenu.enabled: Show AI commands in right-click menus
  • saveToHistory.enabled: Enable conversation saving to .history-memo

Advanced Settings:

  • magusCouncil.defaultAgents: Pre-selected AIs when opening MAGUS Council
  • magusCouncil.launch.clis: Order and selection for "Launch All CLIs"
  • contextMenu.show*: Fine-grained control over menu items
  • *.command / *.args: Customize CLI launch commands
  • terminal.groupingBehavior: How terminals are grouped ("same" or "new")
  • saveToHistory.useLocalTimezone: Use local timezone for history timestamps
  • saveToHistory.dayBoundary: Custom day boundary time (e.g., "02:00" for night shift workers)
  • saveToHistory.includeTerminalName: Include terminal name in saved history entries

Template Settings (0.4.0+)

  • gemini-cli-vscode.templates.enabled (default: true)
    • Master ON/OFF for the Templates feature
  • gemini-cli-vscode.templates.files (array, default: [])
    • Register additional Markdown files as template sources
    • In the Settings UI, click “Add Item” and enter one file path per item (relative paths resolve from workspace root)
    • MAGUS format becomes a single template; plain Markdown is split by H1

🤝 Contributing

Bug reports, feature requests, and pull requests are welcome!

  • Bug Reports: Issues
  • Feature Requests: Issues
  • Pull Requests: Pull Requests

🙏 Acknowledgments

  • Gemini CLI by Google
  • Claude Code by Anthropic
  • VS Code Extension developer community

🎨 Icon Credits

Icons used in this extension are property of their respective owners:

  • AllCLIs-icon.png - Irasutoya
  • claude-logo.png - Anthropic
  • codex-icon.png - OpenAI

※ Company logos are used for identification purposes only. This extension has no official affiliation with these companies.


📈 If You Like This Extension

⭐ Please star on GitHub! 🐛 Report any bugs you find 💡 Share your feature ideas 📢 Share with your team

⭐ Star on GitHub | 🐛 Report Bug | 💡 Request Feature

📄 License

MIT License - See LICENSE file for details

👤 Author

Joji Jorge Senda (@d3j)

  • For design details, see docs/templates-design.md
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft