Home/TypeScript Errors/TS2769
No overload matches this call
TypeScript TS2769 fires when you call an overloaded function and none of its declared overload signatures match the arguments you provided. TypeScript tries each overload in order and reports TS2769 when all fail.
Why This Happens
You're calling a function that has multiple overload signatures, but the combination of argument types you're passing doesn't match any of the overloads. Common with DOM APIs, React's createElement, and libraries with complex overloads.
Code That Triggers TS2769
// TS2769 examples
// Custom overloaded function
function format(value: number): string;
function format(value: string, prefix: string): string;
function format(value: any, prefix?: string): string {
return prefix ? prefix + value : String(value);
}
format(42, "num:"); // OK — first overload? No, first needs no prefix
format("hi"); // Error: No overload matches this call
// Second overload requires prefix, first only accepts numbers
// DOM API
document.createElement("video"); // OK — returns HTMLVideoElement
document.createElement("custom"); // may trigger TS2769 with strict checkingHow to Fix TS2769
Option 1: Match arguments to an existing overload
format(42); // matches overload 1: (number) => string
format("hi", "pre:"); // matches overload 2: (string, string) => stringOption 2: Add an overload that covers the missing case
function format(value: number): string;
function format(value: string, prefix: string): string;
function format(value: string): string; // new overload
function format(value: any, prefix?: string): string {
return prefix ? prefix + value : String(value);
}Option 3: Use a single signature with optional/union params
function format(value: number | string, prefix?: string): string {
return prefix ? prefix + value : String(value);
}Frequently Asked Questions — TS2769
What does TS2769 mean?
TS2769 means you called an overloaded function with arguments that don't match any of its declared overload signatures. TypeScript tries each overload and reports this when all fail.
How do I read the TS2769 error message?
TypeScript lists each overload and why it failed. Read the reasons for each overload to understand which argument is wrong. Usually the last overload listed tells you the most about the actual mismatch.
TS2769 with React JSX — how to fix?
Common when passing props of the wrong type. TypeScript tries each overload of createElement and reports TS2769 when none match. Check which prop is the wrong type and fix it.
TS2769 in lodash/library calls — how to fix?
Library overloads can be complex. Check the library docs for the expected argument types. If the types are wrong, update @types/library to the latest version.
How do I write good TypeScript overloads to avoid TS2769 for callers?
Cover all expected call patterns with explicit overloads. Keep the implementation signature (the last one) as the widest type. Order overloads from most specific to least specific.
Convert JavaScript to TypeScript automatically
Paste your JS code and get type-annotated TypeScript — including fixes for common type errors — in seconds.
Try the converter →Other TypeScript Errors
From the blog
View all →
May 13, 2026
Convert XML to JSON Online: Complete Guide for Developers (2026)

May 11, 2026
Convert CSV to JSON Online Free (Best Developer Guide 2026)

May 6, 2026
Convert YAML to JSON Online Free (2026 Developer Guide)

Apr 30, 2026
Convert JSON to Zod Schema Online (2026) – Free Tool & Complete Guide

Apr 30, 2026
Top 50 JavaScript to TypeScript Converters (2026) – Free, AI & Online Tools