Troubleshooting¶
Common problems with Nanobot AI Agent, what causes them and how to fix them.
The web UI does not load¶
Cause: The service is still starting, has failed, or the tunnel is not running.
Fix:
-
On the instance, check the service:
-
Make sure your SSH or Session Manager tunnel is still open, and open
http://127.0.0.1:8765.
The service checks its installed runtime before it starts, so first startup can take a few minutes.
The service keeps restarting¶
Cause: The runtime check failed, config.json is invalid, or the
Telegram settings were rejected.
Fix: Read the log for the reason:
sudo systemctl show sushi-nanobot.service -p ActiveState -p SubState -p NRestarts
sudo journalctl -u sushi-nanobot.service --no-pager -n 50
If you edited config.json by hand, check that it is valid JSON, owned by
nanobot and mode 0600. Do not start a second gateway to work around it.
The password is not accepted¶
Cause: The password was copied incorrectly, or it belongs to a different instance. Each instance generates its own.
Fix: Read channels.websocket.tokenIssueSecret again from
/var/lib/nanobot/.nanobot/config.json on this instance. See
Get the web UI password.
The agent does not answer, or reports an authentication or quota error¶
Cause: The provider key, model or quota is wrong, or the instance cannot reach the provider.
Fix: Correct the key and model under Settings → Models, check your quota with the provider, and allow outbound HTTPS to the provider. Repeat the test task.
A tool is refused with a path error¶
Cause: Tools are restricted to the agent's workspace.
Fix: Put the files in /var/lib/nanobot/.nanobot/workspace and make
nanobot their owner. See Workspace.
Telegram configuration rejected¶
Cause: The helper refused the private input file. Common reasons:
- the file is not owned by
nanobot, or its mode is not 0600; - the token is empty or contains spaces;
allowedUserIdsorallowedChatIdsis empty, or holds something other than numeric strings.
Fix: Correct the file and run the helper again. See Telegram.
Telegram is silent¶
Check, in order:
- The service is running and its log shows no Telegram error.
- You wrote from a user ID and chat ID that are both in the allowlists.
- Nothing else polls the same bot, and the bot has no webhook.
- Your model works in the web UI.
- The instance can reach Telegram over outbound HTTPS.