From 8f64c4b3129b1e767477c9f3fbae420df7aa7340 Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Sat, 19 Jul 2025 15:54:11 -0400 Subject: [PATCH] disable todo tools when running as task --- packages/opencode/src/session/index.ts | 2 ++ packages/opencode/src/tool/task.ts | 4 ++++ packages/tui/internal/viewport/viewport.go | 1 - 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/opencode/src/session/index.ts b/packages/opencode/src/session/index.ts index 7dcc3694..a993b1c9 100644 --- a/packages/opencode/src/session/index.ts +++ b/packages/opencode/src/session/index.ts @@ -325,6 +325,7 @@ export namespace Session { providerID: z.string(), modelID: z.string(), mode: z.string().optional(), + tools: z.record(z.boolean()).optional(), parts: z.array( z.discriminatedUnion("type", [ MessageV2.TextPart.omit({ @@ -618,6 +619,7 @@ export namespace Session { for (const item of await Provider.tools(input.providerID)) { if (mode.tools[item.id] === false) continue + if (input.tools?.[item.id] === false) continue if (session.parentID && item.id === "task") continue tools[item.id] = tool({ id: item.id as any, diff --git a/packages/opencode/src/tool/task.ts b/packages/opencode/src/tool/task.ts index c26ca7e5..02f7a8f4 100644 --- a/packages/opencode/src/tool/task.ts +++ b/packages/opencode/src/tool/task.ts @@ -41,6 +41,10 @@ export const TaskTool = Tool.define({ sessionID: session.id, modelID: msg.modelID, providerID: msg.providerID, + tools: { + todoread: false, + todowrite: false, + }, parts: [ { id: Identifier.ascending("part"), diff --git a/packages/tui/internal/viewport/viewport.go b/packages/tui/internal/viewport/viewport.go index dd4331cc..59fbe456 100644 --- a/packages/tui/internal/viewport/viewport.go +++ b/packages/tui/internal/viewport/viewport.go @@ -1,7 +1,6 @@ package viewport import ( - "log/slog" "math" "strings"