# 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:

```sh
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](https://rootsy.io/docs/reference/serving.md)). 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](https://rootsy.io/docs/reference/backups-and-reset.md).

## 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:

```sh
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](https://rootsy.io/docs/reference/computer.md).

## 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](https://rootsy.io/docs/reference/jobs.md)).
- 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](https://rootsy.io/docs/reference/domains.md).

## 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](https://rootsy.io/docs/reference/billing.md).

## 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](https://rootsy.io/docs/reference/billing.md#when-a-plan-shrinks-or-ends).

## 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](https://rootsy.io/docs/reference/billing.md#what-each-plan-includes) 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](https://rootsy.io/docs/reference/sleep.md).

## 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](https://rootsy.io/docs/reference/sleep.md).

## 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`:

```sh
rootsy keep-awake -- ./my-job.sh
```

See [Jobs](https://rootsy.io/docs/reference/jobs.md).

## 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](https://rootsy.io/docs/reference/backups-and-reset.md).

## 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](https://rootsy.io/docs/reference/cli.md).

## "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](https://rootsy.io/docs/reference/cli.md) 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.

---
Page: https://rootsy.io/docs/reference/troubleshooting/ · Updated: 2026-10-21 · All docs: https://rootsy.io/llms.txt
