Providers
Provider configuration is managed in Settings → Providers. Open settings from the account menu in the sidebar footer or the settings sidebar.
The Providers View
Section titled “The Providers View”The Providers page lists all providers. Providers you have connected are grouped under a Connected Providers heading, each marked with an API Key, Environment, or Connected badge.
Click any provider to open its full-page detail view, which shows the API key input, credit balance (where applicable), and model list. Use the Back button to return to the list.
Adding an API Key
Section titled “Adding an API Key”- Open Settings → Providers.
- Click a provider in the list.
- On the provider page, paste your API key into the input field.
- Click the eye icon to toggle show/hide.
- Check for the save confirmation. Tarsk saves the key when you edit the field.
Tarsk stores provider keys in its database. For providers with a key environment variable, Tarsk also writes the key to .env in the server’s working directory and sets it in the server process environment. Keep that file private.
Where to Get Keys
Section titled “Where to Get Keys”| Provider | Key URL |
|---|---|
| Anthropic | console.anthropic.com/keys |
| OpenAI | platform.openai.com/api-keys |
| aistudio.google.com | |
| xAI | console.x.ai |
| DeepSeek | platform.deepseek.com |
| OpenRouter | openrouter.ai/keys |
| AIHubMix | aihubmix.com |
| Groq | console.groq.com/keys |
See Providers Overview for all providers and their key URLs.
Connecting Builder.io
Section titled “Connecting Builder.io”Builder.io uses OAuth instead of an API key. Tarsk never shows or stores a static key for it.
- Open Settings → Providers and click Builder.io.
- Click Connect Builder.io. Tarsk opens Builder.io in your browser.
- Sign in and approve the request.
- Return to Tarsk. The provider shows Connected and its model list loads.
Tarsk registers itself with Builder, stores the OAuth grant encrypted in its database, and refreshes the access token before it expires. Click Reconnect if the grant is rejected, or Disconnect to revoke it.
If BUILDERIO_API_KEY is already set in the environment, Tarsk uses it and shows the connection as read-only.
Builder.io bills usage through your Builder account. Tarsk does not show a credit balance or per-model prices for this provider.
Checking Your Credit Balance
Section titled “Checking Your Credit Balance”For OpenRouter and AIHubMix, the provider page shows your current account balance in the Models section header. Tarsk fetches it from the provider. If the balance reads $0.00 and you expect more, verify the key is correct.
Enabling and Disabling Models
Section titled “Enabling and Disabling Models”After adding a key, the provider page lists all available models for that provider. Each model has a checkbox:
- Checked — model appears in the model selector dropdown in every thread
- Unchecked — model is hidden from the selector
The onboarding wizard preselects recommended models. Review those selections before clicking Finish, and enable or disable models here as needed.
Saving those selections also keeps the Default model alias in sync: if Default is unset, Tarsk points it at the first enabled model. If Default’s provider/model is unchecked, Tarsk moves Default to the first remaining enabled model.
Sorting Models
Section titled “Sorting Models”Use the controls above the model list:
| Sort | Order |
|---|---|
| A–Z | Alphabetical by model name |
| Sort by price | Price per token, low to high |
| Coding intelligence | Coding intelligence score |
| Price/intelligence | Intelligence relative to price |
Reasoning
Section titled “Reasoning”In the chat input, select a model, then reopen the model selector. Each model row carries a brain icon. Hover the row to reveal it — the selected model’s row always shows it — and click it to expand the row:
- Choose Off to turn reasoning off.
- Choose an effort level to turn reasoning on at that level. Depending on the model, you can choose Minimal, Low, Medium, High, Extra high, or Max. You see the levels available for the selected model.
For models without supported reasoning levels, no brain icon appears. Hover over the model selector to check the selected model’s provider, model ID, and reasoning level, if supported.
Tarsk saves your choice for that provider/model pair across threads and projects. If you have no saved choice, Tarsk uses Medium when the model supports it, or the first supported level. You can override this setting for an alias under Model Aliases.
Routing
Section titled “Routing”OpenRouter serves one model from several upstream endpoints that differ in price and throughput. For an OpenRouter model, the row’s rabbit icon chooses which endpoint the gateway should prefer:
| Choice | What Tarsk sends | What it means |
|---|---|---|
| Auto | nothing — the gateway’s own default routing | OpenRouter balances across providers. Tarsk makes no promise about speed or price. |
| Cheapest | sort by price, keep fallbacks, require supported params | The lowest-priced endpoint that still supports tools, caching, and reasoning. A cheap endpoint may be quantized and answer worse. |
| Fastest | sort by throughput, keep fallbacks, require supported params | The highest-throughput endpoint at request time. Sorted routing can move a conversation to a different provider between turns, which starts its prompt cache cold. |
The rabbit is filled whenever the choice is not Auto. Hover the model selector to read the current choice. Tarsk saves it for that provider/model pair, like reasoning, and a Remote Machine run uses the choice from the computer that started it.
Onboarding Wizard
Section titled “Onboarding Wizard”When you first launch Tarsk, the Onboarding Wizard guides you through the minimum setup:
- Git Check — verifies
gitis on your PATH - Provider Setup — select a provider and enter an API key
- Model Selection — enable the models you want to use
The wizard can be reset at any time by triple-clicking Settings in the settings sidebar.
Using Multiple Providers
Section titled “Using Multiple Providers”You can configure as many providers as you like. Each thread has an independent model selector, so you can use Anthropic in one thread and Google in another simultaneously.
A common pattern:
- Set a capable, tool-using model (e.g. Claude Sonnet 5, GPT-5.6) as the default for active coding threads
- Set a fast, cheap model (e.g. Gemini 3.8 Flash, DeepSeek V4 Flash) for lighter tasks like summarisation or commit message generation
Local Provider
Section titled “Local Provider”Tarsk includes a Local provider for connecting to local inference servers (e.g. LM Studio, Ollama-compatible endpoints). Configure the API URL in the provider settings or via the LOCAL_API_URL environment variable. The URL is resolved dynamically when you connect.
Model Aliases
Section titled “Model Aliases”Tarsk-wide model aliases map role names to specific models. This lets you and the agent refer to models by purpose instead of by name across every project.
| Alias | Use case |
|---|---|
default | Default model for new chats |
fast | Quick responses for lightweight tasks |
local | On-device or local inference |
cheap | Lower-cost models for routine work |
smart | Most capable models for complex tasks |
Open settings, choose the General scope, then select Default Models. Choose an enabled provider/model pair for each alias and click Save. You must enable the target model in Providers first. Use Unspecified to clear an alias. Enabling or disabling models also updates Default when it is unset or no longer enabled.
Subagents also use these aliases when their AGENT.md specifies a model alias.
Alias Reasoning Overrides
Section titled “Alias Reasoning Overrides”After you choose an alias’s target model, use the Reasoning column to configure reasoning. Models that expose no reasoning levels show Unsupported instead of a dropdown.
| Choice | Effect |
|---|---|
| Model default | Inherit the target model’s saved reasoning setting, or its default level if you have no saved setting. |
| Off | Turn reasoning off for this alias. |
| An available effort level | Use that level for this alias instead of the model’s saved setting. |
Click Save to apply alias changes across projects. With an alias-specific choice, you leave the target model’s saved setting and other aliases unchanged. Choose Model default to remove the override. If you change the alias’s target model, choose its reasoning setting again; you start with Model default for the new target.
Subagents that reference an alias in AGENT.md use its reasoning override. In Orchestrate mode, Tarsk uses the Smart override for the coordinator and the Cheap override for subagents. For regular chat, including a model chosen through the Default alias, use the chat model selector’s Reasoning control.
Usage Cost Display
Section titled “Usage Cost Display”Completed chat messages show token usage and estimated cost in the message metadata. This helps you track spending per conversation.