stablyai/orca · warning · Error
That Claude account no longer exists.
Error message
That Claude account no longer exists.
What it means
Thrown by requireAccount() when no managed account in settings.claudeManagedAccounts has the given accountId. It is the internal precondition guard for operations (select, reauth, remove) that reference an account id; a missing id means the account was deleted or never existed, or settings are stale.
Solutions
- Refresh the account list from getSnapshot() before issuing the operation.
- Guard at the IPC layer: check the account exists before calling into the service.
- Treat this error as a soft 'not found' and refresh the UI rather than retrying blindly.
- Ensure removeAccount and selectAccount are serialized so a concurrent delete cannot invalidate an in-flight select.
Defensive patterns
Strategy: validation
Validate before calling
const account = settings.claudeManagedAccounts.find(a => a.id === accountId)
if (!account) {
// refresh UI list; do not call into the service
} Try / catch
try {
await selectAccount(accountId)
} catch (error) {
if (error instanceof Error && /no longer exists/.test(error.message)) {
await refreshAccountList()
return
}
throw error
} Prevention
- Refresh the account list before issuing operations.
- Serialize remove and select so a concurrent delete cannot invalidate a select.
- Treat 'no longer exists' as a soft refresh signal.
- Validate account existence at the IPC boundary.
When it happens
Trigger: An IPC handler invokes selectAccount/reauthenticateAccount/removeAccount with an accountId that is not present in the current settings list. The account was removed by another window/race. A stale UI list sent an outdated id.
Common situations: Account was deleted in another window but the first window's list is stale. Race between remove and a concurrent select. Hardcoded/test account id. Settings file edited externally.
Related errors
- This Claude account is already added.
- A Claude config directory path is required.
- Could not resolve the active WSL distribution for Claude…
- Invalid accounts snapshot from host
- No Claude credentials found in
AI-assisted analysis of stablyai/orca@1136503c6a (2026-08-12).
Data as JSON: /api/errors/fb3ff1532e77c3c9.
Report an issue: GitHub.
Appendix: source
Thrown at src/main/claude-accounts/service.ts:530
id: account.id,
email: account.email,
managedAuthRuntime: account.managedAuthRuntime ?? 'host',
wslDistro: account.wslDistro ?? null,
authMethod: account.authMethod ?? 'unknown',
organizationUuid: account.organizationUuid ?? null,
organizationName: account.organizationName ?? null,
createdAt: account.createdAt,
updatedAt: account.updatedAt,
lastAuthenticatedAt: account.lastAuthenticatedAt
}
}
private requireAccount(accountId: string): ClaudeManagedAccount {
const account = this.store
.getSettings()
.claudeManagedAccounts.find((entry) => entry.id === accountId)
if (!account) {
throw new Error('That Claude account no longer exists.')
}
return account
}
private normalizeActiveSelection(): void {
const settings = this.store.getSettings()
const nextSelection = pruneInvalidClaudeRuntimeSelection(
normalizeClaudeRuntimeSelection(settings),
settings.claudeManagedAccounts
)
if (
nextSelection.host !== settings.activeClaudeManagedAccountId ||
JSON.stringify(nextSelection) !== JSON.stringify(normalizeClaudeRuntimeSelection(settings))
) {
this.store.updateSettings({
activeClaudeManagedAccountId: nextSelection.host,
activeClaudeManagedAccountIdsByRuntime: nextSelection
})View on GitHub (pinned to 1136503c6a)