TS1497
TypeScriptERRORNotableSyntaxHIGH confidence

Expression must be enclosed in parentheses to be used as a decorator.

Production Risk

Build will fail; resolve before shipping.

What this means

A syntax error (TS1497): Expression must be enclosed in parentheses to be used as a decorator.. This diagnostic is emitted by the TypeScript compiler when expression must be enclosed in parentheses to be used as a 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 TS1497 during type checking.

trigger — this will error
trigger — this will error
// Triggers TS1497
// Expression must be enclosed in parentheses to be used as a decorator.

expected output

error TS1497: Expression must be enclosed in parentheses to be used as a 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