Before submitting#
Area#
apps/server
Steps to reproduce#
- Create .claude/agents/reviewer.md with
model: opus and effort: xhigh in its frontmatter.
- Open a Claude thread set to Opus High.
- Have the parent launch that custom subagent.
- Look at the subagent's row in the thread.
Expected behavior#
The subagent row shows xhigh. Claude's docs say subagent frontmatter overrides the session effort.
Actual behavior#
It shows "opus-hi", and the stored subagent modelSelection has effort: high. The subagent really does run at xhigh: its transcript (//subagents/agent-*.jsonl) records "xhigh" in effort and params.output_config.effort. It makes custom agent settings look ignored.
Thanks for building this, I'm enjoying the app otherwise.
Impact#
Minor bug or occasional failure
Version or commit#
0.1.7 (Beta)
Environment#
macOS arm64, desktop app, Claude Code 2.1.319, Opus 5.5
Logs or stack traces#
Possible cause:
in ClaudeAdapterV2, the effort falls back to the parent's selection:
input.effort ?? input.owner?.effort ??
compileClaudeModelSelection(input.context.input.modelSelection).effort
Screenshots, recordings, or supporting files#
No response
Workaround#
No response
Thanks for the clear report. This is a duplicate of pingdotgg/t3code#24144 on GitCafe, which tracks the same bug: a Claude subagent whose agent definition sets
effortis stored and labelled with the parent thread's effort, because the adapter falls back to the thread's selection when the Agent call carries noeffort.Reproduced on main @ 5067b8865a in the web app with Claude Code 2.1.303, from a Claude Opus 5.5 thread at High, launching project agents without passing
effort:effortreviewer(model: opus,effort: xhigh)highxhighlowbie(effort: low)highlowplain(noeffort)highhighYour notes on the fallback and the transcript match what's on https://git.cafe/pingdotgg/t3code/issues/24144, so please follow that issue. Closing this one as a duplicate.