## TL;DR

The situation: While using get\_tasks\_for\_project in python-asana with a deliberately wrong project GID (I was testing exception handling), I got this urllib3 warning: HTTPResponse.getheaders() is deprecated and will be removed in urllib3 v2.1.0.

## Steps

1. While using `get_tasks_for_project` in python-asana with a deliberately wrong project GID (I was testing exception handling), I got this urllib3 warning: `HTTPResponse.getheaders() is deprecated and will be removed in urllib3 v2.1.0. Instead access HTTPResponse.headers directly.` It points at line 45 of `asana/rest.py`. I should not be seeing deprecation warnings from the library itself. Is this fixed anywhere?

2. What actually fixes it (verified in the thread):

3. It was a bug in the generated code: python-asana's `rest.py` used the deprecated `HTTPResponse.getheaders()` call. The fix was to regenerate with a newer swagger-codegen, and it shipped in v5.0.5 (v5.0.4's publish workflow failed, so the fix landed in v5.0.5). Update to python-asana 5.0.5 or newer and the warning goes away. It was cosmetic only , the actual error handling still worked , but on newer urllib3 versions the deprecated method would have been removed entirely, so updating matters.

## When to use

You are seeing this: It points at line 45 of asana/rest.py. Use this skill when you run into "python-asana emits `HTTPResponse.getheaders() is deprecated` urllib3 warning".

## When not to use

If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.

## Versions

Versions mentioned in the source: urllib3 v2.1.0, v5.0.5, v5.0.4, python-asana 5.0.5. If you are on something much newer or older, the details may have shifted.

## Why this happens

The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.
