VScan

CLI Usage

Run interactive scans, stream JSONL, and auto-apply suggested solutions.

Quick Start

vscan auth
vscan .

This signs you in and starts an interactive scan of the current directory.

Scan

Scan the current directory:

vscan .

Scan another project:

vscan ./repo

Scan a single file:

vscan ./src/db.py

By default, vscan opens an interactive terminal review where you can browse findings and apply solutions one at a time.

Use directory scans for a repository-wide pass. Use single-file scans when you want to check a specific file after editing it.

Isolated Scan

Run an isolated scan when your organization has enabled that workflow:

vscan isolated ./repo

Use this for projects where you want vscan to run the scan in a more restricted local environment.

JSONL Output

For scripts, CI, and agents, stream one JSON object per finding:

vscan ./repo --format jsonl > report.jsonl

Example line:

{
	"file": "src/db.py",
	"vulnerabilities": ["CWE-89"],
	"vulnerability_name": "SQL Injection",
	"solution": "cursor.execute("SELECT * FROM users WHERE id = %s", (uid,))"
}

solution is included when the selected model returns a suggested solution.

Use JSONL when you want a report that another tool can parse, save, or summarize.

Auto-Apply

Apply suggested solutions automatically while streaming JSONL:

vscan ./repo --format jsonl --yes > report.jsonl

Use this mode when you want a non-interactive pass and are comfortable reviewing the resulting code changes afterward.

Agent

Start an interactive agent session:

vscan agent
vscan agent ./repo

The agent scans, proposes solutions, and applies them with your approval, turn by turn. See Agent Mode for approval modes, in-session commands, and autonomous audit and finding-resolution subcommands.

Commands

Authenticate:

vscan auth

Starts OAuth sign-in.

Set the scanning model:

vscan model
vscan model <id>

Shows available models or sets one directly.

Check account, features, and usage:

vscan about
vscan usage

Confirms account context and opens usage information.

Use MCP:

vscan mcp
vscan mcp init

Starts the MCP server or installs host configuration.

Run an isolated scan:

vscan isolated <path>

Runs an isolated scan for the given file or project.

Run the agent:

vscan agent <path>

Starts an interactive agent session in the given directory. Defaults to the current directory.

Show usage:

vscan help

Flags

Stream findings as JSONL:

--format jsonl

Use this whenever the scan is not interactive.

Auto-apply suggested solutions:

--yes
-y

Use this with JSONL when you want solutions applied during the run.

Show version or help:

--version
-v
--help
-h

Examples

vscan
vscan ./myrepo
vscan ./app.py
vscan isolated ./myrepo
vscan ./myrepo --format jsonl
vscan ./myrepo --format jsonl --yes
vscan mcp init
vscan agent
vscan agent ./myrepo

Improve team velocity with
better security and privacy.