Studio AI has three separate configuration surfaces, and it is easy to confuse them:
| Surface | Scope | Covered in |
|---|---|---|
| AI Configuration panel | Agents, MCP servers, token usage history, prompt fragments, tools, skills, model aliases. Opened via the AI Chat toolbar's More Actions... ("…") menu. | AI Configuration: Managing Agents and Settings |
| Session Settings | Overrides that apply only to the current chat session (Confirmation Timeout, Server-Side Compaction). | Using the AI Chat |
| AI Features settings (this article) | Global and per-provider preferences: enablement, LLM provider connections, chat behavior, compaction, security-relevant defaults, and more. Part of Studio's standard Settings UI. | This article |
This article covers the third surface: a large set of preferences (77 at the time of writing) under the AI Features category of Studio's standard Settings UI, most of which are not exposed anywhere in the AI Configuration panel.
Settings here apply globally to your Studio user/workspace, unlike the per-session overrides in article 03.
Turning AI on and connecting a provider is covered in Getting Started with Studio AI. The same AI Enablement section lives under AI Features in this Settings UI.
Each supported LLM provider has its own sub-section here for API keys, model lists, and provider-specific options:
| Sub-section | What it configures |
|---|---|
| Anthropic / Anthropic Custom | Anthropic API key, the list of Anthropic models available to agents, and custom (self-defined) Anthropic model entries. See Custom LLM Providers. |
| Open AI Official Models / Open AI Custom Models | OpenAI API key, official model list, custom model entries, and whether to use the Responses API (useResponseApi). See Custom LLM Providers. |
| API key, model list, and retry/backoff settings for rate-limit and other errors. | |
| Hugging Face | API key and model list. |
| Ollama | Ollama host URL and model list, for a locally or network-hosted Ollama server. |
| Llamafile | Configured Llamafile executables. |
| Claude Code | API key and executable path for the bundled @anthropic-ai/claude-agent-sdk, used by the @ClaudeCode agent. |
| Codex | API key for OpenAI Codex. |
| GitHub Copilot | Enable/disable, enterprise URL, and model overrides. |
| Fabric (via Open AI Custom Models) | Fabric as the LLM provider: a custom model entry whose URL is the Fabric /api/v1 base URL and whose API key is empty. The provider credentials sit in the Fabric AI LLM interface. See Custom LLM Providers. |
Model Selection and Language Model Aliases also appear here, but both are thin pointers into the AI Configuration panel's Agents and Model Aliases tabs (see article 06) rather than separate editors. Model Settings does add two standalone knobs: maxRetries (retry attempts on a failed model call) and requestSettings (provider request tuning).
When a conversation grows past a model's context limit, server-side compaction has the provider itself summarize older turns so the session keeps working, instead of the request failing outright. It is a genuine safeguard against the kind of hard failure some users have hit ("prompt is too long: N tokens > maximum"), but it only works when the model/provider supports it, and only if it is actually enabled for that session.
Support is currently limited to Anthropic (recent Opus/Sonnet models, via a Beta Messages API) and OpenAI official models using the Responses API (Chat Completions is not supported). Unsupported models and providers silently ignore the setting.
Activation is layered, each level overriding the one before it:
| Level | Setting | Notes |
|---|---|---|
| Global default | ai-features.chat.serverSideCompaction (checkbox, on by default) and ai-features.chat.serverSideCompactionTokenThreshold (minimum 50,000 tokens; unset means the provider's own default applies) |
Applies to all chat requests unless overridden |
| Per-provider override | ai-features.anthropic.serverSideCompaction / ...TokenThreshold, and ai-features.openAiOfficial.serverSideCompaction / ...TokenThreshold |
Each can be set to follow the global default, or forced on/off; overrides the global default for that provider only |
| Per-session override | Session Settings dialog, "Server-Side Compaction" | Highest precedence; see Using the AI Chat |
When compaction fires, an inline marker appears in the chat and the token-usage tooltip shows a "compacted N×" count; this is persisted with the session and restored on reload. If you see a hard token-limit error despite compaction being enabled, check that the session's model is actually one of the supported ones (Anthropic Opus/Sonnet or an OpenAI Responses-API model); on any other model, compaction has no effect and the raw context limit still applies.
Separately from compaction, three experimental settings control whether you get any visibility into approaching a token limit at all:
This is the closest equivalent Studio AI currently has to a "your session is getting long, consider starting fresh" warning. It is off by default in some deployments and marked experimental, so if you want a proactive nearing-the-limit warning rather than relying on compaction alone, check that both tokenUsageIndicator.enabled and tokenUsageWarning.enabled are turned on.
If tool confirmations are set to auto-allow (globally or by default), review that choice with your security team: it means agent tool calls, including shell commands and file writes, proceed without a per-action prompt. See Security and Privacy.
Agent Mode: Enabled (ai-features.agentMode.enabled) is the global default for whether @Coder's Agent Mode is available without an extra first-use confirmation dialog. See AI Code Editing and Changesets.
Agent Settings is a pointer, not a separate editor: it directs you to the AI Configuration panel's Agents tab for enablement, LLM selection, prompt customization, and custom agent creation (articles 06 and 09).
These settings back the file-location behavior described in Customizing Agent Prompts and Skills and Slash Commands. Live-checked in this project:
This directly confirms the workspace-vs-global custom-agent/skill location question left open in article 09: skills (and, by the same convention, agents) resolve from both a workspace-level .agents/ folder and a user-home-level ~/.agents/ folder, with workspace taking precedence.
| Sub-section | What it does |
|---|---|
| MCP | mcpServers and useWorkspaceAsRoot. See MCP Servers for the friendlier AI Configuration panel editor over the same data. |
| Notifications | notifications.default: the default way an agent gets your attention when it finishes or needs input (individual agents can override). See Viewing Token Consumption and AI History. |
| Reasoning | reasoning.defaults: default value for the chat input's reasoning-effort selector, for models that support it. See Using the AI Chat. |
| Orchestrator | orchestrator.excludedAgents: agent IDs the built-in @Orchestrator agent is not allowed to delegate to. See Other Studio AI Agents. |
These directly affect what AI agents and tools can access or execute without your explicit per-action approval; see also Security and Privacy.
API keys and tokens entered in these fields are stored in clear text on the machine running Studio unless you use the corresponding environment variable instead (for example,
SCANOSS_API_KEY). Prefer environment variables for anything sensitive.
Studio AI has three separate configuration surfaces, and it is easy to confuse them:
| Surface | Scope | Covered in |
|---|---|---|
| AI Configuration panel | Agents, MCP servers, token usage history, prompt fragments, tools, skills, model aliases. Opened via the AI Chat toolbar's More Actions... ("…") menu. | AI Configuration: Managing Agents and Settings |
| Session Settings | Overrides that apply only to the current chat session (Confirmation Timeout, Server-Side Compaction). | Using the AI Chat |
| AI Features settings (this article) | Global and per-provider preferences: enablement, LLM provider connections, chat behavior, compaction, security-relevant defaults, and more. Part of Studio's standard Settings UI. | This article |
This article covers the third surface: a large set of preferences (77 at the time of writing) under the AI Features category of Studio's standard Settings UI, most of which are not exposed anywhere in the AI Configuration panel.
Settings here apply globally to your Studio user/workspace, unlike the per-session overrides in article 03.
Turning AI on and connecting a provider is covered in Getting Started with Studio AI. The same AI Enablement section lives under AI Features in this Settings UI.
Each supported LLM provider has its own sub-section here for API keys, model lists, and provider-specific options:
| Sub-section | What it configures |
|---|---|
| Anthropic / Anthropic Custom | Anthropic API key, the list of Anthropic models available to agents, and custom (self-defined) Anthropic model entries. See Custom LLM Providers. |
| Open AI Official Models / Open AI Custom Models | OpenAI API key, official model list, custom model entries, and whether to use the Responses API (useResponseApi). See Custom LLM Providers. |
| API key, model list, and retry/backoff settings for rate-limit and other errors. | |
| Hugging Face | API key and model list. |
| Ollama | Ollama host URL and model list, for a locally or network-hosted Ollama server. |
| Llamafile | Configured Llamafile executables. |
| Claude Code | API key and executable path for the bundled @anthropic-ai/claude-agent-sdk, used by the @ClaudeCode agent. |
| Codex | API key for OpenAI Codex. |
| GitHub Copilot | Enable/disable, enterprise URL, and model overrides. |
| Fabric (via Open AI Custom Models) | Fabric as the LLM provider: a custom model entry whose URL is the Fabric /api/v1 base URL and whose API key is empty. The provider credentials sit in the Fabric AI LLM interface. See Custom LLM Providers. |
Model Selection and Language Model Aliases also appear here, but both are thin pointers into the AI Configuration panel's Agents and Model Aliases tabs (see article 06) rather than separate editors. Model Settings does add two standalone knobs: maxRetries (retry attempts on a failed model call) and requestSettings (provider request tuning).
When a conversation grows past a model's context limit, server-side compaction has the provider itself summarize older turns so the session keeps working, instead of the request failing outright. It is a genuine safeguard against the kind of hard failure some users have hit ("prompt is too long: N tokens > maximum"), but it only works when the model/provider supports it, and only if it is actually enabled for that session.
Support is currently limited to Anthropic (recent Opus/Sonnet models, via a Beta Messages API) and OpenAI official models using the Responses API (Chat Completions is not supported). Unsupported models and providers silently ignore the setting.
Activation is layered, each level overriding the one before it:
| Level | Setting | Notes |
|---|---|---|
| Global default | ai-features.chat.serverSideCompaction (checkbox, on by default) and ai-features.chat.serverSideCompactionTokenThreshold (minimum 50,000 tokens; unset means the provider's own default applies) |
Applies to all chat requests unless overridden |
| Per-provider override | ai-features.anthropic.serverSideCompaction / ...TokenThreshold, and ai-features.openAiOfficial.serverSideCompaction / ...TokenThreshold |
Each can be set to follow the global default, or forced on/off; overrides the global default for that provider only |
| Per-session override | Session Settings dialog, "Server-Side Compaction" | Highest precedence; see Using the AI Chat |
When compaction fires, an inline marker appears in the chat and the token-usage tooltip shows a "compacted N×" count; this is persisted with the session and restored on reload. If you see a hard token-limit error despite compaction being enabled, check that the session's model is actually one of the supported ones (Anthropic Opus/Sonnet or an OpenAI Responses-API model); on any other model, compaction has no effect and the raw context limit still applies.
Separately from compaction, three experimental settings control whether you get any visibility into approaching a token limit at all:
This is the closest equivalent Studio AI currently has to a "your session is getting long, consider starting fresh" warning. It is off by default in some deployments and marked experimental, so if you want a proactive nearing-the-limit warning rather than relying on compaction alone, check that both tokenUsageIndicator.enabled and tokenUsageWarning.enabled are turned on.
If tool confirmations are set to auto-allow (globally or by default), review that choice with your security team: it means agent tool calls, including shell commands and file writes, proceed without a per-action prompt. See Security and Privacy.
Agent Mode: Enabled (ai-features.agentMode.enabled) is the global default for whether @Coder's Agent Mode is available without an extra first-use confirmation dialog. See AI Code Editing and Changesets.
Agent Settings is a pointer, not a separate editor: it directs you to the AI Configuration panel's Agents tab for enablement, LLM selection, prompt customization, and custom agent creation (articles 06 and 09).
These settings back the file-location behavior described in Customizing Agent Prompts and Skills and Slash Commands. Live-checked in this project:
This directly confirms the workspace-vs-global custom-agent/skill location question left open in article 09: skills (and, by the same convention, agents) resolve from both a workspace-level .agents/ folder and a user-home-level ~/.agents/ folder, with workspace taking precedence.
| Sub-section | What it does |
|---|---|
| MCP | mcpServers and useWorkspaceAsRoot. See MCP Servers for the friendlier AI Configuration panel editor over the same data. |
| Notifications | notifications.default: the default way an agent gets your attention when it finishes or needs input (individual agents can override). See Viewing Token Consumption and AI History. |
| Reasoning | reasoning.defaults: default value for the chat input's reasoning-effort selector, for models that support it. See Using the AI Chat. |
| Orchestrator | orchestrator.excludedAgents: agent IDs the built-in @Orchestrator agent is not allowed to delegate to. See Other Studio AI Agents. |
These directly affect what AI agents and tools can access or execute without your explicit per-action approval; see also Security and Privacy.
API keys and tokens entered in these fields are stored in clear text on the machine running Studio unless you use the corresponding environment variable instead (for example,
SCANOSS_API_KEY). Prefer environment variables for anything sensitive.