Skip to main content
Most commands support -j or --json for machine-readable JSON output.

BRICKS Foundation management (bricks device)

bricks device list

List all devices in the workspace.

bricks device get <id>

Show detailed information about a device, including hardware specs.

bricks device bind <passcode>

Bind a new device to the workspace using its passcode.

bricks device control <id> <type>

Send a control event to a device.

bricks device refresh <id>

Reload the application on a device.

bricks device clear-cache <id>

Clear the cache on a device.

bricks device screenshot <id>

Take a screenshot and save it locally.

bricks device monitor

Monitor device status in real time. Requires an interactive terminal.

BRICKS Foundation groups (bricks group)

bricks group list

List all device groups.

bricks group get <id>

Show group details.

bricks group devices <id>

List devices in a group with their online/offline status.

bricks group dispatch <id> <action>

Send an action to all devices in a group. Available actions: refresh, clear-cache, system-menu-open, system-menu-close, system-info-open, system-info-close, local-sync-panel-open, local-sync-panel-close, debug-panel-open, debug-panel-close, logging-on, logging-off, test-panel-open, test-panel-close

bricks group refresh <id>

Refresh all devices in a group.

bricks group monitor <id>

Monitor all devices in a group in real time.

Applications

bricks app new

Create a new application in the workspace.

bricks app list

List all applications.

bricks app get <id>

Show application details.

bricks app update <id>

Update application metadata or configuration.

bricks app check-config <path>

Validate a configuration file against the BRICKS schema.

bricks app bind <id>

Bind or unbind devices to an application.

bricks app short-edit <id>

Apply quick property changes without a full release.

bricks app short-refs <id>

List available references for short edits.

bricks app trigger <id> <testId>

Trigger an automation test on an application.

bricks app release <id>

Release a new version of an application.

bricks app project-pull <id>

Pull the application source files from the server.

bricks app project-init <id>

Initialize a bricks-ctor project from an existing application.
Deprecated — use bricks ctor init <id>. The old form still works and forwards to the new command.

Modules

bricks module new

Create a new module in the workspace.

bricks module list

List all modules.

bricks module get <id>

Show module details.

bricks module update <id>

Update module metadata or configuration.

bricks module short-edit <id>

Apply quick property changes without a full release.

bricks module short-refs <id>

List available references for short edits.

bricks module release <id>

Release a new version of a module.

bricks module project-pull <id>

Pull the module source files from the server.

bricks module project-init <id>

Initialize a bricks-ctor project from an existing module.
Deprecated — use bricks ctor init <id> --type module. The old form still works and forwards to the new command.

BRICKS Projects (bricks ctor)

Scaffold, sync, compile, deploy, and simulate bricks-ctor projects from the CLI.
Generated bricks-ctor projects wrap these commands as package scripts — run bun compile, bun deploy-app, bun update-app, bun pull-app, and bun invoke-simulator from the project directory.

bricks ctor init <id>

Initialize a BRICKS project from an application or module. Requires authentication. Replaces the deprecated bricks app project-init and bricks module project-init.

bricks ctor postinstall

Regenerate the project’s local ctor/ library, MCP config, and skills. Migrates legacy bricks-ctor projects.

bricks ctor pull

Pull the latest project files from BRICKS using a three-way Git merge.

bricks ctor push

Compile and push the configuration without creating a release.

bricks ctor deploy

Compile the project and release a new version.

bricks ctor compile

Typecheck and compile the project configuration, then validate it.

bricks ctor simulator

Run the project in the local Simulator window. Extra flags are passed through to the Simulator, for example --skip-typecheck, --clear-cache, --screenshot, --screenshot-delay, --screenshot-width, --screenshot-height, and --screenshot-path.

bricks ctor mcp

Start the project’s bricks-ctor MCP server over STDIO.

Media Flow

Media Flow commands require a workspace with Media Flow enabled.

bricks media boxes

List all Media Flow boxes.

bricks media box <id>

Show Media Flow box details.

bricks media files <boxId>

List files in a Media Flow box.

bricks media file <id>

Show file details.

bricks media upload <boxId> <files...>

Upload one or more files to a Media Flow box.

Activity Log

Activity Log commands query the Activity Log, available on Business plan workspaces. The time range per query is capped at 30 days.
Commands in this section are read-only queries. Use bricks al as a shorter alias for bricks activity-log.

bricks activity-log events

Query activity log events across all event types.
Use --jsonl for large result sets — it streams events to stdout as they arrive, which is friendlier for piping into tools like jq.

bricks activity-log screenshots

List screenshot timestamps captured from a device.

bricks activity-log screenshot

Download a single screenshot image for a device at a specific timestamp.

BRICKS Buttress (bricks buttress)

Pair a BRICKS Buttress server with the current workspace, inspect bindings, mint long-lived access tokens, and wire an agent to a server’s local functions. Also available as bricks butr.

bricks buttress bind

Pair the local Buttress server with the workspace of the active CLI profile and write the server’s state.json. Restart the Buttress server after binding for the change to take effect.

bricks buttress unbind

Remove the binding from the workspace and delete the local state.json.

bricks buttress status

Show the local state.json and the workspace-side list of bound servers.

bricks buttress issue-token

Mint a long-lived workspace access token for headless callers (CI scripts, CTOR agents, ACP bridges).
Send the token as an Authorization: Bearer <token> header or as ?access_token=<token> on the WebSocket URL.

bricks buttress scan

Scan the LAN for BRICKS Buttress servers via UDP and verify each one over HTTP /buttress/info. Lists every reachable server (bound or unbound) with version, auth state, bound workspace, and per-generator hardware caps. Servers whose workspace matches the active CLI profile are highlighted. This command does not mint a token. Run bricks buttress issue-token afterwards if you need to connect to a bound server.

