Advanced

05 / 05

Beyond the six environment variables in the Configuration table, three more knobs cover install-time host selection and operational toggles. They're rarely needed for an ordinary install against the public service, but they're what you reach for when self-hosting, mirroring artefacts, or debugging the agent integration.

VariableRead byWhat it does
SCIRIX_RELEASESinstall scriptsBase URL for release artefacts (the binary archives + checksums.txt). Default https://cli.scirix.fi/releases. Distinct from SCIRIX_API_BASE — this is where the binary is downloaded from, not the API it talks to.
SCIRIX_NO_UPDATE_CHECKthe binary, every invocationAny non-empty value disables the background "new version available" check. For CI runners and locked-down hosts.
SCIRIX_PREPROMPT_DEBUGthe binary, scirix prepromptAny non-empty value surfaces the agent preprompt-hook diagnostics to stderr. The hook normally fails silently (exit 0, empty stdout) so it never blocks a prompt; set this when a hook isn't returning context and you need to see why.

Installing from a non-default host

SCIRIX_RELEASES is read by install.sh / install.ps1, so export it in the same shell that runs the one-liner to pull the binary from a dev or mirrored deployment instead of the public CDN:

curl -fsSL https://cli.dev.scirix.fi/install.sh \
  | SCIRIX_RELEASES=https://cli.dev.scirix.fi/releases sh
$env:SCIRIX_RELEASES = "https://cli.dev.scirix.fi/releases"
irm https://cli.dev.scirix.fi/install.ps1 | iex

SCIRIX_RELEASES affects only the install scripts. The binary's own scirix update always targets the compiled-in public release host, so a CLI installed from a mirror will still self-update from cli.scirix.fi — pin versions manually (scirix update --version …), or set SCIRIX_NO_UPDATE_CHECK=1 to leave update management to whatever provisioned the host.

Pointing a self-hosted install at its own API

Artefact host and API host are independent. A complete dev / self-hosted setup pairs SCIRIX_RELEASES (install time) with SCIRIX_API_BASE + SCIRIX_UI_BASE (use time). The most durable way to pin the API target is a per-install config.json so every invocation resolves it without re-exporting (see API base resolution):

// ~/.scirix/config.json  (Windows: %USERPROFILE%\.scirix\config.json)
{ "apiBase": "https://api.dev.scirix.fi", "uiBase": "https://ui.dev.scirix.fi" }

With that file in place, scirix auth login mints its token against the dev realm and every later command follows. Prefer the env vars (SCIRIX_API_BASE / SCIRIX_UI_BASE) for one-off or ephemeral shells, and the per-tree .scirix-namespace apiBase when different folder trees on one machine need different hosts.