To get the most from Safeguard, sign in to the CLI, the desktop app and the phone app with the same account. A CLI session is live on all three. Start a fix in the terminal, follow it in the desktop app, and approve the next command from your phone while the work runs on your computer.
This is a practical guide for people who want to use Safeguard every day, not just open it during an incident. By the end you will have:
- The CLI, the desktop app and the phone app installed and signed in to one account.
- A computer that stays reachable, so the desktop app or your phone can send it work.
- A daily routine: fix in the terminal, review on the desktop, approve from the phone.
- A permission mode picked for each kind of task, and a way to undo an edit.
- Fixes for the problems people hit most often.
You also keep the AI you already pay for. Bring the Claude, ChatGPT or Codex plan you already pay for and use it inside the Safeguard CLI. Safeguard adds no extra charge for that usage; your plan's own usage limits and terms still apply. And if your team lives in Claude or ChatGPT, connect either one to the Safeguard MCP server and ask about your vulnerabilities from the chat you already use.
One account, every surface
Safeguard is one platform with several ways in. The download page lists all of them; this table covers what each is good for in daily use, as checked on 21 October 2026.
| Surface | Get it from | Use it for | How approvals look |
|---|---|---|---|
| CLI | One curl command on macOS and Linux, one PowerShell command on Windows | Fixing and writing code, scans, SBOMs, CI | Press y or n in the terminal; mode set by /permissions |
| Desktop app 3.2.2 | Windows 10/11, macOS 12+ (Apple Silicon, Intel build linked), Linux AppImage for x86_64 | Reviewing work, sending tasks to a computer, the full web app in a window | Approve or Deny on each command and file edit |
| Android app | Google Play, or a direct APK for phones without Google Play | Checking results and approving on the move | Allow once, Allow for turn or Deny |
| iOS app | App Store, for iPhone and iPad | Asking questions and following work on the move | Not covered in this guide |
| Browser extension 1.0.4 | Chrome Web Store, Firefox Add-ons; Safari on iPhone and iPad inside the iOS app | Search in a side panel; browser control when enabled | Ask, Auto or Yolo |
| IDE extensions | VS Code, JetBrains, Open VSX | Working inside your editor | Not covered in this guide |
| Web interface | app.safeguard.sh | The full platform with nothing to install | Not covered in this guide |
| Claude or ChatGPT | Claude's connector directory or the ChatGPT plugin directory, with OAuth | Asking about findings from your existing chat | You choose which Safeguard tools it can use when you connect |
A few notes from the download page so nothing surprises you. The Windows desktop installer covers x64 and ARM, installs per user and needs no admin rights, but it is not yet code-signed, so SmartScreen may warn: check the SHA-256 first, then choose More info and Run anyway. The macOS build is signed and notarized. The Linux AppImage needs FUSE and the Safeguard CLI on your PATH. Safari on Mac is in Apple review, so it is not available yet.
If you cannot install anything, the cloud options are hosted by Safeguard: the Cloud CLI, a cloud browser, a cloud computer, and a cloud sandbox tenant against a seeded demo repo that is free for seven days with no card.
Set up the three main surfaces in one sitting
Give yourself twenty quiet minutes and do these in order. The CLI comes first because the desktop and phone apps send work to a computer running it.
-
Install the CLI on your work computer.
# macOS and Linux curl -fsSL https://cli.safeguard.sh/install | bash# Windows irm https://cli.safeguard.sh/install.ps1 | iexThe installer checks the release against its published checksums and installs one static binary. Confirm it with
safeguard --version. -
Sign in and let the first run finish. In your project folder, run
safeguardand type/login. Approve the session in the browser. The first run downloads the scanner tools and the vulnerability database. -
Scan once so the platform has something to show. Type
/scan .. Only the SBOM and findings are uploaded; your code stays on the machine. -
Keep this computer reachable. Quit the terminal and run:
safeguard runner install --workspace ~/code/payments-apiThis registers a per user login service so your phone or browser can send turns to this machine from any network for as long as it is on. It only opens outbound HTTPS. Check it with
safeguard runner status. -
Install the desktop app. Download it from https://safeguard.sh/download and verify the checksum shown on the page. On macOS,
shasum -a 256 ~/Downloads/Safeguard-3.2.2-arm64.dmg; on Windows,Get-FileHash "$env:USERPROFILE\Downloads\Safeguard-3.2.2.exe", which uses SHA256 by default. Sign in with the same account. The desktop app guide covers each system in detail. -
Install the phone app. Android from Google Play, or iOS from the App Store. Sign in with the same account. Your CLI session and any desktop chats should already be listed.
-
Check that the devices see each other.
safeguard devicesThis lists your signed in devices that can send and receive.
-
Send yourself a test. From the terminal:
safeguard send --to "<your phone name>" --text "Safeguard is set up on this laptop"If the note arrives, the plumbing works.
-
Optional: bring your chat assistant. Add Safeguard to Claude from its connector directory, or to ChatGPT from its plugin directory, and sign in once with OAuth. There is no API key to create or paste.
A working day across terminal, desktop and phone
Here is a routine that uses each surface for what it does well. The example project is a small Node service called payments-api, the same sample used in the recorded demos.
Morning: fix in the terminal
Open the project and ask for the work in plain words.
cd ~/code/payments-api
safeguard
/scan .
how many critical vulns do we have in this project
fix the lodash CVE in this repo
The assistant reads the finding from your Safeguard data, reads package.json and the code, and checks the advisory. When it wants to run a command it asks first. It edits package.json, then asks before npm install and before npm test. The npm docs describe npm test as running the command in the test property of your package's scripts object, so the fix is checked by your own test suite, not by guesswork.
The recording below is that exact session on a Mac.
Click through it at your own pace, or open it full screen.
It installs with the curl command (checksum verified), runs safeguard --version, then safeguard opens the interactive terminal. You ask "fix the lodash CVE in this repo", and the assistant reads the finding, files and advisory before it asks before each command (press y or n). It edits package.json to lodash 4.17.21, runs npm install and npm test with approval, and prints a summary with a suggested commit message. It pushes nothing. The end shows /permissions, /model and /scan ..
Before you commit, run a review of what changed:
safeguard review
safeguard review --base main
review checks your working tree changes for correctness and security; --base diffs against a git ref instead. The review guide shows how to use it on any agent's changes.
Afternoon: follow up in the desktop app
Open the desktop app. Your terminal session is in the conversation list, with the request, what changed and how it was checked. From here you can send new work to the same computer. The recorded desktop session below picks up from that terminal run.
Click through it at your own pace, or open it full screen.
In that recording the CLI session shows in the desktop app's conversation list. 2 connected shows the computer, the browser and Safeguard cloud. You ask for work on your computer, it asks which computer and folder, you pick the folder, then Approve or Deny each command and file edit. It ends with the upgrade done and tests passing.
Good afternoon jobs for the desktop app:
- "Which other dependencies in payments-api have high severity findings?"
- "Upgrade the next one, run the tests, and show me the diff."
- Questions across your whole estate in the web side of the window, while the local panel works on the machine in front of you.
The desktop docs describe that local panel: it can only read folders you grant on its Files tab, its Terminal tab runs commands from a fixed allowlist, and Ctrl+Shift+S (Cmd+Shift+S on macOS) toggles it.
Evening: approve from your phone
You are away from the desk and a teammate asks whether the second upgrade is done. Open the phone app. The desktop chat and the CLI session are both there. Tap Work on my computer, choose the computer running the CLI and the folder, and type the next task. The work runs on the computer, not the phone. When a command needs your yes, choose Allow once, Allow for turn or Deny. The "Try it yourself" section below has the recorded Android session, and the Android guide covers installation and the APK route.
Do the work properly with the Safeguard CLI
The CLI is the engine under all three surfaces, so time spent learning it pays back everywhere.
Install
curl -fsSL https://cli.safeguard.sh/install | bash on macOS and Linux, irm https://cli.safeguard.sh/install.ps1 | iex on Windows. It is one static binary with no Node, Python or JVM needed, for macOS, Linux and Windows on x86_64 or arm64 (Windows x86_64 only). Update it with safeguard self-update; safeguard update refreshes the vulnerability databases instead.
First session
Run safeguard with no arguments for the interactive terminal. /login signs in through the browser and /scan . scans the current folder. Type @ to attach a file from the folder you started in, /model to show or switch the AI model, /resume to pick up your last session in that folder, and /copy to put the last answer on your clipboard. Press Esc to stop a running task without leaving.
Writing and fixing code
The CLI writes code as well as scanning it. The assistant has tools for your local files and your Safeguard data and uses whichever a request needs. With your approval it reads files, edits code and runs commands. So you can use it for ordinary terminal work ("what's the latest file in ~/Downloads", "rename this config key everywhere and run the tests") and for security work ("fix the lodash CVE in this repo") in the same session. When it fixes a vulnerability it starts from the real finding, not a guess.
From the shell, safeguard scan --dir ., --repo <url>, --image <name> or --sbom <file> builds an SBOM and matches it against vulnerability databases, writing JSON results such as vuln.json and license.json under ./output. safeguard sbom stops at the SBOM, and safeguard validate checks CycloneDX, SPDX and VEX documents.
Using your Claude or ChatGPT plan
Your existing plan works inside the CLI with no extra Safeguard charge, under your plan's own limits and terms. Connect a model through /model and the CLI docs. If you already set up Claude Code or Codex, safeguard import claude or safeguard import codex converts that setup into Safeguard configuration, and safeguard other-agents (on by default) reads Claude Code, Codex and OpenCode agents, skills, custom commands, MCP servers, hooks, permissions and instructions below Safeguard's own. To use Safeguard from the Claude chat itself, follow the Claude connection guide.
Approvals
/permissions offers six modes:
supervised: reads run; edits and commands ask first. This is the default.edits: edits in this folder and read-only commands run; other commands ask.plan: read and plan only.guarded: also available. Runsafeguard --helpfor what it approves.strict: pre-approved actions only, for CI.autonomous: approves everything.
The --yolo flag selects autonomous when no mode is given, which approves everything. Keep it for throwaway sandboxes.
CI with safeguard exec
safeguard exec "summarise the critical findings in this repository" runs one assistant turn with no prompts and exits. Its default mode is strict, and it refuses to run outside a git repository unless you pass --skip-git-repo-check. Policies and gates are evaluated in the platform, not by the CLI. The CI guide has pipeline examples.
Habits that get more out of every surface
Match the permission mode to the task
| Task | Mode to try | Why |
|---|---|---|
| Exploring an unfamiliar repo | plan | It reads and plans, nothing changes |
| A dependency upgrade you will watch | edits | Edits flow; installs and tests still ask |
| Daily work on your own project | supervised | The default: reads run; edits and commands ask first |
| Anything touching deploy scripts or credentials | supervised | Every edit and command waits for you |
| CI pipelines | strict | Only what the policy pre-approves |
Keep undo close
Every file the assistant writes or edits is snapshotted first. List and preview them:
safeguard checkpoints list --session <id>
safeguard checkpoints restore <checkpoint> --session <id> --dry-run
safeguard checkpoints restore <checkpoint> --session <id> --files-only
--dry-run shows what would change as a diff. A restore can itself be undone. These are the same checkpoints /rewind uses. One limit: anything a shell command writes is not snapshotted, so commit before a large change.
Give the assistant context, not your whole disk
Start the CLI in the project folder, attach the files that matter with @, and point the runner's --workspace at the project rather than your home folder. Use /compact when a long session gets heavy, and /clear to start fresh.
Move things between devices on purpose
safeguard send --to <device> --link <url> pushes a link to your phone. safeguard inbox shows what your other devices sent to this CLI: links, text, files and conversations. safeguard inbox open <id> --copy puts text straight on the clipboard.
Use the browser extension for web tasks
With browser control enabled for the workspace, Search can work in a browser tab you hand it. The extension uses Ask, Auto or Yolo, and it stops before a risky step such as submitting a form.
Troubleshooting and common mistakes
Run safeguard doctor first. It checks the environment, sign in, tools and policy and changes nothing. Read its lines; the exit code is 0 whenever the checks ran.
Problems and fixes
- The phone or desktop app does not list your computer. Check
safeguard runner status. If nothing is running, start it withsafeguard runner start --workspace <folder>or install the login service. On Linux servers, enable lingering withloginctl enable-linger "$USER"so your user services run without a login. - Turns never arrive behind a corporate proxy. Set
HTTPS_PROXY, and restart the runner with--poll-wait 0so it polls at a fixed interval instead of holding connections. - "Not authenticated" or HTTP 401.
safeguard whoami, thensafeguard logoutandsafeguard login --force. On a machine with no browser, usesafeguard login --no-browser. - Windows says "Command not found" right after install. Open a new PowerShell window so it picks up the updated user PATH.
- SmartScreen blocks the desktop installer. Check the SHA-256 against the download page, then More info and Run anyway.
- The Linux AppImage will not start. It needs FUSE and the Safeguard CLI on your PATH.
- A scan finds no dependencies. Make sure a manifest and lock file exist and run your package manager's install first.
Common mistakes
- Signing in with different accounts. Sessions only follow you across devices on the same account.
- Approving on autopilot from the phone. Read the command on the card. Allow for turn is handy, but Allow once keeps you in the loop.
- Leaving
--yoloin a shell alias. It approves everything, everywhere you use that alias. - Expecting the CLI to enforce gates. Gates are evaluated in the platform.
- Skipping
safeguard reviewbecause the tests passed. Tests check behaviour; review looks at correctness and security of the diff.
FAQ
Do I need all three apps?
No. The CLI alone covers fixing, scanning and CI. The desktop and phone apps add a way to follow and approve work when you are not in the terminal.
Can I use my Claude or ChatGPT plan instead of buying more AI usage?
Yes. Bring the Claude, ChatGPT or Codex plan you already pay for and use it inside the Safeguard CLI. Safeguard adds no extra charge for that usage; your plan's own usage limits and terms still apply. You can also connect Claude or ChatGPT to the Safeguard MCP server and use Safeguard from those chats.
Does work sent from my phone run on the phone?
No. The phone sends the task to a computer running the Safeguard CLI, and the work runs there. The phone shows the steps and asks for your approval.
Does my source code get uploaded when I scan?
When you scan with the CLI or the runner runs platform scan jobs, only the SBOM and findings are uploaded. Source stays on your machine.
What if my laptop is asleep?
The runner can only serve turns while the computer is on and, for a login service, while your user is logged in (or, on Linux, while lingering is enabled). For always-on work, install the runner on a machine that stays up.
Is there a Safeguard app for Apple Watch or in Huawei AppGallery?
Neither is listed on the download page. On Huawei phones that install Android apps, the page offers a direct APK; otherwise use the web interface.
How do I undo something the assistant changed?
Use safeguard checkpoints or /rewind for files it wrote or edited. For anything a shell command changed, use git.
Which permission mode should I start with?
supervised is the default and suits most daily work, including sensitive files. Switch to plan to explore, edits for a refactor you trust, and strict for CI.
Try it yourself
This recorded Android session works with the same Mac and project as the demos above: send a task to your computer and approve it from the phone.
Click through it at your own pace, or open it full screen.
The same conversations appear on the phone. Work on my computer picks a computer running the CLI and a folder, the command waits for Allow once, Allow for turn or Deny on the phone, and the answer shows the tests passed.
Get the CLI, the desktop app and the phone apps from https://safeguard.sh/download, and keep https://docs.safeguard.sh/docs/cli open for the commands.
Quick check
What must be running for your phone to send work to your laptop?
The Safeguard CLI on the laptop, signed in to the same account, either as an open terminal session or as a runner started with safeguard runner start or installed with safeguard runner install.
Which permission mode lets edits flow but still asks before installs and tests?
edits. Edits in the folder and read only commands run; other commands ask.
Which changes can checkpoints not undo?
Anything a shell command wrote. Only files the assistant writes or edits are snapshotted.
Sources
- Safeguard downloads
- Safeguard CLI overview
- Safeguard CLI interactive terminal
- Safeguard CLI usage
- Safeguard CLI troubleshooting
- Safeguard local runner docs
- Safeguard desktop application docs
- Get-FileHash reference
- npm test documentation
- systemd loginctl manual
Last reviewed: 21 October 2026.