Tamil script output collapses TUI rendering (combining-mark width bug) — v2.1.220 macOS

Status Open
Maintainer reply None cached
Activity 0 comments · opened Jul 29, 2026

Description

Printing Tamil script in Claude Code's chat output collapses the TUI: overlapping glyphs, misaligned columns, and a corrupted redraw of the whole conversation area. The renderer appears to assume one display column per code point, but roughly 40% of characters in running Tamil text are combining marks (vowel signs and viramas, Unicode category M) that occupy zero columns.

This is the same defect class as the reported Thai (#81183, currently open on this same version), Devanagari (#53968), and Bengali (#66586) issues, hitting Tamil on macOS.

Environment

  • Claude Code v2.1.220
  • macOS (Darwin 25.5.0), default terminal, zsh

Steps to reproduce

  1. Start claude in any project.
  2. Ask for any response containing a sentence of Tamil script, e.g.:

> வணக்கம், இன்று எப்படி இருக்கீர்கள்?

  1. Observe the rendered output and subsequent redraws.

Expected

Tamil text renders with correct column accounting (grapheme-cluster width, not per-code-point width); surrounding UI stays aligned.

Actual

Glyphs overlap, columns shift for the rest of the frame, and the redraw corrupts previously rendered lines. The same corruption occurs when viewing diffs of files containing Tamil (e.g. via the edit-preview UI), so it affects both chat output and tool-result rendering.

Notes

  • Affects any script whose text is dense in combining marks (Devanagari, Arabic, Hebrew, Thai, Korean jamo behave similarly per the linked issues).
  • Workaround in use: avoid emitting Indic script to the terminal entirely and use Latin transliteration in chat, which is lossy.

View original on GitHub ↗