Install the CLI
One binary, no runtime. Everything you can do in the dashboard, from a terminal.
macOS, Linux, WSL
curl -fsSL https://marinahost.app/install.sh | sh Windows PowerShell
irm https://marinahost.app/install.ps1 | iex Then sign in and look at what you have running:
marina login
marina status marina login opens a browser and finishes when you approve. On a machine with none, over SSH or in a sandbox, it prints a link and a short code instead: open the link anywhere, enter the code, and the terminal completes on its own. You do not have to choose between them, and --headless asks for the second one directly.
What you get
One statically linked binary. Nothing to install alongside it, no runtime, and on Linux it runs on any distribution and inside a container with nothing else in it.
It lands in the first writable directory on your PATH, falling back to ~/.local/bin. MARINA_INSTALL_DIR overrides that. If it cannot leave a runnable marina on your PATH, it says so and exits non-zero rather than printing advice nobody is there to read.
Every download is checked
The installer verifies the binary against the release checksums before it writes anything, and if you have cosign it verifies the signature on those checksums too. If either check fails, nothing is installed.
Downloading marina-linux-x86_64…
Signature verified.
Verifying…
Installed marina to /home/you/.local/bin/marina The signature is what makes the checksums ours rather than merely present. It is made by the release workflow itself, keylessly, so there is no private key anywhere to leak or rotate.
Pinning a version
Pass a version, which is what you want when the install is part of a build:
curl -fsSL https://marinahost.app/install.sh | sh -s v0.3.1 Or a channel:
| Channel | Points at |
|---|---|
latest | The newest release, as soon as it is published. The default. |
stable | The newest release not found to be bad. |
Both channels usually point at the same version. stable exists so that a release found to be bad can be taken back off it within minutes, without you changing anything: pin to stable and you follow the newest build we still stand behind.
Staying up to date
marina upgrade It tells you whether a newer version is out and gives you the line to run. It does not replace the binary in place: a running executable cannot be overwritten on Windows, and a command that works on two platforms and fails on the third is worse than one that behaves the same everywhere.
You will also see a one-line note after a command when a new version exists, at most once a day. It never appears under --json, and MARINA_NO_UPDATE_CHECK=1 turns it off.
