TS1103
TypeScriptERRORNotableSyntaxHIGH confidence

'for await' loops are only allowed within async functions and at the top leve...

Production Risk

Build will fail; resolve before shipping.

What this means

A syntax error (TS1103): 'for await' loops are only allowed within async functions and at the top levels of modules.. This diagnostic is emitted by the TypeScript compiler when 'for await' loops are only allowed within async functions and at the top levels of modules..

Why it happens
  1. 1await used outside an async function, or async/await return type mismatch
How to reproduce

TypeScript compiler reports TS1103 during type checking.

trigger — this will error
trigger — this will error
// Triggers TS1103
// 'for await' loops are only allowed within async functions and at the top levels of modules.

expected output

error TS1103: 'for await' loops are only allowed within async functions and at the top levels of modules.

Fix

Address the TypeScript diagnostic

WHEN When this error is reported by the compiler

Address the TypeScript diagnostic
// Run the TypeScript compiler for details:
npx tsc --noEmit
// Use the TypeScript playground to test your code:
// https://www.typescriptlang.org/play

Why this works

Review the full error message and location; the TypeScript handbook provides guidance on each error category.

Sources
Official documentation ↗

TypeScript Compiler Diagnostics

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

← All TypeScript errors