What’s Changed: Chutes proxy users on Janitor AI are hitting “failed to fetch” errors that the platform’s built-in JLLM never triggers. The root cause is a traffic prioritization system where Chutes deprioritizes third-party requests during peak hours, and the fix depends on which error code you see.
The “Janitor AI failed to fetch” error on the Chutes proxy is not one problem. It is at least six different problems wearing the same error message. Each one has a different cause and a different fix, and the generic “clear your cache” advice that most guides lead with solves maybe one of them.
Chutes operates a traffic hierarchy that most users do not realize exists. Direct Chutes customers get priority over third-party requests routed through platforms like OpenRouter.
That means your Janitor AI session can fail even when both Chutes and Janitor AI show 99.86% uptime on their status pages. The two services are up independently but unable to talk to each other under load.
I have mapped every error code Chutes throws at Janitor AI users, what triggers each one, and the fastest path back to a working chat. If you are staring at a failed fetch right now, find your error code below.

What Each Chutes Error Code Means on Janitor AI
Each error code points to a different layer of the connection chain, and fixing the wrong layer wastes time.

The most common error is a plain “Failed to Fetch” with no code attached. This happens when your browser cannot establish a stable connection with the AI model servers due to API timeouts or network interruptions. It is the vaguest error and the one most often caused by ad-blockers, VPNs, or stale browser cache.
The codes that do show up tell you exactly where the break is. Here is the full map.
| Error Code | Message | What Broke | Your Fix |
|---|---|---|---|
| 401 | Invalid Token | API key wrong or has invisible characters | Regenerate key on Chutes, must start with cpk_ |
| 402 | Requires more credits | Chutes account balance empty | Top up at chutes.ai/billing |
| 404 | Model not found | Model name misspelled in settings | Use exact format: deepseek-ai/DeepSeek-V3-0324 |
| 404 | No matching cord found | API URL is wrong | Set to https://llm.chutes.ai/v1/chat/completions |
| 429 | Infrastructure at maximum capacity | Servers overloaded | Wait 5-10 minutes, retry |
| 429 | Rate-limited upstream | Chutes deprioritizing third-party traffic | Switch to a less busy model or try off-peak hours |
| 500 | Exhausted all available targets | Chutes servers down | Nothing you can do, wait for provider fix |
| 503 | No instances available yet | Model restarting or overloaded | Wait a few minutes for the model to come back |
How to Fix the Most Common Chutes Fetch Failures
The fix sequence matters because each step eliminates a different failure layer, and doing them out of order wastes time.
About 70% of Chutes fetch failures come down to three things: a misconfigured API URL, a stale browser session, or peak-hour congestion. Here is the order I would walk through.
- Verify your API URL is exactly https://llm.chutes.ai/v1/chat/completions with no trailing slash or missing path segment. The “No matching cord found” 404 error is the single most common misconfiguration and the easiest to miss because one wrong character triggers it.
- Check that your API key starts with cpk_ and has no invisible spaces at the beginning or end. Paste it into a plain text editor first to strip formatting. A 401 error means this is the problem.
- Clear your browser cache and cookies for janitorai.com specifically, not a full browser wipe. Disable any VPN or ad-blocker temporarily. The plain “Failed to Fetch” with no error code is almost always this layer.
- If you see a 429 error, check https://status.chutes.ai/ for current server load. During peak hours Chutes prioritizes its own direct customers, so third-party Janitor AI requests get deprioritized. Try a less popular model or wait for off-peak.
- For persistent failures after all four steps, switch your proxy URL to https://api.lorebary.com/chutes as a pass-through. Refresh the chat page completely after changing the URL. Lorebary routes around certain Chutes congestion points and has resolved the issue for many users.
Before: Your API URL is set to https://llm.chutes.ai/v1/ and you get “No matching cord found” on every message.
After: You append chat/completions to get https://llm.chutes.ai/v1/chat/completions and messages go through immediately.
Why Chutes Errors Happen Even When the Status Page Says Everything Is Fine
Chutes runs a traffic priority system that deprioritizes third-party requests from platforms like OpenRouter and Janitor AI during peak load.

