Skip to main content
Follow these steps to install, authenticate, and start using the Control Plane CLI.
1

Install the CLI

Choose your preferred installation method:
Install via npm if you have Node.js version 16 or later installed.
npm install -g @controlplane/cli
Requires Node.js version 16+.
For detailed instructions, see Installation.
2

Verify the installation

Confirm the CLI is installed and accessible:
cpln --version
You should see the CLI version number.
3

Authenticate

Log in to Control Plane using your browser:
cpln login
This opens your browser for authentication and creates a default profile.
If you can’t use a browser, see the browser-less login guide.
When you run cpln login in WSL2, the localhost URL won’t work in your Windows browser because it points to the WSL2 instance, not Windows.Solution: Install a browser in WSL2 (requires WSLg):
cd /tmp
sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
sudo apt install --fix-broken -y
sudo dpkg -i google-chrome-stable_current_amd64.deb
After installation, Chrome appears in your Windows Start menu under the distro name (e.g., Ubuntu → Google Chrome). Run cpln login, copy the localhost URL from the terminal, and paste it into your WSL2 Chrome.Alternative: Use browser-less login with a service account token.
4

Explore available commands

Use the built-in help to discover commands:
cpln --help
cpln <command> --help
Start with read-only commands like cpln gvc get or cpln workload get.

Try your first commands

Once authenticated, try these safe, read-only commands:
cpln gvc get

Deploy your first app

Build and deploy a local application to Control Plane:
1

Create a GVC

Create a Global Virtual Cloud to host your workload:
cpln gvc create --name my-app-gvc --location aws-us-east-1
2

Build and push your image

From your project directory, build and push to your org’s private registry:
cpln image build --name my-app:v1 --push
No Dockerfile? The CLI can auto-detect your language and build with buildpacks.
3

Create a workload

Deploy your image as a workload:
cpln workload create --name my-app --gvc my-app-gvc \
  --image //image/my-app:v1 --port 8080 --public
Replace 8080 with the port your application listens on. Use --public to make it accessible from the internet.
4

Check your deployment

View your workload status:
cpln workload get my-app --gvc my-app-gvc
Once ready, access your app at the endpoint shown in the output.
For more image operations, see the Images guide.

Next steps