You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
我已搜索过现有 issue,确认这不是重复 / I searched existing issues and confirmed this isn't a duplicate.
我已阅读 CONTRIBUTING.md / I've read CONTRIBUTING.md.
问题类别 · Category
工具调用 / MCP · Tool use / MCP
涉及的 Agent 框架 · Agent framework
ZCode Agent(自研)
严重程度 · Severity
影响体验 · Major (功能可用但体验受损 / works but degraded)
复现频率 · Reproducibility
必现 · Always
问题描述 · Description
When a completed subagent is resumed with SendMessage, its active tool executor evaluates Edit and Bash calls in build mode even though both the parent and child sessions are persisted as yolo (Full Access).
This causes repeated approval popups during long implementation/review sessions. Fresh/non-resumed subagents do not exhibit the problem.
This appears related to the subagent approval bridge discussed in #85, but it is not the same symptom:
This report: a completed Full Access child is resumed, changes to build evaluation, and repeatedly surfaces approval prompts.
复现步骤 · Steps to reproduce
Set a project/session to Full Access (yolo).
Launch a writable subagent such as code-worker and let it complete.
During the initial run, observe that Edit, Write, and Bash execute without approval prompts.
Send a follow-up instruction to the completed worker with SendMessage.
Confirm that ZCode reconstructs the child with session.resumed and resumed:true.
Have the resumed worker edit a new file or execute a new Bash command.
An approval popup appears. After approval, the log records tool.permission.resolved with mode:"build", even though the parent and child session records both remain {"mode":"yolo"}.
Repeat with another new file or command. Additional popups occur because approvals are stored as narrow command/path rules.
期望表现 · Expected behavior
A resumed subagent should preserve the effective permission mode stored on the child and inherited from the parent. If both are Full Access / yolo, resumed Edit, Write, and Bash calls should remain Full Access and should not fall back to confirmation mode.
实际表现 · Actual behavior
After the SendMessage → session.resumed boundary:
the persisted parent mode remains yolo;
the persisted child mode remains yolo;
permission evaluation for the resumed child reports mode:"build";
new edits and commands repeatedly request approval.
This makes review-and-fix workflows interrupt-driven and can produce nearly continuous approval dialogs.
提交前确认 · Pre-submission checklist
问题类别 · Category
工具调用 / MCP · Tool use / MCP
涉及的 Agent 框架 · Agent framework
ZCode Agent(自研)
严重程度 · Severity
影响体验 · Major (功能可用但体验受损 / works but degraded)
复现频率 · Reproducibility
必现 · Always
问题描述 · Description
When a completed subagent is resumed with
SendMessage, its active tool executor evaluatesEditandBashcalls inbuildmode even though both the parent and child sessions are persisted asyolo(Full Access).This causes repeated approval popups during long implementation/review sessions. Fresh/non-resumed subagents do not exhibit the problem.
This appears related to the subagent approval bridge discussed in #85, but it is not the same symptom:
buildevaluation, and repeatedly surfaces approval prompts.复现步骤 · Steps to reproduce
yolo).code-workerand let it complete.Edit,Write, andBashexecute without approval prompts.SendMessage.session.resumedandresumed:true.tool.permission.resolvedwithmode:"build", even though the parent and child session records both remain{"mode":"yolo"}.期望表现 · Expected behavior
A resumed subagent should preserve the effective permission mode stored on the child and inherited from the parent. If both are Full Access /
yolo, resumedEdit,Write, andBashcalls should remain Full Access and should not fall back to confirmation mode.实际表现 · Actual behavior
After the
SendMessage→session.resumedboundary:yolo;yolo;mode:"build";This makes review-and-fix workflows interrupt-driven and can produce nearly continuous approval dialogs.
ZCode 版本 · ZCode version
3.3.6 (build 3.3.6.3198); embedded CLI 0.15.2
设备 / 系统 / 浏览器 · Device / OS / Browser
macOS 26.5 (Darwin 25.5.0), Apple Silicon arm64
截图 / 录屏 / 日志 · Screenshots / Recordings / Logs
Retained-log analysis:
Edit/Write/Bashcalls: 0 explicit write-tool permission resolutions.resumed:trueandmode:"build".permission={"mode":"yolo"}.code-workerchildren reproduced the behavior.Same-child control:
Bash, 9Edit, and 1Writecalls without approval.SendMessageafter the child completes.session.resumedwithresumed:true.mode:"build".Representative redacted events:
{ "event": "session.resumed", "sessionId": "sess_subagent_[redacted]", "context": { "toolName": "SendMessage", "agentType": "code-worker", "resumed": true, "parentSessionId": "sess_[redacted]" } }{ "event": "tool.permission.resolved", "sessionId": "sess_subagent_[redacted]", "context": { "querySource": "subagent", "toolName": "Edit", "agentType": "code-worker", "resumed": true, "decision": "allow", "mode": "build", "reason": "Approved for this project" } }Likely fault boundary: resumed-child runtime reconstruction does not restore the persisted permission mode and instead uses the
buildfallback.