Skip to main content
Complete reference for all NovitaClaw CLI commands.

launch

Create a new sandbox instance.
Bash
novitaclaw launch [OPTIONS]
OptionDescription
--api-keyNovita API key
--gateway-tokenCustom gateway token (optional, auto-generated by default)
--timeoutCreation timeout in seconds (default: 60)
--typeSandbox type: persistent (default) or on-demand
--idle-timeoutIdle timeout in seconds for on-demand mode (default: 300, range: 60–86400)

list

List active sandbox instances.
Bash
novitaclaw list --api-key YOUR_API_KEY
OptionDescription
--api-keyNovita API key
--quiet, -qOnly print sandbox IDs, one per line (useful for scripting)

status

Check a sandbox instance status. Displays webhook URLs for all configured channels.
Bash
novitaclaw status <SANDBOX_ID> --api-key YOUR_API_KEY
OptionDescription
--api-keyNovita API key
--jsonOutput in JSON format (useful for extracting webhook URLs)

stop

Terminate a sandbox instance.
Bash
novitaclaw stop <SANDBOX_ID> --api-key YOUR_API_KEY
OptionDescription
--api-keyNovita API key
--yes, -ySkip confirmation prompt

pause

Pause a sandbox instance. Zero billing while paused.
Bash
novitaclaw pause <SANDBOX_ID> --api-key YOUR_API_KEY

resume

Resume a paused sandbox instance (~1s to restore).
Bash
novitaclaw resume <SANDBOX_ID> --api-key YOUR_API_KEY

config set

Update sandbox runtime configuration.
Bash
# Update idle timeout (60–86400 seconds)
novitaclaw config set <SANDBOX_ID> idle-timeout 600

# Update sandbox lifetime timeout (300–2592000 seconds)
novitaclaw config set <SANDBOX_ID> timeout 3600

tui

Connect to a sandbox via terminal UI.
Bash
novitaclaw tui <SANDBOX_ID> --token <GATEWAY_TOKEN>

doctor

Run diagnostics and repair checks on a sandbox instance.
Bash
novitaclaw doctor <SANDBOX_ID> --api-key YOUR_API_KEY
OptionDescription
--api-keyNovita API key
--deepScan system services for extra gateway installs
--fixApply recommended repairs (alias for --repair)
--forceApply aggressive repairs (overwrites custom service config)
--generate-gateway-tokenGenerate and configure a gateway token
--no-workspace-suggestionsDisable workspace memory system suggestions
--repairApply recommended repairs without prompting
--yesAccept defaults without prompting

gateway update

Update OpenClaw to the latest version inside a sandbox.
Bash
novitaclaw gateway update <SANDBOX_ID> --api-key YOUR_API_KEY
OptionDescription
--api-keyNovita API key
--restartRestart gateway after update

gateway restart

Restart the OpenClaw Gateway in a sandbox.
Bash
novitaclaw gateway restart <SANDBOX_ID> --api-key YOUR_API_KEY

services setup

Install and start Web Terminal and File Manager on an existing sandbox. Use this to add services to older sandboxes that were launched before these services were included.
Bash
novitaclaw services setup <SANDBOX_ID> --api-key YOUR_API_KEY

pair list

List pending pairing requests for a channel.
Bash
novitaclaw pair list <SANDBOX_ID> --channel <CHANNEL_NAME> --api-key YOUR_API_KEY

pair approve

Approve a pairing request for a channel.
Bash
novitaclaw pair approve <SANDBOX_ID> --channel <CHANNEL_NAME> --code <PAIRING_CODE> --api-key YOUR_API_KEY

pair feishu

Configure Feishu (Lark) as a messaging channel.
Bash
novitaclaw pair feishu <SANDBOX_ID> \
  --app-id cli_xxx \
  --app-secret secret_xxx \
  --mode webhook \
  --verification-token tok_xxx \
  --encrypt-key key_xxx
