diff --git a/apps/cli/executables/pexable/carta_envoy/carta_envoy/launchers.py b/apps/cli/executables/pexable/carta_envoy/carta_envoy/launchers.py
index 569345fb43f9dae20cb521b8e1211edf435c64b5..f6668174819a41bc1c3945669a73fc0caee7f3cb 100644
--- a/apps/cli/executables/pexable/carta_envoy/carta_envoy/launchers.py
+++ b/apps/cli/executables/pexable/carta_envoy/carta_envoy/launchers.py
@@ -22,6 +22,7 @@ import os
 import signal
 import subprocess
 import sys
+import time
 from http.server import HTTPServer, SimpleHTTPRequestHandler
 from pathlib import Path
 from threading import Thread
@@ -185,6 +186,11 @@ class CartaLauncher:
                 f"{file_browser_path!s}",
             ]
             try:
+                # finish setup for CARTA and ensure completion before launch
+                CartaWrapperLauncher.deploy_wrapper_html(file_browser_path, carta_url, session_timeout_date)
+                time.sleep(3)
+
+                #  start CARTA
                 CARTA_PROCESS = subprocess.Popen(
                     carta_command,
                     preexec_fn=os.setpgrp(),
@@ -196,7 +202,7 @@ class CartaLauncher:
                 self.teardown()
                 sys.exit(f"ERROR: Failed to launch CARTA: {err}")
             else:
-                CartaWrapperLauncher.deploy_wrapper_html(file_browser_path, carta_url, session_timeout_date)
+                # CartaWrapperLauncher.deploy_wrapper_html(file_browser_path, carta_url, session_timeout_date)
 
                 # CARTA is running and accessible, so send CARTA URL to AAT system or notify user
                 self.notify_ready(wrapper_url)