できること
画面をテキスト化
視覚的なターミナル表示を、ラベル付きのプレーンなテキスト行に置き換えます。このモードのまま、会話・ツールの権限承認・出力の確認を最後まで行えます。
表や差分を読み上げ
Claude の返答に含まれる表は罫線の格子ではなく Header: value の文として読み上げられます。差分は + と - で追加行と削除行を示したプレーンテキストとして 1 行ずつ読み上げられます。
メニューを番号で回答
通常は矢印キーで操作するメニューは、権限の確認を含めて番号付きのリストになります。番号を入力して Enter キーで答えます。
機能解説
概要
枠や進行アニメーション、その場での再描画の代わりに、VoiceOver や NVDA などのスクリーンリーダーが順に読み上げるラベル付きの行を出力します。このモードはオプトイン方式で、スクリーンリーダーを起動しても自動ではオンになりません。
有効にする方法と優先順位
1 セッションだけのフラグのほかに、次の方法でも有効にできます。
- シェル単位: 環境変数
CLAUDE_AX_SCREEN_READERを1にします。Bash や Zsh ではexport CLAUDE_AX_SCREEN_READER=1、PowerShell では$env:CLAUDE_AX_SCREEN_READER = "1"を実行します。この行をシェルのプロファイルに加えると、以後のシェルでも有効なままです。 - マシン上のすべてのセッション: ユーザーの設定ファイルに
"axScreenReader": trueを追加します。この設定は、VS Code の統合ターミナルを含むどのターミナルでも適用されます。 - SSH 経由: Claude Code が動いているリモートマシン側で、環境変数または設定を指定します。
複数の方法を組み合わせた場合は、--ax-screen-reader フラグが CLAUDE_AX_SCREEN_READER 環境変数より優先され、環境変数が axScreenReader 設定より優先されます。起動時の最初の行は、有効にした方法に応じて [Screen Reader Mode: on via env] や [Screen Reader Mode: on via settings] となります。
オフにするには、有効にした方法を元に戻します。フラグを付けずに起動する、環境変数を解除する、またはユーザー設定ファイルで axScreenReader を false にします。CLAUDE_AX_SCREEN_READER を 0 にすると、設定が true でもモードはオフのままです。
読み上げられる内容
- トランスクリプトの各メッセージは、
you:、claude:、thinking:、tool:、Permission Required:などの検索できるラベルで始まり、スクリーンリーダーがそのラベルを読み上げます。 - 出力はすべてターミナルのスクロールバックに残ります。スクリーンリーダーのレビュー用コマンドやターミナルの検索で、以前のやり取りを読み直せます。
- ターミナルのカーソルは入力位置に保たれるため、スクリーンリーダーの現在行を読むコマンドで、編集中のプロンプトが読み上げられます。
- テキスト編集のショートカット (Option+Delete、Ctrl+W、Cmd+Backspace、Ctrl+U、Ctrl+K) で単語や行を削除すると、削除したテキストが読み上げられます。
Shift+Tabで権限モードを切り替えると、[plan mode on]のように切り替わった先のモードが読み上げられます。- 応答の終了時、回答が必要なプロンプトが出たとき、5 秒を超えて動いたツールが終わったときなど、注意が必要な場面でターミナルのベルを鳴らします。
- やり取りの区切りに OSC 133 のシェル統合マーカーを出力するため、ターミナルの「前のプロンプトへ移動」キーでやり取り単位に移動できます。
NVDA では NVDA+6 を押すと、レビューカーソルがターミナルのカーソルに追従しなくなり、過去の出力を読む間も読んでいる位置を保てます。もう一度押すと追従が戻ります。
管理者・導入時に確認したい点
- プロジェクトの
.claude/settings.jsonと.claude/settings.local.jsonにあるaxScreenReaderキーと、env配下のCLAUDE_AX_SCREEN_READERの値は、値にかかわらず無視されます。プロジェクトの設定ではこのモードをオンにできません。 axScreenReader設定と、設定のenvブロック内のCLAUDE_AX_SCREEN_READERは、user・managed・--settingsの設定からのみ適用されます (2.1.305 以降)。-pフラグを使う非対話モードは、もともとプレーンテキストを出力するため、このモードによる変化はありません。- 対象プランについては、公式のリリースノートには記載がありません。
使い方
ここでは 1 セッションだけ有効にする流れを示します。
- ターミナルで
claude --ax-screen-readerを実行します。 - 最初に出力される行でモードを確認します。フラグで有効にした場合は
[Screen Reader Mode: on via flag]と表示されます。 - 確認の行の後、プロンプトを描画するまで 3 秒待機します。任意のキーを押すと待機を終えられます。
- 番号付きリストのメニューには、選びたい項目の番号を入力して Enter キーを押します。
- はい/いいえの確認には
yまたはn(yes/noも可) を入力して Enter キーを押します。 - モードをオフにするには、フラグを付けずに起動します。
利用シーン
スクリーンリーダーを使う開発者が、Claude Code との会話からツールの権限承認、出力の確認までをターミナル上で行う場面に使えます。
ファイル編集の承認を求められたときに、提案された変更を差分として聞き取ってから答える場面に向いています。
時間のかかるツールの実行中に別の作業をし、終了をターミナルのベルで知る場面に使えます。
SSH で接続したリモートマシン上の Claude Code を、スクリーンリーダーで操作する場面に使えます。
ChatGPT・OpenAI の対応する機能
公式リリースノートでは、対応する発表を確認できていません (2026-11-03 時点)。 これは、対応する機能が存在しないことを示すものではありません。
これまでの変更
/permissionsでルールを削除するとすぐに「Deleted allow rule …」と伝えるよう改善しました。Claude の質問を矢印や記号なしに「Questions: Color (answered), Pages」の形式で列挙します。axScreenReader設定と、設定のenvブロック内のCLAUDE_AX_SCREEN_READERを、user・managed・--settingsの設定からのみ適用するよう変更しました。プランを承認したとき (
Shift+Tabを含む) に新しい権限モードを読み上げる機能を追加しました。削除した単語などの短いアナウンスが、次のキー入力または上部の画面内容が変わるまで残るようにしました。質問ダイアログで回答済みの質問のボックス横に「answered」と表示します。新規または変更された行を、行頭でカーソルを一時停止せずに書き出すよう変更しました。CLAUDE_AX_PREPARK_MS=50で一時停止を戻せます。/effortセレクターを番号付きリストと番号入力のプロンプトで表示し、ヒントやダイアログのテキストが切れないよう改善しました。--ax-screen-readerモードで、単語や行を削除した際に削除したテキストを読み上げる機能を追加しました。オプトイン方式のプレーンテキスト表示として、スクリーンリーダーモードを追加しました。
claude --ax-screen-readerの実行、CLAUDE_AX_SCREEN_READER=1の設定、設定への"axScreenReader": trueの追加のいずれかで有効にします。Shift+Tabで権限モードを切り替えた際の読み上げにも対応しました。スクリーンリーダー向けの出力を改善しました。装飾用のグリフを非表示にし、トランスクリプトの記号を短いラベルとして、入れ子の表を「Header: value.」形式の行として読み上げます。