Skip to main content

Execution targets and runners

Execution targets let a standalone or local gateway call local runners or adapter processes. These processes replace a standard upstream HTTP provider.

Use only with standalone or local gateways

Execution targets are not active on connected gateways. They do not start local or self-hosted runners or adapters.

Use these targets only when the gateway process controls the execution environment.

Supported families

FamilyCanonical provider valueSupport mode
Browserbrowseradapter only
ChatKitchatkitadapter only
WebSocketwebsocketadapter only
Transformerstransformers or transformers:<task>:<model>native runner or adapter
Claude Agent SDKanthropicnative runner or adapter
Codex SDKcodex-sdknative runner or adapter
MCPmcpnative HTTP bridge or adapter
OpenAI Agent Runtimeopenai-agentsnative runner or adapter
OpenCode SDKopencode-sdknative runner or adapter
Bedrock Agentsbedrock-agentsnative runner or adapter

Shared fields

FieldApplies toNotes
providerall execution targetsThis field contains a family name or a specified exec: or file:// target.
adapter_commandadapter-backed targetsThis field is necessary for adapter-only families such as browser, chatkit, and websocket.
adapter_argsadapter-backed targetsThis field contains more command arguments.
working_dir / adapter_cwdcommand-based targetsThis field contains the work directory for the process.
execution_timeout_mscommand-based targetsThe default value is 30000.
cli_envcommand-based targetsThis literal environment map goes to the process.
adapter_envcommand-based targetsA literal environment map. For a key conflict, it replaces cli_env at this time.
base_urlmcp native HTTP bridgeThis field is necessary when you do not use adapter_command.
path_templatemcp native HTTP bridgeThis optional field has a default value of /mcp.

cli_env and adapter_env are literal string maps. Configuration loading does not expand ${ENV} placeholders in them.

Browser example (adapter only)

providers:
targets:
- id: browser-runner
provider: browser
adapter_command: /usr/local/bin/verdictan-browser-adapter
adapter_args: [--mode, playwright]
execution_timeout_ms: 45000
working_dir: /srv/browser-runner
cli_env:
LOG_LEVEL: debug

Claude Agent SDK example

providers:
targets:
- id: claude-agent
provider: anthropic
model: your-claude-agent-model
working_dir: /srv/agents/claude
additional_directories:
- /srv/shared-prompts
permission_mode: acceptEdits
fallback_model: your-claude-fallback-model
append_allowed_tools: [Read, Write]
disallowed_tools: [Bash]
max_turns: 8

Replace the two model placeholders with identifiers that the installed Claude Agent SDK and your provider account support.

Codex SDK example

providers:
targets:
- id: codex-agent
provider: codex-sdk
model: your-codex-model
working_dir: /srv/agents/codex
sandbox_mode: workspace-write
approval_policy: on-request
network_access_enabled: false
web_search_enabled: false
skip_git_repo_check: true

Replace your-codex-model with a model that is available to the installed Codex SDK and account.

MCP example

A plain provider: mcp entry is not sufficient. The runtime must have a native bridge base_url or a specified adapter_command.

providers:
targets:
- id: mcp-http
provider: mcp
base_url: https://mcp.example.com
path_template: /mcp
mcp:
protocol_version: 2026-03-26
session_id: docs-example
tool_validation:
declared_tools: [search]
tool_security:
analysis_mode: local

Transformers example

providers:
targets:
- id: local-transformer
provider: transformers
model: Qwen/Qwen2.5-1.5B-Instruct
adapter_command: /usr/local/bin/verdictan-transformers-adapter
adapter_args: [--task, text-generation]
execution_timeout_ms: 60000
adapter_env:
TRANSFORMERS_CACHE: /srv/models

Provider fields

The configuration supports these provider-specific runner fields:

  • Claude Agent SDK: path_to_claude_code_executable, permission_mode, fallback_model, append_allowed_tools, disallowed_tools, allow_all_tools, max_turns
  • Codex SDK: codex_path_override, sandbox_mode, approval_policy, network_access_enabled, web_search_enabled, skip_git_repo_check

For Transformers, OpenAI Agents, OpenCode, and Bedrock Agents, use adapter fields when settings other than provider and model are necessary.

The adapter fields are adapter_command, adapter_args, adapter_env, the shared timeout field, and the work directory fields.

Bedrock targets also accept aws_region. Do not add runner-only keys directly to a declarative provider target.

Next steps