ChatGPT DeviceCheck Registration Failed (403, 500, 503): Real Fixes
DeviceCheckError blocks ChatGPT login on iOS, Android and macOS. The date-and-time advice rarely works. What each code means, the browser-cache fix, and the macOS UCRT root cause.
DeviceCheck errors block ChatGPT login before your password is ever checked, and the official advice about date and time fixes almost none of them. The error means your device could not produce an attestation token proving it is genuine hardware. That is a conversation between your device and Apple or Google — OpenAI is only the party that gets told “no”.
Which is why the same account signs in fine on the website. This page covers what each variant means and the fixes that actually resolve reports, ordered by how often they work.
Error family: DeviceCheckError / "DeviceCheck registration failed"
Also seen as: Token generation failed · Preauth PlayIntegrity verification failed
DeviceCheck token generation is unavailable (macOS)
Codes attached: 403, 500, 503 — these are transport codes, not distinct root causes
Blocks: native app login only. Browser login is unaffected.
Root cause: device attestation, not your OpenAI account
Sources are OpenAI’s own help article, OpenAI Developer Community threads, and openai/codex issue #33463. Read 6 September 2026.
What DeviceCheck Actually Is
Apple’s DeviceCheck and Google’s Play Integrity let an app ask the OS vendor “is this a real, unmodified device?” OpenAI uses that to stop bulk account creation on emulators and modified phones.
The sequence when it fails:
- You tap Log in. The app asks the OS for an attestation token.
- The OS tries to produce one, talking to Apple or Google in the process.
- Something in that chain fails.
- The app never gets a token, so it never sends your credentials, and you see a DeviceCheck error.
Your account is never involved. That is the single most useful thing to understand here, because it rules out password resets, account recovery and support tickets about billing — none of which touch this.
The 403, 500 and 503 in the search results
People search for devicecheck registration failed (403), (500) and (503) because those numbers appear in the error text. They are HTTP statuses from the attestation call, not separate bugs with separate fixes:
- 403 — the request was rejected. Usually integrity: a modified device, or an edge/WAF layer refusing the client. Several iPhone reports trace 403 to a Cloudflare challenge during login.
- 500 / 503 — the attestation service failed or was unavailable. Often transient on the provider side.
If you see 503, wait and retry before changing anything. If you see 403 repeatedly, it is more likely one of the device-side causes below.
Fix 1: Clear Your Browser Cache (Most Reported Success)
The ChatGPT app hands login to your system browser, so a poisoned browser cache breaks the app while the website still works.
This is counterintuitive enough that people skip it, and it is the fix that resolves the most reports.
iPhone: clear the cache in both Safari and Chrome, not just your default.
- Settings → Safari → Clear History and Website Data
- Chrome → ⋯ → Delete Browsing Data
Android: switch your default browser to Chrome and retry. Multiple reports resolve immediately on moving off Brave or a custom browser.
One community report after months of failed attempts: after clearing both Safari and Chrome caches, “it magically started working perfectly.” The mechanism is that login runs through the system browser in the background, so the browser’s state is the app’s state.
Fix 2: Install Pending OS Updates, Then Restart
A pending security update that could not install is a documented cause.
One iPhone report worked through switching Wi-Fi, hotspot, reinstalling, private mode, and logging out and in — none of it helped. The actual cause was an iOS update blocked by low storage. After freeing space, installing, and letting the phone reboot, login worked immediately.
Check Settings → General → Software Update, install anything pending including security responses, and restart before trying again. Outdated security components can cause the edge layer to reject the device during login.
Fix 3: Device Integrity (And Why Retrying Does Not Help)
If your device is rooted or jailbroken, DeviceCheck failing is the system working as designed. OpenAI’s help article names this directly: “Modifications like rooting or jailbreaking may cause this error.”
The detail that wastes people’s time is in the same article: integrity check results can be cached for up to 24 hours. So if you fix the underlying problem and retry immediately, you are testing against a cached failure. Clear the app data before retrying.
On rooted Android with Magisk, the community fix is the Play Integrity Fix module, then reboot. That is a workaround for a check that is deliberately failing, so treat it accordingly.
Fix 4: Clear App and Play Services Data (Android)
Ordered from least to most disruptive:
- Settings → Apps → ChatGPT → Storage → Clear cache
- Same screen → Clear data (this signs you out)
- Settings → Apps → Play Store → Clear data
- Settings → Apps → Google Play Services → Clear cache
Then reboot and retry. Doing all four at once works but tells you nothing about the cause; going in order costs a few minutes and identifies it.
Fix 5: macOS “DeviceCheck Token Generation Is Unavailable”
This variant has a different root cause from every fix above, and none of them will resolve it.
The macOS symptom is distinct: authentication succeeds, the app launches and restores your session, and then Chat fails. From the diagnostics in openai/codex issue #33463, the system logs show:
failed to do a bootstrap look-up: xpc_error=[3: No such process]
Could not find service "com.apple.devicecheckd" in domain for system
preauth_cookie_failed=APIClient.DeviceCheckError: Token generation failed
MobileActivation.ErrorDomain Code=-4 "UCRT is unavailable."
devicecheckd: Failed to fetch client certificate.
One reporter confirmed no HTTP 401, no 403 and no TLS failures — the failure is after authentication, during initialisation. The Secure Enclave key generation and attestation steps succeed; what fails is MobileActivation supplying the client certificate DeviceCheck needs.
What resolved it in that thread:
- A plain reboot, for two reporters on an older app version.
- Updating macOS and restarting. One persistent case survived 26.5 → 26.6 and multiple app updates, then recovered on 26.6.1 with a restart. The logs flipped to
Performing UCRT OOB. Successfully performed UCRT OOB.anddevicecheckdimmediately obtained new attestation certificates. - That same reporter had also changed their Apple Account password and could not tell which action fixed it.
What did not help: creating a new macOS user account (the failure followed), and toggling Find My.
If you are hitting this, update macOS and restart first. It is an Apple-side certificate problem, so reinstalling ChatGPT is not the lever.
What to Do While It Is Broken
Log in through a browser. The web app does not require device attestation, which is exactly why it keeps working when the native app does not. Every community thread on this confirms the website is unaffected.
If you signed up with email and password, do not try Google, Microsoft or Apple sign-in on the app — mixing methods causes its own separate failure. Use the same method you registered with.
If you need API access rather than the consumer app, DeviceCheck is not in the path at all. API keys authenticate with a bearer token and never touch device attestation, so this class of error cannot occur:
curl -X POST https://api.ofox.io/v1/chat/completions \
-H "Authorization: Bearer $OFOX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-5.6-sol",
"messages": [{"role": "user", "content": "..."}]
}'
That is a different product from the ChatGPT app, not a workaround for it — worth knowing only if what you actually needed was programmatic access.
What Does Not Fix It
Collected from threads where people tried these repeatedly without success, so you can skip them:
- Reinstalling the app. Frequently tried, rarely the fix, and on macOS it cannot be the fix because the problem is in Apple’s certificate chain.
- Password resets and account recovery. Your credentials are never sent. The failure is upstream of them.
- Switching Wi-Fi to cellular. Occasionally helps if a network is genuinely blocking the attestation endpoint, but it is far down the list.
- Retrying immediately after a change. Integrity verdicts cache for up to 24 hours. Clear app data or you are re-reading a stale result.
One more, for completeness: a firewall can cause this. One macOS user resolved it by allowing ChatGPT four specific connections in Little Snitch. If you run a per-app firewall, check it before anything else on this page.
Related Errors
If your problem is authentication rather than attestation, these are different failures with different fixes:
- Codex CLI 401 Unauthorized — a real credential rejection, unlike DeviceCheck.
codex: command not foundand EACCES — install-path problems, not login.- Codex “failed to start app-server” on Windows — the Windows desktop equivalent of “the app will not start”, with a completely separate cause list.
Sources
- https://help.openai.com/en/articles/9945489-something-went-wrong-please-make-sure-your-device-s-date-and-time-are-set-properly-check-that-your-internet-connection-is-stable-then-restart-the-app-and-try-again-devicecheckerror
- https://github.com/openai/codex/issues/33463
- https://community.openai.com/t/when-i-log-in-to-chatgpt-i-am-prompted-for-a-login-failure-and-a-message-something-went-wrong-please-make-sure-your-devices-date-and-time-are-set-properly/508758
- https://community.openai.com/t/fix-for-network-error-cloudflare-403-504-on-iphone-worked-for-me/1379385
- https://community.openai.com/t/unable-to-log-into-chatgpt-mac-app/780030
Official causes and the 24-hour integrity cache note are from OpenAI’s help article. The macOS devicecheckd / UCRT diagnostics and the recovery accounts are quoted from openai/codex issue #33463. Remaining fixes are drawn from OpenAI Developer Community threads where a reporter confirmed the fix worked; they are community reports rather than vendor-documented solutions, and none of this is our own reproduction — DeviceCheck failures depend on individual device state and cannot be reliably reproduced on demand.
Frequently Asked Questions
- What does DeviceCheck registration failed mean in ChatGPT?
- It means the app could not generate a device attestation token, so OpenAI cannot verify the device is genuine and blocks the login before your credentials are ever checked. DeviceCheck is Apple's device-integrity API and Play Integrity is the Android equivalent. The failure is about your device's relationship with Apple or Google, not about your OpenAI account, which is why the same account signs in fine in a browser.
- Why does OpenAI tell me to check my date and time?
- Because attestation tokens are time-sensitive and a badly skewed clock will break them. That is a real cause but a rare one. In practice most reports come from a stale browser cache, a pending OS update, a modified device that fails integrity checks, or on macOS a broken devicecheckd certificate. Set the clock to automatic, then move on to the causes below rather than retrying.
- How do I fix DeviceCheck error on iPhone?
- Clear the Safari and Chrome caches first. The ChatGPT app hands login to the system browser, so a poisoned browser cache breaks the app while the website still works. Then install any pending iOS update and restart; several reports trace the failure to a security update that could not install for lack of storage. If it persists, sign in through the browser and use a different sign-in method than the one that is failing.
- How do I fix DeviceCheck error on Android?
- Switch your default browser and retry — reports resolve on Android by moving from Brave or a custom browser to Chrome, because login is handed to the default browser. Then clear the ChatGPT app cache and data, and clear Play Store and Play Services data. If the device is rooted, Play Integrity will fail by design; that is the cause, not a bug.
- What causes DeviceCheck token generation is unavailable on macOS?
- A broken Apple attestation chain rather than anything in ChatGPT. In openai/codex issue #33463 the logs show devicecheckd failing to reach com.apple.devicecheckd, then MobileActivation error code -4, UCRT is unavailable, and Failed to fetch client certificate. Authentication itself succeeds with no 401 or 403; the failure happens after login during initialisation. Reporters recovered by updating macOS and restarting, one after refreshing the Apple Account password.
- Does a jailbroken or rooted device cause DeviceCheck errors?
- Yes, and OpenAI says so directly. Its help article lists device integrity as a cause and notes that rooting or jailbreaking may trigger the error. It also warns that integrity check results can be cached for up to 24 hours, so clear the app data before retrying or you will be testing against a stale verdict.
- Can I use ChatGPT while DeviceCheck is broken?
- Yes. Log in through a browser — the web app does not require device attestation, which is why it keeps working when the native app does not. If you need API access rather than the consumer app, an OpenAI-compatible gateway such as api.ofox.ai is unaffected because API keys do not go through DeviceCheck at all.


