Hit a Vercel limit? Build time, Hobby pauses and function timeouts explained
What each of Vercel's common limits means, how to work within it, and when it is a sign that your app wants to run on an account you own.
Vercel's limits come in two kinds. Some are hard caps that stop a deployment: a build that runs past 45 minutes fails on every plan, and a Hobby project that uses up its monthly allowance is paused until the 30-day window resets. The rest are meters: on Pro, build minutes, function compute, data transfer and requests beyond the included credit are billed as you use them. This post goes through the limits people hit most, what each one means, how to live with it on Vercel, and when it is a sign to move.
The figures below are from Vercel's own documentation as it read in November 2026. Vercel changes its pricing often (it moved Pro to a credit-based plan in late 2025, renamed Edge Requests to CDN Requests and Edge Config to Global Config in 2026), so check the linked pages before you make a decision on them.
The limits at a glance
| Limit | Hobby | Pro | What happens when you hit it |
|---|---|---|---|
| Price | Free | $20 a month platform fee, with one deploying seat and $20 of usage credit; more seats $20 each | — |
| Commercial use | Not allowed | Allowed | A commercial project needs Pro |
| Build duration | 45 minutes | 45 minutes | The build fails |
| Concurrent builds | 1 | On-demand, billed per CPU-minute | Builds queue on Hobby |
| Build minutes | Included on the basic machine | Every minute billed, offset by the credit | Billed on Pro |
| Deployments per day | 100 | 6,000 | New deployments are refused |
| Function duration | 300 s | 300 s default, up to 800 s | The invocation times out |
| Function memory | 2 GB, fixed | Up to 4 GB | — |
| Data transfer | 100 GB a month | 1 TB on the included Flat Rate CDN tier | Hobby pauses; Pro moves up a tier or bills on demand |
Sources: Vercel limits, Hobby plan, Pro plan, Functions limitations, Flat Rate CDN.
Why did my Vercel build fail after 45 minutes?
Every Vercel plan caps a build at 45 minutes, and a build that reaches it fails. It is the same on Hobby, Pro and Enterprise, so upgrading does not raise it. Large monorepos, image-heavy static sites that generate thousands of pages, and builds that run a full test suite are the usual cases.
What you can do on Vercel:
- Make the build faster. Cache dependencies and build outputs (Turborepo's remote cache, Next.js's build cache), and stop generating every static page at build time if most of them are rarely visited.
- Pay for a bigger machine. Pro teams can choose larger build machines, from Standard (4 vCPUs) to Turbo (30 vCPUs). They are billed per minute: Turbo was $0.105 a minute in November 2026.
- Build somewhere else.
vercel buildruns the build in your own CI andvercel deploy --prebuiltuploads the result, so the build runs on your CI's clock rather than Vercel's.
The last option is worth noticing, because it is also the first step of a move. Once the build runs in your own CI, the platform you deploy to is a choice rather than a constraint. GitHub-hosted runners allow a single job to run for up to six hours.
Can I use Vercel's Hobby plan for a commercial project?
No. Vercel's fair-use guidelines say "Hobby teams are restricted to non-commercial personal use only" (source). Commercial use includes a site built by a paid employee or contractor, and a site that carries ads. A side project that starts making money is, by that definition, a commercial project.
The fix on Vercel is a Pro plan. If a $20-a-month seat for each person who deploys is fine, that is the simplest answer. Teams look elsewhere when they have many small commercial sites, client projects, or several deployers, because the cost scales with seats and sites rather than with traffic.
Why was my Vercel Hobby project paused?
A Hobby team that uses more than its monthly allowance of a resource (data transfer, function compute, image transformations and so on) cannot pay for the overage. Vercel's Hobby docs say that in most cases you will have to wait until 30 days have passed, or upgrade. Depending on the resource, visitors may see an error page until then: Vercel's error reference lists 402 DEPLOYMENT_DISABLED for deployments disabled after a usage limit, and 503 DEPLOYMENT_PAUSED for paused projects.
For a personal project, waiting may be fine. For anything people rely on, a site that can switch off when it gets popular is the wrong shape. The options are a Pro plan, which turns the hard stop into a bill, or a platform where the free tier's limits are on something you can see coming. On Cloudflare Workers' free plan, for example, the limit is a daily request count, and the paid plan starts at $5 a month with no seat pricing.
Why does my Vercel function time out?
With Fluid compute, the default for new projects since April 2025, a Vercel function can run for 300 seconds on Hobby and up to 800 seconds on Pro when you raise its maxDuration. Requests and responses are limited to 4.5 MB, and a function's bundle to 250 MB uncompressed. Functions run in one region, iad1 in Washington, D.C., unless you choose otherwise; Pro can spread them across up to three.
Timeouts usually come from work that does not belong in a request: long AI calls without streaming, report generation, video or image processing, large imports. The fixes are the same on any platform. Stream the response, move the work to a queue or a background job, or split it into steps. Note that Cloudflare Workers measure CPU time, not wall-clock time: a Worker waiting on a slow API is not using CPU, so a request that spends most of its life waiting fits much more comfortably there.
Why is my Vercel bill so high?
On Pro, Vercel bills each resource separately once the $20 credit is used: build minutes, Active CPU and provisioned memory for functions, invocations, data transfer, CDN requests, image transformations, and more. Prices vary by region. Data transfer beyond the included tier starts at $0.15 a GB, and image transformations at $0.05 per thousand.
Four patterns account for most surprise bills:
- Bots and crawlers. Traffic you never wanted still counts as requests, transfer and function time.
- Images. Every distinct size and format of every image is a transformation.
- Build minutes. Every build on Pro is billed, including builds of branches nobody looks at.
- Seats. Each person who deploys is a $20 seat.
Vercel's spend management is on by default for Pro with a $200 on-demand budget, but by default it only alerts. Pausing production when you reach the budget is opt-in, and its docs note that a budget does not stop usage on its own (source).
When is a limit a sign to move?
Hitting a limit once is not a reason to move. Vercel is a good product, and most of its limits have a fix inside Vercel. A limit is a sign to move when the fix you keep reaching for is "pay Vercel more for something your own cloud account would do for less", for example:
- You run several commercial sites or client projects, and per-seat and per-project pricing is most of the bill.
- Your traffic is mostly static assets or bandwidth, which Cloudflare does not meter on Workers static assets or R2.
- Your functions mostly wait on other services, and you are paying for wall-clock time.
- You want the app, its data and its secrets in accounts you own, so a provider's limit is a setting you control rather than a wall.
If that sounds like your app, read Vercel alternatives in 2026 for the options, and the Vercel to Cloudflare migration guide for the steps.
In short
- The 45-minute build cap applies on every plan. Speed the build up, or build in your own CI and deploy the output.
- Hobby is for non-commercial personal use, and a Hobby project over its allowance waits out the 30-day window.
- Functions run for up to 300 s on Hobby and 800 s on Pro, in one region by default.
- Pro bills each resource beyond the $20 credit; turn on pausing in spend management if you need a hard stop.
- Move when the limits you hit are about who owns the account, not about how fast your code is.