◉CLAUDE LABEN
●2.1.301 — vim の % モーション、VS Code パネルでの LaTeX 数式表示、使用量上限待ちのリトライ監視の上限が入りました(10/15)●2.1.299 — 200K トークン超で約54分放置した会話はアイドル圧縮。MCP の許可ルールは名指ししたサーバーだけに一致します●SONNET 4.5 — Claude API での提供終了は 11/30、残り45日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●FAST MODE — Opus 5.5 の Fast mode がリサーチプレビューを終え、ベータヘッダーが不要になりました(10/15)●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました●2.1.301 — vim の % モーション、VS Code パネルでの LaTeX 数式表示、使用量上限待ちのリトライ監視の上限が入りました(10/15)●2.1.299 — 200K トークン超で約54分放置した会話はアイドル圧縮。MCP の許可ルールは名指ししたサーバーだけに一致します●SONNET 4.5 — Claude API での提供終了は 11/30、残り45日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●FAST MODE — Opus 5.5 の Fast mode がリサーチプレビューを終え、ベータヘッダーが不要になりました(10/15)●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました
記事一覧/Claude Code
⟐ Claude Code/2026-07-16中級

Claude Code の描画をプレーンテキストに切り替える — screen reader mode の三経路と、ログとして残すときの実寸

夜間に回した Claude Code のログを翌朝開いたら、同じ行が何十回も積み重なっていました。screen reader mode の三つの有効化経路と、ANSI 制御シーケンスを含んだログの実寸を測るスクリプト、描画を素にすると何が失われるかまでを、個人開発の運用目線で整理します。

Claude Code265アクセシビリティターミナルログ設計5

✦ プレミアム記事

朝、/tmp に残しておいた前夜のログを開いて、しばらく画面を見つめていました。1,800 行あるはずのファイルの大半が、同じ進捗表示の繰り返しでした。「Thinking…」の右にあるスピナーが、1 コマごとに 1 行ずつ、律儀に積み上がっている。

ターミナルで見ていたときは、あの行は 1 行しか存在しなかったはずです。カーソルが戻り、同じ場所が塗り替えられ、私の目には 1 行として映っていた。ログファイルはその塗り替えの過程を、すべて正直に記録していただけでした。

端末に映るものと、パイプの向こうに流れるものは、別物です。頭では分かっていたつもりでしたが、自分のログを実際に数えるまで、その差の大きさを見誤っていました。

描画そのものを切り替える設定がある

Claude Code には screen reader mode というオプトイン設定があります。名前のとおり、スクリーンリーダー利用者のために用意された設定で、有効にすると出力がプレーンテキスト描画に切り替わります。

支援技術を使わない人にとっても、この設定が意味を持つ場面があります。スクリーンリーダーが読み上げに困る画面と、grep や diff が扱いに困るログは、原因が同じだからです。カーソル移動で同じ位置を塗り替える描画、色を付けるためのエスケープシーケンス、幅に合わせた折り返し — これらは目で追う分には親切ですが、機械が後から読むときには全部ノイズになります。

つまり screen reader mode は、アクセシビリティの設定であると同時に、「この出力を後から読み返すのか」という問いへの答えでもあります。私自身は前者の必要があって知った設定ではなく、後者に困って辿り着きました。

三つの有効化経路と、その使い分け

有効化の方法は三つ用意されています。同じ結果になるなら一つでよさそうなものですが、効く範囲が違うので、実際には使い分けが要ります。

経路書き方効く範囲私の使いどころ
CLI フラグclaude --ax-screen-readerその 1 セッションのみまず試す。戻すのも起動し直すだけ
環境変数CLAUDE_AX_SCREEN_READER=1そのシェル/そのプロセスの子孫ログを取る実行だけに前置きで効かせる
設定ファイル"axScreenReader": trueその環境の全セッション常用が決まってから恒久化する

運用上いちばん出番があるのは、環境変数の経路でした。前置きで書けるので、ログを残したい実行にだけ効かせられます。

# その 1 回だけプレーンテキスト描画にして、生の出力を保存する
CLAUDE_AX_SCREEN_READER=1 claude -p "src/config 配下の重複した定数をリストアップして" \
  > "$HOME/logs/claude-$(date +%Y%m%d-%H%M%S).log" 2>&1

設定ファイルに書く場合は、settings の JSON に 1 行足します。

{
  "axScreenReader": true
}

順番としては、フラグで試す → 環境変数で必要な実行に効かせる → 手元の全セッションで欲しくなったら設定ファイルへ、という流れが素直です。いきなり設定ファイルに書くと、「今どちらの描画で動いているのか」が分からなくなったときに切り分けが増えます。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦有効化の三経路(--ax-screen-reader / CLAUDE_AX_SCREEN_READER / settings の axScreenReader)を、その場で試す・端末に固定する・自動実行だけに効かせる、で使い分けられるようになる
✦ANSI 制御シーケンスと復帰上書きが混ざったログの実寸を測る 40 行のスクリプトが手に入り、保存形式を体感でなく数字で決められる
✦描画を素にすると何が失われるか(進捗の上書き・差分の色分け・折り返しの調整)を把握し、対話作業では戻す判断ができる
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

⟐ Claude Code2026-09-03
ログのタイムゾーンを表示で寄せるか、記録で固定するか
AdMob とストアのレポートと手元のログで一日の切れ目がずれていました。表示側に寄せる方法と記録側を固定する方法を、実際に往復して選び直した判断の記録です。
⟐ Claude Code2026-10-15
日本語フォルダ名を守るはずのフックが、一度も止めてくれませんでした — Python の stdin が cp932 で読んでいた話
「経理」「議事録」などの日本語フォルダを守る PreToolUse フックが、Python の stdin 既定が cp932 の環境では素通りします。再現の手順と 3 行の直し方、確認用の 1 コマンドを書き残します。
⟐ Claude Code2026-10-14
onFailure を block にしても、jq が無い環境では公式例の rm -rf ブロックは素通りしました
PreToolUse の門番フックは、落ちたときに通すのか止めるのか。公式例を jq の無い環境で走らせると exit 0 で素通りしました。終了コード10通りの実測、直し方、settings.json を走査して素通りを洗い出すスクリプトをまとめます。