Terminal and Setup
Use project terminals, follow the agent's long-running commands, control when it may type into your terminal, and check Embedr's built-in tools.
The Terminal tab runs shells in your project folder. The agent's commands use the same terminal system, so a command it starts can keep running, and you and the agent can both see and stop it.
Open a terminal
Open Terminal from the + menu in the tab strip, or from the editor's empty state. The first session starts in the project folder.
The bar along the bottom of the Terminal tab holds:
| Control | What it does |
|---|---|
| Session tabs | One per terminal session. Click to switch; the x closes it (shown when there is more than one). |
| New | Starts another session. Shortcut: Ctrl+Shift+` while the terminal has focus. |
| Clear | Clears the visible output of the active session. |
Right-click inside a terminal for Copy, Paste, Select All, Clear Terminal and Add to Chat. Cmd/Ctrl+C, Cmd/Ctrl+V and Cmd/Ctrl+A also copy, paste and select all.
Use separate sessions for long-running output and quick commands, for example one session watching a build and another for git status.
Sessions belong to the project. They keep running when you switch to another tab, hide the panel or reload the window, and stop when you close their tab, delete the project or quit Embedr.
Tools available in the terminal
Embedr's terminal puts its built-in command-line tools first on the path, so these work without installing anything:
| Command | Use |
|---|---|
embedr |
Firmware projects: build, upload, monitor, libraries, targets. See CLI reference. |
pcb |
The hardware toolchain behind the Schematics and Board views (Zener build, layout, format). See Schematics and PCB. |
Quick checks:
embedr --version
embedr boards --limit 10
embedr devices
embedr compile
If these work in the terminal but a toolbar button fails, check the toolbar's target, device and environment. If they fail in the terminal too, the problem is in the project configuration or the toolchain, and the error text is what to send the agent.
Commands the agent runs
When the agent runs a command, a row appears in the chat with the command's output streaming into it. Short commands finish inside that row.
Long-running commands, such as a dev server, a log watcher or a long build script, can run in the background. Their chat row is labelled Background and has two buttons:
- Open terminal opens the session as a tab in the Terminal panel, so you can watch it and type into it.
- Stop ends it.
A background command keeps running after the agent moves on to other work or the run finishes. The agent can come back later to read its output, wait for a prompt, or stop it. When a command it started ends before it has read the result, the agent is told on its next step.
Closing the tab of a session the agent started only hides it; the agent can still read or stop it. Closing a terminal you opened ends that shell.
Builds and flashes started from the toolbar or by the agent's build tools are not terminal sessions. Their output goes to the Output tab, and the agent cannot stop them; only you can.
When the agent types into a terminal
The agent can answer a prompt from a command it started (an installer asking Continue? [y/N], for example) or run a command in a terminal you have open. Every time it wants to type into a terminal, Embedr asks you first, even if you have turned on automatic approvals. The approval card shows:
- exactly what it will type, with Enter shown as
⏎and control keys such as Ctrl+C spelled out, - which terminal it is (yours or one the agent started), its shell and folder,
- how many times it presses Enter.
The agent can send Ctrl+C to a terminal you opened, with your approval, but it cannot close your terminal.
Once the agent has typed in a terminal, a banner appears above it: The agent has typed in this terminal. You can keep typing too. Click Block agent input to stop the agent typing there; the banner then reads Agent input is blocked in this terminal. with Allow agent input to undo it. You can always type, whichever setting is on.
Which commands the agent may run without asking is set in Settings → Command Approval. See Settings and privacy.
Add terminal output to chat
Select text in the terminal and click Add to Chat, or right-click and choose Add to Chat. The agent gets the exact text, which works better than a description such as "it says some Python thing failed".
Windows
On Windows the agent's commands run in cmd.exe by default, and it can choose PowerShell instead. Commands with quoted paths, such as paths containing spaces, are passed through unchanged:
"C:\Users\Ana\My Projects\robot\.pio\build\esp32dev\firmware.bin"
Stopping a command also stops everything it started.
In the browser
In Embedr in the browser, the Terminal tab opens a cloud terminal on a snapshot of the project.
- A note at the top reads Cloud snapshot · close to save terminal file changes; reopen to load editor changes. Files changed in the terminal reach the project when you click Close & save (or close the session tab). Edits you make in the editor afterwards appear in the terminal the next time you open one.
- Generated caches such as
node_modulesand.pioare not saved to the project. - Sessions expire after 30 minutes.
- If the connection drops, use Reconnect. If input was paused, Resume input continues it.
- If saving fails, Download recovery files gives you the terminal's changes.
In a read-only shared project, the Terminal tab asks you to fork the project first.
Local tools (desktop)
Settings → Local tools shows whether KiCad 10 is installed (KiCad CLI, with a Check button) and, under Where tools run, lets you choose for KiCad and SPICE simulation:
| Choice | Behaviour |
|---|---|
| Local when available | Use KiCad 10 or ngspice on this computer if installed, otherwise the cloud. |
| Always cloud | Always run in the cloud. |
Firmware builds always run on your computer with Embedr's built-in toolchain; no separate PlatformIO install is needed. See Simulation and Board and KiCad.
Common problems
| Symptom | What to try |
|---|---|
embedr or pcb is not found |
You are in a system terminal, not Embedr's. Use the Terminal tab, which adds them to the path. |
| Terminal shows No Terminal Sessions | Click Create Terminal. |
| Terminal Error | Click Retry. If it keeps failing, restart Embedr. |
| A command waits forever | It is probably waiting for input. Open its terminal and answer, or let the agent answer with your approval. |
| The agent keeps asking to type into your shell | Click Block agent input on that terminal. |
More fixes are in Troubleshooting.
