# OpenClaw
URL: https://docs.munito.ai/sandboxes/cloud-agents/openclaw

For files on your computer, use the [local OpenClaw guide](https://docs.munito.ai/agents/openclaw).

## Install the CLI [#install-the-cli]

```bash
npm install -g @munitoai/cli
```

The command is `munito`. See [the command line tool](https://docs.munito.ai/cli).

## Open a session [#open-a-session]

```bash
munito create --agent openclaw --persistent
munito ssh <sandbox id>
openclaw
```

The `agent` [template](https://docs.munito.ai/sandboxes/templates) carries OpenClaw and our provider plugin, so there is
nothing to install. OpenClaw reads the key from `MUNITO_API_KEY`. Pick a model such as
`munito/zai-org/glm-5.3-flash`.

<Callout type="idea">
  `munito agent openclaw` has no headless form: `openclaw agent` delivers a turn to a chat channel rather than running a
  coding task. OpenClaw in a sandbox is a terminal session.
</Callout>

## Through the API [#through-the-api]

```bash
curl -sS --fail-with-body https://api.munito.ai/sandboxes/v1/sandboxes \
  -H "Authorization: Bearer $MUNITO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"template": "agent", "agent": "openclaw", "internet": true, "persistent": true,
       "env": {"MUNITO_API_KEY": "'"$MUNITO_API_KEY"'"}}'
```

A `persistent` sandbox [pauses and resumes](https://docs.munito.ai/sandboxes/persistence#pause-and-resume) with its session,
scrollback and conversation intact.

## On another template [#on-another-template]

```bash
npm install -g --allow-scripts=openclaw openclaw
openclaw plugins install --force --accept-capabilities npm:@munitoai/openclaw-provider
openclaw plugins list | grep -i munito
```

OpenClaw refuses a plugin from outside ClawHub unless both flags are given, **and it exits 0 when it refuses**, so
check the list rather than the exit code.
