> ## Documentation Index
> Fetch the complete documentation index at: https://docs.automate.ax/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# Upload Browserbase extension

> Upload a Chrome extension archive for later sessions.

`browserbase.uploadExtension` uploads a Chrome extension archive for later sessions. Inputs accept literal values or compatible signals. An optional second argument `{ account }` selects a named Browserbase binding.

## Example

```ts theme={null}
import { automation, onInvocation } from "automate.ax"
import { browserbase } from "automate.ax/browserbase"

export default automation("Upload Browserbase extension", () => {
  onInvocation()
  browserbase.uploadExtension({
    file: new Blob(["extension archive bytes"]),
    filename: "extension.zip",
  })
})
```

## Inputs

| Input      | Type     | Required | Default | Description                             |
| ---------- | -------- | -------- | ------- | --------------------------------------- |
| `file`     | `Blob`   | Yes      | —       | Chrome extension archive.               |
| `filename` | `string` | Yes      | —       | Archive filename, up to 255 characters. |

## Output

Returns the extension ID, filename, project, and timestamps.

Pass the returned ID when creating a session. Uploads are not replay-safe.
