Automatically retry failed, empty, stalled, or cut-off replies, with optional refusal detection.
About
A Lumiverse extension. It re-runs an AI reply when it fails, comes back empty, stalls partway, gets cut off mid-sentence, or refuses by mistake, so you do not have to catch it and press regenerate yourself.
It works alongside Auto Refine. Auto Retry decides whether a reply is worth keeping. Auto Refine improves the ones that are.
Permissions
5 permissions
Granted on install
Open floating widgets and docked panels.
Needs an admin to approve
Run text generations for you and see your connection profiles.
Read, change and delete your chats.
Read, create, change and delete your characters.
What it adds
5 additions
- 4
Input bar action
Drawer tab: Auto Retry
Float widget
Input bar action: Auto Retry settings
- 1
Prompt interceptor
Version and source
2 details · 1 link
Details
5.8.2
0.1.0
Links
What it does
It watches each reply and tries again when:
the provider sends back an error (by default it skips errors that will not go away, like a wrong API key)
the reply comes back empty, including one that "thinks" but never writes anything
the reply is cut off mid-sentence (see Cut-off detection)
the reply is an accidental out-of-character refusal, or the model breaks off mid-scene
(see Accidental-refusal detection)the reply stops arriving partway and nothing more comes for a while
a reply never starts or never finishes
(optional, off by default) the reply is very short
(optional, off by default) the model leaves the scene to offer real-world support
(see Stopping to offer support, and Safety before switching it on)
Also:
Every retry waits a little longer than the last, and longer again when the server says it is busy.
All the reasons share one retry limit, so no reply is retried more than you allow, and it can never loop forever.
A reply written by Impersonate into your input box is never retried.
Install
In Lumiverse, open Extensions.
Install from this address:
https://github.com/starlitcode/Lumiverse-Auto-Retry
To see its settings, open the chat input bar, tap Extras, and choose Auto Retry settings.
It works with no setup. Everything else is optional.
You are in control
Stop, or Cancel on the retry pop-up, stops it right away. Any waiting retry is dropped, the count resets, and a stopped reply cannot start again by itself.
Cancel on the pop-up belongs to the extension, so it always works.
To switch it off for one chat, or everywhere, see Turning it off.
More from the README
4 items
Not for sexual content involving minors
Auto Retry is not intended for sexual content involving minors, and I do not condone or support anybody using it for that.
So nobody has to guess what that means for their own chats, here is exactly what it does:
It never reads your story to judge it, and never changes a word of it. It watches how a reply ended and, when that looks wrong, presses Lumiverse's own retry button. It has no rules about what a story may contain.
A retry asks your model again for the same reply. Whether anything is written is still up to your model and your provider. Retries stop at Most tries per message, 4 by default.
It recognises a refusal about a character's age for one reason: models sometimes misread an adult character, written as an adult, as a minor, and that refusal should not have happened. It cannot tell a mistaken refusal from a correct one, so with It looks like an accidental refusal on, which it is by default, any refusal it recognises is retried the same way, up to that limit. It is not there to get sexual content involving a minor past a model.
A provider that blocks a request before anything is written is treated as a refusal too, for the same reason, and with the same limit.
The retry notes are off by default. Switched on, one is sent with a refusal retry. None of them mentions age or any subject, and every word of each is on the panel before you pick it.
The words it recognises refusals by, including the ones about age, are listed on When it retries. None of them reaches a prompt.
I cannot control what somebody does with an extension once they have it. What I can do is say plainly where I stand.
Documentation
When it retries: cut-off detection and accidental-refusal detection
All settings: every option with its default, the panel, and turning it off
Buttons it clicks: fixing the regenerate button, Regeneration Feedback, writing selectors
The on-screen panel: the log, the prompt viewer and the stats
Import and export: moving your setup between devices
Reporting a bug
Safety: who this is built for, the one setting that asks before it turns on, and what the retry loop can turn into
Privacy: what the extension can and cannot reach, what it keeps, and how to check any of it
Security policy: how to report a security problem
Changelog: what changed in every version
How it works
It listens to Lumiverse's own generation events. When a reply goes wrong, it presses your swipe or regenerate button to try again.
Pressing that button is the only part that depends on the page layout. If a Lumiverse update moves the buttons, Buttons it clicks shows how to point it at the new ones.
A small backend keeps your settings with your account, not in one browser, and holds the retry note for the one reply it is meant for.
It makes no network calls of its own. Privacy covers the five permissions it asks for and what still works without each one.
The files Lumiverse loads are
dist/frontend.jsanddist/backend.js. They are plain, readable JavaScript, not minified. Privacy goes through the rest of the repo file by file.