Skip to content

Make stagehand version 3 work with AI SDK 6 #1460

@jlmagee

Description

@jlmagee

Before submitting an issue, please:

Environment Information

Please provide the following information to help us reproduce and resolve your issue:

Stagehand:

  • Language/SDK: [TypeScript, Python, MCP…] Typescript
  • Stagehand version: [e.g., 1.0.0] 3,0.6

AI Provider:

version: 'v3',
provider: 'google.generative-ai',
modelId: 'gemini-1.5-pro-latest',

Issue Description

Login failed: UnsupportedModelVersionError [AI_UnsupportedModelVersionError]: Unsupported model version v3 for provider "google.generative-ai" and model "gemini-1.5-pro-latest". AI SDK 5 only supports models that implement specification version "v2".
at resolveLanguageModel (/home/jlmagee/webdev/stagehand/node_modules/@browserbasehq/stagehand/node_modules/ai/src/model/resolve-model.ts:16:13)
at generateObject (/home/jlmagee/webdev/stagehand/node_modules/@browserbasehq/stagehand/node_modules/ai/src/generate-object/generate-object.ts:216:17)

[Describe the current behavior here]
no code or configuration combinations can make this work

Steps to Reproduce

Minimal Reproduction Code

// Your minimal reproduction code here
import { Stagehand, AISdkClient } from "@browserbasehq/stagehand";
import { createGoogleGenerativeAI } from "@ai-sdk/google";
import { z } from "zod";
import * as dotenv from "dotenv";

// 1. Load the .env file into process.env
dotenv.config();

// 2. Validate that the key exists (Safety Check)
if (!process.env.GOOGLE_GENERATIVE_AI_API_KEY) {
    throw new Error("Missing GOOGLE_GENERATIVE_AI_API_KEY in .env file");
}

const google = createGoogleGenerativeAI({
    apiKey: process.env.GOOGLE_GENERATIVE_AI_API_KEY,
});

async function main() {
    const stagehand = new Stagehand({
        env: "LOCAL",
        llmClient: new AISdkClient({
            model: google("gemini-1.5-pro-latest") as any,
        }),
    });

    await stagehand.init();
    const page = await stagehand.context.awaitActivePage();
    //  const page = stagehand.page;

    // Now you can use those variables safely!
    if (!page) {
        throw new Error("Stagehand failed to initialize the primary page.");
    }

    console.log(`Logging in as: ${process.env.APP_USERNAME}`);

    try {
        await page.goto("https://www.brisnet.com/product/login");

        // Using page.act for the login interaction

        await stagehand.act(
            `Login with username ${process.env.APP_USERNAME} and password ${process.env.APP_PASSWORD}`
        );

        console.log("Login action sent. Waiting for navigation...");
    } catch (error) {
        console.error("Login failed:", error);
    } finally {
        // Keep browser open for a few seconds to verify before closing
        await new Promise(resolve => setTimeout(resolve, 5000));
        await stagehand.close();
    }
}


main().catch(console.error);

// Steps that reproduce the issue

Error Messages / Log trace

npx tsx index2.ts
[2025-12-22 19:30:36.680 -0500] INFO: Launching local browser
category: "init"
Logging in as: 24mageejl
Login failed: UnsupportedModelVersionError [AI_UnsupportedModelVersionError]: Unsupported model version v3 for provider "google.generative-ai" and model "gemini-1.5-pro-latest". AI SDK 5 only supports models that implement specification version "v2".
at resolveLanguageModel (/home/jlmagee/webdev/stagehand/node_modules/@browserbasehq/stagehand/node_modules/ai/src/model/resolve-model.ts:16:13)
at generateObject (/home/jlmagee/webdev/stagehand/node_modules/@browserbasehq/stagehand/node_modules/ai/src/generate-object/generate-object.ts:216:17)
at AISdkClient2. (/home/jlmagee/webdev/stagehand/node_modules/@browserbasehq/stagehand/dist/index.js:62801:64)
at Generator.next ()
at /home/jlmagee/webdev/stagehand/node_modules/@browserbasehq/stagehand/dist/index.js:130:61
at new Promise ()
at __async (/home/jlmagee/webdev/stagehand/node_modules/@browserbasehq/stagehand/dist/index.js:114:10)
at AISdkClient2.createChatCompletion (/home/jlmagee/webdev/stagehand/node_modules/@browserbasehq/stagehand/dist/index.js:62747:12)
at /home/jlmagee/webdev/stagehand/node_modules/@browserbasehq/stagehand/dist/index.js:29232:41
at Generator.next () {
cause: undefined,
version: 'v3',
provider: 'google.generative-ai',
modelId: 'gemini-1.5-pro-latest',
Symbol(vercel.ai.error): true
}
[2025-12-22 19:30:43.100 -0500] INFO: ⏳ forcing completion of stalled iframe document
category: "dom"
url: "blob:https://www.brisnet.com/5bf51cb7-49f5-4ff4-b3f1-ce8a604d5bee"

[Paste error messages/logs here]

Screenshots / Videos

[Attach screenshots or videos here]

Related Issues

Are there any related issues or PRs?

  • Related to: #[issue number]
  • Duplicate of: #[issue number]
  • Blocks: #[issue number]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions