The dashboard

Agent connections

An Agent connection names who pays and which model a Run uses. It is an org-level object, Owner-managed, and every hosted Ship runs on one.

What a connection is

A connection carries three things:

  • a provider — the vendor and endpoint (see below);
  • an auth kind — your own API key (the default), or a subscription;
  • a pinned model from the curated per-provider list.

Connections live at the workspace level, in Settings → Integrations, and only an Owner creates or changes one. The page groups the providers into two rows of tiles: Hosted — Fixback runs it (Anthropic, OpenAI, Z.ai (GLM)) and Your own agent — runs on your plan (Claude Code, Claude Routine, Codex plan). Each Project then picks the connection its Runs use under Ship on its Repository & ship page, and the Ship dialog shows it and lets you switch per Run.

Providers

ProviderWhat it is
AnthropicClaude models through the Claude Agent SDK harness — your own Anthropic API key.
OpenAIGPT models through the Codex CLI harness — your own OpenAI API key.
Anthropic-compatibleAny endpoint that speaks the Anthropic API — a Z.ai GLM endpoint runs here — driven by the Claude harness.
OpenAI-compatibleAny endpoint that speaks the OpenAI API, driven by the Codex harness.
Dispatch kindsClaude Code (cloud) and Routine-fired dispatch run on your own account, not a Fixback sandbox — see Runs & Ship.

The provider selects the harness — the program that drives the agent. Anthropic and Anthropic-compatible endpoints run the Claude harness; OpenAI and OpenAI-compatible run the Codex harness. A Claude-harness Run on a compatible endpoint (a Z.ai GLM endpoint, say) prices its realized cost from the shared price table rather than the SDK's Anthropic-rate estimate.

Your key vs a subscription

On an api_key connection — the v1 default — your key and the repository read token are brokered at the sandbox edge: they are injected into outbound requests outside the VM, so inside the sandbox they are only placeholders. A hostile script that dumps the environment finds nothing real.

The cost word

The Ship dialog states the cost basis honestly rather than promising a number it can't guarantee:

WordWhen it shows
estimatedA Claude-harness connection on your own key — the SDK's own rate estimate. (A Run on a compatible endpoint still records its finished cost as computed, from the price table.)
computedA Codex-harness connection on your own key — priced from the shared price table against realized usage.
n/aA subscription — the work is on your plan, so there is no per-Run charge to show.

Verify

Saving a connection runs a verify: one cheap model call that proves the key or endpoint works and stamps the moment it was checked. A connection that fails to verify can't be made a Project's default, so a Ship never starts against a credential that was already broken.

Stored encrypted, read by nothing

The credential is envelope-encrypted at rest with a per-workspace data key, is returned by no read endpoint, and is decrypted only in the exact paths that need it — the verify call, and the worker at the moment it launches a Run. It never appears in a Run's log, its artifacts, or its PR body; the scrubber redacts any value that looks like a secret before it leaves the sandbox.