[BUG] iPad: app crashes (SIGABRT) when tapping "Default" environment picker — UICollectionView invalid scroll index path

Resolved 💬 2 comments Opened Jun 1, 2026 by jonathan-wachter Closed Jul 3, 2026

Summary

On iPad, the Claude app hard-crashes to the home screen (SIGABRT, uncaught exception) the moment you tap the "Default" environment picker on the new Code-session screen. The same action on iPhone with the identical account and app version works fine — this is iPad-only.

Environment

  • Device: iPad, iPadOS 26.1 (build 23B85)
  • Claude iOS app: 1.260521.1
  • iPhone (same account + app version): NOT affected
  • Remote Control (claude remote-control) in use, but see note below

Steps to reproduce (100% — 3/3 captured crash logs are identical)

  1. Code tab → New session (+)
  2. Tap the "☁️ Default" environment-picker pill at the top
  3. The picker sheet begins to present → app immediately crashes to the home screen

Notes that isolate the cause

  • Reproduces with zero remote-control environments connected (verified by killing the only connected Mac server), so it is independent of which environments are available.
  • Resuming existing sessions on iPad works fine — only the new-session environment picker crashes.
  • Force-quit, full device restart, app reinstall/offload, and exiting Stage Manager / Split View do not help.

Crash (uncaught NSException → abort/SIGABRT, from lastExceptionBacktrace)

__exceptionPreprocess
objc_exception_throw
-[UICollectionView _validateScrollingTargetIndexPath:raisingExceptionIfNecessary:]
-[UICollectionView _contentOffsetForScrollingToItemAtIndexPath:atScrollPosition:additionalInsets:]
-[UICollectionView _scrollToItemAtPresentationIndexPath:atScrollPosition:additionalInsets:animated:]
SwiftUI: UpdateCoalescingCollectionView.updateContent()
SwiftUI: closure #1 in UpdateCoalescingCollectionView.bridgedState.didset
SwiftUICore: Update.dispatchActions() / Update.end() / Update.dispatchImmediately
...
libsystem_c.dylib: abort() called

Exception type: EXC_CRASH (SIGABRT).

Analysis / suspected cause

The environment-picker list programmatically scrolls to a selected item using an index path that is invalid for the current data set on the iPad layout (different column count / popover geometry vs. iPhone). -[UICollectionView _validateScrollingTargetIndexPath:raisingExceptionIfNecessary:] raises because the target index path is out of range, and the exception is uncaught → abort().

Suggested fix: clamp / guard the scroll-to-selection against out-of-range index paths, or defer the scrollToItem until the data source is populated, on the iPad layout path.

Logs
Three identical .ips crash reports captured (2026-05-31 21:08, 21:12, 21:19). Happy to attach the raw files if useful.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