From 53b604ed2a0b196abf600ba67528468752c3df09 Mon Sep 17 00:00:00 2001 From: acamq <179265037+acamq@users.noreply.github.com> Date: Wed, 11 Mar 2026 19:40:55 -0600 Subject: [PATCH] fix(tools): propagate startWorkConfig through skill tool and registry SkillLoadOptions and createSkillTool now accept startWorkConfig and forward it to discoverCommandsSync. tool-registry passes pluginConfig.start_work to both call sites so the skill tool description and skill(name="start-work") invocation honour the worktree config flag. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus --- src/plugin/tool-registry.ts | 2 ++ src/tools/skill/tools.ts | 1 + src/tools/skill/types.ts | 2 ++ 3 files changed, 5 insertions(+) diff --git a/src/plugin/tool-registry.ts b/src/plugin/tool-registry.ts index f58053801..63016da72 100644 --- a/src/plugin/tool-registry.ts +++ b/src/plugin/tool-registry.ts @@ -105,6 +105,7 @@ export function createToolRegistry(args: { const commands = discoverCommandsSync(ctx.directory, { pluginsEnabled: pluginConfig.claude_code?.plugins ?? true, enabledPluginsOverride: pluginConfig.claude_code?.plugins_override, + startWorkConfig: pluginConfig.start_work, }) const skillTool = createSkillTool({ commands, @@ -112,6 +113,7 @@ export function createToolRegistry(args: { mcpManager: managers.skillMcpManager, getSessionID: getSessionIDForMcp, gitMasterConfig: pluginConfig.git_master, + startWorkConfig: pluginConfig.start_work, }) const taskSystemEnabled = pluginConfig.experimental?.task_system ?? false diff --git a/src/tools/skill/tools.ts b/src/tools/skill/tools.ts index 4bdfb42a0..325b6fb1c 100644 --- a/src/tools/skill/tools.ts +++ b/src/tools/skill/tools.ts @@ -199,6 +199,7 @@ export function createSkillTool(options: SkillLoadOptions = {}): ToolDefinition cachedCommands = discoverCommandsSync(undefined, { pluginsEnabled: options.pluginsEnabled, enabledPluginsOverride: options.enabledPluginsOverride, + startWorkConfig: options.startWorkConfig, }) return cachedCommands } diff --git a/src/tools/skill/types.ts b/src/tools/skill/types.ts index 579eb69cc..b402fde33 100644 --- a/src/tools/skill/types.ts +++ b/src/tools/skill/types.ts @@ -37,4 +37,6 @@ export interface SkillLoadOptions { pluginsEnabled?: boolean /** Override plugin enablement from Claude settings by plugin key */ enabledPluginsOverride?: Record + /** start-work command configuration, controls worktree instructions in /start-work template */ + startWorkConfig?: { worktree?: boolean } }