Frozen Cursor & Spinner: Why Inline AI Feels Slow (and How to Fix It)
The pitch was “invisible” editing: select, press, done. The reality is you hit the hotkey, a little spinner appears, your cursor locks up, and you sit there for five, eight, ten seconds watching a loading wheel before anything changes. Do that thirty times a day and the “invisible” tool is the most visible thing on your screen.
The slowness is real, but most of it is avoidable. Here’s what’s actually taking the time, and what separates a tool that feels instant from one that makes you wait.
Where the seconds actually go
When you trigger an inline rewrite, several things happen in sequence:
- The tool reads your selection (fast — milliseconds).
- It sends your text to a cloud AI model over the internet (network round-trip).
- The model generates the rewrite token by token (this is the slow part).
- The tool writes the result back into your document (fast).
Step 3 dominates. A frontier cloud model writing a few sentences genuinely takes a handful of seconds — it’s generating the text one piece at a time. Add network latency (step 2) and you’re at 5–10 seconds for a non-trivial rewrite. That’s inherent to using a capable cloud model; you can’t make the model think faster from the client side.
So if the work genuinely takes several seconds, why do some tools feel slow and others feel instant? It’s not the wait — it’s how the wait is presented.
The real problem isn’t latency. It’s blocking.
Slow tools make two mistakes:
- They block your cursor. The whole UI locks while the request is out. You can’t type, can’t move, can’t do anything but watch. Even a 4-second wait feels like forever when you’re frozen out.
- They show a generic spinner. A featureless loading wheel gives you zero feedback. You don’t know if it’s working, stuck, or about to fail. (And if it’s one of those tools that silently fails in Electron/Java apps, the spinner may never resolve at all — see AI hotkey not working in Slack / VS Code.)
The fix isn’t to make the model faster. It’s to stop blocking and start streaming.
How streaming makes the same wait feel instant
Modern AI models can stream their output — they send each piece of the rewrite the moment it’s generated, rather than holding everything back until the whole thing is done. A well-built inline tool uses this:
- The first words of the rewrite start appearing in place within a fraction of a second.
- You watch the text arrive, token by token, instead of staring at a spinner.
- Your cursor isn’t frozen behind a modal wheel.
The total time is the same — but the experience is completely different. Progress you can see doesn’t feel like waiting; it feels like the tool is working with you. This is the single biggest factor in whether inline editing feels “invisible.”
What you can do about a slow tool today
- Use shorter selections. The model generates faster on less text. Rewriting a sentence is far quicker than a page.
- Pick faster models where the task allows. A lightweight model for typo fixes is near-instant; save the heavyweight model for complex rewrites. Some tools let you route trivial edits to a fast/local model and only send complex ones to the cloud.
- Check it’s not actually a failure. If the spinner never resolves (vs. resolving slowly), you’re probably hitting the silent-failure bug in an Electron or Java app, not a speed problem. Different fix entirely.
- Switch to a streaming tool. If your tool blocks and spins, no setting will fix the feel. The architecture is the problem.
How EditSnappy fixes this at the root
EditSnappy streams the rewrite into place instead of freezing the cursor behind a spinner. The text starts arriving in a fraction of a second and flows in token by token, right where you’re typing — so even a complex cloud rewrite feels like the tool is working with you, not making you wait on it. There’s no modal loading wheel locking your cursor.
[[MISSING: confirm whether EditSnappy’s smart local↔cloud routing — fast/local model for trivial edits, cloud for complex — is in scope for launch; master-sales-copy §5 lists it as a reach goal, not a table-stakes feature.]] Where it applies, routing trivial fixes to a fast path makes the common case feel instant and reserves the cloud wait for edits that actually need it.
See how EditSnappy works and feel the difference streaming makes.
Related
- AI hotkey not working in Slack / VS Code: why
- When AI hallucinates a rewrite mid-edit
- Tab fatigue: the hidden cost of the copy-paste-to-ChatGPT loop
Part of the Why Inline AI Editors Fail troubleshooting hub · EditSnappy home.