Concepts
Bring your own model
Fixback runs no model on your behalf and marks up nothing. A connection is your key (or your plan), your model, on your bill. The Ship dialog shows the connection it will use, its billing line (“Your Anthropic key”), and its cost-cap word before you Ship — and you can switch connection for a single Run.
How a connection works
An agent connection is an org-level object you add in Settings → Agent connections. It carries a provider, an auth kind, an optional endpoint URL, and a pinned model from the curated list — never a bare secret in the UI. A Verify makes one cheap model call to prove the key or endpoint works and pin the model. Each Project points a default at one connection; the Ship dialog shows it and lets you switch for a Run.
The connection kinds
These are every connection kind Fixback models, what each costs, who pays, and the cost-cap word each gets. The availability column is enforced in code, not just described here: a kind marked flag-gated or closed is not offered until it is turned on.
| Connection | Where it runs | Model | Who pays | Cap word | Availability |
|---|---|---|---|---|---|
| Anthropic key your API key | Hosted · Claude harness | Claude Opus 5 / Sonnet 5 | Your Anthropic key | estimated | Offered by default |
| OpenAI key your API key | Hosted · Codex harness | GPT-5.5 | Your OpenAI key | computed | Offered by default |
| Anthropic-compatible endpoint base URL + key | Hosted · Claude harness | Your endpoint's model (e.g. Z.ai GLM 4.6) | Your Z.ai key (named by the model's vendor) | estimated* | Offered by default |
| OpenAI-compatible endpoint base URL + key | Hosted · Codex harness | Your endpoint's model (e.g. Z.ai GLM 4.6) | Your Z.ai key (named by the model's vendor) | computed | Offered by default |
| Claude Code (cloud) pre-fill URL, no credential | Dispatch · your own Claude session | Your subscription's model | Your Claude subscription | n/a | Offered by default — a Handoff, not a Run (no Run row, no Runs-page card) |
| Claude Routine routine-scoped token | Dispatch · your own Claude session | Your subscription's model | Your Claude subscription | n/a | Flag-gated — RUNS_DISPATCH_ROUTINES (off in production) |
| Codex plan subscription credential | Hosted (Docker) · Codex harness | Your Codex/ChatGPT plan's model | Your Codex plan | n/a | Flag-gated — RUNS_SUBSCRIPTION_CONNECTIONS (off in production); advanced, warns |
| Fixback metered Fixback's key | Hosted | Fixback's model | Fixback (metered) | hard | Closed — modelled, refused on create; no reselling in v1 |
* A compatible endpoint's cap word follows its harness, but its realized Run cost is always priced from Fixback's shared price table (computed) rather than
the harness's native-vendor estimate — the vendor's rates differ from the harness's own.
The four cap words
A Run's wall-clock, turn, and no-activity caps are always hard — the runner enforces them itself, on every connection. The word below is only about the dollar cap, and it is deliberately honest about what actually enforces it: we never call an estimate a “hard cap”.
estimated— a Claude-harness Run on your own key. The dollar cap is a client-side budget the harness aims at (maxBudgetUsd); it can overshoot slightly.computed— a Codex-harness Run (and any compatible-endpoint Run's realized cost). The harness reports tokens; Fixback prices them from its own price table, and the runner ends the Run at the computed cap.n/a— a subscription or a dispatch Run. It runs on your plan, so there is no per-Run dollar figure and no meter to show.hard— reserved for the Fixback metered connection, where a per-Run gateway key with a real dollar budget enforces the cap server-side. That connection is modelled but disabled in v1 (Fixback does not resell model usage yet), so no v1 connection showshard.
Subscription connections are different — read this first
A subscription credential (a Codex/ChatGPT plan) cannot be brokered at the
sandbox edge the way an API key can, so it has to live inside the sandbox, next to the
code your install and test scripts run. The warning you accept when you
connect one, and again on every Ship, is exact — “Your repository's install and test scripts run next to this credential and could
read it.”
See Built-in protections for exactly what the
sandbox still guarantees on a subscription connection (isolation and a scrubber that redacts the
credential from everything that leaves) — and why an api_key connection has nothing
to steal in the first place. Because of that residual risk, subscription connections are an
advanced, opt-in mode, they ship only behind a flag, and a Public-tier Issue can never
Ship on one.