TS1329
TypeScriptERRORNotableSyntaxHIGH confidence

'X' accepts too few arguments to be used as a decorator here. Did you mean to...

Production Risk

Build will fail; resolve before shipping.

What this means

A syntax error (TS1329): 'X' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@X()'?. This diagnostic is emitted by the TypeScript compiler when 'X' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@X()'?.

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 TS1329 during type checking.

trigger — this will error
trigger — this will error
// Triggers TS1329
// 'X' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@X()'?

expected output

error TS1329: 'X' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@X()'?

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