**TL;DR:** Errors like Failed to resolve 'controller.us-west-2.pinecone.io' or controller.us-west-2-aws.pinecone.io not found mean the client predates serverless. Upgrade the SDK; do not debug DNS. The docs are blunt: to connect to a serverless index you must use an updated client. Fix Then retry the exact same code.

## The fix

# Serverless connection errors: upgrade, do not debug DNS

## The errors

```
Failed to resolve 'controller.us-west-2.pinecone.io'
controller.us-west-2-aws.pinecone.io not found
Request failed to reach Pinecone while calling https://controller.us-west-2.pinecone.io/actions/whoami
```

## Cause

An outdated Pinecone client trying to reach a serverless index. Old clients speak the pod-era control-plane hostnames; serverless uses different routing. The docs are blunt: to connect to a serverless index you must use an updated client.

## Fix

```
pip install --upgrade pinecone
npm install @pinecone-database/pinecone@latest
```

Then retry the exact same code. If it still fails, check the network path (firewall, proxy) separately; but upgrade first, because DNS debugging an obsolete hostname is wasted work.

## Trap

Adding the controller hostname to /etc/hosts or working around TLS. The hostname is wrong because the client is old, not because DNS is broken.

## When to use this

- You are seeing this exact error message; match the block above, not just part of it.
- The failing call matches the scenario in the title: Pinecone serverless connection errors mean your SDK is too old.
- You want the fastest verified fix before digging through logs.

## When not to use this

- Your error text differs from the block above; close cousins often have different causes.
- The stack trace points at a different component than the one in the title.
- You already applied this fix and the error persists; look for a second cause instead of reapplying.

## Compatibility

- Not pinned to a specific version; follows current Pinecone behavior.