Skip to content

Providers

Provider configuration is managed in Settings → Providers. Open settings from the account menu in the sidebar footer or the settings sidebar.

The Providers page lists all providers. Providers you have connected are grouped under a Connected Providers heading, each marked with an API Key or Environment 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.

  1. Open Settings → Providers.
  2. Click a provider in the list.
  3. On the provider page, paste your API key into the input field.
    • Click the eye icon to toggle show/hide.
  4. 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.

ProviderKey URL
Anthropicconsole.anthropic.com/keys
OpenAIplatform.openai.com/api-keys
Googleaistudio.google.com
xAIconsole.x.ai
DeepSeekplatform.deepseek.com
OpenRouteropenrouter.ai/keys
AIHubMixaihubmix.com
Groqconsole.groq.com/keys

See Providers Overview for all providers and their key URLs.

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.

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.

Use the controls above the model list:

SortOrder
A–ZAlphabetical by model name
Sort by pricePrice per token, low to high
Coding intelligenceCoding intelligence score
Price/intelligenceIntelligence relative to price

In the chat input, select a model, then reopen the model selector. For models with reasoning support, use the Reasoning dropdown at the bottom of the menu:

  • 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, you won’t see a Reasoning control. 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.

When you first launch Tarsk, the Onboarding Wizard guides you through the minimum setup:

  1. Git Check — verifies git is on your PATH
  2. Provider Setup — select a provider and enter an API key
  3. 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.

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

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.

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.

AliasUse case
defaultDefault model for new chats
fastQuick responses for lightweight tasks
localOn-device or local inference
cheapLower-cost models for routine work
smartMost 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.

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.

ChoiceEffect
Model defaultInherit the target model’s saved reasoning setting, or its default level if you have no saved setting.
OffTurn reasoning off for this alias.
An available effort levelUse 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.

Completed chat messages show token usage and estimated cost in the message metadata. This helps you track spending per conversation. If your Tarsk prompt balance is empty, see Account before sending messages.

An empty prompt balance blocks new chat messages until you purchase more prompts or upgrade your plan.