Skip to content

warpdotdev/gemini-cli-warp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gemini CLI + Warp

Official Warp terminal integration for Gemini CLI.

Features

🔔 Native Notifications

Get native Warp notifications when Gemini CLI:

  • Completes a task — with a summary showing your prompt and Gemini's response
  • Needs your input — when Gemini has been idle and is waiting for you
  • Requests permission — when Gemini wants to run a tool and needs your approval

Notifications appear in Warp's notification center and as system notifications, so you can context-switch while Gemini works and get alerted when attention is needed.

📡 Session Status

The extension keeps Warp informed of Gemini's current state by emitting structured events on every session transition:

  • Prompt submitted — you sent a prompt, Gemini is working
  • Tool completed — a tool call finished, Gemini is back to running

This powers Warp's inline status indicators for Gemini CLI sessions.

Installation

gemini extensions install <github-url-or-local-path>

For local development:

gemini extensions link ~/gemini-warp

⚠️ Important: After installing, restart Gemini CLI for the extension to activate.

Once restarted, notifications will appear automatically.

Requirements

  • Warp terminal (macOS, Linux, or Windows)
  • Gemini CLI v0.26.0+
  • jq for JSON parsing (install via brew install jq or your package manager)

How It Works

The extension communicates with Warp via OSC 777 escape sequences. Each hook script builds a structured JSON payload (via build-payload.sh) and sends it to warp://cli-agent, where Warp parses it to drive notifications and session UI.

Payloads include a protocol version negotiated between the extension and Warp (min(plugin_version, warp_version)), the session ID, working directory, and event-specific fields.

The extension registers five hooks:

  • SessionStart — emits the extension version on startup
  • AfterAgent — fires when Gemini finishes a turn, sends a task-complete notification with your prompt and Gemini's response
  • Notification — handles both idle notifications and tool-permission requests (Gemini merges these into one event, dispatched by notification_type)
  • BeforeAgent — fires when you submit a prompt, signaling the session is active again
  • AfterTool — fires when a tool call completes, signaling the session is no longer blocked

Configuration

Notifications work out of the box. To customize Warp's notification behavior (sounds, system notifications, etc.), see Warp's notification settings.

Uninstall

gemini extensions uninstall warp

Versioning

The extension version in gemini-extension.json is checked by the Warp client to detect outdated installations. When bumping the version here, also update MINIMUM_PLUGIN_VERSION in the Warp client.

License

MIT License — see LICENSE for details.

About

Gemini CLI extension for notifications and other integrations with Warp.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages