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

# Overview

> The Hop CLI allows you to manage and control every aspect of your Hop projects. It acts as a command-line replacement for the Hop Console with some extra features to support Hop deployments

## Install

#### Shell Script (Linux, macOS and FreeBSD)

```bash theme={null}
curl -fsSL https://download.hop.sh/install | sh
```

#### Arch Linux

Use your favourite AUR helper to install the package:

```bash theme={null}
# yay example
$ yay -S hop-cli
```

#### Windows

Install with the
[Hop Windows Installer 64bit](https://download.hop.sh/windows/x86_64) or the
[Hop Windows Installer 32bit](https://download.hop.sh/windows/i686)

## Login

Once installed, you will be able to use the following command to authenticate
the CLI with your Hop account. This will open a browser window to login.

```
hop auth login
```

<Tip>
  If you want to login to the Hop CLI in a headless environment (e.g. without a
  browser), then you can provide a Project Token or a PAT using the `--token`
  flag.
</Tip>

## Projects

When first logging in, the CLI will execute commands against your default
personal project.

#### Switching Projects

You can switch projects using the following command:

```
hop projects switch
```

This will bring up an interface that allows you to use arrow keys to select a
project:

```
$ hop projects switch
Select a project:
> Bunny's Project           /bunny         project_MjcxMDk5Nzg1MTM1MDYzMTA  2022-06-30T19:25:22.573Z  personal
  Lanyard                   /lanyard       project_MjcxMjgyNDEyMDc2MjM3NDE  2022-06-30T20:37:56.722Z  regular
  ganyu                     /ganyu         project_MzAzNjU3MDkyNDI4MDYyODY  2022-07-09T19:02:29.251Z  regular
  hopvideo.net              /hopvideo      project_MzA4ODY2MzcxNjEyNzEzMjY  2022-07-11T05:32:28.145Z  regular
```

You can also use `hop projects switch <namespace>` to perform the switch
directly.

#### Project override flag

You can specify `--project` on any Hop CLI command to override the currently
selected project for the current command.

### More

Use `hop help` to view a full list of command categories. You can also use
`hop <category> help` for a list of commands within a category.
