Skip to content

Limitations

functions limits timeout payload response size execution time limitations JavaScript TypeScript

Each function is bundled and minified into a single JavaScript file during deployment. Native binaries and non-JavaScript code are stripped out in this process, so libraries that rely on native addons will not work. Common examples include:

  • sharp (image processing) — uses native C++ bindings
  • bcrypt — uses native C bindings (use bcryptjs instead)
  • better-sqlite3 — embeds a native SQLite binary
  • canvas — depends on native Cairo bindings

If you need native dependencies or a non-JavaScript runtime, use Nhost Run instead.

Function execution timeout limits vary by project tier:

TierTimeout
Starter10 seconds
Pro180 seconds (3 min)
Teams600 seconds (10 min)
EnterpriseCustom

If a function exceeds its timeout, the execution is terminated and the client receives an error response.

All functions have a hard limit of 6 MB for response payloads, regardless of the project tier.