# Aside developer documentation

Aside provides a CLI, a Model Context Protocol (MCP) server, and a browser automation REPL. Use these interfaces to work with the user's browser and accounts. The public HTTP API documented here resolves browser installer downloads; it does not create or control agent sessions.

Aside Browser runs on macOS 15.0 or later and on Windows 10 version 22H2 or later, or Windows 11. Both Windows x64 and ARM64 installers are available. See [Aside system requirements and setup](https://docs.aside.com/help/get-started.md).

## When to use Aside

- Run a smoke test of a local web application in a real browser.
- Research information across websites and summarize findings for the user.
- Work across the user's signed-in email, dashboards, and internal tools with their permission.
- Inspect pages, take screenshots, and perform deterministic browser steps through the REPL.

Use the CLI for natural-language tasks, MCP to connect an existing agent, and the REPL for direct browser automation. Do not use the download API for browser tasks. Obtain permission before accessing accounts or performing sensitive actions; never bypass a login or approval prompt.

## Aside CLI

Install the CLI from Aside's Developer settings or follow the [Aside CLI installation guide](https://docs.aside.com/help/developers.md). With the CLI configured, run a task:

```bash
aside "Open localhost:3000 and run a smoke test"
```

Continue an existing session:

```bash
aside session resume <session-id> "Continue"
```

For direct browser automation:

```bash
aside repl "const p = await openTab('https://example.com')"
```

## Aside authentication

For CLI sign-in on another computer, set `ASIDE_CLI_AUTH_PATH` before running `aside login --email "you@example.com"`. Choose an absolute file path in private, writable storage that remains available for future commands. Keep the login process running while the user approves its code in **Aside Settings > Account > Devices**, and wait for `Signed in as ...` before proceeding.

Pass the same `ASIDE_CLI_AUTH_PATH` to subsequent commands, including in new shells. Never print, upload, commit, or share the credential file. If credentials cannot be stored securely, stop rather than bypassing the environment's restrictions. See the [Aside authentication and account guide](https://docs.aside.com/help/developers.md) for details.

## Aside MCP server

The CLI exposes MCP over standard input/output using `aside mcp`. For clients that support `mcp.json`:

```json
{
  "mcpServers": {
    "aside": {
      "command": "aside",
      "args": ["mcp"]
    }
  }
}
```

Use the concrete CLI path shown in Developer settings when needed. This is a local command, not an HTTP `/mcp` endpoint. The client discovers tools and their input schemas through the MCP protocol. See [Aside MCP setup](https://docs.aside.com/help/developers.md).

## Aside public download API

The [Aside OpenAPI 3.1 specification](https://aside.com/openapi.json) describes the existing, unauthenticated installer download endpoints. Each operation has a unique operation ID, typed parameters, and response schemas for function-calling and API clients.

- `GET /api/download/macos?arch=arm64` resolves the macOS Apple Silicon installer.
- `GET /api/download/macos?arch=x64` resolves the macOS Intel installer.
- `GET /api/download/windows?arch=x64` resolves the Windows x64 installer.
- `GET /api/download/windows?arch=arm64` resolves the Windows ARM64 installer when available.

Successful requests return HTTP `302` with a `Location` header, not JSON or the binary itself. Without an architecture, requests can redirect to the download picker. Invalid architectures return `400`, unsupported operating systems return `403`, and unavailable releases return `503`. Use an explicit architecture rather than guessing from the agent's host. Check headers without following redirects or downloading a binary:

```bash
curl -sS -D - -o /dev/null 'https://aside.com/api/download/macos?arch=arm64'
```

The download endpoints require no API key. The specification does not grant access to account, billing, or agent-session APIs. No public task REST API, hosted MCP URL, outbound webhook contract, or rate-limit guarantee is documented here; use the supported CLI/MCP workflow instead of relying on internal endpoints.

## Machine-readable resources

- [Aside agent instructions](https://aside.com/llms.txt)
- [Aside homepage in Markdown](https://aside.com/index.md)
- [Aside OpenAPI specification](https://aside.com/openapi.json)
- [Aside sitemap](https://aside.com/sitemap.xml)
- [Aside Help Center index](https://docs.aside.com/llms.txt)

Request `Accept: text/markdown` on `https://aside.com/` or `https://aside.com/developers` for Markdown at the same URL. HTML remains the default. Both variants declare `Vary: Accept, Accept-Encoding`. Other pages keep their existing representations; the Help Center also publishes `.md` pages.
