Janitor AI not working: how to actually fix it
Updated 2026-07-15
Most "Janitor AI is not working" reports trace to one of four causes: the shared default backend queuing under peak-hour load, a stale browser session or cache, an extension silently blocking requests, or, for anyone on proxy mode, a dead or rate-limited API key. Work through the checklist below in that order before assuming the whole platform is down.
Quick answer: check these four things first
"Janitor AI is not working" almost never means the entire platform is down for everyone at once. In order of how often each one turns out to be the real cause: the built-in backend is overloaded during a peak evening window and queuing or timing out silently, your browser is holding a stale session or a cached bundle from before the last update, an ad blocker or privacy extension is quietly blocking the fetch calls the chat page depends on, or, if you have a custom API connected, the key behind it is dead, rate-limited, or misconfigured. Work through those four in order before you clear your whole browser or wait out an outage that may not even be happening. A hard refresh, a private window, and the 10-second connectivity test further down this page isolate the actual cause faster than reinstalling anything.
Why Janitor AI breaks down more than it looks like it should
None of this means your account or your setup is broken. It means a chat app built on a shared backend, a growing conversation, and a live network connection has more failure points than "is the website up" suggests.
- One shared backend, every free user: the built-in model runs on infrastructure sized for average load, not peak load. A US evening surge pushes it into queuing or dropped requests that look identical to "the site is broken."
- Chats grow past what a request can carry: every message resends the character card, persona, and recent history. Past a certain size, a single request can cross the backend's timeout window and simply never return, with no error shown.
- A filtered reply can come back empty instead of visible: some moderation layers send back nothing rather than a warning message, so a blocked response reads as a hang instead of a block.
- Extensions block requests without telling you: ad blockers and privacy tools that stop third-party network calls can silently drop the exact requests JanitorAI's chat page depends on.
- Sessions expire while the page still looks logged in: multiple open tabs, a long idle period, or a backend deploy can invalidate your session token in the background.
- Mobile browsers throttle backgrounded tabs: switching apps mid-generation on a phone can suspend the tab and kill the request before a reply lands.
The math: escaping a shared key costs cents, not dollars
If your diagnosis lands on "the same proxy dies every evening," the actual fix is not a bigger workaround, it is a personal key so your quota is not split across everyone else hitting the same free pool at the same hour. Roleplay chat is input-heavy: JanitorAI resends the character card, persona, and recent history with every message, so 6,000 input tokens and 300 output tokens per message is a realistic baseline for a detailed card and a mid-length chat. Run that baseline at a heavy 80 messages a day for a month and the difference between models tells the whole story. On a budget model, a personal key that never queues behind a crowd is a rounding error next to what a flaky free proxy already costs you in frustration.
| Model | Input $/1M tokens | Output $/1M tokens | Est. cost, 80 msgs/day for a month |
|---|---|---|---|
| deepseek-v4-flash | $0.126 | $0.252 | ~$2.00 |
| glm-5 | $0.514 | $2.314 | ~$9.07 |
| claude-sonnet-4-6 | $2.40 | $12.00 | ~$43.20 |
Why "it's not working" catches people off guard
Each of these has a specific, boring fix. None of them require a support ticket or a reinstall, and most resolve inside the time it takes to read the next section.
- "Down for me" is not always down for everyone: peak-hour congestion on a shared backend is uneven, so your chat can queue for a minute while someone else's loads without a hitch.
- A 429 looks exactly like an outage: a rate limit on a shared or free key produces the same blank result as a real server failure, but the fix is different, wait or switch keys, not different infrastructure.
- Extensions rarely show an error: a blocked fetch call usually never resolves rather than failing loudly, so the page looks stuck instead of broken.
- Your own chat can be the actual cause: a card and history that quietly crossed a token or timeout limit behaves like a platform bug, but the fix is trimming the conversation, not waiting for a status update.
- Logging out fixes more than it gets credit for: a stale session token is invisible until you sign out, because the page keeps rendering as if you were still authenticated.
Default model vs a connected API: which one fails, and how
The two modes fail differently, which is useful once you know which one you are diagnosing. The built-in model shares one backend with every free user on the platform, so its failure mode is congestion: queuing, timeouts, and a generic error message with no code attached. A connected API, whether a provider's own endpoint or a gateway, fails the way any HTTP API fails: with a status code you can look up and a cause you can isolate in one curl request.
| Aspect | Built-in default model | Connected API (proxy mode) |
|---|---|---|
| Uptime dependency | JanitorAI's shared backend, outside your control | Whichever provider or gateway you picked, swappable in seconds |
| Peak-hour behavior | Queues or silently drops requests platform-wide | Only affected if your specific key is rate-limited |
| Error visibility | Generic "error occurred" with no code attached | Standard HTTP codes (401, 404, 429, 500) you can look up |
| Who shares your quota | Every free user on the platform, all at once | Nobody, once the key is yours alone |
| Typical cost | Free, with no uptime guarantee | Pay-as-you-go per token, budget models cost a fraction of a cent per message |
| Fix when it breaks | Wait, or check community status channels | Test with curl, then swap the key or model in the settings |
The fix list, in the order that actually works
Work down the list until one step changes what you see. Most people never get past the third item.
- Blank screen, nothing happens when you hit send: disable ad blockers and privacy extensions first, or open the chat in a private window. A blocked fetch call is the most common silent cause and never shows an error.
- "Error occurred, please try again" on every message: hard refresh and clear site data before anything else. A stale cached bundle from before the last update behaves exactly like a broken backend.
- A reply that comes back completely empty: shorten or edit your last message. A filtered response often comes back as nothing rather than a visible warning, so an empty bubble usually means the message got blocked, not that the app hung.
- Worked yesterday, fails today, only in one long chat: start a fresh chat or trim the persona and card. A conversation that quietly crossed a token or timeout limit fails the same way on every message until you shorten it.
- Stuck on a spinner right after logging in fine: log out completely and back in. A session token can expire in the background while the page keeps rendering as if you were still signed in.
- On proxy mode and it stopped overnight with no changes on your end: test the endpoint outside JanitorAI first with the curl command below, then match the error code against the table in the next section.
- The same proxy dies every evening at the same hour: that is a rate limit on a shared or free key, not a real outage. The durable fix is a personal pay-as-you-go key so your quota is not split across a crowd; pointing the proxy field at an OpenAI-compatible gateway such as APIsRouter is a settings change, not a rebuild, and budget models cost a fraction of a cent per message.
Confirm it is not your proxy: a 10-second test
If you have a custom API connected, isolate it before touching JanitorAI's settings again. The curl call below hits the chat completions endpoint directly, using APIsRouter as the example endpoint: swap in your own key, URL, and model, and a clean JSON reply back means your proxy is fine and the "not working" report is happening somewhere else in the chain. No reply, or an error code, points straight at the row to fix in the table below.
| Error | What it means | Fix |
|---|---|---|
| 401 Unauthorized | Key is wrong, revoked, or has stray whitespace pasted around it | Re-paste the key with no spaces, confirm it matches the provider behind the URL |
| 404 Not Found | URL path is incomplete, usually a base URL missing /chat/completions | Use the full endpoint ending in /chat/completions |
| 429 Too Many Requests | The key hit its rate limit, common on shared or free keys during peak hours | Wait and retry; move to a personal key if it happens every evening |
| 500 / 502 / 503 | Backend-side failure on the provider, not your configuration | Retry after a minute; check provider status if it keeps happening |
| Timeout, no response | Endpoint slow, unreachable, or the reply is too long for the time limit | Lower max tokens in generation settings and retry off-peak |
curl https://api.apisrouter.com/v1/chat/completions \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-flash",
"messages": [{"role": "user", "content": "Say ready."}],
"max_tokens": 20
}'FAQ
Why is Janitor AI not working right now?
Most reports trace to one of four causes: the shared default backend queuing under peak-hour load, a stale browser session or cached bundle, a browser extension quietly blocking the chat page's requests, or a dead or rate-limited key if you have a custom API connected. Check community status channels first to rule out a platform-wide outage, then work through the browser fixes.
Why does Janitor AI say "error occurred, please try again"?
That message is generic and covers backend overload, a timed-out request, and a stale cached page equally. Hard refresh and clear site data first; if the error persists in a fresh private window, check whether the community is reporting the same issue at the same time.
Why am I getting a blank or empty response on Janitor AI?
An empty reply is often a filtered response coming back as nothing instead of a visible warning, rather than the app hanging. Shorten or edit your last message and try again. If every message in one long chat comes back empty, the card and history may have quietly crossed a length limit, and starting a fresh chat usually resolves it.
Why is Janitor AI stuck on the loading screen?
A stuck spinner is usually a stale session token or an extension blocking the request, not a real outage. Log out fully and back in, or open the chat in a private window with extensions disabled, and the page should resolve within a message or two.
Is Janitor AI down, or is it just my connection?
Check the community Discord or subreddit before assuming either. Peak-hour congestion on the shared backend is uneven, so it can queue for some users and load fine for others at the same moment, which is why "is it down" answers vary by the minute.
What is the cheapest way to get a Janitor AI connection that does not die at peak hours?
A personal pay-as-you-go API key, because the failure you are avoiding is a shared quota, not the model itself. One OpenAI-compatible option: checkout at /topup takes payment before any signup and emails the key, global models are priced 20% below official list, and a budget model like deepseek-v4-flash runs a fraction of a cent per message, so a personal key that never queues behind a crowd costs closer to a few dollars a month than a subscription.