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

# Use Embedder from the CLI

> Install the embedder binary, run the interactive terminal UI, choose between server or daemon headless modes, and connect the CLI to a project.

The `embedder` binary includes an interactive terminal UI, two headless process modes, and operational commands. Running `embedder` with no arguments opens a human-driven chat client connected to the same local agent runtime used by the VS Code extension. Headless operation uses `--server` or `--daemon`.

Use the VS Code extension for the full product interface. Use the terminal UI when you work over SSH, prefer a terminal, or need an interactive session on a machine without VS Code.

## Choose the right interface

| Need                                                        | Use                                          |
| ----------------------------------------------------------- | -------------------------------------------- |
| Chat, Monitor, schematics, plots, and editor integration    | VS Code extension                            |
| Interactive chat over SSH or in a terminal-only environment | `embedder`                                   |
| A custom editor, test harness, or automation client         | `embedder --server`                          |
| Autonomous GitHub or Slack work on your machine             | `embedder start daemon`                      |
| Hardware attached to another machine                        | `embedder-bridge` and `embedder bridge pair` |
| Project dashboards in a browser                             | `embedder dashboard`                         |

## Install the terminal UI

<Tabs>
  <Tab title="macOS and Linux">
    ```bash theme={"system"}
    curl -fsSL https://embedder.com/install | bash
    ```

    The native installation checks for updates automatically.
  </Tab>

  <Tab title="Windows">
    Run in PowerShell:

    ```powershell theme={"system"}
    irm https://embedder.com/install.ps1 | iex
    ```

    The native installation checks for updates automatically.
  </Tab>

  <Tab title="npm">
    ```bash theme={"system"}
    npm install --global @embedder/embedder
    ```

    Use this option when Node.js and npm already manage your command-line tools.
  </Tab>
</Tabs>

Verify the installation:

```bash theme={"system"}
embedder --version
```

## Start an interactive session

Open the firmware project directory and run:

```bash theme={"system"}
cd /path/to/firmware
embedder
```

The terminal UI opens a browser sign-in flow on first use. Follow the URL printed in the terminal if the browser does not open.

Select the team, project, platform, and peripherals for the repository. Then run:

```text theme={"system"}
/init
```

Review the detected build, test, debug, flash, and observation workflows before Embedder writes `EMBEDDER.md`.

## What the terminal UI supports

The terminal UI and VS Code share the same agent runtime and project context. From the terminal you can use:

* Act, Plan, and Debug modes
* File reads and edits, code search, document search, and shell commands
* Plans, approvals, goals, loops, memory, skills, subagents, and agent teams
* Build, test, flash, serial, GDB, trace, coverage, and hardware-script tools
* MCP management, model providers, static analyzers, tasks, and usage views
* Conversation history, queues, undo, rewind, compression, and sharing
* UART and RTT interaction through the serial sidebar

Some hardware tools produce saved captures or reports without a rich terminal visualization. Ask the agent to summarize the result or open the generated files later in VS Code.

## What VS Code adds

The terminal UI does not reproduce the full VS Code interface.

| Capability                                                          | VS Code                                              | Terminal UI                                       |
| ------------------------------------------------------------------- | ---------------------------------------------------- | ------------------------------------------------- |
| Serial                                                              | Multi-tab Monitor surface                            | Serial sidebar                                    |
| Plot, Debug, Logic, Power, Oscilloscope, Trace, Coverage, Bluetooth | Dedicated Monitor tabs                               | No equivalent rich tabs                           |
| Project dashboards                                                  | Monitor dashboard tab                                | Use `embedder dashboard` in a browser             |
| Schematics                                                          | KiCad custom editor and schematic actions            | Agent queries and upload flow, without the editor |
| Conversations                                                       | Multiple editor chat tabs                            | One terminal session view                         |
| Tutorials                                                           | `/tutorial` and `/live-training`                     | Not available                                     |
| Session audit                                                       | `/audit` view                                        | Not available                                     |
| Editor integration                                                  | Clickable files, diffs, layouts, and Command Palette | Terminal rendering and selectors                  |

The Plot view and `dashboard_open` require a VS Code host. `/plot` is not exposed in the terminal UI.

## Terminal controls

Useful input controls include:

| Input                | Action                          |
| -------------------- | ------------------------------- |
| `Shift+Tab`          | Cycle the available agent modes |
| `/`                  | Open slash command suggestions  |
| `@`                  | Cite a file or directory        |
| `!`                  | Enter direct shell mode         |
| `~`                  | Enter serial-send mode          |
| `Ctrl+C` or `Escape` | Stop the active turn            |

The terminal UI also adds these commands:

| Command        | Action                           |
| -------------- | -------------------------------- |
| `/exit`        | Exit the application             |
| `/background`  | View and manage background tasks |
| `/theme`       | Change the terminal color theme  |
| `/keybindings` | Select Emacs or Vim navigation   |
| `/vim`         | Toggle Vim bindings              |
| `/emacs`       | Toggle Emacs bindings            |

See [Keyboard shortcuts](/core-concepts/keyboard-shortcuts) and [Slash commands](/core-concepts/slash-commands-reference) for the full references.

## Use operational CLI commands

You can run administration commands without opening interactive chat:

```text theme={"system"}
embedder status
embedder start daemon
embedder stop daemon
embedder monitor
embedder dashboard [slug]
embedder mcp add|remove|list
embedder bridge discover|pair|doctor|exec|start|stop|install-service
embedder skill install
```

See [CLI reference](/headless/cli-reference) for all flags, subcommands, aliases, and environment variables.

## Use a headless process mode

Headless refers to these process modes, not the interactive terminal UI:

| Mode                | Driver                  | Use                                                                           |
| ------------------- | ----------------------- | ----------------------------------------------------------------------------- |
| `embedder --server` | Your JSON-RPC client    | Build an editor integration, harness, or automation client over stdio or WSS. |
| `embedder --daemon` | Embedder backend queues | Run autonomous GitHub and Slack work.                                         |

Use [Automation](/headless/overview) and [Operate the daemon](/headless/daemon) for unattended work.

<CardGroup cols={2}>
  <Card title="VS Code quickstart" icon="code" href="/quickstart">
    Use the primary interface with the full Monitor and editor integration.
  </Card>

  <Card title="CLI reference" icon="terminal" href="/headless/cli-reference">
    Check every command, flag, and environment variable.
  </Card>
</CardGroup>
