From 4e85a37590c233f17dad8897f125c9b97ca29d64 Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Sat, 18 Jul 2026 17:54:41 -0400 Subject: [PATCH] fix(tui): auto-approve permissions in auto mode --- packages/tui/src/routes/session/index.tsx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/packages/tui/src/routes/session/index.tsx b/packages/tui/src/routes/session/index.tsx index baad5abd13..a6cf7532fc 100644 --- a/packages/tui/src/routes/session/index.tsx +++ b/packages/tui/src/routes/session/index.tsx @@ -111,6 +111,7 @@ export function Session() { const route = useRouteData("session") const { navigate } = useRoute() const data = useData() + const local = useLocal() const paths = useTuiPaths() const configState = useConfig() const config = configState.data @@ -184,6 +185,24 @@ export function Session() { const scrollAcceleration = createMemo(() => getScrollAcceleration(config)) const toast = useToast() const client = useClient() + const autoApproved = new Set() + createEffect(() => { + if (local.permission.mode !== "auto") return + permissions().forEach((request) => { + if (autoApproved.has(request.id)) return + autoApproved.add(request.id) + void client.api.permission + .reply({ + sessionID: request.sessionID, + reply: "once", + requestID: request.id, + }) + .catch((error) => { + autoApproved.delete(request.id) + toast.error(error) + }) + }) + }) const editor = useEditorContext() const rows = createSessionRows(() => route.sessionID) const boundaries = createMemo(() => messageBoundaryIDs(rows, messages()))