maciekish

NordVPN

AI Agentv1.0.2
By maciekishUpdated 2026-05-113 versions · latest released 2026-02-03nordvpn

According to AlphaMoat, as of 2026-09, NordVPN has 3,282 downloads and 2 stars — ranked #3,461 of 5,078 AI skills overall, and #709 of 969 in AI Agent.

Installs
104
Downloads
3.3K
Stars
2
Overall Rank
#3,461
Top 69% overall · Top 74% in AI Agent
PlatformInstallsDownloadsStarsComments
ClawHub ↗1043.3K2-

Platforms count differently and update at different times.

What this skill does

Control NordVPN on Linux via the nordvpn CLI (connect/disconnect, choose country/city/group, read status, tweak settings, manage allowlist). Use for automation that needs region routing or temporary VPN tunneling.

Monthly Trend

Downloads3.3K
2.7K3.0K3.3K2026-06 · Downloads 2.8K2026-07 · Downloads 3.0K2026-08 · Downloads 3.1K2026-09 · Downloads 3.3K26-0626-09
Stars2
1232026-06 · Stars 22026-07 · Stars 22026-08 · Stars 22026-09 · Stars 226-0626-09

The counting method changed in 2026-09: skills with the same name are now counted separately by author, and the full catalog is covered. Dashed lines show months before the change; they are not compared with later months, and no growth is computed across the change.

MonthDownloadsMoMStars
2026-093.3K—2
2026-083.1K+4.2%2
2026-073.0K+8.9%2
2026-062.8K—2

SKILL.md (original)

The author’s original file, shown as plain text without edits or review by AlphaMoat. Links are not clickable; check commands before running them. Fetched 2026-10-23.

6.7 KB · ClawHub v1.0.2
---
name: nordvpn
description: Control NordVPN on Linux via the `nordvpn` CLI (connect/disconnect, choose country/city/group, read status, tweak settings, manage allowlist). Use for automation that needs region routing or temporary VPN tunneling.
homepage: https://nordvpn.com/
---

# NordVPN CLI Skill (Linux)

A ClawBot skill for controlling the **NordVPN Linux CLI** (`nordvpn`) to connect/disconnect, select locations, verify status, and adjust settings from automations and workflows.

Show all (307 lines)
## Assumptions / Compatibility

* Works with the official `nordvpn` CLI (example shown: **4.3.1 [snap]**).
* Requires the NordVPN daemon running (usually `nordvpnd`) and sufficient permissions.
* Some commands may require elevated privileges depending on distro + install method (snap vs deb).

## Installation

### Option A: Snap (common on Ubuntu)

```bash
sudo snap install nordvpn
nordvpn --version
```

### Option B: Distro package / repo (varies)

If you installed via Nord’s repo or a package manager, just verify:

```bash
which nordvpn
nordvpn --version
```

### Verify daemon is running

```bash
# systemd installs usually
systemctl status nordvpnd --no-pager || true

# snap installs may not expose systemd unit the same way
nordvpn status || true

# or may require the full patch to be specified like so
/snap/bin/nordvpn status || true
```

## Authentication / Login

NordVPN CLI typically requires logging in once per machine/user session.

```bash
nordvpn login
```

If the environment is headless, the CLI will guide you through the login flow (often via a browser link / code). After login, confirm:

```bash
nordvpn account
nordvpn status
```

**ClawBot guidance:** treat login as a manual prerequisite unless you explicitly automate the browser-based login flow.

## Quick Reference

### Status

```bash
nordvpn status
```

### Connect (best available)

```bash
nordvpn connect
# alias:
nordvpn c
```

### Connect to a country / city / group

```bash
# country
nordvpn connect Sweden

# city (must exist in `nordvpn cities <country>`)
nordvpn connect "Stockholm"

# group (must exist in `nordvpn groups`)
nordvpn connect P2P
```

### Disconnect

```bash
nordvpn disconnect
# alias:
nordvpn d
```

### List locations

```bash
nordvpn countries
nordvpn cities Sweden
nordvpn groups
```

### Settings (read + change)

```bash
nordvpn settings

# examples (options differ by version)
nordvpn set autoconnect on
nordvpn set killswitch on
nordvpn set threatprotectionlite on  # if supported
nordvpn set protocol nordlynx        # if supported
```

