# AgentBuilderOptions

`AgentBuilderOptions` configures the Agent Builder. Pass it as `MastraEditor.builder` to enable the Builder UI, toggle visible surfaces, pin admin defaults, and opt into skill registries.

See the [Configuration](https://mastra.ai/docs/agent-builder/configuration) page for concepts and worked examples.

## Usage example

```typescript
import { MastraEditor } from '@mastra/editor'

new MastraEditor({
  builder: {
    enabled: true,
    features: {
      agent: { browser: false },
    },
    configuration: {
      agent: {
        memory: { observationalMemory: true },
        models: {
          allowed: [
            { provider: 'openai', modelId: 'gpt-5.4-mini' },
            { provider: 'openai', modelId: 'gpt-5.4' },
            { provider: 'anthropic', modelId: 'claude-opus-4-7' },
          ],
        },
      },
    },
    registries: {
      skillsSh: { enabled: true },
    },
  },
})
```

## Properties

**enabled** (`boolean`): Master switch. When false, the Builder UI is disabled and \`MastraEditor.resolveBuilder()\` returns undefined. (Default: `true`)

**features** (`{ agent?: AgentFeatures }`): UI toggles. Each key on \`features.agent\` defaults to true when omitted.

**features.agent.tools** (`boolean`): Show the tools tab in the agent editor.

**features.agent.agents** (`boolean`): Show the sub-agents picker in the agent editor.

**features.agent.workflows** (`boolean`): Show the workflows picker in the agent editor.

**features.agent.skills** (`boolean`): Show the skills tab and library for the agent.

**features.agent.memory** (`boolean`): Show the memory configuration in the agent editor.

**features.agent.model** (`boolean`): Show the model picker in the agent editor. When false, the admin-pinned default model applies.

**features.agent.browser** (`boolean`): Show the browser tab. Resolves to true only when a valid browser provider is registered on \`MastraEditor.browsers\`; otherwise it is downgraded to false and a warning is logged.

**features.agent.avatarUpload** (`boolean`): Allow end users to upload an avatar for stored agents.

**features.agent.favorites** (`boolean`): Show favorite agents and skills with per-user state and aggregate counts.

**configuration** (`{ agent?: BuilderAgentDefaults }`): Admin-pinned defaults applied to every Builder-created agent. End users cannot override these values. See the BuilderAgentDefaults reference for the full schema.

**registries** (`{ skillsSh?: { enabled: boolean } }`): Opt-in third-party skill registries. When no registry is enabled, the Builder hides registry browse UI.

**registries.skillsSh** (`{ enabled: boolean }`): Enable the skills.sh registry. When enabled, the Builder shows registry browse UI for skills.sh skills.

**registries.skillsSh.enabled** (`boolean`): Set to \`true\` to opt in. Defaults to \`false\`.

## Related

- [Configuration](https://mastra.ai/docs/agent-builder/configuration) — concept and worked examples.
- [BuilderAgentDefaults](https://mastra.ai/reference/editor/agent-builder/builder-agent-defaults) — full schema for `configuration.agent`.
- [builder.configuration.agent.models](https://mastra.ai/reference/editor/agent-builder/builder-models) — model allowlist and default model.
- [MastraEditor class](https://mastra.ai/reference/editor/mastra-editor) — the parent surface that hosts `builder`.