Gemini Command Menu
Gemini Command Menu brings a productivity-boosting "Slash Command" interface (similar to ChatGPT, Notion, Slack, or Discord) to the Google Gemini web interface.
Type / in the chat input box to instantly access Tools (Deep Research, Canvas, Image Generation) and File Upload options (Drive, Upload, NotebookLM) without lifting your hands from the keyboard.
🚀 Key Features
- Native UI Integration: The menu is engineered to look and feel exactly like a native part of Gemini. It dynamically adopts the site's current Angular styles, dark/light mode, and font settings.
- Dynamic Discovery Engine: Instead of using hardcoded lists that break when Google updates the site, this script intelligently scrapes the "Tools" and "Add Files" menus in real-time. If Google adds a new feature (e.g., a new Veo video model), the Command Menu will detect it.
- Smart Caching: To ensure zero latency, the script caches menu items after the first scan. It only re-scans if you explicitly request it, ensuring instant performance.
- Seamless Action Execution: When you select an item, the script performs a "stealth click" on the actual UI element in the background, ensuring 100% compatibility with Gemini's internal logic.
- Keyboard Navigation: Full support for
Arrow Up, Arrow Down, Enter, and Tab. The menu handles scrolling automatically.
- Safe & Robust: Built with Trusted Types compliance (preventing security errors) and uses efficient DOM observation to avoid performance drains.
🛠️ How to Use
- Install the script via Violentmonkey or Tampermonkey.
- Open gemini.google.com.
- First Run Initialization:
- Note: Because the script reads the menu items from the page, they need to be loaded once.
- Click the "+" (Add Files) button to open that menu.
- Click the "Tools" button (or the Gemini Advanced gem icon) to open that menu.
The script has now cached these items.
Type `/` in the prompt area.
Navigate with arrows and press Enter to trigger an action.
⚙️ Context Menu Options
If Google updates the interface or adds new tools, you can force the script to re-learn the menu items:
- Open your Userscript Manager extension menu.
- Select "Reset Menu Cache (Re-scan)".
- Refresh the page and open the menus again as described in the "First Run" instructions.
🔧 Technical Info
- Engine: Uses
@violentmonkey/dom for efficient VM.observe.
- Rendering: Clones specific Angular Content IDs (
_ngcontent-...) to replicate native shadowing and layout properties perfectly.
- Execution: Temporarily hides the native
.cdk-overlay-container while programmatically clicking buttons to provide a seamless "command line" experience.
This userscript was written with Gemini 3 Pro.
It was carefully made to look and behave exactly like a native feature on Gemini - you can check it by yourself and you won't believe I just made it with Gemini.