Skip to content

[FEATURE] Add per-call effort parameter to the Agent (Task) tool #77298

Description

@riptscripts

Summary

The Agent (Task) tool accepts a per-call model override, but no effort override. To spawn a single subagent at a different reasoning effort than the session, you must pre-author a whole agent definition file with effort: frontmatter — there is no way to set it at call time.

Motivation

Effort is the main cost/quality dial, and the right level is task-shaped, not agent-shaped: the same general-purpose agent might do a trivial file sweep (low) or a deep design review (high) in the same session. Today the options are:

  • session-wide (/effort, /model, CLAUDE_CODE_EFFORT_LEVEL) — affects everything, not the one spawn;
  • effort: frontmatter in a .claude/agents/*.md file — requires creating a persistent agent definition for what is a one-off call.

Creating a throwaway agent file just to change one spawn's effort is heavy friction, and it forks agent definitions into foo-low/foo-high variants.

Precedent

Both are locked; the auto-close bot directs filing a new issue referencing them.

Proposed shape

Add an optional effort parameter alongside the existing model parameter:

{
  "subagent_type": "general-purpose",
  "model": "opus",        // existing per-call override
  "effort": "high",       // proposed: "low" | "medium" | "high" | ...
  "prompt": "..."
}

Precedence mirroring model: call-time effort > agent frontmatter effort: > inherited session effort.

Acceptance criteria

  • effort is accepted on Agent/Task tool calls and applied to that subagent only.
  • Omitted → current behavior unchanged (frontmatter, else session inheritance).
  • Invalid values rejected with a clear error; levels unsupported by the resolved model handled the same way /effort handles them.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions