Skip to content

Choose your AI

Tenbi runs your tickets with a coding agent, and you choose which one. Two are available today:

AgentProviderMaturity
Claude CodeAnthropicSupported
CodexOpenAIBeta

Either way the product is the same: same lanes, same six-phase pipeline, same tickets in, same pull requests out. What changes is the AI doing the work — and whose credential pays for it. Their run, their keys: Tenbi never marks up or meters your usage on either provider.

The provider toggle

Settings → Credentials → AI agent. Pick Claude (Anthropic) or Codex (OpenAI), add that provider's credential below the toggle, save.

This is a whole-account switch. Every lane switches together — you cannot run one lane on Claude and another on Codex today. (Per-lane choice is planned.)

Switching is safe at any time: runs already in flight finish on the agent they started with; new pickups use the new provider. Your other provider's stored credential stays saved (encrypted) — switching back is just the toggle.

What "Beta" means for Codex

The same maturity ladder as supported stacks: Supported means canary-tested and proven on real production work over time; Beta means the pipeline is verified end-to-end on canary repositories — phases, tests, quality gates, PRs — but long-run quality tuning is still being earned. Tenbi's agent instructions were refined against Claude for months; Codex reads the same playbook faithfully, but a different model interprets it with a different accent. Expect occasional rough edges in phase outputs, and please report anything odd — Beta feedback is exactly what promotes an agent to Supported.

Models under each provider

Model pickers (a Lane's model, per-type routing, the account default) are provider-scoped — the pickers list Claude models when your workspace runs Claude and Codex models (GPT-5.6 Sol, Terra, and Luna) when it runs Codex. A Claude model name means nothing to Codex and vice versa: if you switch providers while lanes still pin the other provider's model, those pins are skipped, never passed across — the run falls through to your workspace default (re-seeded to the new provider's recommended model on the switch) and the run's route breadcrumb says why. Nothing breaks; nothing is silently mistranslated.

New Codex workspaces default to GPT-5.6 Sol, the Codex CLI's own recommended model. One honesty note that differs from Claude: Codex does not report back which model actually executed a run, so run records show the model you configured; a wrong or unavailable model id fails the run immediately with a clear error rather than silently substituting.

Reasoning effort is provider-scoped the same way (Workspace → Settings → Models, with project and lane overrides): both agents accept Low through X-High; Max is Claude-only — if you switch a Max workspace to Codex, the setting clamps to X-High. Effort matters more on Codex than you might expect: the Codex CLI's own out-of-box behavior is no reasoning at all, so Tenbi always sets it explicitly (High by default).

Personal keys and agent choice

The provider toggle above is the workspace's agent — every run uses it. Separately, each member can hold a personal credential and pick which agent it belongs to, from the set an owner/admin allows (Workspace → Settings → Personal key agents; Claude only by default). A personal Claude key pays for that member's tickets under the personal payment policies today. A personal Codex key can be stored once allowed, but is not yet used for runs — it activates when per-run agent selection ships. Until then, the workspace toggle decides the agent for everyone.

Cost display differences

  • Claude, API key: runs show real dollar cost (Anthropic reports it).
  • Codex: runs show token counts, no dollar figure — OpenAI's stream reports tokens only, and Tenbi won't invent a price. Dollar display arrives once Codex cost calibration exists.
  • Absence of a dollar figure is honesty, not a bug — see Codex runs show tokens but no cost.

Where to go next