Troubleshooting¶
The app runs a background agent and talks to it on localhost:2300. Nearly every
"the app will not start" report comes down to one thing: another program is
holding that port.
| What you see | What it usually means |
|---|---|
| Something Went Wrong, and Restart changes nothing | Something else holds port 2300 |
| Stuck on Connecting to backend | Same |
| A trace opens but the signal list stays empty | The app is talking to a different machine's agent |
| Signals appear that did not come from this machine | Same |
Quick fix¶
This clears the most common cause in under a minute.
- Quit Zelos completely.
-
Remove any agent left behind by a previous session:
-
Launch Zelos again.
Still broken? Work through the steps below.
Find what is holding port 2300¶
Quit Zelos first, so the only thing left is whatever is in the way.
No output means the port is free, and the problem is something else. Skip to When the port is free.
Otherwise, find the process name in this table:
| Process | Cause | Go to |
|---|---|---|
Cursor, cursor, Code, code, ssh |
Your editor forwarded a remote port | Editor port forwarding |
zelos-app-agent |
An agent from a previous session is still running | A leftover agent |
zelos-agent |
The headless agent is installed on this machine | The headless agent |
docker, com.docker.backend |
A container publishes port 2300 | Stop the container, or publish it on another port |
wslrelay, System, or PID 4 |
Something inside WSL holds the port | Something inside WSL |
| Anything else | — | Release the port by force |
Editor port forwarding¶
VS Code and Cursor automatically forward ports they find on a machine you open over Remote-SSH. If that machine runs a Zelos agent on 2300, your editor clones it onto your own port 2300 and the app loses its backend.
This produces both symptoms, depending on whether the SSH connection is healthy:
- The connection is live. The app starts and looks normal, but every request
goes to the remote machine's agent. Open a local
.trzand the signal list is empty, because that file does not exist on the machine actually answering. - The connection has dropped. The forwarded port still accepts connections but answers nothing, so the app never finishes starting.
Stop the forward now: open the PORTS panel, right-click port 2300, and choose Stop Forwarding Port. Closing the remote window does the same thing.
Stop it from coming back by adding this to your User settings, on the machine running the editor:
ignore means the port is never forwarded. To disable auto-forwarding for every
port, set "remote.autoForwardPorts": false instead.
You do not need a tunnel to see a remote machine's data
Connect to it directly instead. Open the right sidebar, go to Data
Sources, click New agent, and enter <hostname>:2300. Details in
Connect to Data.
A leftover agent¶
The agent normally shuts down with the app. It can outlive it when the app is force-quit, crashes, or the machine sleeps mid-session. The old agent keeps the port, so every relaunch hits the same error.
Restarting the computer has the same effect, and takes longer.
The headless agent¶
If you installed the standalone agent on this machine, it takes port 2300 first and the app's own agent never starts. The app may open anyway, but it is driving the headless agent rather than its own, and app features will behave oddly. Run one or the other on a single machine.
The standalone agent ships as a systemd service on Ubuntu and Debian:
Something inside WSL¶
Windows reports a port held inside WSL as wslrelay, System, or PID 4. Killing
those from Windows does not work, and PID 4 cannot be stopped at all.
Open your WSL shell and deal with it there:
A Zelos agent running inside WSL is the usual answer. Stop it, or move the app and the agent onto the same side.
Release the port by force¶
When you cannot identify the program, or it will not close cleanly, terminate whatever holds the port.
This closes the owning program
If your editor holds the port, it closes with everything unsaved in it. Try closing the program normally first. On Windows, run the terminal as Administrator if you get Access Denied.
Confirm the fix¶
Launch Zelos, then run the find command again. You want exactly one row:
address 127.0.0.1, process zelos-app-agent. That is the app's own agent, so
the app is talking to this machine.
When the port is free¶
Windows: missing Visual C++ runtime¶
The agent needs the Microsoft Visual C++ runtime, and fails to launch without it.
- Download the VC++ Redistributable x64.
- Run the installer, then restart your computer.
- Launch Zelos again.
Still stuck¶
Click Report a problem on the error screen. It sends us your description along with recent logs and system information, so we can see what happened without another round of questions.
If Zelos is running, the same thing lives under Settings → Data → Diagnostics → Report a problem.
You can also email [email protected].