diff --git a/integration_test/Dialect/ESI/cosim/cosim_only.sv.py b/integration_test/Dialect/ESI/cosim/cosim_only.sv.py
index e8726bc4a5fc..b9498df9f093 100644
--- a/integration_test/Dialect/ESI/cosim/cosim_only.sv.py
+++ b/integration_test/Dialect/ESI/cosim/cosim_only.sv.py
@@ -6,7 +6,7 @@
 
 import loopback as test
 
-rpc = test.LoopbackTester(sys.argv[2], sys.argv[1])
+rpc = test.LoopbackTester(sys.argv[3], sys.argv[2])
 print(rpc.cosim.list().wait())
 rpc.test_list()
 rpc.test_3bytes(5)
diff --git a/integration_test/Dialect/ESI/cosim/loopback.py b/integration_test/Dialect/ESI/cosim/loopback.py
index ce76b5df195f..3293d23d2fd1 100755
--- a/integration_test/Dialect/ESI/cosim/loopback.py
+++ b/integration_test/Dialect/ESI/cosim/loopback.py
@@ -56,6 +56,6 @@ def test_3bytes(self, num_msgs=50):
 
 if __name__ == "__main__":
   import sys
-  rpc = LoopbackTester(sys.argv[2], sys.argv[1])
+  rpc = LoopbackTester(sys.argv[3], sys.argv[2])
   print(rpc.list())
   rpc.test_two_chan_loopback(25)
diff --git a/integration_test/Dialect/ESI/cosim/lowlevel_cosim_only.sv.py b/integration_test/Dialect/ESI/cosim/lowlevel_cosim_only.sv.py
index 83b18e23bab3..aee3fc34d83f 100644
--- a/integration_test/Dialect/ESI/cosim/lowlevel_cosim_only.sv.py
+++ b/integration_test/Dialect/ESI/cosim/lowlevel_cosim_only.sv.py
@@ -4,7 +4,7 @@
 import capnp
 import sys
 
-c = esi_cosim.LowLevel(sys.argv[2], sys.argv[1])
+c = esi_cosim.LowLevel(sys.argv[3], sys.argv[2])
 r = c.low.readMMIO(40).wait()
 print(f"data resp: 0x{r.data:x}")
 
diff --git a/integration_test/Dialect/ESI/runtime/basic_mmio.sv.py b/integration_test/Dialect/ESI/runtime/basic_mmio.sv.py
index 74d55807e386..9a883f771e6f 100644
--- a/integration_test/Dialect/ESI/runtime/basic_mmio.sv.py
+++ b/integration_test/Dialect/ESI/runtime/basic_mmio.sv.py
@@ -2,9 +2,8 @@
 import os
 import sys
 
-conn = f"{sys.argv[1]}:{sys.argv[2]}"
+acc = esi.Accelerator(sys.argv[1], sys.argv[2])
 
-acc = esi.Accelerator("cosim", conn)
 mmio = acc.get_service_mmio()
 
 r = mmio.read(40)
diff --git a/integration_test/Dialect/ESI/runtime/loopback.mlir.py b/integration_test/Dialect/ESI/runtime/loopback.mlir.py
index ea48fd705c98..ddd93a528b1e 100644
--- a/integration_test/Dialect/ESI/runtime/loopback.mlir.py
+++ b/integration_test/Dialect/ESI/runtime/loopback.mlir.py
@@ -1,9 +1,7 @@
 import esi
 import sys
 
-conn = f"{sys.argv[1]}:{sys.argv[2]}"
-
-acc = esi.Accelerator("cosim", conn)
+acc = esi.Accelerator(sys.argv[1], sys.argv[2])
 
 assert acc.sysinfo().esi_version() == 1
 assert acc.manifest.api_version == 1
diff --git a/tools/esi/esi-cosim-runner.py.in b/tools/esi/esi-cosim-runner.py.in
index 0cc86a8054d2..1d04e0057693 100755
--- a/tools/esi/esi-cosim-runner.py.in
+++ b/tools/esi/esi-cosim-runner.py.in
@@ -220,7 +220,8 @@ class CosimTestRunner:
             "PYTHONPATH"] + f":{os.path.dirname(__file__)}"
         # Run the test script.
         if self.exec:
-          args = [f"localhost:{port}", self.schema] + self.exec_args.split(" ")
+          args = ["cosim", f"localhost:{port}", self.schema
+                 ] + self.exec_args.split(" ")
           if self.file.endswith(".py"):
             cmd = [sys.executable, "-u", self.file] + args
           else: