From e6b43cb84676401e505067a69c4922ab74806e34 Mon Sep 17 00:00:00 2001 From: Jerop Kipruto Date: Tue, 10 Feb 2026 07:45:14 -0500 Subject: [PATCH] feat(cli): update approval mode labels and shortcuts per latest UX spec (#18698) --- .../ui/components/ApprovalModeIndicator.test.tsx | 16 ++++++++-------- .../src/ui/components/ApprovalModeIndicator.tsx | 12 ++++++------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/cli/src/ui/components/ApprovalModeIndicator.test.tsx b/packages/cli/src/ui/components/ApprovalModeIndicator.test.tsx index 4e751ad788..d16925cb4b 100644 --- a/packages/cli/src/ui/components/ApprovalModeIndicator.test.tsx +++ b/packages/cli/src/ui/components/ApprovalModeIndicator.test.tsx @@ -15,8 +15,8 @@ describe('ApprovalModeIndicator', () => { , ); const output = lastFrame(); - expect(output).toContain('auto-edit'); - expect(output).toContain('shift + tab to enter default mode'); + expect(output).toContain('auto-accept edits'); + expect(output).toContain('shift+tab to manual'); }); it('renders correctly for AUTO_EDIT mode with plan enabled', () => { @@ -27,8 +27,8 @@ describe('ApprovalModeIndicator', () => { />, ); const output = lastFrame(); - expect(output).toContain('auto-edit'); - expect(output).toContain('shift + tab to enter default mode'); + expect(output).toContain('auto-accept edits'); + expect(output).toContain('shift+tab to manual'); }); it('renders correctly for PLAN mode', () => { @@ -37,7 +37,7 @@ describe('ApprovalModeIndicator', () => { ); const output = lastFrame(); expect(output).toContain('plan'); - expect(output).toContain('shift + tab to enter auto-edit mode'); + expect(output).toContain('shift+tab to accept edits'); }); it('renders correctly for YOLO mode', () => { @@ -46,7 +46,7 @@ describe('ApprovalModeIndicator', () => { ); const output = lastFrame(); expect(output).toContain('YOLO'); - expect(output).toContain('shift + tab to enter auto-edit mode'); + expect(output).toContain('ctrl+y'); }); it('renders correctly for DEFAULT mode', () => { @@ -54,7 +54,7 @@ describe('ApprovalModeIndicator', () => { , ); const output = lastFrame(); - expect(output).toContain('shift + tab to enter auto-edit mode'); + expect(output).toContain('shift+tab to accept edits'); }); it('renders correctly for DEFAULT mode with plan enabled', () => { @@ -65,6 +65,6 @@ describe('ApprovalModeIndicator', () => { />, ); const output = lastFrame(); - expect(output).toContain('shift + tab to enter plan mode'); + expect(output).toContain('shift+tab to plan'); }); }); diff --git a/packages/cli/src/ui/components/ApprovalModeIndicator.tsx b/packages/cli/src/ui/components/ApprovalModeIndicator.tsx index 83adcd8417..6b1b1cfa53 100644 --- a/packages/cli/src/ui/components/ApprovalModeIndicator.tsx +++ b/packages/cli/src/ui/components/ApprovalModeIndicator.tsx @@ -25,26 +25,26 @@ export const ApprovalModeIndicator: React.FC = ({ switch (approvalMode) { case ApprovalMode.AUTO_EDIT: textColor = theme.status.warning; - textContent = 'auto-edit'; - subText = 'shift + tab to enter default mode'; + textContent = 'auto-accept edits'; + subText = 'shift+tab to manual'; break; case ApprovalMode.PLAN: textColor = theme.status.success; textContent = 'plan'; - subText = 'shift + tab to enter auto-edit mode'; + subText = 'shift+tab to accept edits'; break; case ApprovalMode.YOLO: textColor = theme.status.error; textContent = 'YOLO'; - subText = 'shift + tab to enter auto-edit mode'; + subText = 'ctrl+y'; break; case ApprovalMode.DEFAULT: default: textColor = theme.text.accent; textContent = ''; subText = isPlanEnabled - ? 'shift + tab to enter plan mode' - : 'shift + tab to enter auto-edit mode'; + ? 'shift+tab to plan' + : 'shift+tab to accept edits'; break; }