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

# Launch applications

> Assign and run BRICKS applications on your device

After [binding your device](/foundation/device-binding) to a workspace, you can assign applications to it from [BRICKS Controller](/controller) or directly on the device.

## Assign from BRICKS Controller

<Steps>
  <Step title="Open BRICKS Controller">
    Go to [BRICKS Controller](/controller/applications) and open the application you want to run.
  </Step>

  <Step title="Bind the device">
    In the application detail page, go to the **Devices** tab and click **Add Device**. Select your device.
  </Step>

  <Step title="Application starts automatically">
    The device receives the application and begins displaying it.
  </Step>
</Steps>

<Info>
  You can also bind applications to device groups to deploy to multiple devices at once. See [application management](/controller/applications) for details.
</Info>

## Launch from the device

You can also launch an application directly on the device:

1. Open the **system menu** on the device
2. Tap **Applications**
3. Select the application you want to run

This lets you switch applications without going to BRICKS Controller.

## Switch applications

To change the application running on a device:

* **From the device** — Open the system menu, tap **Applications**, and select a different application
* **From BRICKS Controller** — Reassign the device from the [application detail page](/controller/applications) or the [device detail page](/controller/devices)

## Refresh the application

If you need to reload the current application on a device:

* **From the device** — Open the system menu and tap **Refresh**
* **From BRICKS Controller** — Click **Refresh** on the [device detail page](/controller/devices)
* **From CTOR** — Click **Refresh** on an online device in the [Devices panel](/ctor/reference/panels#devices)
* **From BRICKS CLI** — Run `bricks device refresh <id>`
* **Batch refresh** — Use `bricks group refresh <group-id>` to refresh all devices in a group

## Clear cache

Clear the application cache on a device to force a full reload:

* **From the device** — Open the system menu and tap **Clear Cache**
* **From BRICKS Controller** — Click **Clear Cache** on the device detail page
* **From CTOR** — Click **Clear cache** on an online device in the [Devices panel](/ctor/reference/panels#devices)
* **From BRICKS CLI** — Run `bricks device clear-cache <id>`

## Application versioning

When multiple versions of an application exist, the device runs the active version. You can change the active version from [BRICKS Controller](/controller/applications) to roll back or test a specific version. See [application versioning](/controller/applications#application-versioning) for details.

## Next steps

<CardGroup cols={2}>
  <Card title="Core reference" icon="book" href="/foundation/reference">
    Detailed reference for bricks, generators, data, animations, and all platform entities.
  </Card>

  <Card title="Debug panel" icon="bug" href="/foundation/debug-panel">
    Inspect runtime state and troubleshoot issues on the device.
  </Card>

  <Card title="Manage applications" icon="grid-2" href="/controller/applications">
    Create, configure, and version applications in BRICKS Controller.
  </Card>
</CardGroup>
