zai-org / zai-org/zcode-plugins
Subagent spawn fails with 'No reasoning level selected' (reasoning-level-missing) — no default applied when caller omits reasoning level
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 39
- Forks
- 20
- PR merge metrics
- No merged PRs in 30d
Description
Environment
- OS: Windows 11 (build 10.0.26200)
- ZCode: desktop client
- Provider/account: zai coding plan, model GLM-5.3-Flash
Symptom
Spawning a subagent (Agent tool) fails with:
Cannot start subagent: No reasoning level selected
[reason=reasoning-level-missing]
Observed on 2026-09-13, 09-14, and 09-17 across different sessions on the same
account. Within an affected period it is persistent across retries — not
transient — and blocks all subagent use; the workaround is performing the work
directly in the main agent.
Analysis
The subagent request path validates the reasoning level before dispatch, and
when the caller did not supply one the validation fails with
reasoning-level-missing rather than falling back to anything. Providers and
models in this setup already declare reasoning variants with a default variant,
so a sensible default exists — it just isn't applied on this code path. It also
appears account/provider-selective (same client version worked at other times).
Suggested fix
Either:
- Fall back to the model's declared default reasoning variant when the caller
supplies no reasoning level, or - Inherit the current session's reasoning level for subagents, or
- Expose a setting (e.g. a default subagent reasoning level) so users can pin
it.
Any of the three removes a hard blocker that currently makes subagent use
unreliable on this provider.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Trace the subagent request path through the validation that emits reasoning-level-missing, then inspect how providers and models declare reasoning variants and their defaults. Confirm the behavior when the caller omits a reasoning level and make the chosen fallback behavior verifiable without reproducing the provider-specific account conditions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100