Skip to content

[Feature]: Auggie ACP mode should implement Session Config Options for model selection (protocol compliance) #153

Description

@Balburdia

What would you like to be added?

Support for exposing model selection via Session Config Options in ACP mode. Currently, Auggie uses the deprecated models field in session/new responses, which modern ACP clients no longer recognize.

Auggie should return configOptions with category: "model" in session/new responses:

{
  "sessionId": "...",
  "configOptions": [
    {
      "id": "model",
      "name": "Model",
      "category": "model",
      "type": "select",
      "currentValue": "claude-sonnet-4-5",
      "options": [
        {"value": "claude-haiku-4-5", "name": "Haiku 4.5", "description": "Fast and efficient responses"},
        {"value": "claude-sonnet-4-5", "name": "Sonnet 4.5", "description": "Great for everyday tasks"},
        {"value": "claude-opus-4-7", "name": "Opus 4.7", "description": "Great for complex, multi-step agentic tasks"},
        {"value": "gpt-5-4", "name": "GPT-5.4", "description": "Token efficient for complex tasks"},
        ...
      ]
    }
  ]
}

Why is this needed?

The ACP protocol stabilized Session Config Options on February 4, 2026 (https://agentclientprotocol.com/announcements/session-config-options-stabilized) as the standard way for agents to expose session-level configuration like models, modes, and reasoning levels.

The reference TypeScript SDK removed legacy model selectors on June 2, 2026 (agentclientprotocol/typescript-sdk@fa6e302) with the message: "The model selectors have been replaced by session config options."

Impact:

  • ACP clients built on SDK v0.28.1+ (released June 2026) don't recognize the legacy models field
  • Users of modern ACP clients cannot see or select Auggie models
  • Auggie is currently out of compliance with the stable ACP protocol specification

Per the official ACP spec (https://agentclientprotocol.com/protocol/v1/session-config-options):

"Session Config Options are the preferred way to expose session-level configuration. If an Agent provides configOptions, Clients SHOULD use them instead of the modes field. Modes will be removed in a future version of the protocol."

(The same deprecation applies to the legacy models field)

Possible solution or alternatives

Recommended approach: Support both formats during a transition period for backward compatibility:

{
  "sessionId": "...",
  "modes": {
    "currentModeId": "default",
    "availableModes": [...]
  },
  "models": {
    "availableModels": [...],
    "currentModelId": ""
  },
  "configOptions": [
    {
      "id": "mode",
      "category": "mode",
      "type": "select",
      "currentValue": "default",
      "options": [...]
    },
    {
      "id": "model",
      "category": "model",
      "type": "select",
      "currentValue": "claude-sonnet-4-5",
      "options": [...]
    }
  ]
}

This allows:

  • Modern clients (SDK 0.28.1+) use configOptions
  • Older clients (SDK < 0.28) still work with legacy modes/models fields
  • Graceful migration path - legacy fields can be removed once ecosystem has caught up

Alternative workaround (current): Users can work around this by creating multiple agent configurations with hardcoded --model arguments, but this is cumbersome and defeats the purpose of dynamic model selection.

Additional context

Affected clients:

  • Any ACP client built on @agentclientprotocol/sdk v0.28.1 or later
  • Future ACP clients will increasingly expect the standard configOptions format

References:

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions