The extension keeps asking for a code
Something revoked the token, or the browser lost its copy of it. Those are the only two shapes this takes, and one look at the Connected browsers list tells them apart. If the browser is still listed there, it lost the token locally. If it has gone from the list, the token was revoked. Work down from there.
Was the browser disconnected from either end?
Both Disconnect buttons revoke the same token, so either one is enough to put the popup back on its pairing screen.
In the app, the connect page lists every connected browser with the time it was last used, and Disconnect beside it locks that browser out on its next request. In the extension, the same button sits on its options page. Somebody tidying up the list, or disconnecting what looked like a stale entry, revokes a token that was in daily use somewhere else. A browser missing from the list has been disconnected by somebody, and there is no way to reinstate a revoked token, so reconnecting means a fresh code.
Did you pair a second time in the same browser?
A Chrome profile holds one token. Pairing again replaces the one it had, and the replaced token stays live on the server and stays listed in the app.
So a browser can be connected, working, and shown twice in the list, with one of the two entries belonging to nothing. Disconnecting the wrong one of those looks exactly like a spontaneous disconnection. The last used column is what separates them: disconnect the one that has not been used since you last paired.
Has the extension been reinstalled or moved?
The token lives in the extension’s own local storage, which is per extension and per Chrome profile, so several ordinary things throw it away without revoking anything.
Removing the extension and adding it again is one. Because it installs from a folder rather than from the Chrome Web Store, loading it from a different folder is another: Chrome treats that as a different extension, with its own empty storage. Signing into Chrome as a different person, or using a second profile, gives the popup no token to find. In every one of these the app still lists the old browser, which is the signal to look here rather than at revocation: pair again, then disconnect the entry left behind.
What an unauthorised answer does
When a request comes back unauthorised, the popup discards the token immediately rather than retrying with a credential it now knows is dead, and shows the pairing screen. From the reader’s side that is indistinguishable from never having connected.
Discarding rather than retrying is the right behaviour on a shared machine, and it is why a single revoked request is enough to send you back to a code. A refusal for any other reason is treated differently: going over the rate limit, or picking an issue that was sent while the popup was open, produces an error message next to the field with your title and note still in the form, and the connection is untouched.
Things that do not disconnect it
Several suspects turn out to be innocent, and ruling them out is quicker than testing them.
An extension token does not expire, so nothing goes stale on a timer, and a browser unused for six months connects on the next click. Generating a new pairing code does not revoke anything, since it only replaces the previous unused code. Changing your password leaves connected browsers alone. Neither does signing out of the app, editing a newsletter, or anything you do in the composer. Deleting your account revokes every token, but that is not a case anybody investigates.
Reconnecting
Open Extension in the dashboard sidebar, press Generate a code, and type it into the popup.
The code is 8 characters long and upper case, with the characters that get misread for one another left out of the alphabet. It lasts 10 minutes and works once, and generating a new one expires any earlier unused code, so the one on screen is always the only one that works. Once it is accepted the popup names the account it paired with, and the browser appears in the Connected browsers list. Nothing you had saved is affected: your library, your drafts and your defaults are on the account rather than in the browser, so the only thing a reconnection costs is the code.
Still stuck
Write to us if a browser keeps losing its connection with nothing in the list changing and no reinstall behind it.
Include the browser name as it appears under Connected browsers and roughly when it last worked. Those two together let us see whether the token was deleted and when, which separates a revocation somebody performed from a browser that is throwing its own storage away, and the fixes for those two have nothing in common.
Questions
Does signing out of Issue Mint disconnect the extension?
No. The extension holds a token of its own rather than sharing the browser's session with the app, so it keeps working while you are signed out and would keep working if you never signed in again. That is also why signing back in does not bring a revoked one back.
Why does the popup say my code did not work when I know it is right?
A code is eight characters, lasts ten minutes, works once, and is replaced the moment you generate another. Wrong, expired and already used all get the same answer back, deliberately, because saying which of the three it was tells somebody guessing more than they should know. Generate a fresh one and type it straight in.
Try it on your own list.
14 days, every feature, no card. Sending works from the moment you sign up.
Start your trial