From 392c73b6933600ea8a589c5d4eff5f7b830f99c5 Mon Sep 17 00:00:00 2001 From: simosmik Date: Thu, 30 Apr 2026 14:19:05 +0000 Subject: [PATCH] fix: add clarification on auto mode --- server/claude-sdk.js | 6 ++++++ src/components/chat/view/subcomponents/ChatComposer.tsx | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/server/claude-sdk.js b/server/claude-sdk.js index 7239f81a..db3a205c 100644 --- a/server/claude-sdk.js +++ b/server/claude-sdk.js @@ -527,6 +527,12 @@ async function queryClaudeSDK(command, options = {}, ws) { }] }; + // Caveat: in 'auto' and 'bypassPermissions' modes the SDK resolves approval + // at the permission-mode step and skips this callback, so interactive tools + // (AskUserQuestion, ExitPlanMode) won't reach the UI — the classifier/bypass + // auto-approves them and the model acts on a generated answer. Move these + // tools to a PreToolUse hook (runs before the mode check) if we need them + // to work in those modes. sdkOptions.canUseTool = async (toolName, input, context) => { const requiresInteraction = TOOLS_REQUIRING_INTERACTION.has(toolName); diff --git a/src/components/chat/view/subcomponents/ChatComposer.tsx b/src/components/chat/view/subcomponents/ChatComposer.tsx index d9ae186e..2701e7b1 100644 --- a/src/components/chat/view/subcomponents/ChatComposer.tsx +++ b/src/components/chat/view/subcomponents/ChatComposer.tsx @@ -326,7 +326,7 @@ export default function ChatComposer({ : permissionMode === 'acceptEdits' ? 'border-green-300/60 bg-green-50 text-green-700 hover:bg-green-100 dark:border-green-600/40 dark:bg-green-900/15 dark:text-green-300 dark:hover:bg-green-900/25' : permissionMode === 'auto' - ? 'border-amber-300/60 bg-amber-50 text-amber-700 hover:bg-amber-100 dark:border-amber-600/40 dark:bg-amber-900/15 dark:text-amber-300 dark:hover:bg-amber-900/25' + ? 'border-blue-300/60 bg-blue-50 text-blue-700 hover:bg-blue-100 dark:border-blue-600/40 dark:bg-blue-900/15 dark:text-blue-300 dark:hover:bg-blue-900/25' : permissionMode === 'bypassPermissions' ? 'border-orange-300/60 bg-orange-50 text-orange-700 hover:bg-orange-100 dark:border-orange-600/40 dark:bg-orange-900/15 dark:text-orange-300 dark:hover:bg-orange-900/25' : 'border-primary/20 bg-primary/5 text-primary hover:bg-primary/10' @@ -341,7 +341,7 @@ export default function ChatComposer({ : permissionMode === 'acceptEdits' ? 'bg-green-500' : permissionMode === 'auto' - ? 'bg-amber-500' + ? 'bg-blue-500' : permissionMode === 'bypassPermissions' ? 'bg-orange-500' : 'bg-primary'