
Vercel is making it easier to move a Bun server from a developer’s laptop into production. The deployment platform now accepts Bun.serve() as an entrypoint for Vercel Functions, including applications that use native WebSocket handlers.
The change means developers can define their server logic using Bun’s own API rather than translating it into a conventional function handler or adding a framework-specific wrapper. According to Vercel’s changelog announcement, a server that runs locally with Bun can now deploy to Vercel largely as-is.
That is a narrow update, but a useful one for teams adopting Bun as more than a package manager. It reduces the amount of platform-specific code required to deploy APIs, real-time features, and small backend services alongside a frontend.
From Local Bun Server to Vercel Function
Developers enable the Bun runtime by adding the following setting to vercel.json:
{
"bunVersion": "1.x"
}
They can then place a server.ts file at the project root and call Bun.serve() directly. Vercel’s example uses Bun’s routes map to keep endpoint definitions together:
Bun.serve({
routes: {
"/api/boolean": () => Response.json({ success: true }),
"/*": () => new Response("api catch-all"),
},
});
The supported routing model covers static paths, dynamic parameters, and wildcard routes. That gives builders a compact way to create an API without introducing a separate routing framework. For a small business application, it could be enough to handle webhooks, internal endpoints, lightweight authentication flows, or calls from a NoCode frontend.
The practical distinction is in the entrypoint. Previously, deploying server-side logic to a functions platform often meant exporting a handler in the format expected by the host. With this update, Bun.serve() itself becomes the entrypoint, preserving the structure used during local development.
Native WebSocket Workflows
WebSocket support is the more consequential part of the release. Bun applications can add a websocket handler and invoke server.upgrade(request) inside fetch when an incoming request should switch protocols. Regular HTTP routes can remain in the same server definition.
That arrangement is relevant for products that need persistent, bidirectional connections, including collaborative interfaces, live dashboards, notifications, chat systems, and streaming status updates. Developers no longer need to split those connections from the rest of a Bun server solely to match Vercel’s deployment interface.
The update does not turn every Vercel project into a long-running traditional server. It instead lets Vercel Functions understand Bun’s server declaration and deploy it within the platform’s runtime model. Teams should still test connection behaviour, application state, and production limits against Vercel’s current Bun runtime documentation before moving a stateful workload.
For small teams, the main benefit is reduced translation between development and deployment. The same routes and WebSocket callbacks used locally can travel with the application, which should make projects easier to inspect and maintain. It also broadens Vercel’s appeal to developers choosing Bun-native primitives instead of building exclusively around framework conventions.
The release follows other infrastructure-focused additions to the platform, including public access for Container Registry repositories. Together, these updates show Vercel continuing to support a wider range of deployment patterns beyond its traditional frontend framework workflow.
Frequently asked questions
What is Bun.serve entrypoint for Vercel Functions?
It is support for using Bun’s native Bun.serve() API as the entrypoint to a Vercel Function. Developers can deploy a Bun server without converting it to a traditional exported function handler or wrapping it in a framework.
Does the Vercel Bun.serve entrypoint support WebSockets?
Yes. Vercel says the runtime accepts native WebSocket handlers. Applications can call server.upgrade(request) from a fetch handler while keeping HTTP routes in the same Bun.serve() configuration.
How is the Bun runtime enabled on Vercel?
Developers set "bunVersion": "1.x" in the project’s vercel.json file. Vercel announced the entrypoint support on August 10, 2026; the supplied announcement does not specify a required paid plan or separate feature charge.
Sources
1 checkedHow we cover tool news: Create With's tool desk drafts these reports with AI from the sources listed above and checks them against those sources before publishing.







