diff --git a/CHANGES.md b/CHANGES.md
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,7 +1,17 @@
 * Hackage: <http://hackage.haskell.org/package/crackNum>
 * GitHub:  <http://github.com/LeventErkok/crackNum/>
 
-* Latest Hackage released version: 3.22, 2026-08-17
+* Latest Hackage released version: 3.23, 2026-08-17
+
+### Version 3.23, 2026-08-17
+
+  * Do not ignore bad flags when `--gui` is given. A mistyped format, such as
+    `crackNum -ft32 4 --gui`, used to bring the GUI up with nothing selected,
+    silently swallowing the error the command line would have reported. We now
+    diagnose the flag first, and only launch the GUI if everything checks out.
+
+  * Add quad-precision (`-fqp`) to the format list in both GUIs. It was accepted
+    on the command line, but was missing from the interfaces.
 
 ### Version 3.22, 2026-08-17
 
diff --git a/GUI/tclGUI/crackNum.tcl b/GUI/tclGUI/crackNum.tcl
--- a/GUI/tclGUI/crackNum.tcl
+++ b/GUI/tclGUI/crackNum.tcl
@@ -41,6 +41,7 @@
         {ftf32 "TF32"        fixed    tf32}
         {fsp   "Single"      fixed    sp}
         {fdp   "Double"      fixed    dp}
+        {fqp   "Quad"        fixed    qp}
         {fcs   "Custom"      customFloat {}}
     }}
     {"Word (Unsigned)" {
@@ -470,6 +471,7 @@
             switch $v {
                 sp   { set state(selection) fsp }
                 dp   { set state(selection) fdp }
+                qp   { set state(selection) fqp }
                 hp   { set state(selection) fhp }
                 bp   { set state(selection) fbp }
                 tf32 { set state(selection) ftf32 }
diff --git a/crackNum.cabal b/crackNum.cabal
--- a/crackNum.cabal
+++ b/crackNum.cabal
@@ -1,6 +1,6 @@
 Cabal-version      : 2.2
 Name               : crackNum
-Version            : 3.22
+Version            : 3.23
 Synopsis           : Crack various integer and floating-point data formats
 Description        : Crack IEEE-754 and other float formats and arbitrary sized words and integers, showing the layout.
                      .
diff --git a/src/CrackNum/Main.hs b/src/CrackNum/Main.hs
--- a/src/CrackNum/Main.hs
+++ b/src/CrackNum/Main.hs
@@ -400,7 +400,11 @@
                   (os, rs, [])
                     | Version `elem` os -> putStrLn $ pn ++ " v" ++ showVersion version ++ ", " ++ copyRight
                     | Help    `elem` os -> usage pn
-                    | GUI     `elem` os -> launchGUI (filter (/= "--gui") argv)
+                    -- NB. Check for bad flags before launching: otherwise a typo like
+                    -- "-ft32" would silently bring the GUI up with nothing selected.
+                    | GUI     `elem` os -> case [b | BadFlag b <- os] of
+                                             (e:_) -> die e
+                                             []    -> launchGUI (filter (/= "--gui") argv)
                     | True              -> do let rm = case reverse [r | RMode r <- os] of
                                                          (r:_) -> r
                                                          _     -> RNE
