Skip to content

Google Gemini (CLI)

Google’s gemini command-line tool is an alternative provider you can assign to any Viberia agent in place of Claude.

You install the gemini CLI on your computer, sign it in to your Google account once, and then point Viberia at the binary.

Prerequisites

  • A Google account with access to the Gemini API or a supported subscription tier.
  • A network connection — the CLI calls Google’s API on every turn.
  • Permission to install a global binary on your machine.

Install the CLI

Follow Google’s current instructions for installing the gemini CLI on your platform. Once installed, run it once from a normal terminal to sign in:

Terminal window
gemini

Complete the auth flow. The CLI persists your credentials so Viberia doesn’t have to.

Point Viberia at the binary

Open Settings → CLI Configuration. The Gemini CLI path field (a CliPathField row) is where Viberia records the path. To find it:

Terminal window
which gemini

Paste the output into the field and click Test. A green check confirms Viberia can invoke the binary; a red error means the path is wrong or the CLI isn’t installed.

Note: If you change the path while agents are running, restart Viberia so every agent picks up the new binary.

Gemini is selected the same way every other provider is: either as a role-tier default or as a per-agent override.

Role-tier defaults

In Settings → Agent Defaults, set a role tier’s default model to a Gemini model. Newly created agents in that tier will spawn on Gemini.

Per-agent override

In any agent’s chat window, open the Model & Tools cell above the composer and pick a Gemini model from the dropdown.

SettingWhereDefaultNotes
Gemini CLI pathSettings → CLI Configurationplatform default (e.g. gemini on PATH)Restart agents after changing.
Default model per role tierSettings → Agent Defaultsprovider’s recommended balanceAffects newly created agents only.
Per-agent modelAgent chat → Model & Toolsinherited from role tierTakes effect next turn.

Note: TODO — verify in app. Confirm the exact list of Gemini models the dropdown exposes in your build, and whether a “thinking” or “reasoning” toggle is wired up for Gemini specifically.

To put a specific agent on Gemini, open its chat window, click the Model & Tools cell, and pick a Gemini model. The change persists across restarts and takes effect on the agent’s next turn.

To make new agents in a role tier default to Gemini, change the tier’s default in Settings → Agent Defaults. Existing agents keep their current model.

  • Model selection — choose between Gemini models supported by your Viberia build.
  • Large context window — Gemini’s defining advantage is its very large context window, which makes it a useful pick for agents that ingest big files (long PRDs, multi-file reviews, long research transcripts).
  • Skills (slash commands) — Gemini agents invoke installed skills via /<name>.
  • MCP — Gemini agents can use MCP servers configured at the user, building, or agent scope.
  • Feature coverage trails Claude. Gemini is supported as a chat provider, but advanced behaviors that depend on Claude-specific features may not be available. If a behavior breaks when you switch from Claude to Gemini, switch back or open Troubleshooting.

    Note: TODO — verify in app. Specifically confirm whether streaming tool calls, MCP fan-out, and per-agent memory directories are fully supported on Gemini in the current build.

  • Account required. Gemini agent calls go to Google’s API. You need an account in good standing and a valid sign-in on the gemini CLI.
  • Network required. No offline mode. Connection drops fail the agent’s current turn.
  • API rate limits apply. Heavy parallel use can hit Google’s per-account limits; failures surface in the agent’s chat.
  • Token cost is your responsibility. Use the Token Tracker (toggle with Cmd+Shift+U) to monitor usage; Gemini reports on its own line.
  • Model availability tracks Google. When Google deprecates a Gemini model, it disappears from Viberia’s dropdowns at the next app update. Per-agent overrides may need to be reset.