### Allowlist (bypass VPN for certain traffic)

```bash
# view help
nordvpn allowlist --help

# examples (subcommands differ by version)
nordvpn allowlist add port 22
nordvpn allowlist add subnet 192.168.0.0/16
nordvpn allowlist remove port 22
```

## Skill Design

### What this skill should do well

1. **Idempotent connection actions**

   * If already connected to the requested target, do nothing (or return “already connected”).
   * If connected elsewhere, optionally disconnect then connect to target.
2. **Reliable verification**

   * After connect/disconnect, always run `nordvpn status` and parse the result.
3. **Safe fallbacks**

   * If a requested city/country/group is invalid, provide closest alternatives by listing:

     * `nordvpn countries`
     * `nordvpn cities <country>`
     * `nordvpn groups`
4. **Human-in-the-loop login**

   * If `nordvpn` reports not logged in, return a structured response instructing to run `nordvpn login`.

### Recommended “actions” (API surface)

Implement these as the skill’s callable intents/tools:

* `status()` → returns parsed connection status
* `connect_best()` → connects to best available
* `connect_country(country)`
* `connect_city(city)` (optionally with `country` for disambiguation)
* `connect_group(group)`
* `disconnect()`
* `list_countries()`
* `list_cities(country)`
* `list_groups()`
* `get_settings()`
* `set_setting(key, value)`
* `allowlist_add(type, value)`
* `allowlist_remove(type, value)`

## Suggested Implementation Pattern (CLI orchestration)

### 1) Always start with status

```bash
nordvpn status
```

Parse fields commonly returned by the CLI, such as:

* Connection state (Connected/Disconnected)
* Current server / country / city
* IP, protocol, technology

### 2) Connect flow

**Goal:** connect to a target (country/city/group) with verification.

Pseudo-logic:

* Run `nordvpn status`
* If disconnected → connect directly
* If connected to different target → `nordvpn disconnect` then connect
* Run `nordvpn status` again and confirm connected

Commands:

```bash
nordvpn connect "<target>"
nordvpn status
```

### 3) Disconnect flow

```bash
nordvpn disconnect
nordvpn status
```

### 4) Resolve targets safely

If user asks for a city:

* Prefer `nordvpn cities <country>` when country is known
* Otherwise attempt connect; if it fails, list countries and search-like suggestions.

```bash
nordvpn countries
nordvpn cities "<country>"
nordvpn groups
```

## Common Errors & Handling

### Not logged in

Symptoms:

* CLI complains about authentication/account/login.

Handling:

* Return: “Login required. Run `nordvpn login` and repeat.”
* Optionally: run `nordvpn account` to confirm.

### Daemon not running / permission denied

Symptoms:

* Can’t connect, service errors, permission errors.

Handling:

* Check `systemctl status nordvpnd` (systemd installs)
* Confirm snap service health (snap installs vary)
* Ensure user belongs to the right group (some installs use a `nordvpn` group):

  ```bash
  groups
  getent group nordvpn || true
  ```

### Invalid location/group

Symptoms:

* “Unknown country/city/group” or connect fails immediately.

Handling:

* Provide available options:

  ```bash
  nordvpn countries
  nordvpn groups
  nordvpn cities "<country>"
  ```

## Practical Automation Recipes

### Ensure VPN is connected (any server)

```bash
nordvpn status | sed -n '1,10p'
nordvpn connect
nordvpn status | sed -n '1,15p'
```

### Reconnect to a specific country

```bash
nordvpn disconnect
nordvpn connect Sweden
nordvpn status
```

### Toggle killswitch (example)

```bash
nordvpn set killswitch on
nordvpn settings
```

## Notes

* Command options and setting keys can differ by NordVPN CLI version. Always rely on:

  ```bash
  nordvpn help
  nordvpn set --help
  nordvpn allowlist --help
  ```
* If you need stable machine-readable output, the NordVPN CLI does not consistently provide JSON; plan to parse human-readable status text defensively (line-based key/value extraction, tolerate missing fields).

Popular in AI Agent

Data month: 2026-09 · Downloads, stars and installs are aggregated monthly from public skill registries (ClawHub, SkillHub). See methodology.