From c4bc17ab1a37a8b8d4b8b5c993d1a97042dea7c0 Mon Sep 17 00:00:00 2001 From: nrslib <38722970+nrslib@users.noreply.github.com> Date: Tue, 3 Feb 2026 15:59:37 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=AC=E3=83=9D=E3=83=BC=E3=83=88=E5=91=A8?= =?UTF-8?q?=E3=82=8A=E3=81=AE=E3=83=90=E3=82=B0=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/workflow/engine/OptionsBuilder.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/core/workflow/engine/OptionsBuilder.ts b/src/core/workflow/engine/OptionsBuilder.ts index 959a3e7..b5042a5 100644 --- a/src/core/workflow/engine/OptionsBuilder.ts +++ b/src/core/workflow/engine/OptionsBuilder.ts @@ -38,9 +38,10 @@ export class OptionsBuilder { /** Build RunAgentOptions for Phase 1 (main execution) */ buildAgentOptions(step: WorkflowStep): RunAgentOptions { - // Phase 1: exclude Write from allowedTools when step has report config AND edit is disabled + // Phase 1: exclude Write from allowedTools when step has report config AND edit is NOT enabled // (If edit is enabled, Write is needed for code implementation even if report exists) - const allowedTools = step.report && step.edit === false + // Note: edit defaults to undefined, so check !== true to catch both false and undefined + const allowedTools = step.report && step.edit !== true ? step.allowedTools?.filter((t) => t !== 'Write') : step.allowedTools;