103 lines
4.3 KiB
Plaintext
103 lines
4.3 KiB
Plaintext
# Agent Profiles & Variants
|
||
|
||
Agent profiles let you define multiple named variants for each supported coding agent. Variants capture small configuration differences (e.g., planning vs. coding, model choice, sandbox/approval levels) you can quickly select when creating an attempt or sending a follow‑up.
|
||
|
||
Profiles are used anywhere an agent runs:
|
||
|
||
- Onboarding: pick your default agent and optional variant
|
||
- Settings → General: set the default agent configuration
|
||
- Create Attempt dialog: choose agent and variant per attempt
|
||
- Follow‑ups: continue using the attempt's selected profile/variant
|
||
|
||
## Where To Configure
|
||
|
||
Open Settings → Agents. You can edit agent configurations in two ways:
|
||
|
||
- Form editor: guided fields per agent
|
||
|
||

|
||
|
||
- JSON editor: edit the underlying `profiles.json` directly
|
||
|
||

|
||
|
||
The page shows the exact file path where your config is stored (profiles.json). The app saves only your overrides; built‑in defaults remain available and cannot be deleted.
|
||
|
||
## JSON Structure
|
||
|
||
The configuration file is a JSON object with an `executors` map. Each executor (agent) contains one or more variants. Every variant holds a single object for that agent with its options.
|
||
|
||
Example (abridged):
|
||
|
||
```json
|
||
{
|
||
"executors": {
|
||
"CLAUDE_CODE": {
|
||
"DEFAULT": { "CLAUDE_CODE": { "dangerously_skip_permissions": true } },
|
||
"PLAN": { "CLAUDE_CODE": { "plan": true } },
|
||
"ROUTER": { "CLAUDE_CODE": { "claude_code_router": true, "dangerously_skip_permissions": true } }
|
||
},
|
||
"GEMINI": {
|
||
"DEFAULT": { "GEMINI": { "model": "default", "yolo": true } },
|
||
"FLASH": { "GEMINI": { "model": "flash", "yolo": true } }
|
||
},
|
||
"CODEX": {
|
||
"DEFAULT": { "CODEX": { "sandbox": "danger-full-access" } },
|
||
"HIGH": { "CODEX": { "sandbox": "danger-full-access", "model_reasoning_effort": "high" } }
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
Notes:
|
||
|
||
- Variant names are case‑insensitive and normalized to SCREAMING_SNAKE_CASE.
|
||
- `DEFAULT` is reserved and always present; you can add more variants (e.g., `PLAN`, `FLASH`).
|
||
- You can't remove built‑in executors or their built‑in variants, but you can override their values or add new variants.
|
||
|
||
## Per‑Agent Options (quick reference)
|
||
|
||
- CLAUDE_CODE
|
||
- `plan: boolean` – enable planning mode
|
||
- `claude_code_router: boolean` – route across multiple Claude Code instances
|
||
- `dangerously_skip_permissions: boolean` – skip permission prompts (unsafe)
|
||
- Docs: https://docs.anthropic.com/en/docs/claude-code/cli-reference#cli-flags
|
||
- GEMINI
|
||
- `model: "default" | "flash"`
|
||
- `yolo: boolean` – run without confirmations
|
||
- Docs: https://google-gemini.github.io/gemini-cli/
|
||
- AMP
|
||
- `dangerously_allow_all: boolean` – allow all actions (unsafe)
|
||
- Docs: https://ampcode.com/manual#cli
|
||
- CODEX
|
||
- `sandbox: "read-only" | "workspace-write" | "danger-full-access"`
|
||
- `approval: "untrusted" | "on-failure" | "on-request" | "never"`
|
||
- `oss: boolean`, `model: string`, `model_reasoning_effort: "low" | "medium" | "high"`, `model_reasoning_summary: "auto" | "concise" | "detailed" | "none"`
|
||
- Docs: https://github.com/openai/codex
|
||
- CURSOR
|
||
- `force: boolean`, `model: string`
|
||
- Docs: https://docs.cursor.com/en/cli/reference/parameters
|
||
- OPENCODE
|
||
- `model: string`, `agent: string`
|
||
- Docs: https://opencode.ai/docs/cli/#flags-1
|
||
- QWEN_CODE
|
||
- `yolo: boolean`
|
||
- Docs: https://qwenlm.github.io/qwen-code-docs/en/cli/index
|
||
|
||
Common options supported by several agents:
|
||
|
||
- `append_prompt: string | null` – text appended to the system/prompt
|
||
- `base_command_override: string | null` – override the underlying CLI command
|
||
- `additional_params: string[] | null` – extra CLI args
|
||
|
||
Use these carefully; "dangerously_…" flags bypass confirmations and can perform destructive actions.
|
||
|
||
## Selecting Defaults vs. Per‑Attempt
|
||
|
||
- Default: Set under Settings → General → "Default Agent Configuration."
|
||
- Per Attempt: Use the create attempt dialog to pick a different agent/variant for that run.
|
||
|
||
## MCP Servers
|
||
|
||
MCP (Model Context Protocol) servers are configured per agent under Settings → MCP Servers. This is separate from profiles but complements them. See the [MCP Support](/docs/user-guide/vibe-kanban-mcp-server) guide.
|