CLAUDE LABEN
SUNSET — 旧 Workbench と実験的プロンプトツール API の廃止は明日8月17日です。残り1日となりましたLATEST — 最新は8月15日の v2.1.233 です。GitLab のマージリクエスト URL が --worktree と claude agents で扱えるようになり、MR は !N 形式で表示されますSECURITY — Windows で NT の \??\ デバイスプレフィックスを含むパスが UNC 検証をすり抜ける問題が直りました。NTLM 資格情報が漏れる経路が塞がれていますTODO — Opus 4.8・Sonnet 5・Fable 5・Mythos 5 以降では TodoWrite と Task 系ツールが既定で無効になりました。CLAUDE_CODE_ENABLE_TODO_TOOLS=1 で戻せますFORK — 8月14日の v2.1.232 で subagent_type: 'fork' が既定になり、会話全体とプロンプトキャッシュをそのまま引き継げるようになっていますMENTION — プロンプトで @ を打つと別のセッションを名前で呼び出せます。SendMessage がそのセッションへ直接届きますSUNSET — 旧 Workbench と実験的プロンプトツール API の廃止は明日8月17日です。残り1日となりましたLATEST — 最新は8月15日の v2.1.233 です。GitLab のマージリクエスト URL が --worktree と claude agents で扱えるようになり、MR は !N 形式で表示されますSECURITY — Windows で NT の \??\ デバイスプレフィックスを含むパスが UNC 検証をすり抜ける問題が直りました。NTLM 資格情報が漏れる経路が塞がれていますTODO — Opus 4.8・Sonnet 5・Fable 5・Mythos 5 以降では TodoWrite と Task 系ツールが既定で無効になりました。CLAUDE_CODE_ENABLE_TODO_TOOLS=1 で戻せますFORK — 8月14日の v2.1.232 で subagent_type: 'fork' が既定になり、会話全体とプロンプトキャッシュをそのまま引き継げるようになっていますMENTION — プロンプトで @ を打つと別のセッションを名前で呼び出せます。SendMessage がそのセッションへ直接届きます
記事一覧/Claude Code
Claude Code/2026-07-16中級

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

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

Claude Code222アクセシビリティターミナル2ログ設計4

プレミアム記事

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

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

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

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

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

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

つまり 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-07-15
無人実行のログを読める形に保つ — axScreenReader のプレーンテキスト描画を計測して常用に切り替える
Claude Code の出力をログへ落とすと、制御列と再描画で膨らみ後から追えなくなります。axScreenReader のプレーンテキスト描画を3経路で有効化し、同一タスクを計測して常用へ切り替えるまでの実装と判断を記録します。
Claude Code2026-07-17
夜間に回した並列サブエージェントの記録が、追えなくなった — --forward-subagent-text で増えたログを絞り直す
サブエージェントのテキストと思考を stream-json へ流せるようになった一方で、無人実行のログ量は跳ね上がります。実測値をもとに、事後解析に効く記録だけを残す3層の保存方針と相関IDの設計をまとめました。
Claude Code2026-08-16
ビルドがメモリを食い尽くしたときの止まり方は、cgroup と ulimit で別物でした
Claude Code v2.1.233 で Bash ツールに memory cgroup 対応が入りました。上限を仮想アドレス空間に置く ulimit -v と、実メモリに置く cgroup では、止まり方も、そもそも止められるかどうかも変わります。Linux 上で実際に確かめた記録です。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →