•
OpenCode Config Share: Layered Agents, Permissions, and Full Example
By canxin • 3 minutes read •
Table of Contents
- 1. Merge order and precedence
- 2. Top-level config fields
- 3. Layered agent design
- 4. Provider and model catalog structure
- 5. Plugin loading
- 6. Full config
1. Merge order and precedence
Precedence (low -> high):
- Remote
.well-known/opencode - Global
~/.config/opencode/opencode.json OPENCODE_CONFIG- Project
opencode.json .opencodedirectoriesOPENCODE_CONFIG_CONTENT
Recommendation: keep durable defaults global; keep repo-specific rules per repository.
2. Top-level config fields
Top-level core fields:
{
"$schema": "https://opencode.ai/config.json",
"default_agent": "LocalScribe",
"model": "my_oai/gpt-5.3-codex",
"small_model": "my_oai/gpt-5.3-codex",
"autoupdate": false,
"compaction": {
"auto": true,
"prune": true
},
"agent": { ... },
"plugin": [ ... ],
"provider": { ... }
}Field notes:
"$schema": validation and autocomplete in editor.default_agent: stable daily default (LocalScribe).modelandsmall_model: same model for behavior consistency.autoupdate = false: controlled upgrade cadence.compaction.auto/prune: keeps long sessions manageable.
3. Layered agent design
Actual boundaries from current permission values (single table):
| Agent | read | edit | external_directory | bash | Conclusion |
|---|---|---|---|---|---|
LocalReader | read.* = allow (including *.env) | ask | ask | ask | direct workspace reads; outside-workspace access requires confirmation |
LocalScribe | read.* = allow (including *.env) | * = allow, *../* = deny | allow | * = allow, dangerous patterns are ask | globally readable, typically workspace writable |
OmniReader | read.* = allow (including *.env) | ask | allow | ask | globally readable; writes require confirmation |
OmniScribe | * = allow (includes read) | * = allow | allow | * = allow, dangerous patterns are ask | global read/write |
LocalScribe is “typically workspace writable” because traversal is blocked by *../* = deny. For strict workspace-only writes, set external_directory to ask or deny.
Built-ins disabled:
"agent": {
"build": { "disable": true },
"docs": { "disable": true },
"plan": { "disable": true }
}3.1 LocalReader
"LocalReader": {
"description": "Read-first agent; asks for non-read actions",
"mode": "all",
"permission": {
"*": "ask",
"bash": "ask",
"edit": "ask",
"glob": "allow",
"grep": "allow",
"list": "allow",
"read": {
"*": "allow",
"*.env": "allow",
"*.env.*": "allow"
},
"plan_enter": "deny",
"plan_exit": "deny",
"todoread": "deny",
"todowrite": "deny"
}
}3.2 LocalScribe (default)
"LocalScribe": {
"description": "Reads any path; writes only inside workspace",
"mode": "all",
"permission": {
"*": "allow",
"bash": {
"*": "allow",
"sudo *": "ask",
"su *": "ask",
"rm -rf *": "ask",
"rm -fr *": "ask",
"mkfs* *": "ask",
"reboot *": "ask",
"shutdown *": "ask",
"dd *": "ask"
},
"edit": {
"*": "allow",
"*../*": "deny"
},
"external_directory": "allow",
"plan_enter": "deny",
"plan_exit": "deny",
"todoread": "deny",
"todowrite": "deny"
}
}3.3 OmniReader
"OmniReader": {
"description": "Read-first agent for all paths; asks for non-read actions",
"mode": "all",
"permission": {
"*": "ask",
"external_directory": "allow",
"read": {
"*": "allow",
"*.env": "allow",
"*.env.*": "allow"
},
"bash": "ask",
"edit": "ask"
}
}3.4 OmniScribe
"OmniScribe": {
"description": "Dangerous full access read/write anywhere",
"mode": "all",
"permission": {
"*": "allow",
"bash": {
"*": "allow",
"sudo *": "ask",
"rm -rf *": "ask",
"mkfs* *": "ask"
},
"external_directory": "allow",
"plan_enter": "deny",
"plan_exit": "deny"
}
}4. Provider and model catalog structure
Three providers:
my_claude(@ai-sdk/anthropic)my_gemini(@ai-sdk/google)my_oai(@ai-sdk/openai)
Provider structure:
- provider metadata:
name,npm - provider connection options:
options.baseURL,options.apiKey,options.setCacheKey(commonly used for OpenAI-compatible providers) modelsmap: one object per model
4.1 Common model JSON structure
"provider": {
"my_oai": {
"name": "my_oai",
"npm": "@ai-sdk/openai",
"options": {
"apiKey": "{env:OAI_API_KEY}",
"baseURL": "https://your-gateway.example/v1",
"setCacheKey": true
},
"models": {
"gpt-5.3-codex": {
"name": "gpt-5.3-codex",
"attachment": true,
"limit": {
"context": 400000,
"output": 128000
},
"modalities": {
"input": ["text", "image", "pdf"],
"output": ["text"]
},
"options": {
"store": false,
"include": ["reasoning.encrypted_content"]
},
"variants": {
"high": { "reasoningEffort": "high", "reasoningSummary": "auto", "textVerbosity": "medium" },
"medium": { "reasoningEffort": "medium", "reasoningSummary": "auto", "textVerbosity": "medium" },
"low": { "reasoningEffort": "low", "reasoningSummary": "auto", "textVerbosity": "medium" },
"xhigh": { "reasoningEffort": "xhigh", "reasoningSummary": "auto", "textVerbosity": "medium" }
}
}
}
}
}4.2 Model field reference
| Field | Type | Meaning |
|---|---|---|
name | string | display name |
attachment | boolean | whether attachments are enabled |
limit.context | number | total context window |
limit.output | number | max output tokens |
modalities.input | string[] | input modalities, e.g. text/image/pdf |
modalities.output | string[] | output modalities, usually text |
options.store | boolean | request storage toggle (currently false for OAI-family models) |
options.include | string[] | extra returned fields (currently used for reasoning.encrypted_content) |
variants | object | per-model reasoning profiles |
4.3 variants patterns by provider
my_claude:
"variants": {
"off": { "thinking": { "type": "disabled" } },
"high": { "thinking": { "type": "enabled", "budgetTokens": 16000 } },
"max": { "thinking": { "type": "enabled", "budgetTokens": 128000 } }
}my_gemini:
"variants": {
"off": { "thinkingConfig": { "thinkingBudget": 0 } },
"high": { "thinkingConfig": { "includeThoughts": true, "thinkingBudget": 16000 } },
"max": { "thinkingConfig": { "includeThoughts": true, "thinkingBudget": 24576 } }
}my_oai:
"variants": {
"low": { "reasoningEffort": "low", "reasoningSummary": "auto", "textVerbosity": "medium" },
"medium": { "reasoningEffort": "medium", "reasoningSummary": "auto", "textVerbosity": "medium" },
"high": { "reasoningEffort": "high", "reasoningSummary": "auto", "textVerbosity": "medium" },
"minimal": { "reasoningEffort": "minimal", "reasoningSummary": "auto", "textVerbosity": "low" }
}4.4 Provider-level option fields
Common provider.<id>.options fields:
| Field | Type | Meaning |
|---|---|---|
apiKey | string | provider API key |
baseURL | string | provider gateway URL |
setCacheKey | boolean | cache-key behavior for OpenAI-compatible providers |
5. Plugin loading
Plugin config:
"plugin": [
"opencode-planpilot",
"opencode-workbench"
]5.1 opencode-planpilot (npm)
- npm: opencode-planpilot
- Package description:
Planpilot plugin for OpenCode - Key capabilities:
- Breaks complex work into
plan -> step -> goal. - Auto-continues when the next step is assigned to
ai. - Persists progress locally (database + Markdown snapshot).
- Supports natural-language trigger flows (for example, “use planpilot”).
- Breaks complex work into
5.2 opencode-workbench (npm)
- npm: opencode-workbench
- Package description:
Branch sandboxes for parallel OpenCode development - Key capabilities:
- Maps
git worktreeto OpenCode sessions for parallel routing. - Supports supervisor/worker orchestration for concurrent tasks.
- Tracks branch, fork, and PR metadata for multi-task delivery.
- Optional version pinning (for example,
opencode-workbench@0.3.2).
- Maps
6. Full config
Full content:
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"LocalReader": {
"description": "Read-first agent; asks for non-read actions",
"mode": "all",
"permission": {
"*": "ask",
"bash": "ask",
"codesearch": "allow",
"doom_loop": "ask",
"edit": "ask",
"external_directory": "ask",
"glob": "allow",
"grep": "allow",
"list": "allow",
"lsp": "allow",
"plan_enter": "deny",
"plan_exit": "deny",
"planpilot": "allow",
"question": "allow",
"read": {
"*": "allow",
"*.env": "allow",
"*.env.*": "allow"
},
"skill": "ask",
"task": "ask",
"todoread": "deny",
"todowrite": "deny",
"webfetch": "allow",
"websearch": "allow"
}
},
"LocalScribe": {
"description": "Reads any path; writes only inside workspace",
"mode": "all",
"permission": {
"*": "allow",
"bash": {
"*": "allow",
"dd *": "ask",
"doas *": "ask",
"mkfs* *": "ask",
"poweroff *": "ask",
"reboot *": "ask",
"rm -fr *": "ask",
"rm -rf *": "ask",
"shutdown *": "ask",
"su *": "ask",
"sudo *": "ask"
},
"codesearch": "allow",
"doom_loop": "ask",
"edit": {
"*": "allow",
"*../*": "deny"
},
"external_directory": "allow",
"glob": "allow",
"grep": "allow",
"list": "allow",
"lsp": "allow",
"plan_enter": "deny",
"plan_exit": "deny",
"planpilot": "allow",
"question": "allow",
"read": {
"*": "allow",
"*.env": "allow",
"*.env.*": "allow"
},
"skill": "allow",
"task": "allow",
"todoread": "deny",
"todowrite": "deny",
"webfetch": "allow",
"websearch": "allow"
}
},
"OmniReader": {
"description": "Read-first agent for all paths; asks for non-read actions",
"mode": "all",
"permission": {
"*": "ask",
"bash": "ask",
"codesearch": "allow",
"doom_loop": "ask",
"edit": "ask",
"external_directory": "allow",
"glob": "allow",
"grep": "allow",
"list": "allow",
"lsp": "allow",
"plan_enter": "deny",
"plan_exit": "deny",
"planpilot": "allow",
"question": "allow",
"read": {
"*": "allow",
"*.env": "allow",
"*.env.*": "allow"
},
"skill": "ask",
"task": "ask",
"todoread": "deny",
"todowrite": "deny",
"webfetch": "allow",
"websearch": "allow"
}
},
"OmniScribe": {
"description": "Dangerous full access read/write anywhere",
"mode": "all",
"permission": {
"*": "allow",
"bash": {
"*": "allow",
"dd *": "ask",
"doas *": "ask",
"mkfs* *": "ask",
"poweroff *": "ask",
"reboot *": "ask",
"rm -fr *": "ask",
"rm -rf *": "ask",
"shutdown *": "ask",
"su *": "ask",
"sudo *": "ask"
},
"doom_loop": "ask",
"external_directory": "allow",
"plan_enter": "deny",
"plan_exit": "deny",
"planpilot": "allow",
"todoread": "deny",
"todowrite": "deny"
}
},
"build": {
"disable": true
},
"docs": {
"disable": true
},
"plan": {
"disable": true
}
},
"autoupdate": false,
"compaction": {
"auto": true,
"prune": true
},
"default_agent": "LocalScribe",
"model": "my_oai/gpt-5.3-codex",
"plugin": [
"opencode-planpilot",
"opencode-workbench"
],
"provider": {
"my_claude": {
"models": {
"claude-3-5-haiku-20241022": {
"attachment": true,
"limit": {
"context": 128000,
"output": 8192
},
"modalities": {
"input": [
"text",
"image",
"pdf"
],
"output": [
"text"
]
},
"name": "claude-3-5-haiku-20241022",
"variants": {
"off": {
"thinking": {
"type": "disabled"
}
}
}
},
"claude-3-7-sonnet-20250219": {
"attachment": true,
"limit": {
"context": 128000,
"output": 8192
},
"modalities": {
"input": [
"text",
"image",
"pdf"
],
"output": [
"text"
]
},
"name": "claude-3-7-sonnet-20250219",
"variants": {
"high": {
"thinking": {
"budgetTokens": 16000,
"type": "enabled"
}
},
"max": {
"thinking": {
"budgetTokens": 128000,
"type": "enabled"
}
},
"off": {
"thinking": {
"type": "disabled"
}
}
}
},
"claude-haiku-4-5-20251001": {
"attachment": true,
"limit": {
"context": 200000,
"output": 64000
},
"modalities": {
"input": [
"text",
"image",
"pdf"
],
"output": [
"text"
]
},
"name": "claude-haiku-4-5-20251001",
"variants": {
"high": {
"thinking": {
"budgetTokens": 16000,
"type": "enabled"
}
},
"max": {
"thinking": {
"budgetTokens": 128000,
"type": "enabled"
}
},
"off": {
"thinking": {
"type": "disabled"
}
}
}
},
"claude-opus-4-1-20250805": {
"attachment": true,
"limit": {
"context": 200000,
"output": 32000
},
"modalities": {
"input": [
"text",
"image",
"pdf"
],
"output": [
"text"
]
},
"name": "claude-opus-4-1-20250805",
"variants": {
"high": {
"thinking": {
"budgetTokens": 16000,
"type": "enabled"
}
},
"max": {
"thinking": {
"budgetTokens": 128000,
"type": "enabled"
}
},
"off": {
"thinking": {
"type": "disabled"
}
}
}
},
"claude-opus-4-20250514": {
"attachment": true,
"limit": {
"context": 200000,
"output": 32000
},
"modalities": {
"input": [
"text",
"image",
"pdf"
],
"output": [
"text"
]
},
"name": "claude-opus-4-20250514",
"variants": {
"high": {
"thinking": {
"budgetTokens": 16000,
"type": "enabled"
}
},
"max": {
"thinking": {
"budgetTokens": 128000,
"type": "enabled"
}
},
"off": {
"thinking": {
"type": "disabled"
}
}
}
},
"claude-opus-4-5-20251101": {
"attachment": true,
"limit": {
"context": 200000,
"output": 64000
},
"modalities": {
"input": [
"text",
"image",
"pdf"
],
"output": [
"text"
]
},
"name": "claude-opus-4-5-20251101",
"variants": {
"high": {
"thinking": {
"budgetTokens": 16000,
"type": "enabled"
}
},
"max": {
"thinking": {
"budgetTokens": 128000,
"type": "enabled"
}
},
"off": {
"thinking": {
"type": "disabled"
}
}
}
},
"claude-opus-4-6": {
"attachment": true,
"limit": {
"context": 1000000,
"output": 128000
},
"modalities": {
"input": [
"text",
"image",
"pdf"
],
"output": [
"text"
]
},
"name": "claude-opus-4-6",
"variants": {
"high": {
"thinking": {
"budgetTokens": 16000,
"type": "enabled"
}
},
"max": {
"thinking": {
"budgetTokens": 128000,
"type": "enabled"
}
},
"off": {
"thinking": {
"type": "disabled"
}
}
}
},
"claude-sonnet-4-20250514": {
"attachment": true,
"limit": {
"context": 200000,
"output": 64000
},
"modalities": {
"input": [
"text",
"image",
"pdf"
],
"output": [
"text"
]
},
"name": "claude-sonnet-4-20250514",
"variants": {
"high": {
"thinking": {
"budgetTokens": 16000,
"type": "enabled"
}
},
"max": {
"thinking": {
"budgetTokens": 128000,
"type": "enabled"
}
},
"off": {
"thinking": {
"type": "disabled"
}
}
}
},
"claude-sonnet-4-5-20250929": {
"attachment": true,
"limit": {
"context": 200000,
"output": 64000
},
"modalities": {
"input": [
"text",
"image",
"pdf"
],
"output": [
"text"
]
},
"name": "claude-sonnet-4-5-20250929",
"variants": {
"high": {
"thinking": {
"budgetTokens": 16000,
"type": "enabled"
}
},
"max": {
"thinking": {
"budgetTokens": 128000,
"type": "enabled"
}
},
"off": {
"thinking": {
"type": "disabled"
}
}
}
},
"gemini-claude-opus-4-5-thinking": {
"attachment": true,
"limit": {
"context": 200000,
"output": 64000
},
"modalities": {
"input": [
"text",
"image",
"pdf"
],
"output": [
"text"
]
},
"name": "gemini-claude-opus-4-5-thinking",
"variants": {
"high": {
"thinking": {
"budgetTokens": 16000,
"type": "enabled"
}
},
"max": {
"thinking": {
"budgetTokens": 128000,
"type": "enabled"
}
},
"off": {
"thinking": {
"type": "disabled"
}
}
}
},
"gemini-claude-sonnet-4-5": {
"attachment": true,
"limit": {
"context": 200000,
"output": 64000
},
"modalities": {
"input": [
"text",
"image",
"pdf"
],
"output": [
"text"
]
},
"name": "gemini-claude-sonnet-4-5",
"variants": {
"high": {
"thinking": {
"budgetTokens": 16000,
"type": "enabled"
}
},
"max": {
"thinking": {
"budgetTokens": 128000,
"type": "enabled"
}
},
"off": {
"thinking": {
"type": "disabled"
}
}
}
},
"gemini-claude-sonnet-4-5-thinking": {
"attachment": true,
"limit": {
"context": 200000,
"output": 64000
},
"modalities": {
"input": [
"text",
"image",
"pdf"
],
"output": [
"text"
]
},
"name": "gemini-claude-sonnet-4-5-thinking",
"variants": {
"high": {
"thinking": {
"budgetTokens": 16000,
"type": "enabled"
}
},
"max": {
"thinking": {
"budgetTokens": 128000,
"type": "enabled"
}
},
"off": {
"thinking": {
"type": "disabled"
}
}
}
}
},
"name": "my_claude",
"npm": "@ai-sdk/anthropic",
"options": {
"apiKey": "{env:CLAUDE_API_KEY}",
"baseURL": "https://your-gateway.example/v1"
}
},
"my_gemini": {
"models": {
"gemini-2.5-flash": {
"attachment": true,
"limit": {
"context": 1048576,
"output": 65536
},
"modalities": {
"input": [
"text",
"image",
"audio",
"video",
"pdf"
],
"output": [
"text"
]
},
"name": "gemini-2.5-flash",
"variants": {
"high": {
"thinkingConfig": {
"includeThoughts": true,
"thinkingBudget": 16000
}
},
"max": {
"thinkingConfig": {
"includeThoughts": true,
"thinkingBudget": 24576
}
},
"off": {
"thinkingConfig": {
"thinkingBudget": 0
}
}
}
},
"gemini-2.5-flash-lite": {
"attachment": true,
"limit": {
"context": 1048576,
"output": 65536
},
"modalities": {
"input": [
"text",
"image",
"audio",
"video",
"pdf"
],
"output": [
"text"
]
},
"name": "gemini-2.5-flash-lite",
"variants": {
"high": {
"thinkingConfig": {
"includeThoughts": true,
"thinkingBudget": 16000
}
},
"max": {
"thinkingConfig": {
"includeThoughts": true,
"thinkingBudget": 24576
}
},
"off": {
"thinkingConfig": {
"thinkingBudget": 0
}
}
}
},
"gemini-2.5-pro": {
"attachment": true,
"limit": {
"context": 1048576,
"output": 65536
},
"modalities": {
"input": [
"text",
"image",
"audio",
"video",
"pdf"
],
"output": [
"text"
]
},
"name": "gemini-2.5-pro",
"variants": {
"high": {
"thinkingConfig": {
"includeThoughts": true,
"thinkingBudget": 16000
}
},
"max": {
"thinkingConfig": {
"includeThoughts": true,
"thinkingBudget": 32768
}
},
"off": {
"thinkingConfig": {
"thinkingBudget": 128
}
}
}
},
"gemini-3-flash-preview": {
"attachment": true,
"limit": {
"context": 1048576,
"output": 65536
},
"modalities": {
"input": [
"text",
"image",
"video",
"audio",
"pdf"
],
"output": [
"text"
]
},
"name": "gemini-3-flash-preview",
"variants": {
"high": {
"includeThoughts": true,
"thinkingLevel": "high"
},
"low": {
"includeThoughts": true,
"thinkingLevel": "low"
},
"off": {
"includeThoughts": false,
"thinkingLevel": "minimal"
}
}
},
"gemini-3-pro-image-preview": {
"attachment": true,
"limit": {
"context": 1048576,
"output": 65536
},
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"name": "gemini-3-pro-image-preview",
"variants": {
"high": {
"includeThoughts": true,
"thinkingLevel": "high"
},
"low": {
"includeThoughts": true,
"thinkingLevel": "low"
},
"off": {
"includeThoughts": false,
"thinkingLevel": "low"
}
}
},
"gemini-3-pro-preview": {
"attachment": true,
"limit": {
"context": 1048576,
"output": 65536
},
"modalities": {
"input": [
"text",
"image",
"video",
"audio",
"pdf"
],
"output": [
"text"
]
},
"name": "gemini-3-pro-preview",
"variants": {
"high": {
"includeThoughts": true,
"thinkingLevel": "high"
},
"low": {
"includeThoughts": true,
"thinkingLevel": "low"
},
"off": {
"includeThoughts": false,
"thinkingLevel": "low"
}
}
}
},
"name": "my_gemini",
"npm": "@ai-sdk/google",
"options": {
"apiKey": "{env:GEMINI_API_KEY}",
"baseURL": "https://your-gateway.example/v1beta"
}
},
"my_oai": {
"models": {
"gpt-5": {
"attachment": true,
"limit": {
"context": 400000,
"output": 128000
},
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"name": "gpt-5",
"options": {
"include": [
"reasoning.encrypted_content"
],
"store": false
},
"variants": {
"high": {
"reasoningEffort": "high",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"low": {
"reasoningEffort": "low",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"medium": {
"reasoningEffort": "medium",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"minimal": {
"reasoningEffort": "minimal",
"reasoningSummary": "auto",
"textVerbosity": "medium"
}
}
},
"gpt-5-codex": {
"attachment": false,
"limit": {
"context": 400000,
"output": 128000
},
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"name": "gpt-5-codex",
"options": {
"include": [
"reasoning.encrypted_content"
],
"store": false
},
"variants": {
"high": {
"reasoningEffort": "high",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"low": {
"reasoningEffort": "low",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"medium": {
"reasoningEffort": "medium",
"reasoningSummary": "auto",
"textVerbosity": "medium"
}
}
},
"gpt-5-codex-mini": {
"attachment": false,
"limit": {
"context": 400000,
"output": 128000
},
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"name": "gpt-5-codex-mini",
"options": {
"include": [
"reasoning.encrypted_content"
],
"store": false
},
"variants": {
"high": {
"reasoningEffort": "high",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"low": {
"reasoningEffort": "low",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"medium": {
"reasoningEffort": "medium",
"reasoningSummary": "auto",
"textVerbosity": "medium"
}
}
},
"gpt-5.1": {
"attachment": true,
"limit": {
"context": 400000,
"output": 128000
},
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"name": "gpt-5.1",
"options": {
"include": [
"reasoning.encrypted_content"
],
"store": false
},
"variants": {
"high": {
"reasoningEffort": "high",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"low": {
"reasoningEffort": "low",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"medium": {
"reasoningEffort": "medium",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"none": {
"reasoningEffort": "none",
"reasoningSummary": "auto",
"textVerbosity": "medium"
}
}
},
"gpt-5.1-codex": {
"attachment": true,
"limit": {
"context": 400000,
"output": 128000
},
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"name": "gpt-5.1-codex",
"options": {
"include": [
"reasoning.encrypted_content"
],
"store": false
},
"variants": {
"high": {
"reasoningEffort": "high",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"low": {
"reasoningEffort": "low",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"medium": {
"reasoningEffort": "medium",
"reasoningSummary": "auto",
"textVerbosity": "medium"
}
}
},
"gpt-5.1-codex-max": {
"attachment": true,
"limit": {
"context": 400000,
"output": 128000
},
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"name": "gpt-5.1-codex-max",
"options": {
"include": [
"reasoning.encrypted_content"
],
"store": false
},
"variants": {
"high": {
"reasoningEffort": "high",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"low": {
"reasoningEffort": "low",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"medium": {
"reasoningEffort": "medium",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"xhigh": {
"reasoningEffort": "xhigh",
"reasoningSummary": "auto",
"textVerbosity": "medium"
}
}
},
"gpt-5.1-codex-mini": {
"attachment": true,
"limit": {
"context": 400000,
"output": 128000
},
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"name": "gpt-5.1-codex-mini",
"options": {
"include": [
"reasoning.encrypted_content"
],
"store": false
},
"variants": {
"high": {
"reasoningEffort": "high",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"low": {
"reasoningEffort": "low",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"medium": {
"reasoningEffort": "medium",
"reasoningSummary": "auto",
"textVerbosity": "medium"
}
}
},
"gpt-5.2": {
"attachment": true,
"limit": {
"context": 400000,
"output": 128000
},
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"name": "gpt-5.2",
"options": {
"include": [
"reasoning.encrypted_content"
],
"store": false
},
"variants": {
"high": {
"reasoningEffort": "high",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"low": {
"reasoningEffort": "low",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"medium": {
"reasoningEffort": "medium",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"none": {
"reasoningEffort": "none",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"xhigh": {
"reasoningEffort": "xhigh",
"reasoningSummary": "auto",
"textVerbosity": "medium"
}
}
},
"gpt-5.2-codex": {
"attachment": true,
"limit": {
"context": 400000,
"output": 128000
},
"modalities": {
"input": [
"text",
"image",
"pdf"
],
"output": [
"text"
]
},
"name": "gpt-5.2-codex",
"options": {
"include": [
"reasoning.encrypted_content"
],
"store": false
},
"variants": {
"high": {
"reasoningEffort": "high",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"low": {
"reasoningEffort": "low",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"medium": {
"reasoningEffort": "medium",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"xhigh": {
"reasoningEffort": "xhigh",
"reasoningSummary": "auto",
"textVerbosity": "medium"
}
}
},
"gpt-5.3-codex": {
"attachment": true,
"limit": {
"context": 400000,
"output": 128000
},
"modalities": {
"input": [
"text",
"image",
"pdf"
],
"output": [
"text"
]
},
"name": "gpt-5.3-codex",
"options": {
"include": [
"reasoning.encrypted_content"
],
"store": false
},
"variants": {
"high": {
"reasoningEffort": "high",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"low": {
"reasoningEffort": "low",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"medium": {
"reasoningEffort": "medium",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"xhigh": {
"reasoningEffort": "xhigh",
"reasoningSummary": "auto",
"textVerbosity": "medium"
}
}
},
"gpt-5.3-codex-spark": {
"attachment": true,
"limit": {
"context": 128000,
"output": 32000
},
"modalities": {
"input": [
"text",
"image",
"pdf"
],
"output": [
"text"
]
},
"name": "gpt-5.3-codex-spark",
"options": {
"include": [
"reasoning.encrypted_content"
],
"store": false
},
"variants": {
"high": {
"reasoningEffort": "high",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"low": {
"reasoningEffort": "low",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"medium": {
"reasoningEffort": "medium",
"reasoningSummary": "auto",
"textVerbosity": "medium"
},
"xhigh": {
"reasoningEffort": "xhigh",
"reasoningSummary": "auto",
"textVerbosity": "medium"
}
}
}
},
"name": "my_oai",
"npm": "@ai-sdk/openai",
"options": {
"apiKey": "{env:OAI_API_KEY}",
"baseURL": "https://your-gateway.example/v1",
"setCacheKey": true
}
}
},
"small_model": "my_oai/gpt-5.3-codex"
}
Comments