An accepted `usage --all-accounts` reply was parsed under a single outer try in parseProviderAccountsOutput. A record that threw during normalizeProvider aborted the whole loop, so healthy accounts before and after it were never published and the picker went empty or kept a stale roster. Wrap the per-record copy and normalization instead, so a failing record is skipped with a bounded scoped message while its healthy siblings survive. When no usable option remains, the existing empty-result path still preserves the previous roster and reports the error. Request acceptance, source completion, provider scoping, deduplication, missing-token-account semantics and the outer JSON failure handling are unchanged. Documentation impact: CHANGELOG Unreleased/Fixed entry; new user-facing string added to the gettext template and translated in de, es, fr, it and pt_BR. No usage-guide or TODO change applies. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
9 files changedLine totals unavailable