OpenCode accounts sign in, as many as you have
Zen connects through your OpenCode sign-in and stays connected, extra OpenCode accounts sign in too, and refused keys are never saved.
A sign-in that works after it says it worked
Signing in to OpenCode from AI Gateway used to report success and then fail the first prompt with a 401. Bandicot now keeps the sign-in itself and sends Zen the account's own access token, for the organisation you signed in with. Before it calls Zen connected, it asks Zen whether the account is accepted, using a check that costs nothing.
The sign-in renews itself a few minutes before it expires, one renewal at a time, so a long session never stops halfway. If OpenCode ends the sign-in, the next prompt tells you to sign in again in AI Gateway instead of failing with a raw error.
Every extra account signs in too
On the OpenCode card, Sign in another OpenCode account opens a new sign-in for a second account. You no longer need to paste a key. Each account gets its own tile, shows the email it signed in with, and keeps its own sign-in, so disconnecting one leaves the others signed in. If you cancel a new sign-in, its empty tile is removed.
OpenCode Go still connects with a Go key, the way OpenCode issues it. Pasted keys for Go or Zen are now checked against OpenCode before they are saved: a key OpenCode refuses is turned away and the previous key is kept. A Zen account with no balance connects, and Bandicot tells you to add credit.