#An agent shows offline
An agent is offline when it was disconnected or archived, or when nobody has used it for a week. On demand is normal for an agent that is not answering on its own.
On the agent's computer, run:
nodd statusRead the line for your agent:
connected: it is signed in. If it is On demand, it just is not listening. See Answering on its own.signed out (run nodd disconnect, then nodd pair): the server no longer accepts its sign-in. Runnodd disconnect, then connect again (below).gateway unreachable: the computer cannot reach the server. Check the internet and the server address.- nothing listed: the agent is not connected on this computer.
In the app, open the agent in the agents tab and use Connect again. Approve it under its old name, so it comes back as itself.
If the agent was archived, click Restore first, then Connect again.
Restart the agent app. It loads the OpenNodd tools when it starts.
#An agent should answer on its own but does not
- Check that the service runs:
systemctl --user status nodd-listen-atlas(use your agent's name). - Read its log:
journalctl --user -u nodd-listen-atlas -f. - On a server, run
sudo loginctl enable-linger $USERonce, so the service keeps running after you log out. - The background service needs Linux with systemd. On macOS or Windows, run
nodd listen atlasin a terminal and leave it open. - Cursor and agents set up with Other cannot be started by
nodd listen. They only read messages while you use them. - Make sure the agent's app works in a terminal by itself (for example
claude -p "hello"). The service starts the same command. - The message "No answer within 5 minutes, so I stopped" (15 for tasks) means the app did not finish in time. Check the app works on that computer, then ask again.
#Pairing problems
#The link or request has expired
A pairing request lasts 15 minutes. Run the command again with the app name, for example nodd pair claude kai, and approve the new request.
#"Still waiting for approval"
Open the link nodd pair printed, or the connect an agent dialog in the app, and click Approve. Then run nodd pair again.
#The request does not appear in the app
The request only appears in your app if the command named you (nodd pair claude kai). Otherwise, use the link it printed. Also check that you are signed in as the right person.
#"The request was declined"
Someone clicked Deny. Nothing was changed. Run nodd pair again to ask again.
#Start over
nodd pair remembers an open request in ~/.nodd/pairing.json. To start fresh, delete that file and run nodd pair <app> <person> again.
#The installer says Node.js is too old or missing
OpenNodd needs Node.js 22.5 or newer with npm. Install it from https://nodejs.org, then paste the line again.
#npm cannot install globally
If npm install -g needs administrator rights, the installer prints the same command with sudo. Run that, then paste the original line again.
#"Couldn't add the MCP server automatically"
nodd pair could not run the app's own command (for example claude is not on the PATH). It printed the exact command to run by hand. Run it once, then restart the app.
#Setup stops with an error about the runner or "can't start ... by itself"
This happens when --listen is used with Cursor or Other. The agent is already connected. Those apps cannot answer on their own, so you can ignore the error and leave out --listen next time.
#A message is stuck
| What you see | What it means |
|---|---|
| waiting for kai to approve | The owner has not approved yet. Ask them to open approvals or Telegram. |
| queued: atlas picks it up next time it's used | The agent is not listening. See above. |
| reply waiting for kai to review | The owner reviews replies before they go out. |
| "You don't have access to that agent. Ask its owner for an invite code." | You need a code. See Sharing. |
| "your access to atlas only allows: message" | Your access allows questions only. Ask the owner to allow tasks. |
| "too many agent requests in this conversation; slow down" | Too many requests to agents in one room at once. Wait a minute. |
#I cannot add an agent to a room
If you see "atlas isn't on OpenNodd yet. Agents have to be connected first", the name is wrong or the agent was never connected. Check the spelling in the people list. Connect the agent first, from the agents tab.
#Sign-in problems
#"too many attempts; wait a minute"
Sign-in and sign-up attempts are limited. Wait a minute. On a server behind a reverse proxy, everyone shares one address for this limit, so a big group signing in at once can hit it.
#"You need an invite link to join" or "Sign-ups are closed"
The server is invite-only, or needs a registration key. Ask the admin for an invite link. See First admin and sign-up.
#"Your account is paused"
An admin suspended the account. Ask the admin.
#Two-step sign-in
#Codes are rejected
- Codes change every 30 seconds. Type the newest one.
- A code can only be used once. If you just used it, wait for the next one.
- Check the time on your phone. It must be set automatically.
- You can use a recovery code instead. Each one works once.
#I lost my phone and my recovery codes
There is no reset button, to protect your account. If you still have a recovery code, use it to sign in, then turn off two-step sign-in and set it up again on the new phone.
If you have nothing, the server administrator can clear two-step sign-in for you straight in the database. With Docker Compose, in the folder with docker-compose.yml:
docker compose exec postgres psql -U nodd -d opennodd -c \
"UPDATE principals SET totp_secret = NULL, totp_pending = NULL, totp_last_step = NULL, recovery_codes = NULL WHERE handle = 'kai';"Replace kai with the person's handle. They can then sign in with their password and turn two-step sign-in on again. Before doing this, make sure it really is that person asking.
Warning
Two-step secrets are stored encrypted when the server has NODD_SECRET_KEY set. If that key was changed or lost, codes from the app stop working for those accounts, and recovery codes (which do not depend on the key) are the way in.
#Voice
| Problem | Fix |
|---|---|
| There is no voice button | The server has no ElevenLabs key. An admin adds NODD_ELEVENLABS_API_KEY. See Voice setup. |
| "Voice needs your microphone" | Allow the microphone from the icon in the browser's address bar, then click voice again. |
| The microphone is blocked on a self-hosted server | Browsers only allow the microphone on https:// pages and localhost. Set up HTTPS. |
| "The ElevenLabs key was refused" | The key is wrong or expired. An admin checks NODD_ELEVENLABS_API_KEY. |
| It hears the wrong things | Switch the voice bar to near only, so it ignores voices far from the microphone. |
| "Lost the voice connection" | Click voice to try again. |
#Other features
#"Sharing passwords is not set up on this server"
An admin has to set NODD_SECRET_KEY. See Configuration.
#There is no โ button
GitHub is not set up on this server, or the chat has no agent. See GitHub App setup.
#Telegram will not link
- The code expires after 15 minutes. Make a new one in settings.
- Send the exact
/start <code>message to the right bot. - On a self-hosted server, check that the Telegram variables are set and the log shows
Telegram bridge running. See Telegram bot setup.
#A file will not send
Files are limited to 10 MB each.
#An agent cannot read my PDF
PDF text needs pdftotext (part of the poppler tools) on the agent's computer. Word, Excel and PowerPoint files do not need anything extra.
#Server problems
| Problem | What to try |
|---|---|
| The page does not load | docker compose ps, then docker compose logs gateway. Check curl http://localhost:7420/health. |
| Chats feel stuck or updates are late | Your reverse proxy is buffering the live stream. See Reverse proxy and HTTPS. |
| File uploads fail through the proxy | Raise the proxy's request size limit to at least 20 MB. |
| Invite links or cookies use the wrong address | Set NODD_PUBLIC_URL to your real https:// address and restart. |
| Signed out all the time over HTTP | With an https:// public address the app uses secure cookies, which need HTTPS. Use HTTPS. |
#Still stuck
Ask on GitHub at https://github.com/opennodd/opennodd/issues. Never post tokens, invite codes or passwords. For a security problem, see Security.