“Apple Developer Portal authentication failed” during eas submit almost never means Apple is actually down. Despite the wording — Service not available because of maintenance activities, please try again after some time — the usual cause is an outdated EAS CLI or an unaccepted agreement on your Apple Developer account.
TL;DR: update eas-cli, then log in to the Apple Developer portal and accept any pending agreement. Waiting for “maintenance” to end will not fix it.
Submit to the Apple App Store from Expo.
While Submit to the Apple App Store from Expo using command:
npx eas submit -p ios

After you login with your applce developer account, you got error message:
Authentication with Apple Developer Portal failed!
Apple provided the following error info:
Service not available because of maintenance activities, please try again after some time.
Submission failed
Why this error message is misleading
Apple’s API returns a generic “maintenance” response for several unrelated conditions. The submission tooling passes that string through verbatim, so the message you see describes Apple’s response code rather than the real problem. In practice the trigger is almost always one of:
- An outdated EAS CLI talking to an API surface Apple has since changed.
- A pending legal agreement waiting for acceptance in the developer portal or App Store Connect.
- An expired or never-purchased Apple Developer Program membership.
- Account details Apple has flagged as needing review before any API access is granted.
Because none of these are transient, retrying the same command produces the same failure indefinitely. That is the clearest signal that the message is not literal: genuine Apple maintenance windows resolve on their own within a short period.
First step run:
npm install -g eas-cli
Now the error maybe will be like this:

Authentication with Apple Developer Portal failed!
Apple provided the following error info:
Your developer account needs to be updated. Please visit Apple Developer Registration.
Submission failed
This second message is progress, not a new problem. Updating the CLI let it reach further into Apple’s flow, and Apple is now reporting the actual blocker instead of the generic maintenance string.
If you get the above error message, then you need to login https://developer.apple.com/ and confirm any updates or some new agreement you need to approve, If you didn’t subscribe to Apple Developer Program Membership before then you will need to subscribe to it.
Where to find the pending agreement
Agreements live in two separate places, and accepting one does not accept the other:
- Sign in at developer.apple.com/account. Any outstanding program agreement appears as a banner at the top of the landing page.
- Then open App Store Connect and check Business → Agreements. Paid and free app agreements are tracked here and can block submissions independently.
Only the Account Holder can accept these. If you are a member of someone else’s team, the banner may not be visible to you at all — the person holding that role has to sign in and accept before your submission will go through.
Then run again:
npx eas submit -p ios

Frequently asked questions
Is Apple actually under maintenance?
Usually not. You can confirm in seconds at Apple’s System Status page. If every service there is green, the message is masking an account or tooling issue.
Does two-factor authentication cause this?
Two-factor prompts normally surface as their own distinct error rather than the maintenance string. If your account uses 2FA, an app-specific password is the usual way to let command-line tooling authenticate without an interactive prompt.
Do I need a paid membership just to build?
No — you can build and test locally without one. Submitting to the App Store is what requires an active Apple Developer Program membership, which is why the failure only appears at the eas submit step.
For more mobile release notes and debugging write-ups, browse the rest of the blog.