Cron jobs
Check status before recurring jobs that depend on network location.
Free VPN CLI gives scripts a bounded VPN workflow: check install, read status as JSON, connect, run the task, capture diagnostics on failure, and disconnect when cleanup matters. Use exit codes and JSON instead of scraping terminal prose.
Check that freevpn exists, then use version and status output before changing VPN state.
Use small predictable command sequences and parse JSON for decisions.
--json for anything your script reads.doctor --json in failure traps, not on every happy path.Keep VPN automation explicit so retries, logs, and failures are understandable.
Check status before recurring jobs that depend on network location.
Verify VPN state around deployment or release tasks when needed.
Connect to an expected region before a network-sensitive test suite.
Capture doctor output when automated networking fails.
Three verbs cover most day-to-day VPN work. set-region and doctor cover region selection and troubleshooting.
Automation works best when VPN state is visible and each failure mode has a branch.
| Command | Why it matters |
|---|---|
freevpn status --json | Read current VPN state before changing anything. |
freevpn set-region "US East"freevpn up --json | Connect to an explicit egress location. |
freevpn doctor --json | Capture diagnostics in failure branches. |
freevpn down | Clean up state when the workflow requires it. |
freevpn regions --json | List available region choices for script configuration. |
Scripts need parseable output, stable commands, clear exit behavior, and diagnostics.
SKILL.md works with Claude, Cursor, Codex, OpenClaw, Hermes, and any MCP tool and says to prefer JSON for anything you will parse.
Use numeric outcomes for retry, wait, escalate, or ignore decisions.
Run doctor output when a network-dependent script fails.
Set a default region or pass a region for one run.
Works naturally in bash, cron, deploy scripts, and local test helpers.
The same JSON workflow is useful for AI coding agents.
The CLI includes the same service preset surface as the desktop and mobile apps. Free users can list choices and use Off or General; non-default service presets are paid and return a license-required response.
freevpn services list shows supported service presets.freevpn services categories groups presets such as Streaming, Sports, Social, AI, and Other where available.freevpn services current prints the current preset name on one line.freevpn services --json is the safest form for scripts and agents.Make automation robust by handling expected VPN outcomes intentionally.
free_break means wait and retry for free-tier timing, per SKILL.md.freevpn down.doctor --json in failure traps.freevpn status --json and a JSON parser such as jq, Python, Node, or PowerShell.doctor --json when a preflight or network step fails.freevpn set-region <slug|label>.Install Free VPN CLI, use JSON output, and handle documented exit codes in your scripts.