TS18036
TypeScriptERRORNotableTypeHIGH confidence

Class decorators can't be used with static private identifier. Consider remov...

Production Risk

Build will fail; resolve before shipping.

What this means

A TypeScript diagnostic (TS18036): Class decorators can't be used with static private identifier. Consider removing the experimental decorator.. This diagnostic is emitted by the TypeScript compiler when class decorators can't be used with static private identifier. Consider removing the experimental decorator..

Why it happens
  1. 1A decorator is applied incorrectly or to an unsupported target
  2. 2The 'experimentalDecorators' flag may need to be enabled
How to reproduce

TypeScript compiler reports TS18036 during type checking.

trigger — this will error
trigger — this will error
// Triggers TS18036
// Class decorators can't be used with static private identifier. Consider removing the experimental decorator.

expected output

error TS18036: Class decorators can't be used with static private identifier. Consider removing the experimental decorator.

Fix

Enable experimentalDecorators

WHEN Using legacy decorator syntax

Enable experimentalDecorators
// tsconfig.json
{
  "compilerOptions": {
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true
  }
}

Why this works

Decorators require the 'experimentalDecorators' flag; TypeScript 5.0+ also supports the TC39 Stage 3 decorator proposal without the flag.

Sources
Official documentation ↗

TypeScript Compiler Diagnostics

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All TypeScript errors