Runtime policy decides which harness executes a model run. It lives on providers and models, not on agents.defaults.

Runtime policy

{
  models: {
    providers: {
      openai: {
        agentRuntime: { id: "codex" },
      },
    },
  },
  agents: {
    defaults: {
      model: "openai/gpt-6-astra",
      models: {
        "anthropic/claude-opus-5": {
          agentRuntime: { id: "claude-cli" },
        },
        "vllm/*": {
          agentRuntime: { id: "apus" },
        },
      },
    },
  },
}

Built-in alias shorthands (only apply when the model is in agents.defaults.models):

Alias Model
opus anthropic/claude-opus-5-5
sonnet anthropic/claude-sonnet-5-5
gpt openai/gpt-5.4
gpt-mini openai/gpt-5.4-mini
gpt-nano openai/gpt-5.4-nano
gemini google/gemini-4-argon
gemini-flash google/gemini-3.8-flash
gemini-flash-lite google/gemini-3.5-flash-lite

Your configured aliases always win over defaults.

Z.AI GLM-4.x models automatically enable thinking mode unless you set --thinking off or define agents.defaults.models["zai/<model>"].params.thinking yourself. Z.AI models enable tool_stream by default for tool call streaming. Set agents.defaults.models["zai/<model>"].params.tool_stream to false to disable it. Anthropic Claude Opus 4.8 keeps thinking off by default in Apus; when adaptive thinking is explicitly enabled, Anthropic's provider-owned effort default is high. Claude 4.6 models default to adaptive when no explicit thinking level is set.

CLI backend selection

CLI adapter mechanics are registered by plugins, not configured under agent defaults. Select a registered CLI backend with model-scoped agentRuntime.id, as shown above. See CLI backends for operations and building CLI backend plugins for command, session, image, and parser registration.

OpenAI GPT-5 personality

The bundled OpenAI plugin owns the GPT-5 friendly interaction-style setting. Matching GPT-5-family prompts receive the shared behavior contract; personality controls only the friendly style layer. Native Codex app-server routes keep Codex-owned base/model instructions instead of this Apus GPT-5 contribution, and Apus disables Codex's built-in personality for native threads.

{
  plugins: {
    entries: {
      openai: {
        config: {
          personality: "friendly", // friendly | on | off
        },
      },
    },
  },
}

See OpenAI GPT-5 prompt contribution for provider and native Codex behavior.