Authentication and project profiles
Aient CLI uses customer OAuth for ordinary development work. Refresh credentials stay in the operating-system credential store; local profile and project files contain non-secret selectors only.aient auth login
Open the browser consent flow and save a refresh-backed customer session:
Use a distinct profile for each organisation context you work in. Existing OAuth sessions may need a new login when Aient introduces additional consented capabilities.
aient auth status
Verify the selected login and display its issuer, organisation, and granted scopes:
auth status --all displays local metadata for every profile without refreshing credentials. A status check for a selected refresh-backed profile verifies the live session. For an access-only token, status validates the envelope shape, issuer and audience claims, metadata consistency, and expiry locally; the server verifies its signature and current authority on the first API operation.
aient auth logout
Revoke and remove only the selected login:
aient auth profiles
List locally known named profiles:
aient auth profiles default
Choose the non-secret fallback profile:
Bind a checkout with .aient/config.yaml
Create a project file in the checkout or linked worktree:
.aient/config.yaml. Supported keys are:
The file is intentionally strict: it accepts only these scalar keys and must not contain credentials. The organisation and repository values are selectors and mismatch checks, never authority.
Profile resolution order
For each invocation, Aient resolves authentication in this order:- An explicit access-only source:
--access-token-file,AIENT_ACCESS_TOKEN_FILE, orAIENT_ACCESS_TOKEN. --profile NAMEorAIENT_PROFILE.- The nearest
.aient/config.yaml. - The user default selected by
auth profiles default. - Compatibility profile
customer.
--profile and AIENT_PROFILE are rejected instead of silently choosing one. A portable access token and refresh-profile selection are also mutually exclusive for the same invocation.
aient auth export
Export a shorter-lived access-only credential for a child process, CI job, or another machine. Prefer a uniquely named, mode-0600 file outside every uploaded workspace:
An export contains no refresh token, environment secret, repository credential, or GitHub token. Imported access-only credentials are not refreshed or persisted by the CLI. When one expires, export another or sign in on that machine.
The CLI refuses to upload the active access-token file—or a hard link to it—through workspace sync, raw upload, or
files put.