embedder binary provides an interactive terminal UI, two headless process modes, daemon controls, MCP configuration, remote bridge management, dashboards, and skill installation.
Running
embedder with no arguments opens the interactive terminal UI. Only --server and --daemon are headless process modes.Command tree
embedder without a command to open the terminal UI.
Global flags and process modes
If both process flags are present,
--daemon wins because it is evaluated before --server.
--listen parsing
Use one of these forms:
--listen 4900 falls back to 127.0.0.1:4851. Port 0 is accepted and lets the operating system choose an available port.
The stdio transport stays active when --listen is set. Closing stdio stops a normal --server process, but a listening server remains alive until it receives SIGINT or SIGTERM.
Account status
EMBEDDER_AUTH_TOKEN before stored interactive credentials. The command exits with status 1 when authentication or the usage request fails.
Daemon commands
embedder start daemon
The command starts a detached child with
--daemon. It resolves authentication before spawning and reports an existing daemon instead of duplicating it.
embedder --daemon
start daemon launches. It accepts stored daemon credentials or EMBEDDER_API_KEY; it does not prompt.
--team-id and --project-id are internal paired flags passed by start daemon after name resolution. Provide both IDs or neither. The daemon verifies the IDs against the named team and project.
embedder monitor
embedder stop daemon
--pid, the command stops the only active daemon in the current application directory. It requires a PID when several are listed.
Dashboard server
slug is present, the printed target ends in /d/<encoded-slug>. Press Ctrl+C to stop it.
MCP commands
Add a server
Examples:
command and args.
List servers
Remove a server
--scope project to edit <current-directory>/.embedder/mcp.json.
See MCP servers for OAuth, catalog entries, tool controls, and the configuration schema.
Bridge commands
Discover bridges
_embedder-bridge._tcp.local for 2.5 seconds and prints the address, bridge protocol version, mode, fingerprint, and pairing state.
Pair
name must match an mDNS instance. A direct address must include a port, such as 192.0.2.25:4849 or [2001:db8::25]:4849. If --code is absent, the CLI prompts for it.
The local name defaults to the discovered name or direct host.
List and remove pairings
~/.embedder/bridges.json with mode 0600 where the platform supports it.
Probe status
connected or unreachable.
Run diagnostics
- Pinned connection and protocol handshake
- Advertised capabilities
- Serial-port enumeration
probe-rs- OpenOCD or J-Link GDB Server
- File upload and download
Execute a bridge command
--shell, the command is an argv array. --shell joins the arguments into a shell command. A bridge with a nonempty exec_allowlist rejects shell mode and rejects programs not named in the allowlist.
Start or stop the bundled bridge
start extracts and detaches the bundled embedder-bridge, binds it to 0.0.0.0:4849, and stores runtime state under the Embedder application directory. --relay adds the configured production relay URL when the bridge config is first created.
Install a system service
/usr/local/bin.
The generated service config binds to loopback and enables the relay. Existing config files are preserved.
See Remote hardware bridge for service behavior and the
embedder-bridge binary commands.
Install a skill
--project-root. --user installs into user scope. --overwrite permits replacement. Remote skill URLs must use HTTPS.
Environment variables
Authentication and backend selection
Runtime and daemon
MCP, providers, and certificates
Bridge logging
Development builds also read
STAGING_TOKEN with staging and preview environments. It is not a production authentication variable.
