David Ewins
Error library

Secret works in EAS builds but is wrong locally (401 in dev only)

ExpoConfirmed fix

@expo/env (dotenv-expand)

There is no error message for this one, only the symptom in the title.

Cause

Expo's .env loader expands $name inside values as variable references, so a secret containing $ loses characters locally. EAS-hosted env vars are not expanded, so production gets the right value.

Fix

Escape it as \$ in .env. Check what Expo actually loads:

shell
node -e "require('@expo/env').load('.',{force:true,silent:true});console.log(process.env.MY_VAR.length)"

Then restart Metro with --clear.

More Expo errors

Search all errors