diff --git a/gso/main.py b/gso/main.py
index 20098b12ff3007f23ceca4e33d804ad64dfca8b2..8a3f636b1cd5f966b7f3f5e23d87e17d38be7038 100644
--- a/gso/main.py
+++ b/gso/main.py
@@ -1,8 +1,16 @@
 """The main module that runs :term:`GSO`."""
 
+import os
+
 from gso import init_cli_app, init_gso_app
 
 app = init_gso_app()
 
+
+def run_cli():
+    os.chdir(os.path.dirname(os.path.abspath(__file__)))
+    init_cli_app()
+
+
 if __name__ == "__main__":
     init_cli_app()
diff --git a/setup.py b/setup.py
index 6339e95aebecdd751059d9fe88bd83a02f7afdd0..71a3adb65790d6d8ca44ba44a1fb7d3e4d68edde 100644
--- a/setup.py
+++ b/setup.py
@@ -20,4 +20,9 @@ setup(
         "celery==5.3.6",
     ],
     include_package_data=True,
+    entry_points={
+        "console_scripts": [
+            "gso-run-cli=gso.main:run_cli",
+        ],
+    },
 )