PWA input behavior incorrectly tied to viewport width instead of platform detection

Resolved 💬 3 comments Opened Dec 19, 2025 by jake-cyber4883 Closed Feb 14, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

he Claude PWA silently changes Enter key behavior based on window size rather than actual platform:

Wide window (sidebar visible): Enter sends message
Narrow window (no sidebar): Enter = newline, Ctrl+Enter sends

Why this is broken:

Breaks muscle memory - Input method randomly changes when resizing window
No user feedback - Behavior changes silently with no indication
Wrong detection method - Window size ≠ mobile vs desktop
Affects legitimate use cases - Desktop users with narrow windows (multitasking, vertical monitors, etc.)

What Should Happen?

Auto detect (i.e. navigator.userAgent / navigator.platform) whether mobile or desktop to decide whether enter key makes no line or sends message.

Error Messages/Logs

Steps to Reproduce

  • Install/run Claude PWA
  • Size window to vertical rectangle (slimmer window most likely to reproduce oversight bug)
  • Send message with enter key; unable

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

N/A - Web PWA

Platform

Other

Operating System

Other

Terminal/Shell

Other

Additional Information

Root cause:
PWA appears to use CSS breakpoints (sidebar visibility threshold) to determine input behavior instead of actual platform detection. This suggests desktop and mobile app store versions share the same codebase without proper platform flags.
Expected behavior:
Input method should be determined by:

Actual platform detection (navigator.userAgent/navigator.platform), OR
Explicit user preference in Settings

Not by responsive layout breakpoints.

View original on GitHub ↗

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