When starting with (push '(fullscreen . fullboth) default-frame-alist) in early-init.el, apparently Emacs get stuck in an infinite loop after calling [EmacsView waitFullScreenTransition]. Please see the attached backtrace. I also tried moving that command around: in init.el, in emacs-startup-hook, all yield the same result. Toggling fullscreen after successful startup (by not trying to start in fullscreen) works ok. Also creating new frames with '(fullscreen . fullboth) in default-frame-alist works well. Looks like this bug was introduced by bbc48b263485c26c6823eabdbbd7e9af62178e34 In GNU Emacs 28.0.50 (build 7, x86_64-apple-darwin20.4.0, NS appkit-2022.44 Version 11.3.1 (Build 20E241)) of 2021-05-13 built on mbp2018.local Repository revision: ff8bf8c8dfff2e4fc0fae50e3fcfcf3022bd0bb8 Repository branch: master Windowing system distributor 'Apple', version 10.3.2022 System Description: macOS 11.3.1 Configured using: 'configure --with-json --with-native-compilation --with-xwidgets CPPFLAGS=-I/usr/local/opt/llvm/include LDFLAGS=-L/usr/local/opt/llvm/lib' Configured features: ACL DBUS GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY KQUEUE NS PDUMPER PNG RSVG THREADS TIFF TOOLKIT_SCROLL_BARS XIM XWIDGETS ZLIB