{"version":"2.1.277","anchor":"device-binding-now-reports-a-distinct-revoked-failure-reas","canonical_anchor":"device-binding-now-reports-a-distinct-revoked-failure-reas","heading":"Revoked device keys now get a distinct 'device_revoked' reason instead of a silent retry","tier":"notice","area":"Device Binding","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.277\/e\/device-binding-now-reports-a-distinct-revoked-failure-reas","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.277","markdown":"### Revoked device keys now get a distinct 'device_revoked' reason instead of a silent retry\n\nDevice sign-in and sync now recognize a revoked device key as its own failure reason, shown as removed from claude.ai devices, instead of silently retrying\n\n**What**\n\n- The device-linking flow used to catch a \"device key revoked\" error and automatically re-register; that automatic retry has been removed. Registration failures are now classified explicitly, including a new `device_revoked` reason.\n\n- Device-bind failure telemetry now includes a `revoked` boolean, and the failure outcome gains a `device_revoked` case, shown to users as \"removed from claude.ai devices,\" alongside the existing `limit_reached`, `registration_unavailable`, and `no_keychain` reasons.\n\n- The local-tools\/file-sync messages shown when a session is unbound now special-case `device_revoked` with its own explanation, instead of showing the generic sync-error text.\n\n**Why** Users who've had a device removed from claude.ai now see a clear, specific explanation instead of a silent, potentially confusing automatic retry or a generic sync error.\n\n- Area: Device Binding\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5"}