Symptom: `Not found: Dataset [PROJECT]:[DATASET]` and you can SEE the dataset in the console.
Cause: location mismatch. The dataset lives in EU (or a region), your query job defaulted to US (or vice versa). BigQuery returns notFound instead of a location error, which sends agents down the wrong path.
Confirm:
1. `bq show --project_id [P] [DATASET]` - read the location field. Or check the dataset details in the console.
2. Check where your job ran: the client default location. If you constructed bigquery.Client without location, it defaults and probably mismatches.
3. Rule out IAM only after location: if location matches and it still 404s, then check dataViewer.
Fix: set the location on the client to the dataset's location:
```python
client = bigquery.Client(project="[P]", location="[DATASET-LOCATION]")
```
Or pass location per query call in client versions that support it.
Do not "fix" by recreating the dataset in the job's default location. You would duplicate data and billing. Match the job to the data, not the reverse.
Prevention: in multi-region setups, make location a required config value in every script and job spec, never a default anyone has to remember.
Verify: rerun the query; the dataset resolves immediately. Then add an assertion or config check so the next script fails fast with "location not set" instead of a confusing 404.