diff --git a/src/pamhyr.py b/src/pamhyr.py
index 61424fe826675c57663d9a89de981b0ddfa001ba..24e93d1d9dbd33054235adc6b2ca76792c4240d8 100755
--- a/src/pamhyr.py
+++ b/src/pamhyr.py
@@ -41,6 +41,7 @@ from init import license, setup_lang
 logger = logging.getLogger()
 
 scripts = {
+    "gui" : None,
     "hello": ScriptHello,
 }
 
@@ -52,6 +53,11 @@ def usage(argv):
     for s in scripts:
         logger.info(f"\t{s}\t\t{scripts[s].name}: {scripts[s].description}")
 
+def gui(app:QApplication, conf:Config):
+    application = ApplicationWindow(conf=conf)
+    application.show()
+
+    return app.exec_()
 
 def main():
     conf = Config.load()
@@ -66,19 +72,20 @@ def main():
         # Run a script
         script = sys.argv[1]
 
-        if script not in scripts:
-            usage(sys.argv)
-            sys.exit(-1)
-
-        application = scripts[script](sys.argv)
-        ret = application.run()
-        if not ret:
-            application.usage()
+        if script == "gui":
+            ret = gui(app, conf)
+        else:
+            if script not in scripts:
+                usage(sys.argv)
+                sys.exit(-1)
+
+            application = scripts[script](sys.argv)
+            ret = application.run()
+            if not ret:
+                application.usage()
     else:
         # No args, run Pamhyr2 interface
-        application = ApplicationWindow(conf=conf)
-        application.show()
-        ret = app.exec_()
+        ret = gui(app, conf)
 
     display_timers()
     sys.exit(ret)