TS1226
TypeScriptERRORNotableSyntaxHIGH confidence

Type predicate 'X' is not assignable to 'X'.

Production Risk

Build will fail; resolve before shipping.

What this means

A syntax error (TS1226): Type predicate 'X' is not assignable to 'X'.. This diagnostic is emitted by the TypeScript compiler when type predicate 'X' is not assignable to 'X'..

Why it happens
  1. 1The value type does not match the declared or expected type
  2. 2A type narrowing or assertion is needed
How to reproduce

TypeScript compiler reports TS1226 during type checking.

trigger — this will error
trigger — this will error
// Triggers TS1226
// Type predicate 'X' is not assignable to 'X'.

expected output

error TS1226: Type predicate 'X' is not assignable to 'X'.

Fix

Fix the type mismatch

WHEN When the value type does not match the target type

Fix the type mismatch
// Add a type assertion if you are certain of the type
const value = someValue as ExpectedType;
// Or fix the source type to match

Why this works

Type assertions bypass type checking; prefer fixing the underlying type mismatch.

Sources
Official documentation ↗

TypeScript Compiler Diagnostics

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

← All TypeScript errors