> ## Documentation Index
> Fetch the complete documentation index at: https://ngrok.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Install the ngrok Agent CLI

> Install the ngrok Agent CLI on your platform, turn on shell tab completion, and keep the binary up to date with the built-in update command.

## Install

Follow the [Agent CLI Quickstart](/docs/gateway/endpoints/agent-cli-quickstart/#1-install-the-ngrok-agent-cli) or visit the [download page](https://download.ngrok.com) to install and set up the ngrok agent.

## System requirements

### Supported platforms

The ngrok Agent CLI runs on all major platforms including Linux, MacOS, Windows, and most CPU architectures.
See the [ngrok agent download](https://download.ngrok.com) page for details.
It's also distributed as a Docker container.

| OS | Supported Architectures |
| - | - |
| Windows | 64-bit, 32-bit (`x86-64`, `x86`) |
| MacOS | Intel, Apple Silicon (`x86-64`, `arm64`) |
| Linux | `x86-64`, `x86`, `arm`, `arm64`, `mips`, `mips64`, `mips64le`, `mipsle`, `ppc64`, `ppc64le`, `s390x` |
| FreeBSD | `x86-64`, `x86`, `arm` |

If the Agent CLI does not run on your target platform, you can still use ngrok via
the [Agent SDKs](/docs/agent-sdks/) or the [SSH Reverse Tunnel Agent](/docs/gateway/agent/ssh-reverse-tunnel-agent).

### Resource requirements

The ngrok Agent CLI is lightweight enough to run most everywhere, even on many embedded platforms.
Its resource usage depends on how much concurrent traffic you drive through it.
If you have stricter resource requirements, you can still use ngrok via the [Agent SDKs](/docs/agent-sdks) or the [SSH Reverse Tunnel Agent](/docs/gateway/agent/ssh-reverse-tunnel-agent).

| Resource | Value |
| - | - |
| Memory | 64MB minimum, 128MB recommended |
| Disk | 25MB |
| CPU | No requirement |

<Tip>
  You can reduce memory usage in the ngrok agent by disabling
  [inspection in the configuration file](/docs/gateway/agent/config/v3/#inspect-db-size).
</Tip>

## Tab completion

The ngrok agent has built-in tab completion which makes it easy to navigate its
command and flags by hitting tab in your terminal when using a `bash` or `zsh`
shell.
Add tab-completion to your shell session with:

```bash theme={null}
. <(ngrok completion)
```

Install it permanently by following the documentation for the [`ngrok completion` command](/docs/gateway/agent/cli/#ngrok-completion).

## Updates

The ngrok agent can update itself even if you didn't install it with a package
manager.
Update the ngrok agent with the [`ngrok update`](/docs/gateway/agent/cli/#ngrok-update) command.

```bash theme={null}
ngrok update
```

By default, the ngrok agent automatically checks for available updates when it
runs.
If an update is available, it will prompt you to update by pressing
`Ctrl+U`.
You can configure whether the agent checks for updates via the
[`update_check` config parameter](/docs/gateway/agent/config/v3/#update-check).

You can configure which release channel (for example, `stable`, `beta`) the agent uses
for updates via the [`update_channel` config parameter](/docs/gateway/agent/config/v3/#update-channel).