The most frustrating failure mode is when both services are technically online but your messages fail anyway. Chutes serves its direct API customers first. When capacity gets tight, third-party integrations like Janitor AI are the first to get rate-limited.
What gives it away is the “rate-limited upstream” variant of the 429 error. It does not mean you personally sent too many requests. The entire Chutes-to-Janitor-AI pipeline is congested, and your request was deprioritized in the queue.
For context, Chutes allows roughly 200 messages per day on its free models, while OpenRouter’s free tier caps at about 50. That higher limit attracts more users to the Chutes path, which creates the congestion that causes the errors in the first place. Janitor AI draws over 100 million monthly visits according to Similarweb, and a growing share of that traffic routes through Chutes.
The DeepSeek V4 setup guide covers the model configuration side in more detail. For the broader question of whether Janitor AI’s model quality is worth the proxy hassle, that comparison helps frame the decision.
When to Stop Fighting Chutes and Switch Proxies
If you are spending more time fixing your proxy than chatting, the Chutes path is not saving you anything.
The Lorebary workaround (changing your URL to https://api.lorebary.com/chutes) solves congestion-related failures for most users. But if you are hitting 500 or 503 errors consistently, the problem is on Chutes’ infrastructure side and no client-side fix will help.
OpenRouter is the main alternative proxy path. The free tier limits you to about 50 messages per day versus Chutes’ 200, but the connection is more stable during peak hours. The Janitor AI alternatives breakdown covers platforms that skip the proxy setup entirely.
If the proxy game is wearing you down, platforms like Nectar AI handle model routing server-side with no user configuration required. CrushOn AI is another option with built-in model switching that skips the entire BYOK setup.
Example scenario: You have been using Chutes with DeepSeek-V3-0324 for two weeks with no issues. One afternoon every message returns “429 Infrastructure at maximum capacity.” You check status.chutes.ai and everything shows green. The issue is the third-party deprioritization during peak load. Switching your proxy URL to https://api.lorebary.com/chutes and refreshing the page gets you back online within 30 seconds.
Frequently Asked Questions
Why does Janitor AI say failed to fetch with Chutes?
The error means your browser lost connection to the Chutes AI model servers. Causes range from a wrong API URL to peak-hour congestion to Chutes deprioritizing third-party traffic. Check your error code to identify the exact cause.
What is the correct Chutes API URL for Janitor AI?
The URL must be exactly https://llm.chutes.ai/v1/chat/completions with no missing segments. The most common 404 error comes from leaving off the /chat/completions path.
How many free messages does Chutes allow per day?
Chutes free models allow roughly 200 messages per day, compared to about 50 on OpenRouter free tier. The higher limit draws more traffic, which is part of why congestion errors are more common.
What is the Lorebary fix for Chutes errors?
Lorebary is a pass-through proxy. Change your chat completion URL to https://api.lorebary.com/chutes and refresh the chat page. It routes around certain Chutes congestion points and resolves fetch failures for many users.
Should I switch from Chutes to OpenRouter?
Switch if you value connection stability over message volume. OpenRouter is more reliable during peak hours but limits free users to 50 messages per day. Chutes gives 200 but with more frequent congestion errors.
Does clearing cache fix Janitor AI failed to fetch?
Cache clearing fixes the plain “Failed to Fetch” error with no error code attached. It does not fix 401 (wrong key), 404 (wrong URL), 429 (congestion), or 500/503 (server down) errors. Match the fix to your error code.
Quick Takeaways
- “Failed to fetch” on Chutes is at least six different errors, each with a different fix mapped in the error code table above
- Chutes deprioritizes third-party traffic from Janitor AI during peak hours, causing 429 errors even when both services show green on their status pages
- The most common misconfiguration is a wrong API URL, it must be exactly https://llm.chutes.ai/v1/chat/completions
- The Lorebary proxy workaround (https://api.lorebary.com/chutes) routes around congestion and works for most users
- If proxy setup is more trouble than it is worth, CrushOn AI and Nectar AI skip BYOK entirely
