Environment variables
Set VMUP_HOST, TTL, and other keys as environment overlays so scripts can change SSH and limits without editing config.toml.
Empty string is treated as unset (envOverride requires length > 0).
Target and paths
| Variable | Role |
|---|---|
VMUP_CONFIG_DIR | Directory for config.toml (not the file path). ~ expanded. |
XDG_CONFIG_HOME | Used as $XDG_CONFIG_HOME/vmup when VMUP_CONFIG_DIR is unset. |
VMUP_CACHE_DIR | Local staging root. Default ~/.cache/vmup. ~ expanded. |
XDG_CACHE_HOME | $XDG_CACHE_HOME/vmup when VMUP_CACHE_DIR is unset. |
VMUP_PROFILE | Profile name. Overridden by --profile. |
VMUP_SSH_HOST | One-shot SSH alias. Overridden by --ssh-host. If set (and no --profile conflict), resolve uses alias mode. |
VMUP_HOST | Direct-mode hostname. Required for vmup init -y. |
VMUP_USER | SSH user (default ubuntu). |
VMUP_KEY | Private key path. |
VMUP_PORT | SSH port (default 22). |
VMUP_REMOTE_DIR | Remote root (default ~/vmup). |
VMUP_TTL_MINUTES | TTL in minutes. |
VMUP_TTL_HOURS | TTL in hours, used only if VMUP_TTL_MINUTES is unset. Converted × 60. |
VMUP_WATCH_DIR | Default watch folder. Overridden by --dir. |
VMUP_WATCH_VIDEO | 1 → treat as --video / watch_include_video true. Any other non-empty value is not special-cased; only === "1" is true. |
VMUP_ACCEPT_ALL | 0 → images-only. 1 → all types. Other values fall through to config. |
VMUP_MAX_FILE_MB | Per-file size cap. |
VMUP_CLIP_DEDUP | 0 off, 1 on. Other values fall through to config. |
VMUP_PROMPT | Prompt template. Same {{remote_path}} substitution. Legacy images prompt is rewritten to the files prompt. |
SSH_AUTH_SOCK is read by assertTargetConnectable: in direct mode, a missing key is allowed when the agent socket is set.
Install and updates
| Variable | Role |
|---|---|
VMUP_PM | curl installer: npm, pnpm, yarn, or bun. |
VMUP_NO_UPDATE_CHECK | 1 skips the npm registry check. |
CI | true or 1 skips the update check. |
The update check reads https://registry.npmjs.org/@nyxsky404/vmup/latest (2s timeout), caches ~/.cache/vmup/update-check.json, and notifies at most once per 24h per new version. Detection of npm/pnpm/yarn/bun/npx uses argv[1], npm_execpath, npm_config_user_agent, PNPM_HOME, BUN_INSTALL.
Color
| Variable | Role |
|---|---|
NO_COLOR | Any value: no ANSI. |
FORCE_COLOR | 0: no ANSI. |
TERM | dumb: no ANSI. |
Color also requires a TTY on the stream being wrapped (stdout for success text).