Troubleshooting
The error pages, banners and command messages you can see on Rootsy, each with its cause and what to do.
This page lists the messages Rootsy shows, each with its cause and what to do. Each heading is the exact text of a message: on a page visitors see, in the workspace, or from a command on the computer. Run commands in a terminal on the computer unless a section says otherwise.
Your web server config looks broken
Visitors and the Preview window see this page, titled “Web server is restarting”, with HTTP status 503. The full text is “Your site’s nginx isn’t responding. Ask Claude to fix the config, or use Reset (keep your files) from the dashboard — your files are safe.” The Reset it means is Reset computer in the workspace’s actions menu.
It appears when your nginx on port 8090 doesn’t answer or answers with 502, 503 or 504. It also appears when your server sends no response for 90 seconds. Your nginx’s own default proxy_read_timeout of 60 seconds usually fires first for a proxied app, with the same result. A proxied app that isn’t running makes nginx return 502, so the page shows up even when the nginx config is fine. An app that returns its own 503 also gets this page in place of its response.
Check, in this order:
sudo nginx -t
systemctl status iw-customer-nginx --no-pager
sudo tail -n 50 /var/log/nginx/error.log
If nginx -t fails, fix the file it names, then run sudo nginx -s reload. If nginx isn’t running, sudo systemctl restart iw-customer-nginx starts it. If nginx is running and the error log shows connect() failed (111: Connection refused) while connecting to upstream, the app behind it isn’t running. Start it, and make it start at boot so it comes back after a restart (see Serve an app). As a last resort, choose Reset computer in the workspace’s actions menu. It keeps everything under /home, /root and /srv. See Backups and Reset.
nginx: configuration file /etc/nginx/nginx.conf test failed
sudo nginx -t prints this after a line starting nginx: [emerg] that names the file and line with the problem. Nothing has been applied. nginx keeps running with the last good config until you reload. Fix the named file in /etc/nginx/sites-iwmwn/ and run sudo nginx -t again. Reload with sudo nginx -s reload only when it passes. If nginx isn’t running, sudo systemctl restart iw-customer-nginx starts it.
bind() to 0.0.0.0:8090 failed (98: Address already in use)
Something other than your nginx is listening on port 8090, so nginx can’t start. Port 8090 belongs to your nginx. Find the other process and move it to a different port:
sudo ss -ltnp 'sport = :8090'
Then proxy to the app’s new port from a config in /etc/nginx/sites-iwmwn/ and run sudo nginx -t && sudo nginx -s reload. Don’t bind to the platform’s ports either (7681–7687, 8080, 8081). See Your computer.
This website’s computer isn’t responding — we’re looking into it.
Visitors see this page, titled “This website isn’t responding”, with status 503 and Retry-After: 60. The second line reads “Please try again in a minute.”
Rootsy gives a GET or HEAD request 15 seconds to receive response headers from your computer, including the time to wake it. That deadline passed. Common causes:
- Your app takes too long to start after the computer restarts. Start it at boot, and have it listen before slow setup work finishes.
- A request handler does slow work before it responds. Answer first and do the work as a job (see Jobs).
- The computer itself isn’t answering. The workspace then shows “Your computer isn’t responding right now.” and Rootsy is already alerted.
The limit covers only the time until response headers arrive. After that the response can keep streaming.
This website is temporarily unavailable
Visitors see this page with status 503: “Its owner can bring it back from their dashboard. Nothing is lost.” The computer is parked because the account is out of Runtime Credits. See “This computer is parked — it’s out of Runtime Credits.” on this page.
This website is dormant
Visitors see this page with status 503: “Its owner can bring it back from their dashboard. Nothing is lost.” The account holds more computers than its plan allows, so this computer is dormant. See “This computer is dormant.” on this page.
Nothing is connected here (yet)
Visitors see this 404 page at a hostname Rootsy has no route for. It reads “If you just added this domain or created this website, give it a moment and refresh — the Domains app in your workspace shows live status for custom domains.”
For a new computer, wait a moment and refresh. For a custom domain, check its status and DNS record in the Domains window or with rootsy domains. See Domains.
Your website isn’t responding to visitors (as of …)
The workspace shows this banner when visitors recently got an error from your app, and the computer’s status reads “Site down”. The full text ends “Your terminal and editor are working. Ask Claude to check the site’s server.” The computer is fine. Your app or your nginx isn’t answering. Work through the checks under “Your web server config looks broken” on this page.
Your computer isn’t responding right now.
The workspace shows this banner when the computer itself isn’t answering. The full text ends “Terminal and editor are unavailable until it’s back. We’ve been alerted.” Reset isn’t available while the banner shows. Wait for the banner to clear. Your files are safe.
This computer is parked — it’s out of Runtime Credits.
The workspace shows this banner when the account has no Runtime Credits left for the computer. Its Terminal, Editor, Files and Preview windows are closed. Visitors see “This website is temporarily unavailable”. Restores, Reset and restarts are refused, and MCP commands fail with box_parked_runtime. Nothing is deleted. The banner’s Add credits button opens Billing, which doesn’t sell credits. The computer comes back once the account has credits again, such as when the next monthly allowance arrives. See Billing.
This computer is dormant.
The workspace shows this banner when the account holds more computers than its plan allows. The full text continues “Your plan has room for N computers; this one is asleep with its files kept. Upgrade to bring it back.” It happens after a plan ends or moves to a smaller one. The computer can’t be woken. Its Terminal, Editor, Files and Preview windows are closed, visitors see “This website is dormant”, and MCP commands fail with box_dormant. Nothing is deleted.
To bring it back, make room. Delete another computer in the account, or tick it under Which computers stay live? on the Billing page. A plan with more computers also brings it back. Changing plans isn’t available in the app today, so write to support@rootsy.io for that. See Billing.
This computer is over its N GB storage allowance.
The workspace shows this banner when the computer’s storage is over its plan’s limit. The Terminal, Editor and uploads pause. The Files window keeps working, and the computer’s apps keep serving. MCP commands fail with storage_over_limit.
Delete or download files in the Files window until usage is back under the plan’s storage. Billing lists it. Everything reopens once usage is below 95% of the limit. The banner’s Upgrade button opens Billing, where plan changes aren’t available today. Write to support@rootsy.io for more room.
Workspace paused while you were away
Normal. The workspace disconnects its Terminal, Editor, Files and Preview windows after 15 minutes without keyboard, pointer, scroll or touch input in that tab, so the computer can sleep. The second line reads “Move your pointer or press a key to reconnect.” Do that, or choose Reconnect. Nothing on the computer was stopped. See Sleep and wake.
Couldn’t reconnect. Preserving your editor…
The workspace tried to reconnect after a pause and didn’t get through within 30 seconds. Before it shows “Couldn’t reconnect”, it backs up the Editor’s unsaved changes again. The second line reads “Your work stays here.” Wait for it to finish, or choose Try again.
Couldn’t reconnect
The workspace tried to reconnect after a pause and didn’t get through within 30 seconds. The second line reads “Your workspace is still paused.” Choose Try again.
We couldn’t safely pause the editor.
The workspace couldn’t back up the Editor’s unsaved changes before pausing. The second line reads “Try again, or return to your workspace to check the editor.” Choose Return to workspace to check the Editor and save your files, or choose Try again.
Reload this workspace to reconnect the terminal.
The terminal lost its connection and can’t pick it up again by itself. Choose Reload workspace, or reload the browser tab. Nothing on the computer was stopped.
Logins, carts or sessions reset after the computer sleeps
No error appears, but people get signed out at random. The app keeps sessions in process memory, and a restart wipes it. Store sessions on disk. For Express, replace the default MemoryStore with a file or SQLite store. Anything else an app holds only in memory has the same problem. See Sleep and wake.
A long job stopped partway through
No error appears. The job stalls or vanishes after you close the tab or Claude Code finishes. Nothing was holding the computer awake, so it slept. A process left in the background, a Docker build, or a job waiting on the network may not hold it. Run the job under rootsy keep-awake:
rootsy keep-awake -- ./my-job.sh
See Jobs.
no dashboard connected — the user will see the latest version when they next open it
rootsy preview prints this when no workspace has this computer open, or the open one has paused. Nothing was refreshed or shown, so tell the person which page to open instead of saying you refreshed it. rootsy preview window prints a variant ending “tell the user to use ‘Open in its own window’ on the Preview”.
preview control unavailable on this box
rootsy preview couldn’t reach the computer’s preview service (iw-events). Your app is unaffected. Check it with systemctl status iw-events --no-pager, and restart it with sudo systemctl restart iw-events. Until then, tell the person which page to look at.
domains unavailable right now (control plane unreachable)
rootsy domains couldn’t reach Rootsy. Try again shortly. Your address is still https://<name>.rtsy.dev, and the workspace’s Domains window shows custom domains.
rootsy: pinned claude missing at /opt/iwmwn/claude/bin/claude
The terminal prints this when you run claude and Rootsy’s installed copy of Claude Code is missing or unreadable. Reset reinstalls it and keeps your files under /home, /root and /srv. See Backups and Reset.
NOT a deliberate release — the box was terminated while actively holding awake
rootsy status shows this in its last stop: line after a restart. The computer stopped while something was keeping it awake, which shouldn’t happen. The line ends “Worth reporting.” Report it to Rootsy with the time it shows.
“error”:“schedule_proxy_unavailable”
A rootsy schedules command couldn’t get an answer from Rootsy. A create or run may still have gone through, so don’t send a new one. Use the requestId from the stderr recovery line. Repeat a create with identical input and --request-id <uuid>. Look up a run with rootsy schedules history <schedule-id> --request-id <uuid>. See The rootsy command.
“error”:“invalid_schedule_command”
rootsy schedules couldn’t parse the arguments, and nothing was sent. Common causes: a flag the operation doesn’t accept, create without --timezone, both --json and --file, JSON that isn’t an object, or a GET schedule with a non-null payloadText. The rootsy command lists the flags each operation accepts.
The restore didn’t finish. Your backups are intact and we’ve been alerted.
The Backups window shows this when a restore started and didn’t finish within its time limit. Your backups are unchanged. The workspace banner then offers Restart & check. Choose it to restart the computer and check whether it’s back. The banner’s full text ends “Restart the computer to check whether it’s back.”
Too many restores for now — wait a few minutes.
You can start one restore every 5 minutes and at most 10 in 24 hours, counting failed attempts. Wait and try again.