From f9d354b63e168d616040bd0a3198a627a3a8a030 Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Tue, 24 Mar 2026 16:19:56 +0900 Subject: [PATCH] fix(permissions): ensure omo permission overrides take precedence over opencode defaults The spread order in applyToolConfig was incorrect - omo's external_directory: 'allow' was placed BEFORE the config.permission spread, allowing opencode's default 'ask' to overwrite it. This caused write/edit tools to hang on headless opencode serve sessions (no TUI to approve permission prompts). Move omo's permission overrides AFTER the base config spread so they always win. Fixes write/edit tool hangs when running opencode serve headlessly. --- src/plugin-handlers/tool-config-handler.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugin-handlers/tool-config-handler.ts b/src/plugin-handlers/tool-config-handler.ts index 4be1f2937..d9cd4ce94 100644 --- a/src/plugin-handlers/tool-config-handler.ts +++ b/src/plugin-handlers/tool-config-handler.ts @@ -116,9 +116,9 @@ export function applyToolConfig(params: { } params.config.permission = { + ...(params.config.permission as Record), webfetch: "allow", external_directory: "allow", - ...(params.config.permission as Record), task: "deny", }; }