diff --git a/src/renderer/components/team/ToolApprovalSheet.tsx b/src/renderer/components/team/ToolApprovalSheet.tsx
index 8f66578c..ac530c93 100644
--- a/src/renderer/components/team/ToolApprovalSheet.tsx
+++ b/src/renderer/components/team/ToolApprovalSheet.tsx
@@ -408,7 +408,9 @@ export const ToolApprovalSheet: React.FC = () => {
);
-export const ToolApprovalSettingsContent: React.FC<{ expanded: boolean }> = ({ expanded }) => {
+export const ToolApprovalSettingsContent: React.FC<{
+ expanded: boolean;
+ teamName?: string;
+}> = ({ expanded, teamName }) => {
const [localSeconds, setLocalSeconds] = useState('');
const settings = useStore((s) => s.toolApprovalSettings);
- const updateSettings = useStore((s) => s.updateToolApprovalSettings);
+ const rawUpdateSettings = useStore((s) => s.updateToolApprovalSettings);
+ const updateSettings = useCallback(
+ (patch: Partial) => rawUpdateSettings(patch, teamName),
+ [rawUpdateSettings, teamName]
+ );
if (!expanded) return null;
diff --git a/src/renderer/store/slices/teamSlice.ts b/src/renderer/store/slices/teamSlice.ts
index 631a5a74..f6555d2a 100644
--- a/src/renderer/store/slices/teamSlice.ts
+++ b/src/renderer/store/slices/teamSlice.ts
@@ -696,7 +696,10 @@ export interface TeamSlice {
/** Resolved permission approvals: request_id → allowed (true/false). Used for noise row icons. */
resolvedApprovals: Map;
toolApprovalSettings: ToolApprovalSettings;
- updateToolApprovalSettings: (patch: Partial) => Promise;
+ updateToolApprovalSettings: (
+ patch: Partial,
+ forTeam?: string
+ ) => Promise;
respondToToolApproval: (
teamName: string,
runId: string,
@@ -2347,8 +2350,8 @@ export const createTeamSlice: StateCreator = (set,
set({ provisioningProgressUnsubscribe: unsubscribe });
},
- updateToolApprovalSettings: async (patch) => {
- const teamName = get().selectedTeamName;
+ updateToolApprovalSettings: async (patch, forTeam) => {
+ const teamName = forTeam ?? get().selectedTeamName;
const current = get().toolApprovalSettings;
const merged = { ...current, ...patch };
set({ toolApprovalSettings: merged });