Skip to content
  • Vercel Functions can now run up to 30 minutes

    Vercel Functions using the Node.js and Python runtimes now support execution durations up to 30 minutes for Pro and Enterprise teams, more than 2x the previous 800 second limit. Support for additional runtimes is coming soon.

    Use longer-running Functions for work that needs more time to finish, including:

    • Long LLM reasoning and tool calls

    • AI responses that stream for several minutes

    • Document and media processing

    • OCR and extraction

    • Web scraping and browser automation

    • Complex Workflow steps or Queue handlers

    Fluid Compute keeps long-running work cost-efficient. Active CPU billing only applies while your code is executing, and pauses while your Function is waiting on I/O such as AI model calls, database queries, and third-party APIs.

    Set maxDuration to opt in. For Next.js App Router, configure it in the route file:

    app/api/long-task/route.ts
    export const maxDuration = 1800; // 30 minutes
    export async function POST(request: Request) {
    return Response.json({ ok: true });
    }

    For other runtimes and frameworks, configure maxDuration for a specific function path in vercel.json:

    vercel.json
    {
    "$schema": "https://openapi.vercel.sh/vercel.json",
    "functions": {
    "api/long-task.py": {
    "maxDuration": 1800
    }
    }
    }

    Durations above 800 seconds are in beta and require Fluid Compute. Learn more about configuring max duration for Vercel Functions in the documentation.

    +2

    Florentin E, Craig A, Casey G, Tiago V

  • Auth0 joins the Vercel Marketplace

    You can now add Auth0 , a production-ready authentication to your Vercel app in just a few clicks. 

    Built for modern frameworks like Next.js, Auth0 is an identity and access management platform for securing your apps and agentic workflows.

    This integration enables:

    • Automatic provisioning of an Auth0 application that connects to your Vercel project

    • Out-of-the-box support for your Next.js applications using the Auth0 Next.js SDK

    • Complete user management with hosted dashboards, sessions, and roles

    • Sync authentication configuration across Development, Preview, and Production environments

    Get started with Auth0 on the Vercel Marketplace.

  • Workflow SDK now runs natively in Nitro v3

    Workflow SDK's native Nitro v3 integration is now in beta. Steps run inside the same bundled runtime as the rest of your app, instead of a separate bundle. Nitro's useStorage() and other server-side APIs work directly inside "use step" functions.

    workflows/sync-user.ts
    import { useStorage } from "nitro/storage";
    export async function getUserPreferences(userId: string) {
    "use step";
    const storage = useStorage("cache");
    return await storage.getItem(`preferences:${userId}`);
    }

    Reading from Nitro storage inside a step function

    The Nitro dev server also serves the workflow web UI at /_workflow. Open it in your browser to inspect, monitor, and debug workflow runs.

    Workflow routes are now bundled by Nitro as part of the app build. Dependencies are traced, and unused code is tree-shaken, so the output includes only what runs, with faster builds and smaller bundles.

    Get started with Workflow SDK on Nitro.

    Rihan Arfan

  • Kimi K2.7 Code now available on AI Gateway

    Kimi K2.7 Code from Moonshot AI is now available on AI Gateway.

    K2.7 Code is a coding model built for long-horizon programming tasks, generalizing across scenarios including frontend development, DevOps, and performance optimization. The model has a native multimodal architecture that supports text and vision input, and always runs in thinking mode.

    To use K2.7 Code, set model to moonshotai/kimi-k2.7-code in the AI SDK:

    import { streamText } from 'ai';
    const result = streamText({
    model: 'moonshotai/kimi-k2.7-code',
    prompt: 'Refactor this service to remove the N+1 queries.',
    });

    Pass an image alongside a prompt to use the model's multimodal input:

    import { streamText } from 'ai';
    const result = streamText({
    model: 'moonshotai/kimi-k2.7-code',
    messages: [
    {
    role: 'user',
    content: [
    { type: 'text', text: 'Describe the image in detail.' },
    {
    type: 'image',
    image:
    'https://exampleimage.com',
    },
    ],
    },
    ],
    });

    AI Gateway provides a unified API for calling models, tracking usage and cost, and configuring retries, failover, and performance optimizations for higher-than-provider uptime. It includes built-in custom reporting, Zero Data Retention support, budgets for API keys, and more. AI Gateway reflects provider pricing with no markup and does not charge a platform fee on inference, including on Bring Your Own Key (BYOK) requests.

    Learn more about AI Gateway, view the AI Gateway model leaderboard or try it in our model playground.

  • Program Claude Code, Codex, Pi and other agent harnesses with AI SDK

    AI SDK 7 introduces HarnessAgent, a single API for running established agent harnesses, including Claude Code, Codex, and Pi. AI SDK has always let you switch models without rewriting your agent. Now you can switch the harness the same way.

    Write the agent once. Use the best harness available.
    Today. In 3 months. A year from now.

    Harnesses manage the components above a model call, including skills, sandboxes, sessions, permission flows, compaction, runtime configuration, and sub-agents. The AI SDK normalizes access to those capabilities through a unified harness abstraction.

    Initial harness adapters for this experimental release include Claude Code, Codex, and Pi, with more coming soon.

    agent.ts
    import { HarnessAgent } from '@ai-sdk/harness/agent';
    import { claudeCode } from '@ai-sdk/harness-claude-code';
    import { createVercelSandbox } from '@ai-sdk/sandbox-vercel';
    const agent = new HarnessAgent({
    harness: claudeCode,
    sandbox: createVercelSandbox({
    runtime: 'node24',
    ports: [4000],
    }),
    tools: { /* pass custom tools */ },
    skills: [ /* pass custom skills */ ],
    });
    const session = await agent.createSession();
    try {
    const result = await agent.stream({
    session,
    prompt: 'Check the test failures and fix the production code.',
    });
    for await (const part of result.fullStream) {
    if (part.type === 'text-delta') {
    process.stdout.write(part.text);
    }
    }
    } finally {
    await session.destroy();
    }

    Create a harness-backed agent using Claude Code

    Swap claudeCode for codex or pi and keep the same HarnessAgent flow. Every harness runs the agent in a sandboxed workspace, keeping the host environment safe.

    Both HarnessAgent.generate() and HarnessAgent.stream() return AI SDK-compatible results. If your app already uses useChat or related AI SDK tooling, you can swap in HarnessAgent without changing your user interface code.

    HarnessAgent is available on the AI SDK canary release. Read the AI SDK harness documentation to get started.

    Harness packages are experimental. Expect breaking changes between releases as this early API gets further refined.

  • Introducing Vercel Drop

    Vercel Drop dark heroVercel Drop dark hero

    Vercel Drop lets you deploy a file or folder by dragging it into your browser. You don't need Git, the Vercel CLI, or any local setup.

    Drop a project onto vercel.com/drop, pick a team and project name, and select Deploy. Vercel will create a new project, upload your files, and publish them straight to production with a live URL you can share. All in a matter of seconds.

    Vercel Drop handles more than static files:

    - Framework projects: Vercel detects your framework (e.g., Next.js) and builds it. Exports from tools like Bolt.new deploy this way.
    - Static sites: Files with no framework deploy as-is, with no build step. That includes exports from Claude Design and Google Stitch. If your folder has no index.html at the top, you choose which page loads at your site's root.

    Each drop creates a new project. To get automatic deployments on every push, connect a Git repository to the project afterwards.

    Get started at vercel.com/drop or read the documentation.