Skip to content

原文(日本語に翻訳)

表示コードにおける os.EOL\r\n)が原因のWindows端末レンダリングバグを修正しました。行カウントが常に1を表示する代わりに、正しい値を表示するようになりました。

原文(英語)

Fixed Windows terminal rendering bugs caused by os.EOL (\r\n) in display code — line counts now show correct values instead of always showing 1 on Windows.

概要

Windowsでは改行コードとして\r\n(CR+LF)が使用されますが、表示コードでこのos.EOLをそのまま使用していたため、行カウントの計算が正しく行われていませんでした。この修正により、Windows端末でも正確な行数が表示されるようになりました。Unix/Linuxと同じように行数を確認できます。

基本的な使い方

bash
# Windows環境でのClaude Code使用例
# 修正前: ファイルの行数が常に "1 line" と表示されていた
# 修正後: 正確な行数が表示される

# 例: 100行のファイルを編集した場合
# 修正前: "1 line modified"
# 修正後: "100 lines modified"

実践例

ユースケース1: ファイル編集時の行数確認

powershell
# Windows PowerShellでClaude Codeを使用
# ファイル編集後の出力例(修正後)

# Claude Codeがファイルを作成・編集した際の表示
# "Writing 50 lines to example.py"  ← 正確な行数
# "Modified lines 10-25 in config.json"  ← 正確な範囲

ユースケース2: 大きなファイルの操作

powershell
# 大きなファイルの操作時も正確な行数が表示される
# 修正前の問題: 1000行のファイルでも "1 line" と表示
# 修正後: "1000 lines" と正確に表示

# ユーザーはファイルの規模を正確に把握できる

ユースケース3: デバッグ情報の確認

powershell
# --debug フラグを使用したデバッグ時
claude --debug

# 修正前: 行番号の表示が不正確
# 修正後: 正確な行番号でデバッグ情報が表示される

注意点

  • この修正はWindows環境に特有の問題です。macOS/Linuxには影響しません
  • os.EOL\r\nが表示ロジックに混在することが根本原因でした
  • バージョン2.1.47以降で修正が適用されます
  • Windows Subsystem for Linux (WSL) ではなく、ネイティブWindowsコマンドプロンプトやPowerShellを使用している場合に影響していました

関連情報