What’s Changed: Janitor AI’s JLLM model swapped to a new base architecture on April 20, 2026 and the new tuning has a built-in tendency to loop phrases and double tokens. The repetition is not your character card. Lower the repetition penalty to 1.05, bump temperature to 0.85, trim permanent tokens under 2,500, reroll instead of re-prompting, and have a DeepSeek V4 or Claude proxy ready as the fallback when the model gets stuck.
The Janitor AI repetition loops are everywhere on r/JanitorAI_Official this month and most of the “fixes” being passed around make the problem worse, not better.
The real cause is structural: JLLM swapped to a new base architecture on April 20, 2026 that is tuned on Gemini and Opus data, and the developers have publicly acknowledged the looping tendency is baked into the architecture, not solvable by parameter tuning alone.
What that means for you as a user is the fix is not “turn up the repetition penalty.” That makes it worse. The fix is a sequence of small adjustments plus a fallback proxy ready when the model genuinely gets stuck.
This guide covers the exact parameter values, memory budgets, swipe strategies, and proxy alternatives that work in May 2026.
From what I have seen across the r/JanitorAI_Official threads, the same five mistakes show up over and over: cranking the repetition penalty, sending the same prompt twice, leaving 4,000-token character cards in place, ignoring the swipe button, and not having a proxy configured.
Fix those five and JLLM goes from unusable back to acceptable.

What Changed With JLLM in April 2026
JLLM swapped to a new base architecture on April 20, 2026, tuned on Gemini and Opus data, which has a known tendency to loop phrases and double tokens.
The developers have publicly acknowledged this is “baked into the architecture” and cannot be fully solved through parameter tuning alone.
The removal of a dead GPU endpoint on May 8, 2026 redistributed traffic and made the architectural flaws more visible to the general user base.

The new tuning data produces a different failure mode than the old JLLM. Where the previous version would politely refuse or end mid-sentence, the new architecture tends to repeat the same sentence three times before cutting off, or double tokens within a single sentence (“she walked walked into the room”), or get stuck on a single emotional beat that the character then re-narrates every turn.
This is the same broader quality drop covered in the JanitorAI JLLM quality drop coverage, but repetition is the most fixable symptom of the bunch.
The grammar issues and the incomplete responses each have their own playbook in the JLLM grammar fix guide and the incomplete responses fix. This piece focuses on repetition specifically.
Why It Matters for Your Roleplay
Repetition loops kill immersion within three message turns and force you to either reroll constantly or migrate the chat to a proxy.
The cost is not just the broken message: it is the cognitive load of editing every reply, the lost narrative momentum on multi-day chats, and the wallet pressure when you start paying for an external API to escape the issue.
According to Pew Research on chatbot usage, a meaningful share of users abandon a chatbot platform within two weeks of hitting consistent quality issues, and the AI companion category has higher-than-average sensitivity to writing quality because the use case is creative and continuous, not transactional.
For multi-day roleplays specifically, the repetition issue compounds. A chat where every fourth reply needs a reroll is a chat where the narrative drifts away from where you wanted it, the character starts blending into a generic AI register, and the experience erodes session by session. Fixing repetition early in a session is the difference between a chat you stay with and a chat you abandon.
What to Do About It
The fix sequence is five steps in order: lower the repetition penalty, raise temperature, trim character tokens, reroll instead of re-prompting, and configure a proxy fallback for when JLLM cannot be saved.
Each step targets a different cause of looping, and skipping any one of them leaves the loop partially intact.

