docs/settings/agent-configurations.mdx
| Use Case | Example Configuration |
|---|---|
| Fast iteration | Disable planning mode, use faster model |
| Complex tasks | Enable planning mode, use advanced model |
| Autonomous work | Skip permission prompts (use with caution) |
| Code review | Enable approvals for all changes |
| Multi-instance | Enable Claude Code Router for parallel work |
Understanding these concepts helps you configure agents effectively:
<AccordionGroup> <Accordion title="Planning Mode"> When enabled, the agent first creates a detailed plan before writing code. This adds an extra step where you review and approve the approach before implementation begins. Useful for complex tasks where you want to validate the strategy, but adds overhead for simple changes. </Accordion> <Accordion title="Permission Prompts"> Agents request permission before performing potentially destructive actions like deleting files, running shell commands, or modifying system configurations. Skipping these prompts (`dangerously_skip_permissions`) allows fully autonomous operation but removes safety guardrails. </Accordion> <Accordion title="Claude Code Router"> Distributes requests across multiple Claude Code instances running in parallel. Useful when working on several tasks simultaneously or when you want to reduce wait times by load-balancing across instances. </Accordion> <Accordion title="Sandbox Modes (Codex)"> Controls what the agent can access: - **read-only** - Can read files but not modify anything - **workspace-write** - Can modify files within the project directory - **danger-full-access** - Unrestricted file system access </Accordion> <Accordion title="Approval Levels"> Determines when the agent pauses for your confirmation: - **untrusted** - Asks before every action - **on-failure** - Only asks when something goes wrong - **on-request** - Only asks when explicitly requested - **never** - Fully autonomous (no confirmations) </Accordion> <Accordion title="Reasoning Effort"> Controls how much computational effort the model spends "thinking" before responding. Higher reasoning produces more thorough analysis but takes longer and uses more tokens. Lower reasoning is faster but may miss nuances in complex problems. </Accordion> </AccordionGroup>Access agent profiles via Settings → Agents in the Workspaces UI.
<Frame> </Frame>The interface uses a finder-style two-column layout:
Click the Default badge next to a configuration to make it the default for that agent. The default configuration:
View full CLI reference → </Tab>
<Tab title="GEMINI"> <ParamField path="model" type="string"> Choose model variant: `"default"` or `"flash"` </ParamField> <ParamField path="yolo" type="boolean"> Run without confirmations </ParamField>View full CLI reference → </Tab>
<Tab title="AMP"> <ParamField path="dangerously_allow_all" type="boolean"> Allow all actions without restrictions (unsafe) </ParamField>View full documentation → </Tab>
<Tab title="CODEX"> <ParamField path="sandbox" type="string"> Execution environment: `"read-only"`, `"workspace-write"`, or `"danger-full-access"` </ParamField> <ParamField path="approval" type="string"> Approval level: `"untrusted"`, `"on-failure"`, `"on-request"`, or `"never"` </ParamField> <ParamField path="model_reasoning_effort" type="string"> Reasoning depth: `"low"`, `"medium"`, or `"high"` </ParamField> <ParamField path="model_reasoning_summary" type="string"> Summary style: `"auto"`, `"concise"`, `"detailed"`, or `"none"` </ParamField>View full documentation → </Tab>
<Tab title="CURSOR"> <ParamField path="force" type="boolean"> Force execution without confirmation </ParamField> <ParamField path="model" type="string"> Specify model to use </ParamField>View full CLI reference → </Tab>
<Tab title="OPENCODE"> <ParamField path="model" type="string"> Specify model to use </ParamField> <ParamField path="agent" type="string"> Choose agent type </ParamField>View full documentation → </Tab>
<Tab title="QWEN_CODE"> <ParamField path="yolo" type="boolean"> Run without confirmations </ParamField>View full documentation → </Tab>
<Tab title="DROID"> <ParamField path="autonomy" type="string"> Permission level: `"normal"`, `"low"`, `"medium"`, `"high"`, or `"skip-permissions-unsafe"` </ParamField> <ParamField path="model" type="string"> Specify which model to use </ParamField> <ParamField path="reasoning_effort" type="string"> Reasoning depth: `"off"`, `"low"`, `"medium"`, or `"high"` </ParamField>View full documentation → </Tab> </Tabs>
These options work across multiple agent types:
<ParamField path="append_prompt" type="string | null"> Text appended to the system prompt </ParamField> <Warning> Options prefixed with "dangerously_" bypass safety confirmations and can perform destructive actions. Use with extreme caution. </Warning>Each agent profile can define environment variables that are injected into the agent process at launch. This is useful for pointing an agent at a non-default API endpoint, supplying API keys, or running Claude Code against third-party providers.
Set environment variables in the Environment Variables section of the agent configuration form.
<Frame> </Frame> <Info> Profile environment variables override any variables already set in your shell. This means you can keep your default Anthropic credentials for normal use and create separate profiles that point to different providers — each profile is fully isolated. </Info>Many providers expose an OpenAI-compatible or Anthropic-compatible API. You can use them with Claude Code by creating a dedicated profile with the right environment variables.
<Tabs> <Tab title="Z.ai (GLM)"> Create a profile named **GLM** (or any name) and set:| Variable | Value |
|---|---|
ANTHROPIC_BASE_URL | https://api.z.ai/api/anthropic |
ANTHROPIC_AUTH_TOKEN | Your Z.ai API key |
Z.ai automatically maps Claude models to GLM equivalents, so no model override is needed.
See the Z.ai manual setup guide for details. </Tab>
<Tab title="OpenRouter"> Create a profile named **OPENROUTER** and set:| Variable | Value |
|---|---|
ANTHROPIC_BASE_URL | https://openrouter.ai/api |
ANTHROPIC_AUTH_TOKEN | Your OpenRouter API key |
ANTHROPIC_API_KEY | "" (empty string) |
Setting ANTHROPIC_API_KEY to an empty string prevents Claude Code from falling back to Anthropic's servers.
See the OpenRouter Claude Code integration guide for details. </Tab>
<Tab title="Custom / Self-Hosted"> For any Anthropic-compatible endpoint, refer to your provider's documentation for the required environment variables. Common variables include:| Variable | Purpose |
|---|---|
ANTHROPIC_BASE_URL | Provider's API endpoint |
ANTHROPIC_AUTH_TOKEN | Authentication token |
ANTHROPIC_API_KEY | API key (set to "" if using AUTH_TOKEN instead) |
Once configured, your agent variants appear in the chat input toolbar, allowing quick switching between configurations.
<Frame> </Frame> <CardGroup cols={2}> <Card title="Default Configuration" icon="gear"> Set your default agent and variant in **Settings → General → Default Coding Agent** for consistent behaviour across all attempts. </Card> <Card title="Per-Attempt Selection" icon="rocket"> Override defaults when creating attempts by selecting different agent/variant combinations in the attempt dialogue. </Card> </CardGroup>