@@ -99,6 +99,8 @@ describe("permissions overlay", () => {
9999 // First option is in the list model (may clip if body short).
100100 expect ( shell . overlayItems [ 0 ] ) . toBe ( "Allow once" ) ;
101101 expect ( frame ) . toMatch ( / A l l o w / ) ;
102+ expect ( frame ) . toContain ( "/yolo" ) ;
103+ expect ( frame ) . toContain ( "Esc cancel · Enter choose · /yolo skip prompts" ) ;
102104
103105 // Navigate deep enough that window must scroll (keep-active-visible).
104106 const listH = shell . overlayList ! . height ;
@@ -132,6 +134,27 @@ describe("permissions overlay", () => {
132134 ) ;
133135 } ) ;
134136
137+ test ( "key hints drop to Esc · Enter on a narrow interior" , async ( ) => {
138+ await withTestRenderer (
139+ async ( h ) => {
140+ const shell = createAppShell ( h . renderer , {
141+ terminal : { columns : 32 , rows : 24 } ,
142+ wireKeys : false ,
143+ } ) ;
144+ try {
145+ openPermissionsOverlay ( shell , { items : makePermissionItems ( 4 ) } ) ;
146+ await h . renderOnce ( ) ;
147+ const frame = h . captureCharFrame ( ) ;
148+ expect ( frame ) . toContain ( "Esc · Enter" ) ;
149+ expect ( frame ) . not . toContain ( "/yolo" ) ;
150+ } finally {
151+ shell . dispose ( ) ;
152+ }
153+ } ,
154+ { width : 32 , height : 24 } ,
155+ ) ;
156+ } ) ;
157+
135158 test ( "Esc key closes permissions overlay via wireKeys" , async ( ) => {
136159 await withTestRenderer (
137160 async ( h ) => {
@@ -208,6 +231,7 @@ describe("operator question overlay", () => {
208231 expect ( frame ) . toMatch ( / C a n c e l | A l l o w / ) ;
209232 // The overlay carries its own keys now that there is no hint strip.
210233 expect ( frame ) . toContain ( "Esc cancel" ) ;
234+ expect ( frame ) . not . toContain ( "/yolo" ) ;
211235 // Empty title must not leave a leading middle-dot before the hints.
212236 expect ( frame ) . not . toMatch ( / · \s * E s c c a n c e l / ) ;
213237
@@ -245,6 +269,7 @@ describe("model / provider picker", () => {
245269 let frame = h . captureCharFrame ( ) ;
246270 expect ( frame ) . toContain ( "model" ) ;
247271 expect ( frame ) . toMatch ( / a n t h r o p i c | o p e n a i | c l a u d e / i) ;
272+ expect ( frame ) . not . toContain ( "/yolo" ) ;
248273
249274 moveOverlaySelection ( shell , 2 ) ;
250275 acceptOverlaySelection ( shell ) ;
0 commit comments