Reference

Environment variables

Every RIG_* and TAP_* variable the CLI and daemon read.

CLI

VarDefaultWhat
RIG_HUB_URLhttps://userig.xyzBase URL for Hub HTTP calls.
RIG_REGISTRY_DIR(none)Default path for registry: source resolution and rig hub list / rig hub publish --registry.
RIG_SKIP_SKILL_INSTALL(unset)Set to 1 to skip writing ~/.claude/skills/rig/SKILL.md during npm install -g @rigxyz/cli.
RIG_TAPD_BIN(none)Override path to the tapd binary. Used for local development.
RIG_PLAIN(unset)If 1, force --plain behavior globally.
RIG_JSON(unset)If 1, force --json behavior globally.

Tap daemon (tapd)

VarDefaultWhat
TAP_USER_ID(none)Default user ID for rig share.
TAP_RELAY_URL(uses manifest [sync].relay)Override the relay URL.
TAP_LOG_LEVELinfodebug, info, warn, error.

Auth

VarDefaultWhat
(none)Auth tokens come from ~/.config/rig/config.json, populated by rig login. Not via env.

On the rig side

These come from rig.toml, not the environment, but worth noting:

  • [env].required — env vars a rig declares it needs. Not read by rig itself.
  • [env].target — where rig install writes collected values (default .env).

Setting them

Bash / zsh:

export RIG_HUB_URL=https://your-hub.example.com
export RIG_REGISTRY_DIR=$HOME/.local/share/rig-registry
rig hub publish --registry "$RIG_REGISTRY_DIR"

Per command:

RIG_HUB_URL=https://staging.userig.xyz rig hub publish

Precedence

For options that can be set both via env and via flag:

  • Explicit flag wins (--plain overrides RIG_PLAIN).
  • Env var beats default.

See also