Sinatra Docs
Configuration

Models

How the agent gets a model, the credentials Sinatra supports, and the models you can pick.

The agent's intelligence comes from the LLM behind it. Sinatra is the orchestration layer; you choose which model runs and how it is paid for.

Two ways to provide a model

Bring your own key. Paste an Anthropic or OpenRouter API key, or connect a Codex / ChatGPT subscription for OpenAI models. You pay your provider directly, and your free task allowance is higher (see billing).

Use Sinatra's managed key. Let Sinatra route the model on its own keys. Managed usage is metered at the provider's exact cost with no markup, drawn from a prepaid balance. The free tier runs on Sinatra's Codex subscription.

You can connect more than one. The agent picks a default from whatever you have connected, and you can override it per repo in .sinatrarc.

Credentials

CredentialHow you connect itReaches
AnthropicPaste an API keyClaude models, directly
OpenRouterPaste an API keyClaude models routed through OpenRouter
Codex / ChatGPTConnect via OAuthOpenAI models
ManagedNothing to connectSinatra routes on its own keys

There is no pasted-key option for OpenAI. OpenAI models run through a connected Codex / ChatGPT subscription.

Pasted keys are encrypted per workspace with envelope encryption, and the encryption is bound to the workspace, so a key stored in one workspace cannot be decrypted in another.

Engines

An engine is the agent harness that runs inside the sandbox. The engine decides how model names are written.

  • claude-code (default) uses short Anthropic names like opus.
  • opencode uses full provider/model slugs like anthropic/claude-opus-4-8 and is how you reach OpenRouter, OpenAI, and other providers.

The engine is fixed for the life of a workstream, and a model must belong to the engine you picked. Set both in .sinatrarc.

Supported models

claude-code engine (Anthropic key)

agent.modelEffort levels
sonnetlow, medium, high, max
opuslow, medium, high, xhigh, max
opus-4-8low, medium, high, xhigh, max
haikunone

opencode engine (full slugs)

agent.modelCredentialEffort levels
anthropic/claude-sonnet-4-6Anthropiclow, medium, high, max
anthropic/claude-opus-4-7Anthropiclow, medium, high, xhigh, max
anthropic/claude-opus-4-8Anthropiclow, medium, high, xhigh, max
anthropic/claude-haiku-4-5Anthropicnone
openrouter/anthropic/claude-opus-4.8OpenRouterlow, medium, high
openai/gpt-5.4Codexlow, medium, high, xhigh
openai/gpt-5.4-miniCodexlow, medium, high, xhigh
openai/gpt-5.5Codexlow, medium, high, xhigh

Default model

If you do not set agent.model in .sinatrarc, Sinatra picks one from your connected credentials:

  • A connected Codex subscription uses openai/gpt-5.4 on the opencode engine.
  • A single Anthropic key uses opus on claude-code.
  • A single OpenRouter key uses openrouter/anthropic/claude-opus-4.8 on opencode.
  • With several keys connected, Sinatra picks the first provider that has a usable default.

The managed free tier runs on openai/gpt-5.4 through Sinatra's Codex subscription.

Effort

agent.effort controls how hard the model thinks, from low to max. Not every model supports every level, so Sinatra clamps your choice down to the closest level the model actually honors instead of erroring. Models with no effort levels (such as haiku) ignore the setting. The exact range per model is in the tables above.