Documentation

Use the sk CLI on your machine

Install the sk CLI from your engine and work with it in the terminal.

As of release v10.4.20
Chapters

Your engine serves the CLI itself. There is no npm package. You install sk once, sign in, and then work with workflows, runs and connectors in the terminal.

What you need #

  • The address of your engine, without a path. The examples use http://localhost:3000. For SubKit Cloud, see "Use SubKit Cloud".
  • Bash and curl.
  • For an API key on a self-hosted engine: access to the engine host.

Install and sign in #

  1. Install the CLI from your engine: bash curl -fsSL http://localhost:3000/install | bash
  2. Sign in: bash sk login --engine-url http://localhost:3000 Your browser opens. After you sign in, sk prints sk: signed in as … and saves the profile.
  3. Run sk to start. sk --help lists every command.

The engine describes itself at /openapi.json and /llms.txt.

Sign in with an API key #

Use this for scripts, or for a self-hosted engine without an identity provider.

  1. On the engine host, issue an admin key. The command prints a ready sk login line: bash docker compose exec engine engine --issue-admin-key --tenant my-org
  2. Run the printed line. It has this form: bash sk login --engine-url http://localhost:3000 --api-key <key> sk prints sk: profile 'default' saved and the engine health.

Install from a public GitHub release #

Use this to install a signed public release instead of the download from your engine. You need Bash, curl, and OpenSSL with Ed25519 support, for example OpenSSL 3 on your PATH.

  1. Check out the published public release and review it.
  2. In the checkout, run the installer: bash bash scripts/install.sh

The script installs the matching CLI for Linux or macOS and creates the local subkit compatibility link. It puts subkit.LICENSE and subkit.THIRD_PARTY_NOTICES.txt beside the CLI. The release assets must be publicly downloadable. A local build or a private repository is not sufficient.

What the installers check #

Each installer checks the files before it replaces an existing installation. Missing license assets, missing signatures or unsupported cryptography stop the installation.

InstallerWhat it checksWhat it trusts
scripts/install.shThe signed checksum manifest, then the selected binary and both license assetsThe pinned release public key
/install from the engineThe binary, LICENSE and THIRD_PARTY_NOTICES.txt from the same engine bundle or an explicit mirror, against that source's checksum manifestThe engine or mirror you selected, not a GitHub release signature
GitHub updaterBoth signed license assets. It updates the notices beside the binary and keeps the existing ones with their checksums for rollback.The pinned release public key

Older retained versions without notice metadata cannot rebuild missing historical license files. Their rollback still works as before.

If something does not work #

What you seeWhat to do
sk: browser login failedThe browser sign-in did not complete. Try again, or follow "Sign in with an API key".
sk login cannot reach the engineCheck the --engine-url. Give the address without a path.
scripts/install.sh stops with a missing license asset or signatureUse a published public release. A local build or a private repository does not work.
scripts/install.sh stops because of unsupported cryptographyPut OpenSSL with Ed25519 support, for example OpenSSL 3, on your PATH.

On this page

Privacy settings

Necessary preferences

Your privacy choice is stored on your device. Forms also keep a request ID and timestamp for the session, without form contents. Language and appearance follow your browser and system, without saved preferences.

Analytics

Analytics is not available on this website at present. No Google Analytics script is loaded and no measurement is sent.

Privacy notice