Safeguard Docs
Safeguard CLI

Interactive terminal

The terminal you get when you run safeguard with no arguments

Interactive terminal

Run safeguard with no arguments and you get a terminal rather than a help screen:

safeguard

This is where you sign in, ask questions about your security posture, run scans, and let the runner pick up jobs from the platform. Your code never leaves the machine — only SBOMs and findings are uploaded.

Signing in

Type /login. Your browser opens, you approve the session, and the terminal picks it up. Once you are signed in the runner starts polling for scan jobs scheduled from the platform.

/whoami shows the current session; /logout ends it and takes the runner offline.

Asking for things

Type in plain language. The assistant has tools for your local files and for your Safeguard data, and picks whichever the question needs:

how many critical vulns do we have
what's the latest file in ~/Downloads
fix the lodash CVE in this repo

Anything starting with / is a command instead — see Slash commands.

Writing more than one line

Enter sends your message. To put a newline in it without sending:

KeyNotes
ctrl+jWorks everywhere. The one to remember.
alt+enterWhere the terminal passes it through. Windows consoles intercept this as their own fullscreen toggle, so it does not reach the CLI there.
\ then enterA trailing backslash continues on the next line.

The input grows as you type and hands the rows back to the transcript when you send. Past eight rows it scrolls internally rather than swallowing the conversation.

While a message spans several lines, the up and down arrows move the cursor inside it. On a single-line input they recall your previous messages instead.

In Windows Terminal you can bind shift+enter to send a newline, which is the key most people reach for. Add this to your settings.json actions:

{ "command": { "action": "sendInput", "input": "\n" }, "keys": "shift+enter" }

Selecting and copying

Text selection belongs to your terminal — drag to select, then copy the way you normally would. The CLI does not capture the mouse, so selection, copy and paste all behave exactly as they do everywhere else in that terminal.

The trade is that the mouse wheel does not scroll the transcript. Use PgUp / PgDn and the arrow keys.

To take a whole answer without dragging across it, use /copy, which puts the last response on your clipboard.

Commands and files

Typing / opens the command palette, filtered as you type. Typing @ opens a file picker for the folder you started in, and the file you choose is attached to your message so the assistant can read it.

Both show five entries at a time and scroll to follow your selection. and move, enter chooses, esc closes. Neither one hides the conversation while it is open.

Approving actions

Some tools change things — writing a file, editing code, running a command. Those ask before they act. /permissions chooses how often:

ModeBehaviour
AskPrompt before every action
AutoApprove known actions, ask for anything new. The default.
YoloApprove everything, never ask

The current mode is always shown in the bar under the input.

Reading the screen

The bar above the input carries the runner's state — idle and polling, or the scan in progress — with your model and connection status on the right.

Each answer closes with the time it took:

✓ Completed in 2m 59s

Your own messages are banded so you can find where each exchange began when scrolling back.

Leaving

/quit exits. esc interrupts whatever is running without exiting, and /resume picks the session back up next time you open the terminal in the same folder.

Colour and motion

The terminal uses full colour where it can. It falls back to plain, escape-code-free output when it should: NO_COLOR set, output piped somewhere, TERM=dumb, or CI. In that mode nothing animates, which keeps CI logs diffable.

If the terminal renders entirely in black and white when you expect colour, check whether NO_COLOR is set in that shell. It is honoured deliberately, and it is the usual explanation.

Next Steps

On this page