apps/docs/content/troubleshooting/supabase-cli-failed-sasl-auth-or-invalid-scram-server-final-message.mdx
When executing supabase db push or supabase link or any other authenticated actions from the Supabase CLI, you might encounter an authentication error with messages such as failed SASL auth (invalid SCRAM server-final-message received from server).
Why This Occurs:
This typically indicates an authentication failure where the database connection pooler (Supavisor) in certain scenarios may be incorrectly caching credentials for the internal Supabase role cli_login_postgres used for password-less flows with the CLI. This can lead to the your IP being temporarily banned from repeated failed attempts to connect.
To resolve this, consider one of the following solutions:
Check Network Bans:
Use the old Password-Based authentication flow instead:
SUPABASE_DB_PASSWORD=<your-database-password> supabase db push
Skip the Pooler and connect directly to the database with the Supabase CLI (Requires IPv6):
--skip-pooler flag to bypass the connection pooler to avoid this particular issue. Install options are documented under Beta channel in the CLI getting started guide.npx supabase@beta link --skip-pooler
npx supabase@beta db push