[Bug] Subagent model picker stays on Start plan and never lists Individual (Coding) Plan models after main model setting is switched to Individual plan
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 22
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
Pre-submission checklist · 提交前确认
- I searched existing issues and confirmed this isn't a duplicate.
- I've read CONTRIBUTING.md.
Category · 问题类别
模型设置 / 切换 · Model config
Agent framework · 涉及的 Agent 框架
ZCode Agent(自研)
Severity · 严重程度
影响体验 · Major (works but degraded — cannot assign the Individual Coding Plan to subagents)
Reproducibility · 复现频率
必现 · Always
Description · 问题描述
In the ZCode desktop app, the Edit subagent → Model dropdown only lists the Z.ai Start plan group (a single model, GLM-5.3-Flash). After switching the main Model setting to the Individual plan (Z.ai - Coding Plan, API key channel, builtin:zai-coding-plan), the subagent model picker never updates — the Individual plan's models (GLM-5.3, GLM-5.3-Flash, GLM-5-Turbo) never appear in the subagent dropdown, so subagents cannot be moved off the Start plan.
Additionally, plan selection in pickers is unstable: logs show the selected key flip-flopping between the two Z.ai providers, with the app's registry sync pinned to the Start plan provider.
Config note: both providers share the exact same display name "Z.ai - Coding Plan" in ~/.zcode/v2/config.json (builtin:zai-coding-plan and builtin:zai-start-plan), which makes plan entries ambiguous in any picker.
Steps to reproduce · 复现步骤
- Log in to ZCode desktop (v3.10.1) with a Z.ai OAuth account that has the "ZCode Weekend Build" Start plan active.
- Configure a second Z.ai provider for the Individual plan (API key channel →
api.z.ai/api/anthropic, models GLM-5.3 / GLM-5.3-Flash / GLM-5-Turbo). - In Model settings, switch the main model channel to the Individual plan ("Z.ai - Coding Plan"). This works —
setting.jsonshowsmodelProviderFamilySelectedKeys: {"zai": "coding-plan:builtin:zai-coding-plan"}and the main session runs onbuiltin:zai-coding-plan/GLM-5.3-Flash. - Open Settings → Agents → Edit subagent → open the Model dropdown.
- The Z.ai group shows only "Z.ai [Start]" → GLM-5.3-Flash [Vision]. No Individual-plan models are listed, and nothing the user does in Model settings updates this list.
Expected behavior · 期望行为
The subagent Model dropdown should reflect the plan selected in Model settings (Individual plan), or at least list the models of all available Z.ai plan providers (Individual Coding Plan + Start plan) so each subagent can be assigned a model from the Individual plan.
Actual behavior · 实际行为
Subagent Model picker is stuck on the Start plan group (GLM-5.3-Flash only). Individual plan models never appear. Log evidence of the snap-back (timestamps +07, 2026-08-31 00:02:39–00:02:47): setting.update writes alternate between coding-plan:builtin:zai-coding-plan and coding-plan:builtin:zai-start-plan within seconds, and provider-registry syncs are logged with reason codingPlanApiKey:builtin:zai-start-plan / codingPlanAvailability:builtin:zai-start-plan — i.e. the "coding plan" machinery is bound to the Start plan provider even though the Individual plan provider is enabled: true and cached as available in coding-plan-cache.json.
Environment · 环境
- OS: macOS (Apple Silicon, darwin 25.2.0)
- ZCode desktop: 3.10.1
- Model channels: Z.ai OAuth account (Start plan "ZCode Weekend Build", plan_id
zcode-v3-start-plan-0828) + Individual "Z.ai - Coding Plan" provider via API key (api.z.ai/api/anthropic) - Account ID: withheld from the public issue for privacy — available on request via the issue author (fingerprint
55b3…8f05). - Occurrence window: 2026-08-30 18:59 – 2026-08-31 01:29 (+07)
Screenshot
"Edit subagent" dialog: Model dropdown open, showing a single group "Z.ai [Start]" with one entry "GLM-5.3-Flash [Vision]"; the Individual plan group is absent. (Screenshot available on request — not attached to preserve privacy.)
Happy to provide full logs (~/.zcode/v2/logs/2026-08-30.log, 2026-08-31.log) or a screen recording if needed.
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
Start by reproducing the picker behavior and reviewing ~/.zcode/v2/config.json, setting.json, and the coding-plan entries described in the issue. Compare the provider-registry and setting.update log entries in ~/.zcode/v2/logs/2026-08-30.log and 2026-08-31.log. Done means the subagent picker reflects the selected Individual plan or lists both providers without snapping back to Start.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100