Public: anyone can read this; nobody can change it.

Any one-line secret is a model key; a setup-token may go to a child under a budget #28

Merged opened this view on origin

Check · Review · Land done · Live — Landed; nothing deploys from this branch, so this is the end of its path.

Merged

The owner's words: "now we get api credits with our subscription so we can use api keys prefixed sk-ant-usr-*. also this shouldn't be a constraint. i should be able to put in any api key and base url … also i need to be able to use an sk-ant-oat01-* token."

shipped merged

opened this view on origin

The owner's words: "now we get api credits with our subscription so we can use api keys prefixed sk-ant-usr-. also this shouldn't be a constraint. i should be able to put in any api key and base url … also i need to be able to use an sk-ant-oat01- token."

kindOfToken kept a list of shapes (sk-ant-api, sk-or-v1, or anything with a base URL). The sk-ant-usr… keys that come with a subscription's API credits were refused, and so was a gateway's key without a URL. The list is gone: a claude setup-token token (sk-ant-oat…) is a person's plan and goes under CLAUDE_CODE_OAUTH_TOKEN; any other one-line secret is an API key under ANTHROPIC_API_KEY (with ANTHROPIC_BASE_URL when a base URL is set), and the provider answers a bad one on the first call. Still refused: spaces, nothing, absurd lengths, and a base URL on a setup-token.

The spawn door accepts a setup-token for a child too, under the same whole-life budget a key gets: whose plan the child spends is the spawner's call. The forms and refusals say the new rule in plain words.

Tests: test/subscriptions.test.ts (a sk-ant-usr key and a bare secret are keys; empty and spaced are refused; the page refuses a spaced token), test/spawn-keys.test.ts (a setup-token and a credits key plan a child; a setup-token with a base URL is refused; a spaced key is refused), test/new-forge.test.ts (the error beside the field).

🤖 Generated with Claude Code

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs