{"version":"2.1.323","anchor":"oauth-token-refresh-request-now-carries-token-state","canonical_anchor":"oauth-token-refresh-request-now-carries-token-state","heading":"Sign-in token refresh requests to SDK hosts now include a token state","tier":"notice","area":"SDK","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323\/e\/oauth-token-refresh-request-now-carries-token-state","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323","markdown":"### Sign-in token refresh requests to SDK hosts now include a token state\n\nWhen Claude Code asks its host program to refresh the sign-in token, the request now carries a token_state field set to \"not_refused\"\n\n**Unclear.** It is not stated when `token_state` takes a value other than `\"not_refused\"`.\n\n**What**\n\nThe SDK is the kit developers use to build their own programs on top of Claude Code. A program built this way is called the host. When Claude Code needs a fresh sign-in token, it sends the host an `oauth_token_refresh` request. That request now includes a `token_state` field with the value `\"not_refused\"`. Before, the request carried only its type.\n\n**Why**\n\nIf you maintain a host that handles token refresh, its refresh requests now carry this extra field.\n\n- Area: SDK\n- Names: `oauth_token_refresh`, `token_state`\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}