[BUG]

Resolved 💬 2 comments Opened Apr 1, 2026 by nextx-bot Closed May 9, 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?

⏺ Đây là vấn đề Overwrite Mode (OVR) trong terminal input — phím Insert bị bật
lên, khiến ký tự gõ đè lên ký tự kế tiếp thay vì chèn vào.

Cách fix:

Nhấn phím Insert để toggle về Insert mode.

Trên Mac (không có phím Insert vật lý), thử:

  • Fn + Return (một số keyboard)
  • Hoặc dùng terminal reset: gõ ! printf '\e[?1h' trong prompt để reset

terminal state

Nếu vẫn tái diễn, có thể cấu hình keybinding để disable overwrite mode hoàn
toàn — muốn mình setup không?

! printf '\e[?1h'
⎿  

❯ y e s

⏺ Skill(keybindings-help)
⎿  Successfully loaded skill · 1 tool allowed

⏺ Nhìn qua danh sách available actions, không có action nào để disable overwrite
mode trực tiếp. Và insert cũng không nằm trong danh sách special keys được hỗ
trợ.

Keybindings không fix được vấn đề này. Một số hướng thực tế hơn:

Nguyên nhân thực sự trên Mac:

  • Mac không có phím Insert vật lý, nhưng một số terminal emulator hoặc bàn

