Skip to content

feat(subagents): show the model and effort provider-native subagents run with - #343

Merged
Tryanks merged 2 commits into
mainfrom
feat/subagent-model-effort
Sep 6, 2026
Merged

Tryanks merged 2 commits into
mainfrom
feat/subagent-model-effort

Conversation

@Tryanks

@Tryanks Tryanks commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Summary

  • ItemContent::Subagent gains optional model / effort (serde-defaulted, merged like summary so later lifecycle snapshots never erase them).
  • Claude: records the Agent tool's model alias at spawn, then updates with the resolved message.model and top-level effort from the child's assistant records. Covers both stdout child messages (parent_tool_use_id) and tailed background-task transcripts; the tail hands values back to the actor so the re-emitted spawn item keeps its live status instead of racing completion.
  • Codex: uses spawn_agent's model / reasoning_effort overrides when present, otherwise the child inherits the parent thread's model and effort (the app-server does not forward the child's turn context).
  • UI: the subagent row shows a model · effort chip after the agent type. Old logs without the fields render exactly as before.

Test plan

  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test -p agent -p tcode-core -p tcode-runtime -p tcode-ui -p tcode-services
  • Claude fixture extended with a child assistant record carrying model + effort; Codex activity test asserts override + inherited fallback.

…run with

Subagent items now carry optional `model` and `effort`, merged like
`summary` so later lifecycle snapshots never erase them.

Claude: the Agent tool's `model` alias is recorded at spawn; the resolved
model and effort are read from the child's assistant records, both when
they stream over stdout with `parent_tool_use_id` and when a background
task's transcript is tailed (the tail hands the values back to the actor
so the re-emitted spawn item keeps its live status).

Codex: `spawn_agent`'s `model` / `reasoning_effort` overrides are used
when present, otherwise the child inherits the parent thread's settings.

The subagent row renders a `model · effort` chip next to the agent type.
@Tryanks
Tryanks enabled auto-merge (squash) September 6, 2026 16:55
@Tryanks
Tryanks merged commit 82cd714 into main Sep 6, 2026
5 checks passed
@Tryanks
Tryanks deleted the feat/subagent-model-effort branch September 6, 2026 17:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant