---
title: Connection problems
description: "What to do when Test connection fails, what each error message points at, and what to check when a connection works but uploads don't."
section: Troubleshooting
order: 20
audience: [owner, admin]
status: published
lastVerified: 2026-09-15
sources:
  - src/objects/routes/providers.shared.ts
  - src/objects/routes/providers.connection-errors.ts
  - web/src/components/app/provider-connections/ConnectionCard.tsx
  - web/src/components/app/provider-connections/useProviderConnectionMutations.ts
---

Start by selecting **Test connection** on the connection. Then find the message you got below.

## Red: "Connection check failed"

| Message starts with | Check |
| --- | --- |
| Authentication failed | The key was mistyped, deleted, or disabled. Copy it again from your provider, watching for extra spaces. |
| Credentials are valid but not authorized | The key works but lacks permission. Give it list and read access at your provider. |
| This token cannot list buckets | Your key is limited to certain buckets. Type their names into **Bucket scopes**. |
| We couldn't access bucket | A bucket name in **Bucket scopes** is misspelled, missing, or outside the key's reach. |
| The endpoint or region is incorrect | Copy the region and endpoint from your provider's console. They must match where your buckets are. |
| We could not reach that endpoint | The address is wrong, or the server isn't reachable from the internet over HTTPS. |
| The storage provider returned an internal error | A problem at your provider. Check their status page and try later. |
| We could not validate this connection | Anything else. Double-check every field, then contact support with the code. |

Only Owners can change a connection's settings. Admins can run the test and pass the message on. More detail per error in [test and troubleshoot a connection](/docs/connections/test/#fixing-a-failed-test).

## Amber: "Connection verified with warning"

The message says CORS doesn't allow quickS3. The key is fine: browsing and downloading work. Browser uploads won't until the bucket's CORS rules allow quickS3. See [browser uploads and CORS](/docs/files/cors/).

## Green, but something still fails

- **Uploads fail, or large uploads fail right at the end.** CORS again: the test only checks that uploads are allowed, and large uploads also need the `ETag` header exposed.
- **Some people can't see a bucket.** The connection works; their roles don't cover that bucket. See [why can't I do this?](/docs/troubleshooting/permissions/)
- **A bucket is missing for everyone.** It's not in **Bucket scopes**, or the key can't reach it.

Don't delete and recreate a working connection to fix any of these. Roles pointing at the old connection would stop working.
