stablyai/orca · error · RuntimeClientError

authentication_unconfigured

authentication_unconfigured

Error message

${operation.message}

What it means

Thrown by requireOperation() as the fallback when an artifact cloud operation status is neither 'ok' nor 'reconnect-required' — i.e. 'unconfigured' or any other non-recoverable auth state. The message is the operation's own message (operation.message), so the exact text comes from the cloud layer. This indicates authentication was never set up, not merely expired.

Source

Thrown at src/cli/handlers/artifacts.ts:163

    ...cloudOptions(ctx)
  }
  if (Buffer.byteLength(JSON.stringify(request), 'utf8') > ARTIFACT_CLI_MAX_RPC_BYTES) {
    throw new RuntimeClientError(
      'invalid_argument',
      'Artifact is too large for the Orca CLI transport. Use the browser upload page instead.'
    )
  }
  return request
}

function requireOperation<T>(operation: ArtifactCloudOperation<T>): T {
  if (operation.status === 'ok') {
    return operation.value
  }
  if (operation.status === 'reconnect-required') {
    throw new RuntimeClientError('authentication_required', 'Sign in to Orca and try again.')
  }
  throw new RuntimeClientError('authentication_unconfigured', operation.message)
}

export const ARTIFACT_HANDLERS: Record<string, CommandHandler> = {
  'artifacts list': async (ctx) => {
    rejectRemoteSelectionFlags(ctx)
    const cursor = stringFlag(ctx, 'cursor')
    const response = await ctx.client.call<ArtifactCloudOperation<ArtifactListPage>>(
      'artifacts.list',
      {
        ...cloudOptions(ctx),
        ...(cursor ? { cursor } : {})
      }
    )
    const value = requireOperation(response.result)
    printResult({ ...response, result: value }, ctx.json, formatArtifactListPage)
  },
  'artifacts share': async (ctx) => {
    rejectRemoteSelectionFlags(ctx)

View on GitHub (pinned to 1136503c6a)

Solutions

  1. Complete Orca cloud account setup / sign-in so authentication is configured, not just reconnect-able.
  2. Read operation.message for the specific reason and address it (e.g. link a cloud account, grant entitlement).
  3. If using ORCA_CLOUD_AUTH_TOKEN, ensure it is set and valid; otherwise rely on desktop sign-in.
  4. Confirm your plan/team includes artifact cloud entitlement.

Example fix

# before
orca artifacts list   # ERROR authentication_unconfigured: <operation.message>

# after
# link Orca cloud account in desktop app, then
orca artifacts list
Defensive patterns

Strategy: type-guard

Validate before calling

// Inspect the operation status before requireOperation throws.
if (op.status !== 'ok' && op.status !== 'reconnect-required') {
  // op.message holds the cloud layer's reason; show it, do not call requireOperation
}

Type guard

const isAuthUnconfigured = (op: ArtifactCloudOperation<unknown>): boolean =>
  op.status !== 'ok' && op.status !== 'reconnect-required'

Try / catch

try {
  await dispatch('artifacts share', ctx)
} catch (e) {
  if (e instanceof RuntimeClientError && e.code === 'authentication_unconfigured') {
    // e.message is operation.message — guide user to link a cloud account
  }
  throw e
}

Prevention

When it happens

Trigger: Any artifacts command whose RPC response has a status other than ok/reconnect-required: cloud account not linked, no auth token configured, the desktop account lacks cloud entitlement, or the operation reported an auth-misconfig message. Falls through the final throw in requireOperation().

Common situations: Fresh install with no Orca cloud account linked; the user signed in to a local-only account; ORCA_CLOUD_AUTH_TOKEN unset and no desktop sign-in; team plan without artifact entitlement; the cloud backend returned an unconfigured-state message.

Related errors


AI-assisted analysis of stablyai/orca@1136503c6a (2026-08-12). Data as JSON: /api/errors/7a568f2293a0754a. Report an issue: GitHub.