[BUG] Output text hard-wraps at 80 columns when $COLUMNS is not set (Terminology terminal)
Status Fixed / completed
Reported on v2.1.84
Maintainer reply None cached
Workaround ✓ Mentioned in thread ↓
Activity 5 comments · opened Mar 26, 2026 · closed Mar 26, 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?
Claude Code wraps all text output at 80 columns regardless of actual terminal
width. The issue appears when $COLUMNS is not exported by the terminal
emulator (Terminology on Linux). tput cols correctly returns the terminal
width, but Claude Code does not use it as a fallback.
What Should Happen?
Output should wrap at the actual terminal width, using tput cols or ioctl
TIOCGWINSZ as a fallback when $COLUMNS is unset.
Environment
- Claude Code version: 2.1.84
- OS: Ubuntu 24.04 / Linux 6.14.0-37-generic x86_64
- Terminal: Terminology
- $TERM: xterm-256color
- $COLUMNS: (unset)
- tput cols: 80 (but terminal is wider than 80)
Error Messages/Logs
Steps to Reproduce
To reproduce
- Open Terminology (or any terminal that does not export $COLUMNS)
- Run claude
- Observe that all text output wraps at 80 columns even if the terminal is
wider
Claude Model
Not sure / Multiple models
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.84
Platform
Anthropic API
Operating System
linux
Terminal/Shell
Other
Additional Information
overlapped text
5 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
<img width="1120" height="688" alt="Image" src="https://github.com/user-attachments/assets/b2f6ecaa-f089-4bb1-a36c-10459b4be39d" />
<img width="1877" height="678" alt="Image" src="https://github.com/user-attachments/assets/f6bddb16-13f3-4e0a-a9b5-af0dc4ee979e" />
<img width="1877" height="678" alt="Image" src="https://github.com/user-attachments/assets/776952db-b132-4cb1-9cfd-8dd2fd1bea88" />
Title: Cursor jumps to top of screen / output overlaps in Terminology terminal
emulator — requires tmux workaround
Environment:
---
Description
When running Claude Code directly inside Terminology, the cursor jumps to the
top of the screen each time Claude finishes a response and renders the input
prompt. This causes all output to overlap and become unreadable. Interactive
UI elements (permission prompts, choice menus) are also unreadable due to
rendering overflow.
Steps to reproduce
prompt overwrites existing content
What was tried
┌────────────────────────────────────────────┬───────────┐
│ Attempted fix │ Result │
├────────────────────────────────────────────┼───────────┤
│ TERM=xterm via Claude Code env settings │ No change │
├────────────────────────────────────────────┼───────────┤
│ TERM=dumb + NO_COLOR=1 │ No change │
├────────────────────────────────────────────┼───────────┤
│ Disabling ty_escapes in Terminology config │ No change │
└────────────────────────────────────────────┴───────────┘
The issue persists even with TERM=dumb and NO_COLOR=1, which rules out
color/256color escape sequences as the cause. The root cause appears to be an
incompatibility between Claude Code's TUI cursor-control sequences (via the
ink renderer) and Terminology's handling of cursor positioning — specifically
how Terminology interprets cursor movement when redrawing the prompt UI.
Workaround
Running Claude Code inside tmux within Terminology resolves the issue
completely. tmux acts as an intermediary, managing cursor control and
presenting a stable screen to Terminology.
tmux new-session -A -s claude claude
This is a functional workaround but requires an additional dependency and
setup for users of Terminology.
Expected behavior
Claude Code should render correctly in Terminology without requiring tmux as
an intermediary.
Possible fix direction
Investigating what specific escape sequences ink's log-update emits when
drawing/redrawing the input prompt — particularly cursor-up sequences
(\033[{n}A) and alternate screen buffer switching (\033[?1049h/\033[?1049l) —
may identify the incompatibility. Terminology is a reasonably popular terminal
on Linux/Enlightenment desktops and is included in standard Ubuntu
repositories.
<img width="1202" height="678" alt="Image" src="https://github.com/user-attachments/assets/6ae11025-f0b0-4dee-a609-f5bd69fa6c17" />
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.