Skip to main content
const agent = stagehand.agent();
await agent.execute("Sign me up for a library card");
Software has always been deterministic and repeatable, but with AI agents it’s difficult to replicate a workflow. Stagehand combines the best of both worlds: intelligence and determinism. Web Agents in Stagehand are fully customizable. You can use any LLM / VLM / Computer Use provider, set system prompts, add custom tools, and more.
// For Computer Use Agent (CUA) models
const agent = stagehand.agent({
  provider: "openai",
  model: "computer-use-preview",
  instructions: "You are a helpful assistant that can use a web browser.",
  options: {
    apiKey: process.env.OPENAI_API_KEY,
  },
});

// You can define additional options like max_steps and auto_screenshot
await agent.execute({
  instruction="Sign me up for a library card",
  max_steps=20,
})

Arguments: AgentOptions

provider
string
required
Specifies the LLM provider. Currently supporting:
  • OpenAI: openai
  • Anthropic: anthropic
model
string
required
Specifies the LLM model. Currently supporting:
  • OpenAI: computer-use-preview
  • Anthropic: claude-sonnet-4-20250514 and claude-3-7-sonnet-latest
instructions
string
Specifies the system prompt
options
object
Configuration options for the LLM provider. Currently supports OpenAI and Anthropic SDK client options.

Returns: Promise<AgentResult>

success
boolean
If the agent execution completed without errors
message
string
Summary or error message from the agent
actions
AgentAction[]
List of actions performed during execution
completed
boolean
Whether the agent fully completed its task (can be false even if success is true)
metadata
Record<string, unknown> | dict
Optional additional data about the execution