hlix status
hlix status answers “where am I” in one screen: the resolved workspace and API with the source that decided each, the folder’s binding and local revision, and whether the working tree or the cloud head has moved since the last sync.
It is the first thing to type in an unfamiliar checkout, and the fastest way to find out why another command is talking to a workspace you did not expect.
Prerequisites
Section titled “Prerequisites”None. status runs in any directory, with or without a credential — reporting what is missing is part of its job.
hlix status [--cwd <dir>] [--json]--cwd <dir>(string, default the process working directory): report on another folder, including its binding lookup. A path that is not a directory exitsinvalid_usage— see the validation note below.--json(boolean, defaultfalse): return the structured report instead of the aligned fields. The payload carriescwd,workspace,api,credential,conflict,project,revision,local, andcloud, each with its ownsourceorerrorwhere one applies.
Expected result:
folder /Users/you/acme-invoicesworkspace org_2p9xk4 (from project)api https://server.hlix.ai (from project)credential file (/Users/you/.config/hlix/credentials.json)project 6f1c2a9e-8f0b-4a7d-9d33-2f0b1c7e5a41revision generation 3 (rev_01J8Z4)local 412 files, matches the last synccloud generation 3, up to dateWhat each line can say
Section titled “What each line can say”| Line | Values you will see |
|---|---|
workspace |
the ID and its source (flag, env, project, credential), or none — run `hlix auth login --workspace <id>` |
credential |
environment (HLIX_API_KEY), file (<path>), or none — run `hlix auth login` |
project |
the project ID, initialized at <root>, not imported yet, or none — run `hlix import .` to bind this folder |
local |
<n> files, matches the last sync, … modified since the last sync, … no synced base revision, or could not scan: <reason> |
blocking |
present only when the scan found blockers; they are listed inline |
cloud |
generation <n> available — run `hlix pull` , generation <n>, up to date, or not checked: <error code> |
conflict |
present only when an override contradicts the folder’s binding |
The cloud line is only attempted when the folder is bound to a project, a credential exists, and no conflict was found — so a broken login never turns into a confusing network error.
Conflicts and validation
Section titled “Conflicts and validation”- A contradicting
--workspace,--base-url, orHLIX_*value appears on theconflictline rather than aborting the report. Every other command exitsworkspace_mismatchon the same input. - An argument error still exits
2— an unknown flag, a stray positional, or a--cwdthat is not a directory. Those are rejected beforestatusruns at all, which is the one exit code it cannot promise away and does not try to. - The binding is found by walking up from
--cwd, sohlix statusinpackages/apireports the project, not a fragment of it.
If status reports something unexpected
Section titled “If status reports something unexpected”workspace … (from credential)where you expected(from project)— the folder is not bound. Runhlix import ..cloud not checked: unreachable— the API could not be contacted. The rest of the report is still accurate; it is computed locally.cloud not checked: unauthenticated— the stored credential no longer works against this workspace. Runhlix auth statusfor the probe result.local could not scan: …— the scan itself failed. The message is the scanner’s own; a symlink or an unreadable path is the usual cause.- A
conflictline — drop the override rather than editing.hlix/config.jsonto match it.
Next steps
Section titled “Next steps”hlix push, pull & syncAct on the drift status just reported, including the dry-run verdicts.
hlix authWhich credential is in use, and whether it still works.
Push, pull & syncThe decision matrix behind the local and cloud lines.
CLI referenceThe target chain that produced every `(from …)` above.