Connect a personal subscription credential
Auth & consent explains why a personal subscription Credential (an OAuth token or an uploaded auth file) needs an explicit, recorded consent step and a vendor api_key never does. This page is the "how": the Quickstart only walks the api_key path, so if you're bringing your own Claude or Codex subscription instead, start here.
Steps
- Open Auth in your Dashboard (
#/auth). - Find the Provider you want to connect (Claude or Codex). Each one shows how to get the credential value itself:
- Claude: run
claude setup-tokenwhere you're already logged into Claude Code. It prints a long-lived token starting withsk-ant-oat01-. - Codex: run
codex loginon your own machine to authorize in a browser, then upload the resulting~/.codex/auth.jsonfile.
- Claude: run
- Check the consent checkbox under that Provider — it reads something like "I consent to using my own Claude subscription for unattended, automated work here." The Save/Upload button stays disabled until you do.
- Paste the token (or choose the file) and click Save
<Provider>token / Upload auth.json.
What happens next
Saving blocks for a few seconds — your Stack validates the credential by actually exercising the Runtime with it, never assuming it's valid just because you provided one. On success, the Provider's badge turns authenticated and your consent is recorded with a timestamp, so you won't be asked to re-consent the next time you rotate the same Provider's token. On failure, the badge stays as it was and an error message explains why.
Related
- Auth & consent — why this consent step exists and what it does and doesn't cover.
- Quickstart — the
api_keypath, which skips this consent step entirely. - Reconnect after a credential alert — what to do if this credential later stops working.