cmd license - nself-org/cli GitHub Wiki
Manage your ɳSelf Pro membership license key.
nself license <subcommand>
nself license manages the Pro membership license key used to install paid plugins. The key is stored locally at ~/.nself/license/key with permissions 0600 (readable only by the current user).
Set your key once with nself license set and all subsequent nself plugin install commands for Pro plugins will use it automatically. The key is validated server-side against ping.nself.org, the CLI does not decode or verify the key locally.
Key format: One of four accepted prefixes followed by 32 or more characters:
-
nself_pro_*, Pro tier -
nself_max_*, Pro tier -
nself_ent_*, Enterprise tier -
nself_owner_*, Owner tier
Keys are validated with a POST request to https://ping.nself.org/license/validate.
When the ɳClaw plugin is running and NSELF_LICENSE_TIER is configured, the claw service automatically seeds a per-user AI spending budget on startup based on your license tier:
| Tier | Monthly AI budget cap |
|---|---|
| Free | $1.00 |
| Basic | $5.00 |
| Pro | $10.00 |
| Elite | $25.00 |
| Business | $50.00 |
| Business+ | $100.00 |
| Enterprise | Unlimited |
The budget is seeded with source='tier_default'. If you have manually set a budget via nself ai budget set --cap <amount>, the manual override is preserved and the tier default is NOT applied. Set NSELF_LICENSE_TIER in your .env.dev or .env.prod to enable this behavior.
| Subcommand | Description |
|---|---|
set <key> |
Save a Pro license key to ~/.nself/license/key
|
show |
Display the saved key (masked) and tier |
validate |
Validate the saved key against ping.nself.org
|
clear |
Remove the saved license key |
upgrade |
Open the pricing page in your browser |
tail |
Stream live license validation events from ping_api |
Stream live license validation events from ping.nself.org in real time.
| Flag | Default | Description |
|---|---|---|
--filter <field=value> |
— | Filter events (repeatable) |
--ping-url <url> |
$NSELF_PING_URL or https://ping.nself.org
|
ping_api base URL |
| Filter | Example | Description |
|---|---|---|
result=<value> |
result=denied |
Show only allow, deny, or rate_limit events |
key=<prefix> |
key=nself_pro_abc |
Show events for a specific key (first 12 chars matched) |
plugin=<name> |
plugin=ai |
Show events for a specific plugin |
| Color | Meaning |
|---|---|
| Green | allow |
| Red | deny |
| Yellow | rate_limit |
Colors are only shown when output is a terminal. Piped output is plain text.
- Starts streaming within 2s of invocation
- Reconnects automatically on connection loss (exponential backoff, max 30s)
- Ctrl-C exits cleanly with no goroutine leak
- License key values are never shown in full, only the first 12 characters (key prefix) are displayed
# Stream all validation events
nself license tail
# Show only denied validations
nself license tail --filter result=denied
# Show events for a specific key prefix
nself license tail --filter key=nself_pro_abc123
# Combine filters
nself license tail --filter result=denied --filter plugin=ai# Save your license key
nself license set nself_pro_xxxxx...
# Check what key is saved and its tier
nself license show
# Validate the key is still active
nself license validate
# Remove the saved key
nself license clear
# Open the pricing page to upgrade
nself license upgradeSample show output:
License key: nself_pro_****************************xxxx
Tier: Pro
Status: ✓ active
Stored at: ~/.nself/license/key