Skip to content

Commit fdf9fa9

Browse files
authored
fix: pass custom instructions to agent when rejecting tool permissions (#1390)
1 parent 39e0faf commit fdf9fa9

2 files changed

Lines changed: 11 additions & 6 deletions

File tree

apps/code/src/renderer/features/sessions/components/SessionView.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,10 @@ export function SessionView({
252252
}
253253

254254
if (customInput) {
255-
if (isOtherOption(optionId)) {
255+
if (
256+
isOtherOption(optionId) ||
257+
selectedOption?._meta?.customInput === true
258+
) {
256259
await getSessionService().respondToPermission(
257260
taskId,
258261
firstPendingPermission.toolCallId,

packages/agent/src/adapters/claude/permissions/permission-handlers.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -388,12 +388,14 @@ async function handleDefaultPermissionFlow(
388388
updatedInput: toolInput as Record<string, unknown>,
389389
};
390390
} else {
391-
const message = "User refused permission to run tool";
391+
const feedback = (
392+
response._meta?.customInput as string | undefined
393+
)?.trim();
394+
const message = feedback
395+
? `User refused permission to run tool with feedback: ${feedback}`
396+
: "User refused permission to run tool";
392397
await emitToolDenial(context, message);
393-
return {
394-
behavior: "deny",
395-
message,
396-
};
398+
return { behavior: "deny", message, interrupt: !feedback };
397399
}
398400
}
399401

0 commit comments

Comments
 (0)