Safeguard
Developer Tools•

Getting the Most From Safeguard Across CLI, Desktop and Phone

Use one Safeguard account in the terminal, the desktop app and your phone: start a fix in the CLI, follow it on desktop, approve the next step on mobile.

Safeguard Security Team
18 min read

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.

SurfaceGet it fromUse it forHow approvals look
CLIOne curl command on macOS and Linux, one PowerShell command on WindowsFixing and writing code, scans, SBOMs, CIPress y or n in the terminal; mode set by /permissions
Desktop app 3.2.2Windows 10/11, macOS 12+ (Apple Silicon, Intel build linked), Linux AppImage for x86_64Reviewing work, sending tasks to a computer, the full web app in a windowApprove or Deny on each command and file edit
Android appGoogle Play, or a direct APK for phones without Google PlayChecking results and approving on the moveAllow once, Allow for turn or Deny
iOS appApp Store, for iPhone and iPadAsking questions and following work on the moveNot covered in this guide
Browser extension 1.0.4Chrome Web Store, Firefox Add-ons; Safari on iPhone and iPad inside the iOS appSearch in a side panel; browser control when enabledAsk, Auto or Yolo
IDE extensionsVS Code, JetBrains, Open VSXWorking inside your editorNot covered in this guide
Web interfaceapp.safeguard.shThe full platform with nothing to installNot covered in this guide
Claude or ChatGPTClaude's connector directory or the ChatGPT plugin directory, with OAuthAsking about findings from your existing chatYou 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.

  1. 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 | iex
    

    The installer checks the release against its published checksums and installs one static binary. Confirm it with safeguard --version.

  2. Sign in and let the first run finish. In your project folder, run safeguard and type /login. Approve the session in the browser. The first run downloads the scanner tools and the vulnerability database.

  3. Scan once so the platform has something to show. Type /scan .. Only the SBOM and findings are uploaded; your code stays on the machine.

  4. Keep this computer reachable. Quit the terminal and run:

    safeguard runner install --workspace ~/code/payments-api
    

    This 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.

  5. 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.

  6. 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.

  7. Check that the devices see each other.

    safeguard devices
    

    This lists your signed in devices that can send and receive.

  8. 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.

  9. 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. Run safeguard --help for 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

TaskMode to tryWhy
Exploring an unfamiliar repoplanIt reads and plans, nothing changes
A dependency upgrade you will watcheditsEdits flow; installs and tests still ask
Daily work on your own projectsupervisedThe default: reads run; edits and commands ask first
Anything touching deploy scripts or credentialssupervisedEvery edit and command waits for you
CI pipelinesstrictOnly 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 with safeguard runner start --workspace <folder> or install the login service. On Linux servers, enable lingering with loginctl 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 0 so it polls at a fixed interval instead of holding connections.
  • "Not authenticated" or HTTP 401. safeguard whoami, then safeguard logout and safeguard login --force. On a machine with no browser, use safeguard 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 --yolo in 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 review because 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

Last reviewed: 21 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.