Cannot invoke expression TypeScript TS2349
TS2349: Cannot invoke expression with no call signatureQuick Answer
You tried to call something TypeScript doesn't recognize as callable.
Why This Happens
In TypeScript, you tried to call something typescript doesn't recognize as callable. This is one of the most common TypeScript errors developers encounter. Understanding the root cause helps you fix it quickly and prevent it from recurring.
The Problem
type MaybeFunc = (() => void) | undefined;
const fn: MaybeFunc = getFn();
fn();The Fix
const fn: MaybeFunc = getFn();
fn?.();Step-by-Step Fix
- 1
Identify the error
Look at the error message: TS2349: Cannot invoke expression with no call signature. This tells you exactly what went wrong.
- 2
Find the cause
Check the stack trace to find which line of your TypeScript code triggered this error.
- 3
Apply the fix
Use the corrected code pattern shown above. Test to confirm the error is resolved.
Bugsly catches this automatically
Bugsly's AI analyzes this error pattern in real-time, explains what went wrong in plain English, and suggests the exact fix — before your users even report it.
Try Bugsly free