phím external có thể gửi escape sequence \e[2~ (Insert)

  • Nếu bạn dùng bàn phím ngoài, kiểm tra xem có phím nào vô tình map sang

Insert không

Fix tạm thời khi bị OVR:
Gõ ! printf '\033[2l' trong prompt — escape sequence này reset overwrite mode
về insert mode.

Bạn đang dùng bàn phím gì? External keyboard hay built-in Mac? Và terminal
emulator nào (iTerm2, Terminal.app, Warp...)?

❯ built-in Mac Terminal.app

⏺ Với built-in Mac keyboard + Terminal.app thì không có phím Insert vật lý —
overwrite mode không nên bị trigger được.

Đây có thể là bug trong Claude Code chứ không phải lỗi do người dùng.

Một số thứ có thể kiểm tra:

  • Bạn có dùng input method (Unikey, VietIME, v.v.) không? Một số IME gửi

escape sequence lạ

  • Có xảy ra sau một thao tác cụ thể nào không (copy-paste, emoji picker,

v.v.)?

Nếu reproduce được thì nên report bug tại: anthropics/claude-code trên GitHub
Issues, kèm theo:

  • macOS version
  • Claude Code version (claude --version)
  • Các bước để reproduce

❯ k g i a i d u o c a

⏺ Ừ, không fix được hoàn toàn qua config. Nhưng khi bị OVR thì nhấn Fn + Delete
thử — trên Mac Terminal.app đôi khi đó là key combo gần nhất với Insert để
toggle lại.

Nếu không được, cách nhanh nhất vẫn là gõ ! printf '\033[2l' để reset.

Và nếu xảy ra thường xuyên, report bug lên anthropics/claude-code sẽ hữu ích
hơn — họ cần biết case này trên Mac.

! printf '\033[2l'
⎿  

❯ v a n k h o n g d u o c

⏺ Đúng rồi — escape sequence đó ảnh hưởng terminal emulator, không phải input
box của Claude Code. Claude Code quản lý input box riêng (TUI layer), nên
terminal commands không tác động được.

Không có cách fix từ phía user. Chỉ còn cách report bug để team Anthropic fix
ở Claude Code level:

https://github.com/anthropics/claude-code/issues

Khi report, thêm:

  • macOS version: sw_vers
  • Claude version: claude --version
  • Mô tả: "Input enters overwrite mode (OVR) on Mac Terminal.app with built-in

keyboard, no Insert key pressed"

What Should Happen?

⏺ Đây là vấn đề Overwrite Mode (OVR) trong terminal input — phím Insert bị bật
lên, khiến ký tự gõ đè lên ký tự kế tiếp thay vì chèn vào.

Cách fix:

Nhấn phím Insert để toggle về Insert mode.

Trên Mac (không có phím Insert vật lý), thử:

  • Fn + Return (một số keyboard)
  • Hoặc dùng terminal reset: gõ ! printf '\e[?1h' trong prompt để reset

terminal state

Nếu vẫn tái diễn, có thể cấu hình keybinding để disable overwrite mode hoàn
toàn — muốn mình setup không?

! printf '\e[?1h'
⎿  

❯ y e s

⏺ Skill(keybindings-help)
⎿  Successfully loaded skill · 1 tool allowed

⏺ Nhìn qua danh sách available actions, không có action nào để disable overwrite
mode trực tiếp. Và insert cũng không nằm trong danh sách special keys được hỗ
trợ.

Keybindings không fix được vấn đề này. Một số hướng thực tế hơn:

Nguyên nhân thực sự trên Mac:

  • Mac không có phím Insert vật lý, nhưng một số terminal emulator hoặc bàn

phím external có thể gửi escape sequence \e[2~ (Insert)

  • Nếu bạn dùng bàn phím ngoài, kiểm tra xem có phím nào vô tình map sang

Insert không

Fix tạm thời khi bị OVR:
Gõ ! printf '\033[2l' trong prompt — escape sequence này reset overwrite mode
về insert mode.

Bạn đang dùng bàn phím gì? External keyboard hay built-in Mac? Và terminal
emulator nào (iTerm2, Terminal.app, Warp...)?

❯ built-in Mac Terminal.app

⏺ Với built-in Mac keyboard + Terminal.app thì không có phím Insert vật lý —
overwrite mode không nên bị trigger được.

Đây có thể là bug trong Claude Code chứ không phải lỗi do người dùng.

Một số thứ có thể kiểm tra:

  • Bạn có dùng input method (Unikey, VietIME, v.v.) không? Một số IME gửi

escape sequence lạ

  • Có xảy ra sau một thao tác cụ thể nào không (copy-paste, emoji picker,

v.v.)?

Nếu reproduce được thì nên report bug tại: anthropics/claude-code trên GitHub
Issues, kèm theo:

  • macOS version
  • Claude Code version (claude --version)
  • Các bước để reproduce

❯ k g i a i d u o c a

⏺ Ừ, không fix được hoàn toàn qua config. Nhưng khi bị OVR thì nhấn Fn + Delete
thử — trên Mac Terminal.app đôi khi đó là key combo gần nhất với Insert để
toggle lại.

Nếu không được, cách nhanh nhất vẫn là gõ ! printf '\033[2l' để reset.

Và nếu xảy ra thường xuyên, report bug lên anthropics/claude-code sẽ hữu ích
hơn — họ cần biết case này trên Mac.

! printf '\033[2l'
⎿  

❯ v a n k h o n g d u o c

⏺ Đúng rồi — escape sequence đó ảnh hưởng terminal emulator, không phải input
box của Claude Code. Claude Code quản lý input box riêng (TUI layer), nên
terminal commands không tác động được.

Không có cách fix từ phía user. Chỉ còn cách report bug để team Anthropic fix
ở Claude Code level:

https://github.com/anthropics/claude-code/issues

Khi report, thêm:

  • macOS version: sw_vers
  • Claude version: claude --version
  • Mô tả: "Input enters overwrite mode (OVR) on Mac Terminal.app with built-in

keyboard, no Insert key pressed"

Error Messages/Logs

Steps to Reproduce

⏺ Đây là vấn đề Overwrite Mode (OVR) trong terminal input — phím Insert bị bật
lên, khiến ký tự gõ đè lên ký tự kế tiếp thay vì chèn vào.

Cách fix:

Nhấn phím Insert để toggle về Insert mode.

Trên Mac (không có phím Insert vật lý), thử:

  • Fn + Return (một số keyboard)
  • Hoặc dùng terminal reset: gõ ! printf '\e[?1h' trong prompt để reset

terminal state

Nếu vẫn tái diễn, có thể cấu hình keybinding để disable overwrite mode hoàn
toàn — muốn mình setup không?

! printf '\e[?1h'
⎿  

❯ y e s

⏺ Skill(keybindings-help)
⎿  Successfully loaded skill · 1 tool allowed

⏺ Nhìn qua danh sách available actions, không có action nào để disable overwrite
mode trực tiếp. Và insert cũng không nằm trong danh sách special keys được hỗ
trợ.

Keybindings không fix được vấn đề này. Một số hướng thực tế hơn:

Nguyên nhân thực sự trên Mac:

  • Mac không có phím Insert vật lý, nhưng một số terminal emulator hoặc bàn

phím external có thể gửi escape sequence \e[2~ (Insert)

  • Nếu bạn dùng bàn phím ngoài, kiểm tra xem có phím nào vô tình map sang

Insert không

Fix tạm thời khi bị OVR:
Gõ ! printf '\033[2l' trong prompt — escape sequence này reset overwrite mode
về insert mode.

Bạn đang dùng bàn phím gì? External keyboard hay built-in Mac? Và terminal
emulator nào (iTerm2, Terminal.app, Warp...)?

❯ built-in Mac Terminal.app

⏺ Với built-in Mac keyboard + Terminal.app thì không có phím Insert vật lý —
overwrite mode không nên bị trigger được.

Đây có thể là bug trong Claude Code chứ không phải lỗi do người dùng.

Một số thứ có thể kiểm tra:

  • Bạn có dùng input method (Unikey, VietIME, v.v.) không? Một số IME gửi

escape sequence lạ

  • Có xảy ra sau một thao tác cụ thể nào không (copy-paste, emoji picker,

v.v.)?

Nếu reproduce được thì nên report bug tại: anthropics/claude-code trên GitHub
Issues, kèm theo:

  • macOS version
  • Claude Code version (claude --version)
  • Các bước để reproduce

❯ k g i a i d u o c a

⏺ Ừ, không fix được hoàn toàn qua config. Nhưng khi bị OVR thì nhấn Fn + Delete
thử — trên Mac Terminal.app đôi khi đó là key combo gần nhất với Insert để
toggle lại.

Nếu không được, cách nhanh nhất vẫn là gõ ! printf '\033[2l' để reset.

Và nếu xảy ra thường xuyên, report bug lên anthropics/claude-code sẽ hữu ích
hơn — họ cần biết case này trên Mac.

! printf '\033[2l'
⎿  

❯ v a n k h o n g d u o c

⏺ Đúng rồi — escape sequence đó ảnh hưởng terminal emulator, không phải input
box của Claude Code. Claude Code quản lý input box riêng (TUI layer), nên
terminal commands không tác động được.

Không có cách fix từ phía user. Chỉ còn cách report bug để team Anthropic fix
ở Claude Code level:

https://github.com/anthropics/claude-code/issues

Khi report, thêm:

  • macOS version: sw_vers
  • Claude version: claude --version
  • Mô tả: "Input enters overwrite mode (OVR) on Mac Terminal.app with built-in

keyboard, no Insert key pressed"

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

terminal

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

⏺ Đây là vấn đề Overwrite Mode (OVR) trong terminal input — phím Insert bị bật
lên, khiến ký tự gõ đè lên ký tự kế tiếp thay vì chèn vào.

Cách fix:

Nhấn phím Insert để toggle về Insert mode.

Trên Mac (không có phím Insert vật lý), thử:

  • Fn + Return (một số keyboard)
  • Hoặc dùng terminal reset: gõ ! printf '\e[?1h' trong prompt để reset

terminal state

Nếu vẫn tái diễn, có thể cấu hình keybinding để disable overwrite mode hoàn
toàn — muốn mình setup không?

! printf '\e[?1h'
⎿  

❯ y e s

⏺ Skill(keybindings-help)
⎿  Successfully loaded skill · 1 tool allowed

⏺ Nhìn qua danh sách available actions, không có action nào để disable overwrite
mode trực tiếp. Và insert cũng không nằm trong danh sách special keys được hỗ
trợ.

Keybindings không fix được vấn đề này. Một số hướng thực tế hơn:

Nguyên nhân thực sự trên Mac:

  • Mac không có phím Insert vật lý, nhưng một số terminal emulator hoặc bàn

phím external có thể gửi escape sequence \e[2~ (Insert)

  • Nếu bạn dùng bàn phím ngoài, kiểm tra xem có phím nào vô tình map sang

Insert không

Fix tạm thời khi bị OVR:
Gõ ! printf '\033[2l' trong prompt — escape sequence này reset overwrite mode
về insert mode.

Bạn đang dùng bàn phím gì? External keyboard hay built-in Mac? Và terminal
emulator nào (iTerm2, Terminal.app, Warp...)?

❯ built-in Mac Terminal.app

⏺ Với built-in Mac keyboard + Terminal.app thì không có phím Insert vật lý —
overwrite mode không nên bị trigger được.

Đây có thể là bug trong Claude Code chứ không phải lỗi do người dùng.

Một số thứ có thể kiểm tra:

  • Bạn có dùng input method (Unikey, VietIME, v.v.) không? Một số IME gửi

escape sequence lạ

  • Có xảy ra sau một thao tác cụ thể nào không (copy-paste, emoji picker,

v.v.)?

Nếu reproduce được thì nên report bug tại: anthropics/claude-code trên GitHub
Issues, kèm theo:

  • macOS version
  • Claude Code version (claude --version)
  • Các bước để reproduce

❯ k g i a i d u o c a

⏺ Ừ, không fix được hoàn toàn qua config. Nhưng khi bị OVR thì nhấn Fn + Delete
thử — trên Mac Terminal.app đôi khi đó là key combo gần nhất với Insert để
toggle lại.

Nếu không được, cách nhanh nhất vẫn là gõ ! printf '\033[2l' để reset.

Và nếu xảy ra thường xuyên, report bug lên anthropics/claude-code sẽ hữu ích
hơn — họ cần biết case này trên Mac.

! printf '\033[2l'
⎿  

❯ v a n k h o n g d u o c

⏺ Đúng rồi — escape sequence đó ảnh hưởng terminal emulator, không phải input
box của Claude Code. Claude Code quản lý input box riêng (TUI layer), nên
terminal commands không tác động được.

Không có cách fix từ phía user. Chỉ còn cách report bug để team Anthropic fix
ở Claude Code level:

https://github.com/anthropics/claude-code/issues

Khi report, thêm:

  • macOS version: sw_vers
  • Claude version: claude --version
  • Mô tả: "Input enters overwrite mode (OVR) on Mac Terminal.app with built-in

keyboard, no Insert key pressed"

View original on GitHub ↗

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