diff --git a/extensions/cli/src/ui/components/ToolPermissionSelector.tsx b/extensions/cli/src/ui/components/ToolPermissionSelector.tsx index f47ac23ec5e..bd58f90453d 100644 --- a/extensions/cli/src/ui/components/ToolPermissionSelector.tsx +++ b/extensions/cli/src/ui/components/ToolPermissionSelector.tsx @@ -8,6 +8,9 @@ import { defaultBoxStyles } from "../styles.js"; import { ToolPreview } from "./ToolPreview.js"; +// show dangerous commmand warning only once per CLI process +let hasShownDangerousCommandWarning = false; + interface PermissionOption { id: string; name: string; @@ -61,6 +64,12 @@ export const ToolPermissionSelector: React.FC = ({ }) => { const permissionOptions = getPermissionOptions(); const [selectedIndex, setSelectedIndex] = useState(0); + const [initialHasShownDangerousCommand] = useState( + hasShownDangerousCommandWarning, + ); + hasShownDangerousCommandWarning = false; + const showDynamicWarning = + hasDynamicEvaluation && !initialHasShownDangerousCommand; useInput((input, key) => { if (key.return) { @@ -125,7 +134,7 @@ export const ToolPermissionSelector: React.FC = ({ Would you like to continue? - {hasDynamicEvaluation && ( + {showDynamicWarning && ( Note: Dangerous commands will be blocked regardless of your