The numbered playbook the way I would run it on a fresh chat.
- Drop repetition penalty to 1.05. The new JLLM architecture is highly sensitive to this parameter. Setting it above 1.10 makes loops worse, not better. The common mistake of cranking it to 1.20 or 1.30 in hopes of breaking the loop is the single most damaging “fix” circulating on Reddit right now.
- Bump temperature to 0.85. The new tuning produces a homogenized voice across bots. Higher temperature reintroduces variety. Push to 0.90 to 0.95 if 0.85 still feels stiff, but watch for incoherence above 0.95.
- Trim character permanent tokens to 1,500 to 2,500. Character cards above 4,000 permanent tokens exhaust the memory budget, which triggers loops and detail loss. Cut the backstory paragraphs that the bot has not touched in the last 30 messages.
- Reroll on first signs of looping, do not re-prompt. When the bot starts repeating, hit the swipe or reroll button. Do not send the same prompt twice expecting different results. The looping tendency is per-prompt, and a fresh roll from a different sampling path usually breaks it. Sending the same prompt three times reinforces the loop.
- Configure a DeepSeek V4 or Claude proxy as fallback. When the first four steps fail, route to an external API. DeepSeek V4 is the community favorite right now: 1-million-token context window, permissive on creative content, and significantly cheaper than OpenAI or Claude. OpenRouter as the access layer means a single $10 top-up gives roughly 1,000 messages per day across various model tiers.
| Symptom | Likely cause | Fix |
|---|---|---|
| Same sentence 3 times in a reply | Repetition penalty too high | Drop penalty to 1.05 |
| Bot homogenized, all chars sound the same | Temperature too low | Raise temperature to 0.85 to 0.95 |
| Bot loops on early message details, forgets recent | Character card over 4,000 tokens | Trim permanent tokens to 1,500 to 2,500 |
| Reply ends mid-sentence with partial word | Early-stop on repetition loop | Reroll, do not re-prompt |
| All four above tried, still looping | Architecture limit | Route to DeepSeek V4 via OpenRouter |
| Doubled tokens “walked walked into” | Per-prompt sampling glitch | Reroll once, usually resolves |
Vague: “Just lower the repetition penalty.”
Specific: “Set repetitionpenalty to 1.05 (not 1.0, not 1.10), temperature to 0.85, topp to 0.85, and presence_penalty to 0.3. Save these as your default JLLM preset and apply them to every new chat. The defaults JanitorAI ships with after the April 20 swap are tuned for the old architecture and produce loops on the new one.”
When to Migrate Off JLLM Entirely
If the five-step playbook fails on a specific chat or character card you care about, the right move is to migrate that chat to an external model via proxy rather than burn more time on JLLM parameter tweaks.
The architecture is what it is. Some character cards and some roleplay styles just trigger the loop regardless of settings.
Three migration paths in order of cost-to-benefit.
- DeepSeek V4 via OpenRouter. Cheap, permissive, large context. The DeepSeek V4 on JanitorAI piece covers the setup details. This is the first move for anyone facing the JLLM loop on a chat worth saving.
- Claude via OpenRouter. Highest writing quality, but the most expensive. Worth it for chats where the character voice is the main thing and DeepSeek’s output feels too workmanlike.
- Migrate the platform. If JanitorAI itself is the issue (not just JLLM), the two most-cited alternatives in r/JanitorAI_Official discussions this month are CrushOn AI for unfiltered text-first roleplay with strong memory and Nectar AI for slider-based visual companions. The CrushOn AI signup and Nectar AI signup are both clean migration paths if you want to leave the JLLM situation behind entirely.
For users who want to stay on JanitorAI but escape the JLLM-specific problems, an external API key (DeepSeek V4 or Claude) keeps the character library, the chat history, and the platform UI while replacing the model that is causing the loops. This is the lowest-friction migration if you have invested in character cards you do not want to rebuild.
Frequently Asked Questions
Why does JanitorAI’s JLLM repeat the same response?
JLLM swapped to a new base architecture on April 20, 2026 that is tuned on Gemini and Opus data, and the new tuning has a known tendency to loop phrases and double tokens. The behavior is structural, not user error.
What repetition penalty value works for JLLM in 2026?
1.05 is the value that works. Anything higher than 1.10 makes the looping worse because the new architecture is highly sensitive to this parameter. Most users overshoot this setting.
Will increasing temperature fix the loops?
Partially. Bumping temperature to 0.85 to 0.95 reintroduces voice variety and helps with the homogenized-character problem, but it does not solve the per-prompt sampling loops on its own. Pair it with the repetition penalty drop.
Should I trim my character card?
Yes if it is over 4,000 permanent tokens. Aim for 1,500 to 2,500. The memory budget exhaustion at 4,000-plus is one of the biggest contributors to loops because the bot loses access to recent context and starts replaying older patterns.
What’s the best external API for JanitorAI in May 2026?
DeepSeek V4 via OpenRouter is the community favorite. 1-million-token context, permissive on creative content, significantly cheaper than OpenAI or Claude. A $10 OpenRouter top-up gives roughly 1,000 messages per day.
Does Immersive Mode help with repetition?
Not directly. It can help with narrative flow, but it makes manually catching a loop harder because the edit and delete options are less visible. Turn it off until you have your parameter sequence dialed in.
Is the looping issue going to be fixed by JanitorAI?
The developers have stated the tendency is architectural. A future JLLM V2 beta or model swap might address it, but as of May 2026 the workarounds are the path forward.
Closing Note
The repetition loops on JLLM are frustrating but they are not your character card and they are not your settings (unless you have been over-correcting). The five-step playbook above resolves most cases. The proxy fallback resolves the rest.
For a broader read on whether JanitorAI itself is worth staying on, the is JanitorAI getting worse piece covers the platform-level question. For users already convinced it is time to migrate, the CrushOn AI signup lands you on an unfiltered text-first platform with stronger memory and flat-rate pricing that does not bleed credits on heavy use.
