Skip to main content
The VS Code extension brings Embedder chat, project setup, schematics, and the Monitor into your workspace. Follow the Quickstart for installation and your first change.

Requirements

The extension requires VS Code 1.106.0 or newer. The same minimum applies to VS Code forks such as Cursor and Windsurf, based on the VS Code version the fork is built on. To check your version, open Help > About (Code > About Visual Studio Code on macOS). On VS Code 1.85 through 1.105, the extension marketplace (VS Code Marketplace or Open VSX) still installs the latest Embedder build, but the extension shows an unsupported-version notice instead of loading. See Unsupported VS Code version.

Work in chat

Run Embedder: Open Embedder Chat, or Embedder: New Embedder Chat in Editor for a separate editor tab.
  • Type / to find available commands.
  • Type @ to select a file, directory, or schematic entity.
  • Paste or drop an image when the task depends on a visual.
  • Choose Act, Plan, or Debug beside the input; Shift+Tab cycles available modes.
  • Use the approval control to choose which actions need confirmation.
Use /new for a new editor chat and /history to resume previous work. Follow-ups sent during an active turn steer the work at its next step boundary; messages not yet absorbed wait in that chat’s queue. See Sessions and context.

Review applied edits

After Embedder writes to a file, review the change in the native editor. Each modified block shows Keep Change and Undo Change CodeLens actions above the hunk. The file gains Keep All Changes in File, Undo All Changes in File, Previous Embedder Change, and Next Embedder Change actions in the editor title bar. VS Code’s built-in Quick Diff gutter compares each block against the pre-edit baseline one hunk at a time. Files awaiting review appear under Pending Edits in the Source Control view.
  • Keep advances the review baseline for that block. Nothing about the file on disk changes.
  • Undo restores the original lines. If the buffer was clean before the edit, Embedder saves the file after undoing. Embedder leaves dirty buffers unsaved so your unrelated manual edits are preserved.
  • Opening a pending diff from chat jumps to that file’s review in the editor.
  • Rewinding a session in chat clears the pending review for that session.
  • Successive tool edits to the same file compare against the original baseline, not the last intermediate state.
  • Embedder preserves manual edits made outside the changed hunks when it reconciles a new edit.
Keyboard shortcuts (active when a file has pending Embedder edits): Pending reviews are stored in VS Code workspace state and are local to that workspace. They do not sync approval status back to the chat UI or the CLI. They also do not replace the pre-execution approval prompts that gate whether an edit runs in the first place.

Open the Monitor

Run Embedder: Open Embedder Monitor, or Embedder: Open Embedder Monitor in Editor for an editor tab. Select + to open a Connect tab. Type to search, use the arrow keys to move, and press Enter to open the highlighted item. The tab groups everything you can add:
  • On the bench: instruments Embedder currently detects. Select one to open a tab bound to it.
  • Views: the Monitor views listed below.
  • Saved plots and Dashboards: saved configurations. You can delete saved plots and dashboards from this list.
The views are:
  • Serial: UART, RTT, ITM, xSCOPE, or CAN traffic.
  • Plot: live numeric signals and calculated channels.
  • Debug: GDB state, registers, memory, and available task information.
  • Logic: digital captures and supported protocol decoding.
  • Power: live Joulescope or PPK2 streams, plus current, voltage, and energy measurements.
  • Oscilloscope: analog waveforms from supported bench scopes and PicoScope.
  • Spectrum Analyzer: frequency sweeps from a Siglent SSA3015X Plus.
  • Trace and Coverage: execution traces and source coverage.
  • Bluetooth: BLE scans, services, and notifications.
  • Dashboard: a reusable project-specific view, listed under Dashboards.
To reach a LAN instrument that isn’t listed, type its address in the Connect tab’s search field and select the Connect to result. The Oscilloscope, Spectrum Analyzer, and Power tabs show a device bar with the device state and setup controls. See Connect a bench instrument. Use multiple panes for related observations. Confirm the selected device before starting a capture. See Monitor and debug for setup requirements.

View schematics

Run Embedder: Open Schematic…, or right-click a supported file and choose Embedder: Open Schematic File…. KiCad sheets, boards, and project files have an integrated viewer. Use /upload-schematics to add a design to project context, then cite components and nets in chat. See Schematics for supported input formats.

Run hardware scripts

Open a Python file under .embedder/hardware/ and choose Embedder: Run Hardware Script. Use Embedder: Stop Hardware Script to stop it. You can also ask for a run in chat. See Hardware scripts for reusable checks and command-line runs.

Learn the interface

Run /tutorial to browse tutorials, or choose one directly:
Use /live-training for live training registration. Embedder: Open Getting Started opens the VS Code walkthrough.

Startup progress

While the runtime boots, the chat view and the status bar report the current boot stage instead of a generic spinner: If the runtime reports no stage within 30 seconds, the chat view adds a hint that antivirus scanning can slow the first launch. As long as the runtime keeps reporting progress, the extension does not restart it. If the runtime shows no signs of life for embedder.startupTimeoutSeconds (default 300 seconds), the extension restarts it.

Customize and troubleshoot

Open Settings and search for Embedder. See Settings for layout, CLI selection, and startup controls. If chat does not load, check sign-in and the selected CLI path, then run Embedder: Restart CLI Server. Use Embedder: Show Build Info for version information and Embedder: Open CLI Logs when investigating a persistent problem. If hardware is busy, run /hardware-queue and inspect the active task before stopping or releasing it.

Unsupported VS Code version

If your editor runs a VS Code version older than 1.106.0, every Embedder command shows an error and every Embedder view and editor shows an Unsupported VS Code version notice instead of loading:
Update VS Code, or your fork such as Cursor or Windsurf, to a release built on VS Code 1.106.0 or newer, then reload the window. You do not need to reinstall the extension.

Use a self-hosted instance

The extension follows the instance configured with embedder connect. Run embedder connect <url> once on the machine, and the extension’s CLI server and its web links resolve against that instance instead of app.embedder.com. Run embedder disconnect to return to the hosted backend.
Last modified on September 18, 2026