The symptom

You didn't touch it. It worked. Now it doesn't.

What actually changed

Something did. The candidates, in order:

A dependency updated. An unpinned version range picked up a new release overnight. Check your lockfile and whether it's committed.

A token or key expired. Access tokens, TLS certificates, API keys with rotation policies. Check the dates.

An external API changed. Deprecations happen, and providers do ship breaking changes.

A free tier limit was hit. Monthly quotas reset and refill — and a service that silently returns errors when you're over quota looks exactly like a bug.

Data changed. A record now has a null where there was never a null. Your code was always wrong; it just hadn't met that row yet.

Time passed. A date rolled over, a month ended, the clocks changed. Bugs that only appear on the 1st, or after DST, are real and common.

The fix

what-changed.txt
This worked <when> and doesn't now. I haven't changed the code.

Here's the code: <paste>
Here's the error: <paste>

Given that nothing in my code changed, list what external factors
could cause this, ordered by likelihood for this specific code. For
each: exactly how I check whether it's the cause.

Include anything time-dependent — expiry, quota resets, date rollover.

Then check the assumption

"I didn't change anything" is very often not quite true. Run git log and git diff. An uncommitted experiment from Friday evening is the most common answer of all.

If it's a dependency, pin your versions and commit the lockfile. This exact failure is what lockfiles exist to prevent.