Reserved-keyword operationId values generate invalid TypeScript
An OpenAPI operation whose operationId was a TypeScript reserved word produced source that could not be parsed.
- Report
- Issue #1617
- Reporter
- dissemond-bitside
- Reported
- April 2, 2026
- Reported version
- 2.4.0
- Primary matched window
- Included
- First affected release entered primary window
- No
- Origin classification
- Defect in a 2026 feature
- Classification confidence
- High
- Chronology confidence
- High
- Accepted correction
- PR #1622
- First fixed release
- 2.5.0
- Report to release
- 1 day
Finding
The applicable capability—operation-specific exports named from operationId—first shipped in 2026 and contained the defect in its initial release. There was no earlier working version of that feature to regress from.
This is one of two bugs attributable to code introduced in 2026. Calling it a feature defect is more precise than calling it a regression: the newly introduced behavior never had a working released state. The contribution passed project review, so authorship identifies provenance, not exclusive responsibility.
Evidence trail
Origin
Exact origin: e0696850, committed February 23, 2026; first affected release 2.0.0. The new operationId-based type-export feature used identifiers such as 'delete' verbatim in generated imports and type declarations.
Source history and behavioral evidence
The failure begins with the operationId export implementation merged through contributor-authored PR #1502. The repair aliases unsafe generated names while preserving the public operation identifier and adds reserved-word coverage.
Release chronology
The feature and defect first shipped together in 2.0.0. The fix shipped in 2.5.0 the day after the report.