zai-org / zai-org/feedback

[Bug] Subagent model picker stays on Start plan and never lists Individual (Coding) Plan models after main model setting is switched to Individual plan

Open
#433 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

priority: P2
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 · 复现步骤

  1. Log in to ZCode desktop (v3.10.1) with a Z.ai OAuth account that has the "ZCode Weekend Build" Start plan active.
  2. 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).
  3. In Model settings, switch the main model channel to the Individual plan ("Z.ai - Coding Plan"). This works — setting.json shows modelProviderFamilySelectedKeys: {"zai": "coding-plan:builtin:zai-coding-plan"} and the main session runs on builtin:zai-coding-plan/GLM-5.3-Flash.
  4. Open Settings → Agents → Edit subagent → open the Model dropdown.
  5. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.