An Old Emacs Daemon Can Keep an Old Proxy
Check the long-lived Emacs server and URL-library proxy state when a fresh emacsclient terminal seems to ignore updated settings.
A new terminal does not make a new Emacs server. emacsclient can ask yesterday's daemon to perform today's package download, using the daemon's old proxy state.
Inspect both the environment and url-proxy-services inside the Emacs session handling the failed request:
| What is stale? | Where to look next |
|---|---|
| The Emacs environment still contains the old endpoint | The server's launch source: user service, desktop session or login-time daemon |
The environment is correct, but url-proxy-services still contains the old endpoint | URL-library initialization and explicit Lisp settings |
The URL library can initialize supported proxy entries from the environment. Changing that environment later does not necessarily rebuild an entry already initialized or explicitly set in Lisp. Client-specific information passed in particular server contexts is not a general reset of the server's proxy configuration.
Correct the intended live configuration and its startup source so the next server agrees. A restart provides fresh initialization too, but save the work held in that server first; closing and reopening a frame may leave the process running.
This diagnosis concerns the URL library. If the package invokes Git, curl or another external downloader, follow that client's configuration instead of expecting url-proxy-services to replace it.