Skip to main content
Run commands below in a terminal. For commands entered inside chat, see Slash commands.

Interactive chat

Start embedder from the firmware project directory. See Use Embedder from the CLI for installation and terminal controls. --subagent-hardware enables hardware access for newly started general subagents. They share the parent session’s devices; name the target and release it when the task finishes. See Subagents.

Hardware scripts

Paths are relative to .embedder/hardware/ in the current project. Options:
  • --project-root <path>: use a different project directory.
  • --timeout <ms>: set the run timeout; the default is 60000 milliseconds.
  • --description <text>: give the run a short description.
  • --profile <json>: supply a JSON object as capture_profile; use @path to read it from a file.
  • --json: print the final result as JSON, with script output on stderr.
  • --any-path: run a script outside .embedder/hardware/; those files do not receive the toolbox’s provider diagnostics.
Without --profile, the runner looks for a companion profile next to the script. See Hardware scripts for examples and setup. Script output streams to the terminal. Press Ctrl+C to cancel. If preparation needs a Python package, the CLI prompts for approval; unattended runs deny the install. The command exits with 0 on success, 1 on failure, and 2 for a usage error.

Daemon commands

Provide --team and --project together. EMBEDDER_TEAM and EMBEDDER_PROJECT offer the same selection. Use EMBEDDER_API_KEY for unattended authentication and EMBEDDER_DAEMON_CONCURRENCY to set parallel capacity, which defaults to four. embedder --daemon runs in the foreground and requires authentication to be configured beforehand. Prefer embedder start daemon for guided startup. See Operate the daemon for monitoring and troubleshooting.

Dashboard viewer

Run from the project directory and open the local URL printed by the command. The browser viewer shows layout and static content; live data and device controls require the VS Code Monitor. Press Ctrl+C to stop the viewer.

MCP commands

Add options:
  • -t, --transport: stdio (default), http, or sse.
  • -s, --scope: global (default) or project.
  • -e, --env KEY=VALUE: environment setting for a local server; repeat as needed.
  • -H, --header KEY=VALUE: header for a remote server; repeat as needed.
Replace the example URL with your server. ls aliases list; rm aliases remove. Removal uses global scope unless you specify --scope project. See Connect MCP servers for setup and tool controls.

Bridge commands

Use the discovered name or a complete address, such as 192.168.1.50:4849. Pairing prompts for the code if you omit --code. Specify the bridge name for diagnostics when several are paired. ls aliases list, rm aliases remove, and verify aliases doctor. Run a command on a paired bridge:
--timeout <ms> changes the default ten-minute timeout. --shell requests shell execution and is unavailable when the bridge restricts executable names. On the machine with the hardware:
For a persistent Linux or macOS service:
The installer accepts --bin-dir <path> and --state-dir <path>. See Remote hardware bridge for pairing and service setup.

Install a skill

The default destination is the current project’s skill directory. --user makes the skill available across your projects. --overwrite permits replacement of an existing skill. See Skills for the required SKILL.md file and examples.

Connect to a self-hosted instance

embedder connect

Points this machine at a self-hosted Embedder instance instead of the hosted backend. Use it when your organization runs an on-prem install and you need the CLI and the VS Code extension to talk to it.
The command:
  1. Normalizes the URL. A bare hostname gets an https:// prefix. The command rejects plain http addresses; the instance must be reachable over HTTPS.
  2. Requests /api/v1/health on the instance with a 15-second timeout and requires a response of status ok. A non-2xx answer, an unreachable host, or a health payload with any other status each fail with their own message.
  3. Persists the instance’s API and web URLs to ~/.embedder/tenant.json.
On success, the CLI prints the connected web URL and prompts you to sign in on the next run. The CLI stores credentials under a per-instance scope, so signing in to one instance never mixes tokens with another. The command exits with status 2 for a missing, unparseable, or non-HTTPS URL, 1 when the health check fails, and 0 on success.
If the instance serves a certificate from an internal CA, point NODE_EXTRA_CA_CERTS at that CA bundle before running embedder connect.
EMBEDDER_API_URL overrides only the API base URL for a single process. embedder connect persists both the API and web URLs, so links to the web app also resolve against the connected instance. The VS Code extension follows the connected instance automatically. It spawns this CLI with --server, which reads the same tenant file, and its web links open against the connected instance instead of app.embedder.com.

embedder disconnect

Removes the persisted instance and returns this machine to the default hosted backend. The command prints the instance it disconnected from, or reports that nothing was connected.
Last modified on September 18, 2026