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.
| Variable | Read by | What it does |
|---|---|---|
SCIRIX_RELEASES | install scripts | Base 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_CHECK | the binary, every invocation | Any non-empty value disables the background "new version available" check. For CI runners and locked-down hosts. |
SCIRIX_PREPROMPT_DEBUG | the binary, scirix preprompt | Any 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.