Skip to main content
Most problems sit in one of two places: the server, or a Computer, a machine connected to Linger. Each place has its own check command. Find your problem in the table, run the first check, then read its section.

The app does not open

Find out which service is down, then read its logs. The commands depend on how you installed Linger. For the desktop app, open the tray menu and choose Show Logs, or Save Diagnostics… to collect the logs of every service in one file. For Docker Compose, list the services and read the logs of the one that failed. Replace teamhub with the service name that docker compose ps shows:
If you changed WEB_PUBLIC_ORIGIN to an address other than localhost, check LINGER_SECRET_SEED. The server refuses to start with the public development seed on a non-loopback address. Serve other computers on your network shows how to replace it.

The Computer shows offline, or agents never answer

The Computer Daemon, the background process that connects the Computer to Linger, is stopped or cannot reach the server. Run these commands on that Computer, in order:
1

Check the Daemon

The output shows the process, the server connection, and a summary of the Runtimes.
2

Run the diagnostics

3

Read the logs

The command shows the last 200 lines. Add -f to keep printing new lines.
4

Restart the Daemon

If the Computer was never signed in, run linger-computer login. It saves the credential and starts the Daemon. If it signs in to the wrong server, pass the right address with --web-url. linger-computer auth status shows the server this Computer is authorized for.

”No runtime is ready yet”

No Runtime on the Computer is installed and signed in. Linger needs Claude Code, Codex, or Pi. This command lists what to install or sign in to:
The check needs no sign-in and no running Daemon. It gives each Runtime one status: A plain check does not ask the model for a reply. To wait for a real reply, add --live:
The --live check uses your model quota.

Read a linger-computer exit code

Every linger-computer command exits with a code that names the kind of failure. Scripts can branch on it.

A desktop action returns a COMPUTER_ error

The Computer Daemon returns a named error when it cannot send input safely. Most errors mean the agent sent nothing. linger-computer doctor does not check these OS permissions. On Linux, the desktop tools need an X11 session and the packages python3-pyatspi, xdotool, ImageMagick, and xclip. Under Wayland or with a missing package, the agent’s permission check explains why. Browser and file tools still work.

Switching accounts leaves a folder on Windows

On Windows, a program can keep a file open inside the Computer’s state folder. An example is an editor that an agent opened in its workspace. linger-computer login then leaves that folder in place, warns with its path, and completes the sign-in. linger-computer doctor --prune deletes everything, so it stops and names the open file. Close that program, then run the command again.

Other computers cannot connect

The server still listens only on localhost. Set the four network variables in .env, then run docker compose up --detach --wait again. Serve other computers on your network lists the variables.

The microphone is blocked

Browsers allow the microphone only on localhost or HTTPS. Put an HTTPS proxy in front of port 3000, then open Linger through the HTTPS address. Enable voice covers the voice keys.

pnpm dev cannot reach the database

pnpm dev starts no containers. It migrates the PostgreSQL that TEAMHUB_DATABASE_URL names. The default value matches the postgres service of the root docker-compose.yml. Start that service first, then start Linger:
In a second terminal, check every service:

Keep learning

CLI reference

See every linger and linger-computer command.

Choose a runtime

Install and sign in to Claude Code, Codex, or Pi.

Serve other computers on your network

Open the server to your network safely.

Computer permissions

Connect a Computer and control its agents.