bricks buttress mcp-config

Print — or write — the .mcp.json entry for a server’s local functions MCP endpoint. Without --url it scans the LAN, prefers a server that advertises local functions, mints a workspace access token, and merges the entry into .mcp.json alongside your other MCP servers.
The entry embeds a long-lived workspace access token. Treat .mcp.json as a secret and keep it out of version control.
Discovery refuses to mint a token for a server that does not report your workspace — an unbound or foreign host is a mismatch, and any machine on the LAN can answer a discovery probe. Pass --url to target such a server deliberately, or --no-token for an unauthenticated one. A malformed existing .mcp.json is reported rather than overwritten.

Self-update

bricks update-cli

Update the CLI in-place. Auto-detects how the running CLI was installed (npm global, Bun global, or the standalone binary) by inspecting process.execPath and process.argv[1], then runs the matching update command. Falls back to the binary installer (install.sh / install.ps1 from the CDN) when detection is inconclusive or the primary method fails.
The channel defaults to beta when the binary is named bricks-beta or the running version carries a pre-release suffix; otherwise it defaults to release.

Configuration

bricks config show

Display the current CLI configuration.

bricks config endpoint [environment]

Show or change the API endpoint. Environments: prod (https://display.bricks.tools), beta (https://display-beta.bricks.tools), dev (http://localhost:3001)

Workspace

bricks workspace

Show details about the current workspace. Also available as bricks ws.

Interactive mode

bricks interactive

Launch the terminal UI for browsing and controlling devices, applications, modules, and media. Also available as bricks i. Controls:

DevTools

bricks devtools scan

Scan the local network for BRICKS DevTools servers. Each device reports its auth state: workspace-jwt (workspace-token auth, shown when the device is bound to a workspace), passcode, locked, or open (older versions).
Devices must have Enable LAN Discovery turned on in Advanced Settings (enabled by default).

bricks devtools open <address>

Show information about a DevTools server (name, version, device ID, workspace, protocols, auth). The reported auth state is one of workspace-jwt (workspace-token auth, shown when the device is bound to a workspace), passcode, locked, or open (older versions).

bricks devtools issue-token

Issue or refresh a workspace-scoped DevTools access token for the current profile and save it to the CLI config (~/.bricks-cli/config.json). The token itself is never printed — the command prints the profile, workspace, expiry, and token id.
DevTools commands acquire and refresh this token automatically, so you rarely need to run issue-token manually.

DevTools CDP commands

CDP commands require BRICKS Foundation version 2.24 or later. All CDP commands share the following options:When a device supports workspace auth and you are signed into its workspace, commands authenticate automatically with a cached token, re-issued on a 403 response.

bricks devtools screenshot

Capture a device screenshot via CDP and save it locally.

Brick inspection (bricks devtools brick)

bricks devtools brick tree

Print the brick component tree.

bricks devtools brick query <selector>

Find a brick by CSS selector and show its attributes.

bricks devtools brick query-all <selector>

Find all bricks matching a CSS selector.

bricks devtools brick attributes <nodeId>

Get all attributes of a brick by node ID.

bricks devtools brick box-model <nodeId>

Get dimensions and position (content, padding, border, margin) of a brick.

bricks devtools brick resolve <nodeId>

Resolve a brick to a JavaScript object and show its properties.

bricks devtools brick focus <nodeId>

Focus a brick element.

Input emulation (bricks devtools input)

bricks devtools input tap <x> <y>

Tap/click at the given coordinates.

bricks devtools input type <text>

Insert text into the currently focused element.

bricks devtools input key <key>

Dispatch a key event (e.g., Enter, Escape, Tab).

Network inspection (bricks devtools network)

bricks devtools network list

Capture a snapshot of network activity.

bricks devtools network get <requestId>

Get the response body for a captured network request.

Storage inspection (bricks devtools storage)

bricks devtools storage system persist

Show persistent system storage entries.

bricks devtools storage system memory

Show in-memory system storage entries.

bricks devtools storage data-bank list

List all Data Banks on the device.

bricks devtools storage data-bank get <name> <store>

Query data from a Data Bank store.

bricks devtools storage generator-cache

Show generator cache entries.

Runtime (bricks devtools runtime)

bricks devtools runtime eval <expression>

Evaluate a JavaScript expression on the device.

bricks devtools runtime properties <objectId>

Get properties of a remote JavaScript object by its object ID.

Simulator (bricks devtools simulator)

Inspect and export simulated thermal-printer output from a running CTOR or Config Editor Simulator. Print history is kept in memory — up to 10 prints per printer, cleared on reload.

bricks devtools simulator thermal-printer list

List the captured thermal-printer prints.

bricks devtools simulator thermal-printer print-result -o <file>

Export a captured thermal-printer print to a file.

ACP bridge

bricks desktop-acp-bridge

Connect acpx or other ACP clients to the running CTOR app. The bridge pipes ACP JSON-RPC messages between an ACP client and the desktop app’s Unix socket — over stdio by default, or as a WebSocket server with --ws.
In --ws mode each WebSocket client gets its own dedicated connection to the ACP Unix socket; one WebSocket text frame equals one JSON-RPC message. The default bind host is 0.0.0.0 because WebSocket mode is intended for LAN exposure (e.g. browser or mobile clients on other machines) — always set --auth-token and only run on trusted networks. Use --host 127.0.0.1 to restrict to localhost.
The desktop app must be running with ACP enabled in Settings > Agent. See ACP reference for setup details.

MCP server

bricks mcp start

Start a BRICKS MCP server in STDIO mode for AI agent integration.