Summary
Gemini CLI ships an ACP mode (gemini --acp) specifically for IDE and tool integrations. That makes it a natural candidate for Sentinel's runtime picker alongside Codex and Claude.
Why this is worth doing
- It gives Gemini users a native runtime option instead of forcing them through the Sentinel-managed provider path.
- The ACP surface is documented clearly enough that we should be able to implement this without guessing at private behavior.
- This is a good forcing function for building a provider-agnostic ACP client that we can reuse for more than one runtime.
Proposed scope
- Detect Gemini CLI availability and auth/setup readiness.
- Create, resume, prompt, and cancel Gemini-backed sessions.
- Support streaming responses in the current thread UI.
- Hook Gemini's approval/session mode model into Sentinel's existing runtime controls.
- Pass MCP server details during initialization when available.
High-level implementation overview
- Build or reuse a generic ACP transport that handles JSON-RPC over stdio and the core lifecycle methods Gemini documents:
initialize, authenticate, newSession, loadSession, prompt, and cancel.
- Add a Gemini-specific runtime adapter that launches
gemini --acp, manages auth/setup checks, and maps Gemini session events back into Sentinel's thread/session abstractions.
- Wire in Gemini-specific session controls where they exist, especially
setSessionMode and unstable_setSessionModel, so approval behavior and model switching feel native instead of bolted on.
- Account for Gemini's proxied file system and MCP handshake expectations during initialization so tools remain scoped to what Sentinel explicitly exposes.
- Extend engine registration, persisted thread state, and settings UI so Gemini behaves like the existing Codex/Claude runtimes rather than a separate experimental path.
Acceptance criteria
- Gemini is selectable as an engine when the CLI is installed and configured.
- Sentinel can initialize, create a session, send prompts, and render streaming responses.
- Session resume works for Gemini-backed threads.
- Model changes and approval mode changes are wired through where Gemini supports them.
- Debugging/runtime errors are clear enough to troubleshoot without digging through raw protocol logs.
References
Summary
Gemini CLI ships an ACP mode (
gemini --acp) specifically for IDE and tool integrations. That makes it a natural candidate for Sentinel's runtime picker alongside Codex and Claude.Why this is worth doing
Proposed scope
High-level implementation overview
initialize,authenticate,newSession,loadSession,prompt, andcancel.gemini --acp, manages auth/setup checks, and maps Gemini session events back into Sentinel's thread/session abstractions.setSessionModeandunstable_setSessionModel, so approval behavior and model switching feel native instead of bolted on.Acceptance criteria
References