Skip to main content
An LLM connection is a saved provider configuration — which provider, which model, which credentials, and any endpoint details. Keeping several connections lets you switch between backends without re-entering keys: one for Anthropic, one for a local endpoint, one for a gateway. This page covers the fields, how a session picks a connection, and how to manage them. For endpoint specifics, see API Providers.

Where connections live

Connections are stored as the llmConnections array in the config file (~/.synti/config.json). Their secrets are held separately in the encrypted credential store and referenced by slug.

Connection fields

Provider types

Auth types

How a session picks a connection

When you send a message, Synti resolves the connection in this order:
  1. Session connection — locked in after the session’s first message.
  2. Workspace default — the default set for the active workspace.
  3. Global defaultdefaultLlmConnection in the config.
  4. First connection — the first entry in the list, as a fallback.
A session locks to its connection after the first message so a conversation stays coherent on one model. To use a different provider, start a new session.

Managing connections

Open Settings → AI to add, edit, delete, and validate connections. From there you can:
  • Set the global default and per-workspace defaults.
  • Validate that a connection actually reaches its provider.
  • Toggle per-model image support for custom endpoints without editing JSON.
  • Choose mid-stream behavior per connection.
You can also list connections from the terminal client with synti-cli connections — see the CLI reference.

Mid-stream behavior

If you send a message while the agent is still responding, the connection decides what happens:
  • queue — hold the new message until the current turn finishes. Default for Anthropic.
  • steer — inject the message into the turn in progress to redirect it.

Custom endpoint capabilities

For openai_compat connections, declare what the endpoint supports per model — for example contextWindow and supportsImages — so Synti sizes requests and enables images correctly. See API Providers.

API Providers

Base URLs, model IDs, and custom endpoints.

Credentials

Where each connection’s key is encrypted.

Config File

The file that holds the connections array.

Environment Variables

Supply provider keys at launch.