# Sliplane CLI

Source: https://docs.sliplane.io/cli/getting-started

Install the Sliplane CLI to deploy and manage services, servers, databases, and buckets from your terminal.

The Sliplane CLI lets you deploy and manage services, servers, PostgreSQL databases, and S3 buckets from your terminal. It is open source and available on [GitHub](https://github.com/sliplane/cli).

> **info**
>
> The CLI is in alpha. Commands and output may still change between releases.

## Install

Install the CLI on macOS, Linux, or WSL:

```sh
curl -fsSL https://sliplane.io/install.sh | sh
```

The installer puts `sliplane` in `~/.sliplane/bin` and does not need `sudo`. It checks the release signature and checksum before installing. In bash, zsh, and fish, it offers to add the directory to your `PATH` and set up shell completion. Open a new terminal afterwards, or run the `source` command the installer prints.

To install somewhere else, set `SLIPLANE_INSTALL_DIR` to an absolute path. With Go, you can also run `go install github.com/sliplane/cli/cmd/sliplane@latest`. Binaries for every platform are on the [releases page](https://github.com/sliplane/cli/releases).

Check the installation:

```sh
sliplane version
```

## Log in

Sign in to [sliplane.io](https://sliplane.io/app) in your browser first, then run:

```sh
sliplane auth login
```

The CLI opens your browser, where you pick the team to log in to and authorize access. Your login is saved in your operating system's keychain and renews automatically as long as you use the CLI at least once every 7 days. Run `sliplane auth status` to see which team and access level you are using.

## First steps

```sh
sliplane service list                 # list your services
sliplane deploy n8n --name workflows  # deploy a preset
sliplane logs workflows --follow      # stream its logs
sliplane ssh workflows                # open a shell in it
```

Commands accept names or IDs. When a choice is ambiguous, the CLI asks in a terminal. Use `--project` to pick a project, or save a default with `sliplane config set project production`.

Run `sliplane --help`, or `--help` on any command, to see all options.

## What you can do

| Command                                    | What it covers                                                                                                 |
| ------------------------------------------ | -------------------------------------------------------------------------------------------------------------- |
| `sliplane service`                         | Create, update, redeploy, pause, and delete services. Manage domains, environment variables, and volumes.      |
| `sliplane deploy`                          | Create a service from the same presets as the dashboard. `sliplane preset list` shows the available IDs.       |
| `sliplane logs`, `sliplane service events` | Read or follow service logs, and see deployment events.                                                        |
| `sliplane metrics`                         | Chart CPU and memory history of a service or server, or watch live usage with `--watch`.                       |
| `sliplane ssh`, `sliplane tunnel`          | Open a shell in a service, or forward a local port to it.                                                      |
| `sliplane server`                          | Create, scale, resize, and delete servers, and manage server volumes.                                          |
| `sliplane postgres`                        | Manage [PostgreSQL databases](/databases/overview), connect to them, run queries, and manage the IP allowlist. |
| `sliplane s3`                              | Manage [buckets](/object-storage/getting-started), keys, and CORS rules, and upload or download files.         |
| `sliplane project`                         | Create, rename, and delete projects.                                                                           |
| `sliplane registry`                        | Manage [registry credentials](/teams/registry-credentials).                                                    |
| `sliplane ssh-key`                         | Manage persistent SSH keys for services.                                                                       |
| `sliplane agent init`                      | Add Sliplane guidance for coding agents to your project.                                                       |

## Connect to services and databases

`sliplane ssh` opens a shell in a service with a temporary SSH key, which is removed when the session ends. You need OpenSSH installed and [SSH enabled](/services/ssh) for the service.

```sh
sliplane ssh api
```

`sliplane tunnel` forwards a local port to a service, for example to reach a private service from your machine. Keep it running while you use the connection.

```sh
sliplane tunnel api --local-port 8080
```

`sliplane postgres connect` opens an SQL shell without installing `psql`. If your IP address is blocked, it offers to add it to the database's [allowlist](/databases/access-control).

```sh
sliplane postgres connect main
```

## Set up your coding agent

Run this in your project to add Sliplane best practices to `AGENTS.md`, or `CLAUDE.md` in Claude Code:

```sh
sliplane agent init
```

Coding agents like Claude Code, Codex, and Cursor then know how to deploy and manage your project with the CLI. Your existing instructions are kept. To give an agent direct access to Sliplane instead, connect it with [MCP](/mcp/getting-started).

## Work with multiple teams

Each login is saved in a profile. To add another team, run `sliplane auth login` again and pick that team in the browser. The CLI then asks whether to replace the current profile or create a new one.

```sh
sliplane profile list           # show saved profiles
sliplane profile use work       # switch the default profile
sliplane service list --profile personal
```

You can also set `SLIPLANE_PROFILE` to select a profile.

## Updates

The CLI checks for a new release every 30 minutes and updates itself in the background. Run `sliplane update` to update right away. Set `SLIPLANE_NO_AUTO_UPDATE=1` to turn off automatic updates.

## Next steps

* [Use the CLI in scripts and CI](/cli/automation)
* [Create an API key](/teams/api-keys)
* [Report an issue on GitHub](https://github.com/sliplane/cli/issues)
