Skip to content

Python and JS SDKs — 429 WAIT signal lost at exception boundary, no Retry-After #1325

Description

@SirBrenton

Finding

Three files map 429 responses to typed exceptions with no Retry-After consulted and no WAIT vs STOP distinction:

  • packages/python-sdk/e2b/api/__init__.py
  • packages/python-sdk/e2b/envd/api.py
  • packages/js-sdk/src/envd/api.ts

Same pattern across both Python and JavaScript SDKs.

The consequence

When a provider returns Retry-After: 60, the signal is swallowed at the exception boundary. The caller receives a typed error with no timing information. Retry decisions default to local backoff inside the cooldown window.

Expected behavior

  • Preserve Retry-After across the exception boundary
  • Surface retry timing to the caller
  • Distinguish WAIT (transient throttle) from STOP (quota exhaustion) before retrying

Related pattern

WAIT-signal-lost-at-exception-boundary

Corpus reference: https://github.com/SirBrenton/pitstop-truth

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions