-
Notifications
You must be signed in to change notification settings - Fork 601
Open
Labels
bugBug that's either related to Blink Shell or prevents the user to use the app in normal conditions.Bug that's either related to Blink Shell or prevents the user to use the app in normal conditions.
Description
Checklist
- Using latest version on the [App Store](http://itunes.apple.com/app/id1156707581)
- Read the [docs](http://blink.sh/docs/)
- Searched for [existing GitHub issues](https://github.com/blinksh/blink/issues)
Configuration
- Blink version: v18.3.0
- iOS/iPadOS version: iPadOS 18.4, iOS 18.5
- Device: iPad and iPhone
- Remote server: Ubuntu 24.04 (via SSH)
- Claude Code CLI version: v1.0.11
- Korean keyboards tested: iOS touch keyboard, iPadOS touch keyboard, Magic Keyboard (hardware)
Describe the bug
When typing Korean in Claude Code CLI (and other similar AI CLI tools like Codex-cli) through Blink Shell on iOS/iPadOS, Korean characters are displayed broken with separated jamo (individual Korean letters).
Current behavior:
- When typing "안녕하세요", it displays as "ㅇ아ㄴ녀ㅇ하ㅅ세ㅇ요" (with separated jamo characters)
- The issue only occurs in REPL environments like Claude Code CLI
- Korean input works perfectly fine in regular SSH sessions, tmux, and Python REPL
- Issue occurs with both software keyboards and hardware Magic Keyboard on iPadOS
Expected behavior:
Korean characters should be displayed as complete syllables (e.g., "안녕하세요") without showing intermediate jamo states.
Screenshots:
ScreenRecording_06-05-2025_08-09-19_1.mov
Analysis from investigation:
The issue appears to be caused by:
- iOS/iPadOS Korean IME sends both intermediate jamo and completed syllable with backspace (0x08)
- Blink passes these raw bytes unchanged through SSH
- Claude Code's Ink-based TUI doesn't properly handle the 0x08 backspace, leaving both jamo and syllable on screen
Additional information:
- The same issue occurs with Termius on iOS
- Works correctly on iTerm2 and Linux terminals
- Only affects REPL environments using Ink-based TUI, not regular shell sessions
Steps to reproduce:
- Connect to Ubuntu 24.04 server via SSH using Blink on iPad/iPhone
- Launch Claude Code CLI (
claude
) - Try typing Korean text (e.g., "안녕하세요")
- Observe that jamo characters remain visible alongside completed syllables
**Potential solutions: (not by me, suggested by AI) **
- Terminal-side: Filter out intermediate jamo/0x08 sequences before sending to REPL
- CLI-side: Proper handling of CJK IME composition in Ink-based TUI
- Workaround: Use terminals that handle IME composition differently (e.g., iTerm2 on macOS)
Metadata
Metadata
Assignees
Labels
bugBug that's either related to Blink Shell or prevents the user to use the app in normal conditions.Bug that's either related to Blink Shell or prevents the user to use the app in normal conditions.