Arcane OS Docs Development only

Reference

Arcane.users.list()

Lists supported local users plus the platform username policy and accounts the Provisioner must not convert.

  • Reference

This focused page is derived from the mechanically checked full member inventory.

Syntax

Arcane.users.list()

Parameters

None

Return value

Promise<{users, policy, protectedUsernames}>

Description

Lists supported local users plus the platform username policy and accounts the Provisioner must not convert.

Overview

Arcane.users.list() returns local accounts that use the exact Arcane shell or have a protected Arcane recovery record. It requires users.manage, an application of type provisioner, and a Core host. It is a read and emits no operation event. On Microsoft NT an elevated read can temporarily load and unload a signed-out profile to verify both protected shell bindings; it does not persistently change the account.

Result

The exact top-level result is {users, policy, protectedUsernames}. policy is exactly {platform, minimumLength, maximumLength, description, example}. protectedUsernames contains accounts the Provisioner must not convert.

Every users record contains host account and shell observations plus the Arcane recovery fields managedByArcane, createdByArcane, passwordStatus, provisionedAt, passwordChangedAt, prior-shell values and presence flags, recorded binding/security metadata, canRestoreShell, restoreRequiresElevatedVerification, shellMutationPhase, shellRecoveryPrepared, accountMutationPhase, and activationRequired.

Microsoft NT records include username, sid, enabled, profile, shell, both policy and legacy shell values/presence flags, shellAssigned, shellBindingVersion, assignmentMode, verification, and source. Linux records include username, optional uid, enabled, profile, shell, shellAssigned, verification, and source. Nullable or recorded-only values must remain unknown; do not coerce them to false.

Errors and recovery

METHOD_NOT_ALLOWED means this is not the admitted Provisioner. Host account, profile, registry, passwd, or recovery-record failures should be surfaced with their diagnostic. Refresh only after resolving the cause; do not drop a recorded-only entry, because it may represent an interrupted transaction that needs recovery.

Example

const result = await Arcane.users.list();

for (const user of result.users) {
    console.log(
        user.username,
        user.shellAssigned,
        user.activationRequired,
        user.verification
    );
}

Reference group

Platform, installation, users, and system

Repository and reviewed source access