Config¶
47 types. Import any of them from opencode.types.
ConfigAgent
¶
model
class-attribute
instance-attribute
¶
model: str | ConfigAgentModel | None = Field(
default=None, exclude_if=is_none
)
request
class-attribute
instance-attribute
¶
request: ConfigAgentRequest | None = Field(
default=None, exclude_if=is_none
)
system
class-attribute
instance-attribute
¶
system: str | None = Field(default=None, exclude_if=is_none)
description
class-attribute
instance-attribute
¶
description: str | None = Field(
default=None, exclude_if=is_none
)
mode
class-attribute
instance-attribute
¶
mode: (
OpenEnum[Literal["subagent", "primary", "all"]] | None
) = Field(default=None, exclude_if=is_none)
hidden
class-attribute
instance-attribute
¶
hidden: bool | None = Field(
default=None, exclude_if=is_none
)
color
class-attribute
instance-attribute
¶
color: str | None = Field(default=None, exclude_if=is_none)
steps
class-attribute
instance-attribute
¶
steps: int | None = Field(default=None, exclude_if=is_none)
disabled
class-attribute
instance-attribute
¶
disabled: bool | None = Field(
default=None, exclude_if=is_none
)
permissions
class-attribute
instance-attribute
¶
permissions: PermissionRuleset | None = Field(
default=None, exclude_if=is_none
)
ConfigAgentModel
¶
ConfigAgentRequest
¶
ConfigCommand
¶
description
class-attribute
instance-attribute
¶
description: str | None = Field(
default=None, exclude_if=is_none
)
agent
class-attribute
instance-attribute
¶
agent: str | None = Field(default=None, exclude_if=is_none)
model
class-attribute
instance-attribute
¶
model: str | ConfigCommandModel | None = Field(
default=None, exclude_if=is_none
)
ConfigCommandModel
¶
ConfigDirectory
¶
ConfigDocument
¶
path
class-attribute
instance-attribute
¶
path: AbsolutePath | None = Field(
default=None, exclude_if=is_none
)
ConfigEntry
module-attribute
¶
ConfigEntry: TypeAlias = Annotated[
Annotated[ConfigDocument, Tag("document")]
| Annotated[ConfigDirectory, Tag("directory")]
| Annotated[UnknownConfigEntry, Tag("__unknown__")],
Discriminator(
discriminator(
"type", "type", ["document", "directory"]
)
),
]
ConfigFormatterEntry
¶
ConfigInfo
¶
schema_
class-attribute
instance-attribute
¶
schema_: str | None = Field(
default=None,
validation_alias="$schema",
serialization_alias="$schema",
exclude_if=is_none,
)
shell
class-attribute
instance-attribute
¶
shell: str | None = Field(default=None, exclude_if=is_none)
model
class-attribute
instance-attribute
¶
model: str | ConfigInfoModel | None = Field(
default=None, exclude_if=is_none
)
default_agent
class-attribute
instance-attribute
¶
default_agent: str | None = Field(
default=None, exclude_if=is_none
)
update
class-attribute
instance-attribute
¶
update: (
OpenEnum[Literal["disable", "notify", "auto"]] | None
) = Field(default=None, exclude_if=is_none)
share
class-attribute
instance-attribute
¶
share: (
OpenEnum[Literal["manual", "auto", "disabled"]] | None
) = Field(default=None, exclude_if=is_none)
enterprise
class-attribute
instance-attribute
¶
enterprise: ConfigInfoEnterprise | None = Field(
default=None, exclude_if=is_none
)
username
class-attribute
instance-attribute
¶
username: str | None = Field(
default=None, exclude_if=is_none
)
permissions
class-attribute
instance-attribute
¶
permissions: PermissionRuleset | None = Field(
default=None, exclude_if=is_none
)
policies
class-attribute
instance-attribute
¶
policies: list[ConfigInfoPoliciesItem] | None = Field(
default=None, exclude_if=is_none
)
agents
class-attribute
instance-attribute
¶
agents: dict[str, ConfigAgent] | None = Field(
default=None, exclude_if=is_none
)
snapshots
class-attribute
instance-attribute
¶
snapshots: bool | None = Field(
default=None, exclude_if=is_none
)
watcher
class-attribute
instance-attribute
¶
watcher: ConfigInfoWatcher | None = Field(
default=None, exclude_if=is_none
)
formatter
class-attribute
instance-attribute
¶
formatter: bool | dict[str, ConfigFormatterEntry] | None = (
Field(default=None, exclude_if=is_none)
)
lsp
class-attribute
instance-attribute
¶
lsp: (
bool
| dict[str, ConfigInfoLspOption2Value | ConfigLSPServer]
| None
) = Field(default=None, exclude_if=is_none)
media
class-attribute
instance-attribute
¶
media: ConfigInfoMedia | None = Field(
default=None, exclude_if=is_none
)
tool_output
class-attribute
instance-attribute
¶
tool_output: ConfigInfoToolOutput | None = Field(
default=None, exclude_if=is_none
)
mcp
class-attribute
instance-attribute
¶
mcp: ConfigInfoMcp | None = Field(
default=None, exclude_if=is_none
)
compaction
class-attribute
instance-attribute
¶
compaction: ConfigInfoCompaction | None = Field(
default=None, exclude_if=is_none
)
skills
class-attribute
instance-attribute
¶
commands
class-attribute
instance-attribute
¶
commands: dict[str, ConfigCommand] | None = Field(
default=None, exclude_if=is_none
)
instructions
class-attribute
instance-attribute
¶
references
class-attribute
instance-attribute
¶
references: (
dict[
str, str | ConfigReferenceGit | ConfigReferenceLocal
]
| None
) = Field(default=None, exclude_if=is_none)
websearch
class-attribute
instance-attribute
¶
websearch: Literal[False] | ConfigWebSearchInfo | None = (
Field(default=None, exclude_if=is_none)
)
plugins
class-attribute
instance-attribute
¶
plugins: list[str | ConfigPluginEntry] | None = Field(
default=None, exclude_if=is_none
)
worktree
class-attribute
instance-attribute
¶
worktree: ConfigWorktree | None = Field(
default=None, exclude_if=is_none
)
warming
class-attribute
instance-attribute
¶
warming: bool | ConfigWarming | None = Field(
default=None, exclude_if=is_none
)
providers
class-attribute
instance-attribute
¶
providers: dict[str, ConfigProvider] | None = Field(
default=None, exclude_if=is_none
)
experimental
class-attribute
instance-attribute
¶
experimental: ConfigInfoExperimental | None = Field(
default=None, exclude_if=is_none
)
ConfigInfoCompaction
¶
auto
class-attribute
instance-attribute
¶
auto: bool | None = Field(default=None, exclude_if=is_none)
keep
class-attribute
instance-attribute
¶
keep: ConfigInfoCompactionKeep | None = Field(
default=None, exclude_if=is_none
)
ConfigInfoCompactionKeep
¶
ConfigInfoEnterprise
¶
ConfigInfoExperimental
¶
portable_shell_scanner
class-attribute
instance-attribute
¶
portable_shell_scanner: bool | None = Field(
default=None, exclude_if=is_none
)
todo
class-attribute
instance-attribute
¶
todo: bool | None = Field(default=None, exclude_if=is_none)
subagent_depth
class-attribute
instance-attribute
¶
subagent_depth: int | None = Field(
default=None, exclude_if=is_none
)
location_idle_timeout
class-attribute
instance-attribute
¶
policies
class-attribute
instance-attribute
¶
policies: (
list[ConfigInfoExperimentalPoliciesItem] | None
) = Field(default=None, exclude_if=is_none)
ConfigInfoExperimentalPoliciesItem
¶
ConfigInfoLspOption2Value
¶
ConfigInfoMcp
¶
timeout
class-attribute
instance-attribute
¶
timeout: ConfigInfoMcpTimeout | None = Field(
default=None, exclude_if=is_none
)
servers
class-attribute
instance-attribute
¶
servers: dict[str, ConfigInfoMcpServersValue] | None = (
Field(default=None, exclude_if=is_none)
)
ConfigInfoMcpServersValue
module-attribute
¶
ConfigInfoMcpServersValue: TypeAlias = Annotated[
Annotated[McpLocalConfig, Tag("local")]
| Annotated[McpRemoteConfig, Tag("remote")]
| Annotated[
UnknownConfigInfoMcpServersValue, Tag("__unknown__")
],
Discriminator(
discriminator("type", "type", ["local", "remote"])
),
]
ConfigInfoMcpTimeout
¶
ConfigInfoMedia
¶
image
class-attribute
instance-attribute
¶
image: ConfigInfoMediaImage | None = Field(
default=None, exclude_if=is_none
)
ConfigInfoMediaImage
¶
auto_resize
class-attribute
instance-attribute
¶
auto_resize: bool | None = Field(
default=None, exclude_if=is_none
)
max_width
class-attribute
instance-attribute
¶
max_width: int | None = Field(
default=None, exclude_if=is_none
)
ConfigInfoModel
¶
ConfigInfoPoliciesItem
¶
ConfigInfoToolOutput
¶
ConfigInfoWatcher
¶
ConfigLSPServer
¶
ConfigModel
¶
model_id
class-attribute
instance-attribute
¶
model_id: str | None = Field(
default=None,
validation_alias="modelID",
serialization_alias="modelID",
exclude_if=is_none,
)
family
class-attribute
instance-attribute
¶
family: str | None = Field(default=None, exclude_if=is_none)
name
class-attribute
instance-attribute
¶
name: str | None = Field(default=None, exclude_if=is_none)
release_date
class-attribute
instance-attribute
¶
release_date: str | None = Field(
default=None,
validation_alias="releaseDate",
serialization_alias="releaseDate",
exclude_if=is_none,
)
Release date as YYYY-MM-DD or YYYY-MM
compatibility
class-attribute
instance-attribute
¶
compatibility: ModelCompatibility | None = Field(
default=None, exclude_if=is_none
)
package
class-attribute
instance-attribute
¶
package: str | None = Field(
default=None, exclude_if=is_none
)
settings
class-attribute
instance-attribute
¶
settings: ConfigModelSettings | None = Field(
default=None, exclude_if=is_none
)
headers
class-attribute
instance-attribute
¶
body
class-attribute
instance-attribute
¶
capabilities
class-attribute
instance-attribute
¶
capabilities: ConfigModelCapabilities | None = Field(
default=None, exclude_if=is_none
)
variants
class-attribute
instance-attribute
¶
variants: list[ConfigModelVariantsItem] | None = Field(
default=None, exclude_if=is_none
)
cost
class-attribute
instance-attribute
¶
cost: ConfigModelCost | list[ConfigModelCost] | None = (
Field(default=None, exclude_if=is_none)
)
disabled
class-attribute
instance-attribute
¶
disabled: bool | None = Field(
default=None, exclude_if=is_none
)
limit
class-attribute
instance-attribute
¶
limit: ConfigModelLimit | None = Field(
default=None, exclude_if=is_none
)
ConfigModelCapabilities
¶
tools
class-attribute
instance-attribute
¶
tools: bool | None = Field(default=None, exclude_if=is_none)
input
class-attribute
instance-attribute
¶
output
class-attribute
instance-attribute
¶
temperature
class-attribute
instance-attribute
¶
temperature: bool | None = Field(
default=None, exclude_if=is_none
)
reasoning
class-attribute
instance-attribute
¶
reasoning: ConfigModelReasoning | None = Field(
default=None, exclude_if=is_none
)
ConfigModelCost
¶
tier
class-attribute
instance-attribute
¶
tier: ConfigModelCostTier | None = Field(
default=None, exclude_if=is_none
)
cache
class-attribute
instance-attribute
¶
cache: ConfigModelCostCache | None = Field(
default=None, exclude_if=is_none
)
ConfigModelCostCache
¶
read
class-attribute
instance-attribute
¶
read: MoneyUSDPerMillionTokens | None = Field(
default=None, exclude_if=is_none
)
write
class-attribute
instance-attribute
¶
write: MoneyUSDPerMillionTokens | None = Field(
default=None, exclude_if=is_none
)
ConfigModelCostTier
¶
ConfigModelLimit
¶
ConfigModelReasoning
module-attribute
¶
ConfigModelReasoning: TypeAlias = Annotated[
Annotated[ConfigModelReasoningFalse, Tag("false")]
| Annotated[ConfigModelReasoningTrue, Tag("true")]
| Annotated[
UnknownConfigModelReasoning, Tag("__unknown__")
],
Discriminator(
discriminator(
"supported", "supported", ["false", "true"]
)
),
]
ConfigModelReasoningFalse
¶
ConfigModelReasoningTrue
¶
toggle
class-attribute
instance-attribute
¶
toggle: bool | None = Field(
default=None, exclude_if=is_none
)
effort
class-attribute
instance-attribute
¶
budget
class-attribute
instance-attribute
¶
budget: ConfigModelReasoningTrueBudget | None = Field(
default=None, exclude_if=is_none
)
ConfigModelReasoningTrueBudget
¶
ConfigModelSettings
¶
compaction
class-attribute
instance-attribute
¶
compaction: ProviderCompaction | None = Field(
default=None, exclude_if=is_none
)
encoding
class-attribute
instance-attribute
¶
encoding: ProviderEncoding | None = Field(
default=None, exclude_if=is_none
)
ConfigModelVariantsItem
¶
settings
class-attribute
instance-attribute
¶
settings: ConfigModelSettings | None = Field(
default=None, exclude_if=is_none
)
headers
class-attribute
instance-attribute
¶
ConfigPluginEntry
¶
ConfigProvider
¶
canonical
class-attribute
instance-attribute
¶
canonical: ProviderID | None = Field(
default=None, exclude_if=is_none
)
name
class-attribute
instance-attribute
¶
name: str | None = Field(default=None, exclude_if=is_none)
env
class-attribute
instance-attribute
¶
package
class-attribute
instance-attribute
¶
package: str | None = Field(
default=None, exclude_if=is_none
)
compatibility
class-attribute
instance-attribute
¶
compatibility: ProviderCompatibility | None = Field(
default=None, exclude_if=is_none
)
settings
class-attribute
instance-attribute
¶
settings: ConfigProviderSettings | None = Field(
default=None, exclude_if=is_none
)
headers
class-attribute
instance-attribute
¶
body
class-attribute
instance-attribute
¶
models
class-attribute
instance-attribute
¶
models: dict[str, ConfigModel] | None = Field(
default=None, exclude_if=is_none
)
ConfigProviderSettings
¶
timeout
class-attribute
instance-attribute
¶
header_timeout
class-attribute
instance-attribute
¶
header_timeout: float | Literal[False] | None = Field(
default=None,
validation_alias="headerTimeout",
serialization_alias="headerTimeout",
exclude_if=is_none,
)
chunk_timeout
class-attribute
instance-attribute
¶
chunk_timeout: float | Literal[False] | None = Field(
default=None,
validation_alias="chunkTimeout",
serialization_alias="chunkTimeout",
exclude_if=is_none,
)
compaction
class-attribute
instance-attribute
¶
compaction: ProviderCompaction | None = Field(
default=None, exclude_if=is_none
)
transport
class-attribute
instance-attribute
¶
transport: ProviderTransport | None = Field(
default=None, exclude_if=is_none
)
encoding
class-attribute
instance-attribute
¶
encoding: ProviderEncoding | None = Field(
default=None, exclude_if=is_none
)
ConfigReferenceGit
¶
ConfigReferenceLocal
¶
ConfigShellOption
¶
ConfigWarming
¶
ConfigWebSearchInfo
¶
provider
instance-attribute
¶
provider: Literal['random'] | WebSearchID
Reuse a randomly selected provider until it is rate limited, then switch to another available provider.