The command line
kaisin talks to your installation from a terminal. It exists for the two things a browser is
slowest at: watching a build that is failing, and answering "what is going on right now" without
clicking into four screens.
Installing
brew install bluepawlabs/kaisin/kaisin
On macOS and Linux, Intel and ARM. It is one self-contained file and needs no runtime on the machine that runs it. Without Homebrew, the same archives are on the tap's releases.
This is the one part of Kaisin anybody can install with no token. The platform itself is installed with one.
Signing in
Kaisin is self-hosted, so the first thing it asks is which installation.
$ kaisin auth login admin.example.com
Your code is KQ7F-M2XP
Enter it at https://admin.example.com/cli?code=KQ7FM2XP
Waiting for approval… (Ctrl-C to stop)
Open that address in a browser you are already signed in to and approve it. No password is typed into the terminal and none is stored: approving in the browser is what creates the session, which is the same kind of session the browser itself holds — it appears in your sessions, is revoked the same way, and expires on the same clock.
This works over SSH, where the machine running the command has no browser at all. The code is short enough to read off one screen and type into another.
Signed in to more than one installation? --host picks one for a command, and KAISIN_HOST does
the same for a script. The token is kept in ~/.config/kaisin/hosts.json, readable only by you.
Debugging a deployment
kaisin builds # what is building right now, across everything
kaisin builds storefront # that application's recent builds
kaisin build 4f2a9c1e # stages, then the log — following if it is still running
kaisin build exits non-zero when the build failed, so it can be the last line of a script.
kaisin deployments storefront # what went out, and what happened to it
kaisin logs storefront # the application's own output, followed
Operating
kaisin apps # everything, and whether it is healthy
kaisin show storefront # one application in detail
kaisin deploy storefront # deploy the current commit
kaisin scale storefront 3 # change how many instances it runs
kaisin restart storefront # roll its instances
Naming an application
An application with one environment is named by its name. One with several takes
app/environment:
kaisin logs storefront # production
kaisin logs storefront/pr-14 # the preview for pull request 14
A bare name resolves to production when the alternatives are previews — three open pull requests
do not make kaisin logs storefront an ambiguous question. Two long-lived environments and no
production do, and it says which it found rather than picking one.
Handing it to an agent
kaisin mcp
speaks MCP over stdio, as you, on the session kaisin auth login made. There is no token to
paste, and signing the command line out cuts the agent off too. Agents has the rest.