The Fix
pip install stripe==13.0.1
Based on closed stripe/stripe-python issue #1558
Production note: Most teams hit this during upgrades or environment changes. Roll out with a canary and smoke critical endpoints (health, OpenAPI/docs) before 100%.
import stripe
client = stripe.StripeClient("sk_test_...")
# This works fine
customer = client.customers.retrieve("cus1")
# This fails with ImportError
customer = await client.customers.retrieve_async("cus1")
Re-run the minimal reproduction on your broken version, then apply the fix and re-run.
Option A — Upgrade to fixed release\npip install stripe==13.0.1\nWhen NOT to use: Do not use if it changes public behavior or if the failure cannot be reproduced.\n\n
Why This Fix Works in Production
- Trigger: Async methods fail with ImportError while sync methods work out of the box
- Mechanism: This is fixed in 13.0.1: you can now `pip install stripe[async]` and it'll work out of the box.
- Why the fix works: This is fixed in 13.0.1: you can now `pip install stripe[async]` and it'll work out of the box. (first fixed release: 13.0.1).
- If left unfixed, the same config can fail only in production (env differences), causing startup failures or partial feature outages.
Why This Breaks in Prod
- Triggered by an upgrade/regression window: 3.9 breaks; 13.0.1 is the first fixed release.
- Surfaces as: Async methods fail with ImportError while sync methods work out of the box
Proof / Evidence
- GitHub issue: #1558
- First fixed release: 13.0.1
- Affected versions: 3.9
- Reproduced locally: No (not executed)
- Last verified: 2026-02-08
- Confidence: 0.60
- Did this fix it?: Yes (upstream fix exists)
- Own content ratio: 0.75
Discussion
High-signal excerpts from the issue thread (symptoms, repros, edge-cases).
“This is fixed in 13.0.1: you can now pip install stripe[async] and it'll work out of the box. Thanks for flagging!”
“👋 Hi @geminimir! Thanks for reporting this issue! I will start investigating and circle back as needed.”
“I was able to reproduce the reported issue”
“Hi, I’d like to work on this issue as my first contribution.”
Failure Signature (Search String)
- Async methods fail with ImportError while sync methods work out of the box
Error Message
Stack trace
Error Message
-------------
Async methods fail with ImportError while sync methods work out of the box
Minimal Reproduction
import stripe
client = stripe.StripeClient("sk_test_...")
# This works fine
customer = client.customers.retrieve("cus1")
# This fails with ImportError
customer = await client.customers.retrieve_async("cus1")
Fix Options (Details)
Option A — Upgrade to fixed release Safe default (recommended)
pip install stripe==13.0.1
Use when you can deploy the upstream fix. It is usually lower-risk than long-lived workarounds.
Fix reference: https://github.com/stripe/stripe-python/issues/1558
First fixed release: 13.0.1
When NOT to Use This Fix
- Do not use if it changes public behavior or if the failure cannot be reproduced.
Verify Fix
Re-run the minimal reproduction on your broken version, then apply the fix and re-run.
Did This Fix Work in Your Case?
Quick signal helps us prioritize which fixes to verify and improve.
Prevention
- Capture the exact failing error string in logs and tests so you can reproduce via a minimal script.
- Pin production dependencies and upgrade only with a reproducible test that hits the failing path.
Version Compatibility Table
| Version | Status |
|---|---|
| 3.9 | Broken |
| 13.0.1 | Fixed |
Related Issues
No related fixes found.
Sources
We don’t republish the full GitHub discussion text. Use the links above for context.