diff --git a/client/src/modes/handlers/mode_manager.rs b/client/src/modes/handlers/mode_manager.rs index 9e0a713..02f05a9 100644 --- a/client/src/modes/handlers/mode_manager.rs +++ b/client/src/modes/handlers/mode_manager.rs @@ -45,9 +45,11 @@ impl ModeManager { return AppMode::Command; } - // ✅ Always trust the FormEditor when a form is active - if let Some(editor) = &app_state.form_editor { - return AppMode::from(editor.mode()); + // Always trust the FormEditor when a form is active + if app_state.ui.show_form && !app_state.ui.focus_outside_canvas { + if let Some(editor) = &app_state.form_editor { + return AppMode::from(editor.mode()); + } } // --- Non-form views (add_logic, add_table, etc.) ---