OptionDescription
--app-idFeishu app ID
--app-secretFeishu app secret
--modeevent (default) or webhook
--verification-tokenWebhook verification token (webhook mode only)
--encrypt-keyWebhook encrypt key (webhook mode only)
--webhook-hostWebhook bind address (default: 0.0.0.0)
--webhook-portWebhook listen port (default: 3000)
--webhook-pathWebhook URL path (default: /feishu/events)

pair telegram

Configure Telegram as a messaging channel.
Bash
# Polling mode (default)
novitaclaw pair telegram <SANDBOX_ID> \
  --bot-token <BOT_TOKEN>

# Webhook mode
novitaclaw pair telegram <SANDBOX_ID> \
  --bot-token <BOT_TOKEN> \
  --mode webhook \
  --webhook-url https://example.com/webhook/telegram \
  --webhook-secret <SECRET>
OptionDescription
--bot-tokenTelegram bot token from BotFather
--modepolling (default) or webhook
--webhook-urlPublic webhook URL (webhook mode only)
--webhook-secretWebhook secret (webhook mode only)
--webhook-hostWebhook bind address (default: 0.0.0.0)
--webhook-portWebhook listen port (default: 8787)
--webhook-pathWebhook URL path (default: /webhook/telegram)
--dm-policyDM policy (default: pairing)

pair slack

Configure Slack as a messaging channel.
Bash
# Socket mode (default)
novitaclaw pair slack <SANDBOX_ID> \
  --bot-token xoxb-... \
  --app-token xapp-...

# HTTP mode
novitaclaw pair slack <SANDBOX_ID> \
  --bot-token xoxb-... \
  --mode http \
  --signing-secret <SECRET>
OptionDescription
--bot-tokenSlack bot token (xoxb-...)
--app-tokenSlack app token (xapp-..., socket mode only)
--modesocket (default) or http
--signing-secretSlack signing secret (HTTP mode only)
--webhook-hostWebhook bind address (default: 0.0.0.0)
--webhook-portWebhook listen port (default: 8788)
--webhook-pathWebhook URL path (default: /webhook/slack)

update

Check for CLI updates and upgrade to the latest version.
Bash
novitaclaw update

Programmatic Usage

Use JSON output for automation:
Bash
novitaclaw -j launch --api-key YOUR_API_KEY
Example response:
{
  "success": true,
  "data": {
    "sandbox_id": "xxx",
    "webui": "https://xxx.sandbox.novita.ai?token=xxx",
    "gateway_ws": "wss://xxx.sandbox.novita.ai",
    "gateway_token": "xxx",
    "terminal_url": "https://7681-xxx.sandbox.novita.ai",
    "filemanager_url": "https://7682-xxx.sandbox.novita.ai",
    "services_username": "admin",
    "services_password": "xxx"
  }
}

Environment Variables

VariableDescription
NOVITA_API_KEYAPI key, eliminates the need for --api-key flag
OPENCLAW_GATEWAY_TOKENPreset gateway token

Troubleshooting

Command not found

Try one of these:
Bash
# Use full path (Linux)
~/.local/bin/novitaclaw launch

# Typical macOS user path
~/Library/Python/3.x/bin/novitaclaw launch

Connection timeout

Increase launch timeout:
Bash
novitaclaw launch --timeout 180 --api-key YOUR_API_KEY

Frequently Asked Questions

ProblemWhy it happensWhat to do
”Command not found” / “Not recognized”Python PATH not configured during installReinstall Python and check “Add to PATH”, or add the bin directory manually
”Permission Denied”Insufficient permissionsWindows: Run Terminal as Administrator. Mac/Linux: prefix with sudo
”Invalid API Key”Key copied incorrectlyCheck for extra spaces around the sk_ string, or generate a new key
Sandbox won’t stopRequires confirmation to prevent accidental deletionType y when prompted, or use --yes to skip confirmation
Mac: pip command not foundmacOS uses pip3 by defaultUse pip3 install novitaclaw instead of pip