Interface: RunOptions

Defined in: agent.ts:723

Options for a single run

Properties

chatOptions?

optional chatOptions?: ChatOptions;

Defined in: agent.ts:737

Override chat options for this run

getToolContext?

optional getToolContext?: (toolName, toolUseId) => Partial<Omit<ToolExecutionContext, "toolUseId" | "onOutput">>;

Defined in: agent.ts:782

Callback to provide additional tool execution context. Called before each tool execution, allowing the caller to inject abort signals or other context-specific options.

Parameters

Parameter Type
toolName string
toolUseId string

Returns

Partial<Omit<ToolExecutionContext, "toolUseId" | "onOutput">>

Example

// Provide abort signal for bash commands (for Ctrl+B backgrounding)
const bashAbortController = new AbortController();
await agent.stream(message, {
  getToolContext: (toolName, toolUseId) => {
    if (toolName === 'bash') {
      return {
        abortSignal: bashAbortController.signal,
        onBackground: (shellId, output) => { ... },
      };
    }
    return {};
  },
});

maxIterations?

optional maxIterations?: number;

Defined in: agent.ts:732

Override max iterations for this run

onEvent?

optional onEvent?: AgentEventHandler;

Defined in: agent.ts:742

Event handler for this run (in addition to config handler)

signal?

optional signal?: AbortSignal;

Defined in: agent.ts:727

AbortSignal for cancellation

toolFilter?

optional toolFilter?: string[];

Defined in: agent.ts:758

Filter tools for this run.

  • If provided, only these tool names will be available
  • Reduces token usage by not sending unused tool definitions
  • Tools must be registered with the agent

Example

// Only allow file and search tools for this request
await agent.run(message, {
  toolFilter: ['read_file', 'write_file', 'grep', 'glob'],
});