The same tool used in a browser and used from code does not place the same demands on a route.
Web: one exit for the whole session
Every request in the browser goes through the current exit, and a tab moved to the background gets throttled. Leave a chat page idle for a long time and you may come back to an expired session that wants verification again. The core requirement for web use is that the exit stays the same for the whole session; the speed only has to be adequate.
API calls: a stable exit plus an unbroken long connection
An API does not care about the browser; it cares about two things: a stable exit and a long connection that is not interrupted. Streaming responses (returned token by token) are the most sensitive to a mid-stream disconnect — one break and the whole response is void. Set sensible timeouts and retry counts on the calling side, and space the retries out so you do not fire a burst of failed requests.
Command Line, IDE Plugins and CI
Developer workloads send many small, frequent requests and are more sensitive to latency and packet loss. Most command-line tools accept a proxy port through an environment variable, and IDE plugins usually take the same address in their settings; CI environments need a fixed exit, otherwise every build comes from a different IP and is easily flagged as unusual access.
# Example: point a command-line tool at the proxy port provided by the local client
# Use the port shown in the client's settings page; the value below is for demonstration
export HTTPS_PROXY=http://127.0.0.1:1080
export HTTP_PROXY=http://127.0.0.1:1080