AAA55555

Geo Guard AI — AI skill for Claude Code

AI community

Geo-restriction for AI CLIs: block Claude Code & Cursor from running outside allowed countries.

How to install Geo Guard AI

This entry records only its repository, not the path inside it, so there is no exact command to give. Open AAA55555/geo-guard-ai and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Geo Guard AI does

Geo-restriction for AI CLIs: block Claude Code & Cursor from running outside allowed countries. Cross-platform, fail-closed.

Alternatives in AI

  • Geo SEO Claude — GEO-first SEO skill for Claude Code 3.6k ★
  • Cumora — Where agent teams gather 3.2k ★
  • SEO Geo Claude Skills — 20 SEO & GEO skills for Claude Code, Cursor, Codex, and 35+ AI agents 888 ★

README

geo-guard-ai

[![npm version](https://img.shields.io/npm/v/geo-guard-ai.svg)](https://www.npmjs.com/package/geo-guard-ai)

**English** · [Русский](./README.ru.md)

**Geo-restriction for AI CLIs.** Lets Claude Code (or any other command) start only if your external IP resolves to an allowed country. If you're not where you should be, it blocks you before a single prompt goes out.

Also gates the **Cursor** chat (IDE and `cursor-agent`) the same way, via its own hook config — see [Cursor](#cursor) below.

Cross-platform: **macOS / Linux / Windows**. TypeScript, runtime — Node **18.20+ or 20.12+** (not 18.0–18.19, not 19.x, not 20.0–20.11: those are the versions where `spawn` refuses to launch a `.cmd` on Windows).

The CLI speaks **English or Russian**, picked automatically from your machine locale (`LC_ALL` / `LC_MESSAGES` / `LANG`), English by default. Force it with `GEO_GUARD_LANG=en|ru`.


Why

Sometimes you're only allowed to use an AI tool from a specific country — company policy, a client's terms, jurisdiction, or a personal rule of "I don't work from the wrong place." The catch is how easy it is to forget: the VPN drops, you travel, the network switches — and you just keep working as if nothing happened.

`geo-guard-ai` is **insurance against "accidentally kept working from the wrong place."** It checks your country by external IP at two points:

Checkpoint What it does
Command start typing claude reaches a small shim on your PATH that checks the country first, and launches the real Claude Code only if it's allowed. The same goes for cursor-agent
Every prompt The Claude Code UserPromptSubmit hook calls geo-guard check before each prompt is sent; country not allowed → the prompt is blocked (exit 2)

The second checkpoint matters: you can start a session from an allowed country, and an hour later the VPN drops — the hook catches it on your next prompt.

Coverage

Where Gated by
Term