@@ -1229,24 +1229,40 @@ func (m *UI) handleDialogMsg(msg tea.Msg) tea.Cmd {
12291229 cmds = append(cmds, msg.Cmd)
12301230 }
12311231
1232− // Session dialog messages
1232+ // Session dialog messages.
12331233 case dialog.ActionSelectSession:
12341234 m.dialog.CloseDialog(dialog.SessionsID)
12351235 cmds = append(cmds, m.loadSession(msg.Session.ID))
12361236
1237− // Open dialog message
1237+ // Open dialog message.
12381238 case dialog.ActionOpenDialog:
12391239 m.dialog.CloseDialog(dialog.CommandsID)
12401240 if cmd := m.openDialog(msg.DialogID); cmd != nil {
12411241 cmds = append(cmds, cmd)
12421242 }
12431243
1244− // Command dialog messages
1244+ // Command dialog messages.
12451245 case dialog.ActionToggleYoloMode:
12461246 yolo := !m.com.App.Permissions.SkipRequests()
12471247 m.com.App.Permissions.SetSkipRequests(yolo)
12481248 m.setEditorPrompt(yolo)
12491249 m.dialog.CloseDialog(dialog.CommandsID)
1250+ case dialog.ActionToggleNotifications:
1251+ cfg := m.com.Config()
1252+ if cfg != nil && cfg.Options != nil {
1253+ disabled := !cfg.Options.DisableNotifications
1254+ cfg.Options.DisableNotifications = disabled
1255+ if err := m.com.Store().SetConfigField(config.ScopeGlobal, "options.disable_notifications", disabled); err != nil {
1256+ cmds = append(cmds, util.ReportError(err))
1257+ } else {
1258+ status := "enabled"
1259+ if disabled {
1260+ status = "disabled"
1261+ }
1262+ cmds = append(cmds, util.CmdHandler(util.NewInfoMsg("Notifications "+status)))
1263+ }
1264+ }
1265+ m.dialog.CloseDialog(dialog.CommandsID)
12501266 case dialog.ActionNewSession:
12511267 if m.isAgentBusy() {
12521268 cmds = append(cmds, util.ReportWarn("Agent is busy, please wait before starting a new session..."))