Saphan StudioDocs
Reference/Commands

saphan install

Sets up this machine for Saphan Studio by running every step a new workspace needs, in order, and reporting each as already done, done now, or not done with the reason.

Sets up this machine for Saphan Studio by running every step a new workspace needs, in order, and reporting each as already done, done now, or not done with the reason. It is safe to run again: completed steps are left alone. You must name the workspace with --workspace (or the workspace environment variable); it is never guessed. Two steps ask for consent before writing (a permission file, and seating the assistant you run this from as your coordinating seat in the signed machine registry); without --yes they are skipped and named.

⚠ Two further steps are the owner's own acts: admitting this machine to the signed machine registry, and signing the write-set when the root key is on this machine. Each asks for the one-time code at your terminal; --yes does not answer for them, and without a terminal they are refused. The console's setup page confirms them with your passkey instead.

saphan install --workspace /path/to/workspace --yes
saphan install
flagtypedefaultwhat it does
--actorstringWho this installation belongs to; defaults to your Git user name, and the install refuses if Git does not know it either. Ignored when this machine already has an identity.
--defer-owner-actsboolfalseSkips the steps that need the owner's confirmation and reports them as waiting for your passkey; used by the console's setup page, not needed in a terminal.
--display-namestringYour name as it should appear in Saphan Studio; used only together with --actor, and only when this machine has no identity yet.
--emailstringYour email address; used only together with --actor, and only when this machine has no identity yet.
--for-setupboolfalsePrints this machine's steps in plain words, one line each, as the console's Welcome page shows them; add --verbose for the full report.
--gateway-sanstringArrayAn extra host name or address the gateway's certificate must include, for a machine reached at an address other than the console's; repeatable.
--owner-actsboolfalsePrints, as JSON, the steps this install would perform that need the owner's confirmation, then stops without writing or asking anything; used by the setup page.
--passkey-beginboolfalsePrints the passkey registration challenge for the setup page and stops; used by the setup page when the server is not running yet.
--passkey-registerboolfalseEnrols the passkey the setup page registered, read from the pipe named by --presence-grant-fd and authorised by a one-time code; used by the setup page only.
--presence-beginboolfalsePrints the passkey challenge the setup page's consent screen needs, bound to this install's owner steps, and stops; used by the setup page only.
--presence-grant-fdint3The inherited pipe descriptor from which the owner's passkey confirmation is read, standing in for typed confirmation of the named owner steps only; used by the setup page.
--start-at-loginbooltrueRegisters Saphan Studio's services with the service supervisor once this machine is admitted — to start when you log in on a per-user installation, at boot on a machine-wide one; set --start-at-login=false to record that it should not, which later runs remember.
--verboseboolfalseWith --for-setup, prints the full report of every step, including operator notes.
--yesboolfalseGives consent to the two steps that ask: writing a permission file and seating this assistant as your coordinating seat. It is never assumed, and it does not answer the owner's terminal confirmation.

Global options apply to every command — see Every command.