Skip to content

[Feature Request] Allow subagents to override reasoning effort in CustomAgentConfig (parity with Claude Agent SDK) #1131

@nicbstme

Description

@nicbstme

Summary

Allow custom subagents defined via CustomAgentConfig to specify their own reasoning effort independent of the orchestrator session's reasoning. The Claude Agent SDK supports this via an effort field on AgentDefinition. copilot-sdk's CustomAgentConfig does not, so reasoning is fixed at session level and applies uniformly to every subagent invocation.

Motivation

  • Orchestrators often benefit from high or max reasoning for planning and delegation
  • Many subagent tasks are mechanical execution (validation, extraction, format conversion) and do not benefit from deep reasoning, but today pay its latency and cost
  • Conversely, security focused or analysis focused subagents may want stronger reasoning than the orchestrator
  • Without per subagent control, the tallest reasoning setting propagates to every dispatch

Current state

  • CustomAgentConfig (copilot-sdk types.d.ts, lines 802 to 833) has no reasoningEffort or effort field
  • Session level reasoningEffort in providerOptions applies to all subagent dispatches in that session

Proposed

  1. Add optional reasoningEffort (or effort) field to CustomAgentConfig
  2. Accept existing values: low | medium | high | xhigh | max, plus numeric for models that support it
  3. Fall back to session reasoning when omitted
  4. Mirror the field in the YAML frontmatter loader (coordinated with Custom Agent YAML Frontmatter Should Support Reasoning Effort copilot-cli#2904)

Precedent

Claude Agent SDK's AgentDefinition.effort:
https://code.claude.com/docs/en/agent-sdk/subagents

Identical value vocabulary already in use by this SDK.

Related

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    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