Skip to main content

Providers

A provider is an agent CLI Saggar knows by name. Any program runs in a Saggar terminal, but a provider gets recognition, a place in the launch menu, hooks that report its lifecycle, exact resume, and the Saggar skill.

Saggar knows six:

Everything else is covered by Other agents.

What every provider gets

FeatureWhat it means
RecognitionSaggar walks the process tree under each shell and, when that fails, reads the agent's own chrome on screen. A provider you start by hand is recognized exactly like one Saggar launched.
A launch rowThe new-session menu lists each enabled provider, with its models where Saggar knows them.
An install checkEvery launch runs command -v first. A missing CLI opens a visible repair prompt in the terminal that asks before installing anything. Codex and GitHub Copilot CLI install through Homebrew; the rest use their own installer.
HooksAn opt-in integration reports starts, prompts, turns, and exits from the provider's own lifecycle, so status stops depending on screen inference. Install them from Settings ▸ Providers or with saggar hooks.
Exact resumeWith hooks installed, restoring a project reopens the same conversation rather than the same command.
The Saggar skillSaggar can write its saggar-cli skill into the provider's user-level skills directory, so the agent knows how to raise your attention or start work in another terminal. It never installs silently.

Where they differ

IntegrationTerminal commandAutomatic recognitionProvider rosterLifecycle integrationPermission-awareExact resumeModel and usage detailsSaggar skillSession orchestration
Any terminal CLIYesNoNoNoNoNoNoNoNo
Claude CodeYesYesYesYesYesYesYesYesYes
CodexYesYesYesYesYesYesYesYesYes
Antigravity CLIYesYesYesYesScreen fallbackYesYesYesYes
PiYesYesYesYesNoYesYesYesYes
OpenCodeYesYesYesYesNoYesYesYesYes
GitHub Copilot CLIYesYesYesYesYesYesNoYesYes
Custom resume bindingYesNoNoNoNoCustom bindingNoNoNo

Definitions:

  • Terminal command: Runs as an ordinary command in a Saggar terminal.
  • Automatic recognition: Saggar identifies the running agent from its process or screen.
  • Provider roster: Appears in Settings and the new-session launch menu.
  • Lifecycle integration: Provider hooks report starts, turns, stops, or exits.
  • Permission-aware: Saggar can answer permission prompts through provider hooks, or from recognized screen menus as a fallback.
  • Exact resume: Saggar restores the same conversation, not merely the same command.
  • Model and usage details: The terminal info view shows live model and usage or context data.
  • Saggar skill: Saggar can install its command skill in the provider's skill folder.
  • Session orchestration: The agent can create or control Saggar sessions through the skill.

The table is generated from the same data the app uses, so it can't drift from what Saggar actually does.

Models

Where a provider's models come from depends on the provider.

ProvidersWhere models come from
Claude Code, Codex, Antigravity CLISaggar's own catalog. Models poorly suited to coding stay hidden until you reveal them with More models on the provider's card. Codex also publishes its own model list, which replaces Saggar's rows when it is readable.
Pi, OpenCodeThe credentials you have given them. Their cards ask the CLI (pi --list-models or opencode models) and let you pick which reported models get a row.
GitHub Copilot CLIIts own configured model. Saggar offers no model rows for it.

Claude Code and Codex also take a reasoning effort, chosen per provider on its card. Saggar passes it on the launch command and leaves the model's default alone when you haven't picked one.

The roster

Onboarding asks which providers you use, and Settings ▸ Providers changes the answer.

The roster decides what Saggar offers: launch rows, hook installs, and the on-screen scan. It never gates recognition. A codex you start by hand with Codex turned off still lights its chip and still gets answered, because turning a provider off means "stop offering me this", not "pretend this isn't running".

A provider needs both a roster entry and an installed CLI before it appears as a launch target. Installation is a setup action, not a side effect of picking a menu item.

Versions

Claude Code and Codex added their hook events one release at a time. Saggar reads the installed version and installs only the hooks that version can run.

  • When a CLI is too old for something Saggar would otherwise do, the provider's card says what it can't do and how to update, and the same sentence is printed once in the terminal ahead of the launch.
  • A version Saggar can't read is treated as capable, so a strange --version line never costs you a feature.

Each provider page lists its version floors where they exist.