[Bug]: iOS terminal output cannot be selected or copied, blocking login flows#15453

opened25d agobyDdanddanddand

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/mobile

Steps to reproduce

  1. Open the terminal in the T3 Code iOS app.
  2. Run a command that prints text, such as ls, or start a Codex or Claude login flow that prints authentication information to copy.
  3. Try to select text from the terminal output using touch and copy it to the iPhone clipboard.

Expected behavior

Terminal output can be selected and copied on iOS, including login URLs or codes, so authentication can be completed from the phone.

Actual behavior

Terminal output cannot be selected or copied. This prevented me from copying the information needed during Codex/Claude login; I had to go to a computer to complete the flow.

Impact

Major degradation or frequent failure. Blocks completing these terminal-based login flows entirely from the phone.

Version or commit

Not recorded.

Environment

iPhone, T3 Code native iOS app. Exact iOS and app versions not recorded.

Workaround

Switch to a computer to copy the terminal output and complete login.

Related issues checked

  • #6394 and #9198 concern pasting text into the mobile terminal. This report concerns selecting and copying output out of the iOS terminal.
  • #8361 concerns copying already-selected text on Windows desktop; this report includes being unable to select terminal text with touch on iOS.

Reported from actual use; not independently reproduced by the filing agent.

Note

Grok responding on behalf of Julius.

Triage

Thanks @danddanddand for reporting this, and for spelling out how it differs from the paste issues. I confirmed it on current main. It's a real gap in the native iOS terminal, and it isn't a duplicate of #6394 or #9198 (pasting into the mobile terminal) or #8361 (copying on Windows desktop).

What I found

  • The iOS Ghostty terminal surface only handles a tap (to focus the keyboard) and a one-finger pan (to scroll). Nothing starts a text selection.
  • Clipboard support is stubbed in apps/mobile/modules/t3-terminal/ios/T3TerminalView.swift: supports_selection_clipboard is false, clipboard reads return unsupported, and the write callback does nothing.
  • Android already supports long-press to select and copies the selection to the system clipboard, so this is iOS-specific.
  • "Attach visible output" doesn't work around it. It snapshots the viewport so a line range can be attached to the composer, but it never writes to the iPhone clipboard, so it can't help with copying a login URL or device code.
  • The selectable-text fallback only appears when the native surface is missing. The normal iOS app uses the Ghostty view.

The exact app and iOS versions aren't needed to confirm this, since it comes straight from the current code.

Likely fix area

Some options:

  • Add a long-press selection gesture to the iOS Ghostty view, similar to the Android behavior, and wire the clipboard write callback to UIPasteboard.
  • Add a lighter path for the login case specifically, such as a copy action for the visible output or for detected URLs and codes.

A maintainer will decide on the fix direction.