on main help sign in
feat(ui): add ctrl+y keybinding to toggle yolo mode

๐Ÿ’˜ Generated with Crush Assisted-by: Crush:qwen3.7-max

commit2b941aaa0d3b983e0c64e92b3b04a0e4ba855747 authorAndrey Nering <andreynering@users.noreply.github.com> dateMon 25 May 2026, 11:13 (5 months ago) parentdb9d939
3 files changed+20โˆ’8
internal/ui/dialog/commands.go+1โˆ’1 internal/ui/model/keys.go+12โˆ’7 internal/ui/model/ui.go+7
internal/ui/dialog/commands.go+1โˆ’1
@@ -522,7 +522,7 @@ func (c *Commands) defaultCommands() []*CommandItem {
522522
523523 commands = append(
524524 commands,
525โˆ’ NewCommandItem(c.com.Styles, "toggle_yolo", "Toggle Yolo Mode", "", ActionToggleYoloMode{}),
525+ NewCommandItem(c.com.Styles, "toggle_yolo", "Toggle Yolo Mode", "ctrl+y", ActionToggleYoloMode{}),
526526 NewCommandItem(c.com.Styles, "toggle_help", "Toggle Help", "ctrl+g", ActionToggleHelp{}),
527527 NewCommandItem(c.com.Styles, "init", "Initialize Project", "", ActionInitializeProject{}),
528528 )
internal/ui/model/keys.go+12โˆ’7
@@ -57,13 +57,14 @@ type KeyMap struct {
5757 }
5858
5959 // Global key maps
60โˆ’ Quit key.Binding
61โˆ’ Help key.Binding
62โˆ’ Commands key.Binding
63โˆ’ Models key.Binding
64โˆ’ Suspend key.Binding
65โˆ’ Sessions key.Binding
66โˆ’ Tab key.Binding
60+ Quit key.Binding
61+ Help key.Binding
62+ Commands key.Binding
63+ Models key.Binding
64+ Suspend key.Binding
65+ Sessions key.Binding
66+ Tab key.Binding
67+ ToggleYolo key.Binding
6768}
6869
6970func DefaultKeyMap() KeyMap {
@@ -96,6 +97,10 @@ func DefaultKeyMap() KeyMap {
9697 key.WithKeys("tab"),
9798 key.WithHelp("tab", "change focus"),
9899 ),
100+ ToggleYolo: key.NewBinding(
101+ key.WithKeys("ctrl+y"),
102+ key.WithHelp("ctrl+y", "toggle yolo"),
103+ ),
99104 }
100105
101106 km.Editor.AddFile = key.NewBinding(
internal/ui/model/ui.go+7
@@ -1805,6 +1805,11 @@ func (m *UI) handleKeyPressMsg(msg tea.KeyPressMsg) tea.Cmd {
18051805 }
18061806 cmds = append(cmds, tea.Suspend)
18071807 return true
1808+ case key.Matches(msg, m.keyMap.ToggleYolo):
1809+ yolo := !m.com.Workspace.PermissionSkipRequests()
1810+ m.com.Workspace.PermissionSetSkipRequests(yolo)
1811+ m.setEditorPrompt(yolo)
1812+ return true
18081813 }
18091814 return false
18101815 }
@@ -2410,6 +2415,7 @@ func (m *UI) FullHelp() [][]key.Binding {
24102415 commands,
24112416 k.Models,
24122417 k.Sessions,
2418+ k.ToggleYolo,
24132419 )
24142420 if hasSession {
24152421 mainBinds = append(mainBinds, k.Chat.NewSession)
@@ -2471,6 +2477,7 @@ func (m *UI) FullHelp() [][]key.Binding {
24712477 commands,
24722478 k.Models,
24732479 k.Sessions,
2480+ k.ToggleYolo,
24742481 },
24752482 )
24762483 editorBinds := []key.Binding{