Claude Code が英語のエラー文で止まると、自分のせいなのか、通してよいのかが分かりません。エラー文の頭を見ると、止まった理由は6つに分かれ、どれも公式の直し方があります。オートモード(=操作ごとの確認を別のモデルに任せる方式)で止まった場合も、表示に応じて許可や操作を選べます。
この記事では、次のことが分かります。
- エラー文ごとに何が止まったのか
- 画面を閉じる前に自分ができること
- 同じエラーを出にくくする設定や書き方
ZEN AI LAB の Claude Code の作業の記録(ログ)を、2026年7月28日〜9月18日の範囲で数え直しました。ツールの実行結果は57,976回、実際のエラーは1,636件でした。
読み終えたら、表示された文を一覧で探し、最初の対処を一つ選べます。
エラー文の頭で、止まった理由は6つに分かれる
表示されたエラー文と同じ行を探してください。件数は、2026年9月18日までの ZEN AI LAB の記録です。
is not recognized は PowerShell とコマンドプロンプトで文が違うため、2行に分けています。
| エラー文 | 何が起きたか | まずやること | ZEN での件数 |
|---|---|---|---|
Blocked by classifier | 操作が危ないと判断された | 操作の意図を確かめ、対応を選ぶ | 73件 |
String to replace not found in file | 編集前の文字列が今のファイルと一致しない | Claude にファイルを読み直させる | 40件 |
File has not been read yet | 編集前に必要な読み取りが済んでいない | Claude に先にファイルを読ませる | 8件 |
unexpected EOF while looking for matching | 引用符(=文字列の範囲を示す記号)の終わりがない | 記号を確かめ、長文はファイル作成へ切り替える | 48件 |
The term '…' is not recognized as the name of a cmdlet… | PowerShell がコマンドを見つけられない | 今のフォルダなら .\(=今のフォルダを表す印)を付け、ほかは場所を確かめる | 5件 |
… is not recognized as an internal or external command, | コマンドプロンプトがコマンドを見つけられない | 実行したフォルダと、動かしたファイルの場所を確かめる | 15件 |
UnicodeEncodeError: 'cp932' | Python が文字を画面へ出せない | Python の出力の文字コードを切り替える | 56件 |
Exit code 1 から始まるときは、その下に続く行を読んでください。

使用量の上限を示すメッセージで止まった場合は、Claude Codeの使用量制限の記事で確認できます。同じログを使用量の側から調べた記録は、Claude Codeの使用量を実測し、API料金で計算した記事にまとめています。
Blocked by classifierは、オートモードが危ないと判断して止めた印
意味
Blocked by classifier は、操作を実行前に審査し、危ないと判断して止めた印です。classifier(=実行前に操作を審査する別のモデル)が、人の代わりに判断します。
Claude Code の公式ドキュメントによると、Pro・Max・Team のプランでは開始モードがオートモードです。読み取りと作業フォルダ内の編集は、保護された場所などを除いて自動で通ります。そのほかの操作は classifier が審査します(確認日:2026-09-19)。
実際のエラー文は次の形です。
Permission for this action was denied by the Claude Code auto mode classifier. Reason: Blocked by classifier.
この表示だけで Claude Code 全体が停止したとは判断できません。公式文書では、止められると Claude が理由を受け取り、別の方法を試すと説明されています。
ZEN で出た数と場面
ZEN AI LAB のログでは「Reason: Blocked by classifier.」で止められたのは73件でした。出た日は10日(2026年8月31日〜9月18日)です。ツール別では Bash が19件、ブラウザ操作のツールが51件、その他が3件です。
直し方は3つ
公式のオートモード設定は、止められた操作の中身に合わせて対応を選ぶよう案内しています(確認日:2026-09-19)。
| 止められた操作の中身 | 直し方 | どこで足すか |
|---|---|---|
| 作業中ずっと必要な行き先 | 配布元、社内ドメイン、リポジトリのホストなどを autoMode.environment に足す | /permissions の Auto mode タブ(保存先は ~/.claude/settings.json) |
| 今後いつも確認なしで通したいコマンド | 内容を確認して allow ルール(=確認なしで許す条件)を足す | /permissions の Auto mode タブ(保存先は ~/.claude/settings.json) |
| 一度だけ行う、自分が意図した操作 | 次のメッセージで意図を伝え、Claude に再試行させる | チャットの入力欄 |
一度だけの操作なら、何を行うのか、どこに作用するのかを確かめてから意図を伝えます。止められた操作は /permissions の Recently denied タブに記録されます。そこで r を押すと、手動で承認して再試行できます。
classifier が最初から信頼するのは、作業フォルダと現在のリポジトリに設定されたリモートだけです。autoMode は ~/.claude/settings.json、管理設定、--settings から読みます。プロジェクト内の .claude/settings.json と .claude/settings.local.json からは読みません。
ZEN AI LAB の73件では、同じツールを次に呼んだとき(入力を変えた呼び出しを含む)54回は通りました。12回はまたエラーになり、7回はそのツールをもう呼びませんでした。同じ入力のまま呼び直したのは12回で、10回は通り、2回はまた止められました。通った10回のうち3回は間に人のメッセージがあり、7回はありませんでした。
この記録だけでは、通った理由を判別できません。操作の中身を確かめ、公式が示す選択肢から対応を選びます。
3回連続か合計20回で確認に戻る
公式ドキュメントによると、classifier が操作を3回続けて、または合計20回止めると、オートモードは一時停止します。Claude Code は操作ごとに確認を求める方式へ戻ります。確認した操作を承認すると、オートモードへ戻ります。3回と20回という回数は変更できません(確認日:2026-09-19)。
この動きが起きたら、止められた操作の内容を確認します。確認を減らすことだけを目的に、広い範囲の許可を足さないようにします。
Stage 2 classifier errorは判定できなかった印
次の表示は、危ないという最終判定が出た場合と分けて読みます。
Permission for this action was denied by the Claude Code auto mode classifier. Reason: Stage 2 classifier error - blocking based on stage 1 assessment (usually transient — retrying often succeeds)
ZEN AI LAB のログでは、このエラーが8件、3日(2026年9月9日〜11日)出ました。エラー文自身には、たいてい一時的で、再試行が成功することが多いと書かれています。
公式のオートモード設定は、classifier(分類器)自体の問題を報告する文を、最終判定なしに操作を止めた印と説明しています。例として、モデルが一時的に利用できないという文や、分類器エラーが挙げられています。この種類の拒否は Recently denied に記録されません(確認日:2026-09-19)。
一方、Stage 2 classifier error という文言そのものは、2026-09-19 に確認した公式エラーリファレンスには載っていません。
公式のエラーリファレンスが示す対応は、数秒待って再試行することです。Claude は通常は自動で再試行します。失敗が続く場合は読み取りだけの作業を続け、後で止まった操作へ戻ります。作業フォルダ内の読み取り、検索、編集は動き続けます(確認日:2026-09-19)。
編集のエラーは、今のファイルと食い違っている合図
編集時のエラーは、Claude が想定した内容と現在のファイルが合わないときに出ます。止まったままなら、現在の内容を読むよう Claude に伝えます。
String to replace not found in file
<tool_use_error>String to replace not found in file.
これは、Edit(=ファイルの一部を書き換えるツール)が編集前の文字列を現在のファイルから見つけられなかったという意味です。
ZEN AI LAB のログでは40件、19日出ており、すべて Edit でした。次の Edit は40件中38回通り、同じファイルに次に触れた操作が Read(=ファイルを読むツール)だったのは20回です。
多くは Claude が次の呼び出しで内容を直しています。止まったままなら、対象ファイルを読み直してから直すよう Claude に伝えます。
Claude Code のTools referenceによると、Edit は完全一致で文字列を置き換えます。正規表現やあいまいな一致は使いません。通る条件は3つです(確認日:2026-09-19)。
- 編集前に Read で対象ファイルを読んでいる
old_string(=置き換える前の文字列)が、空白や字下げを含めて一致しているold_stringがファイル内の1か所だけにある
同じ文字列が複数ある場合は、前後の文字を加えて場所を絞ります。全部を置き換える意図なら replace_all を使います。次から減らすには、直前に読んだ範囲から編集前の文字列を取るよう Claude に伝えます。
File has not been read yet
<tool_use_error>File has not been read yet. Read it first before writing to it.</tool_use_error>
これは、編集や上書きの前に必要なファイルの読み取りが済んでいないという意味です。
ZEN AI LAB のログでは8件、4日(2026年9月7日〜17日)出ました。Write(=ファイルを丸ごと書くツール)が4件、Edit が4件です。次の呼び出しが Read だったのは5回で、同じツールの次の呼び出しは8回とも通りました。
止まったままなら、先に対象ファイルを読むよう Claude に伝えます。その後で、Edit または Write をやり直させます。
公式文書によると、編集前に読む条件はモデルと状況で変わります。Claude Opus 4.6、Claude Haiku 4.5、それより前のモデルは、先に読む必要があります。新しいモデルは、読み取りに確認が要らず Read が使える場合、未読のファイルも編集できます。この扱いは v2.1.208 以降です。
Write で既存ファイルを上書きする場合も、v2.1.228 以降は同じ条件です。新しく作るファイルには当てはまりません。一部だけ読んだ PARTIAL view のファイルと Jupyter のノートブックは、どのモデルでも先に読む必要があります。cat、head、tail などで一つのファイルを表示した場合も、読んだものとして扱われます。
unexpected EOFは、引用符が閉じていない合図
unexpected EOF while looking for matching は、Bash が対応する引用符を最後まで見つけられなかったという意味です。EOF は入力の終わりを表します。
/usr/bin/bash: -c: line 1: unexpected EOF while looking for matching `''
ZEN AI LAB のログでは48件、18日出ており、すべて Bash ツールでした。Windows では Git Bash で動いた記録です。閉じていなかった引用符はシングルクォートが32件、ダブルクォートが14件、バッククォートが2件でした。
48件のうち33件は heredoc(=複数行の文字列をまとめてコマンドに渡す書き方)を使っていました。38件は日本語を含むコマンドでした。示された行番号は、48件とも Claude が渡したコマンドの行数の範囲内でした。
ZEN AI LAB の Git Bash では、次の形を再現しました。
$ bash -c "echo 'It's done'"
bash: -c: line 1: unexpected EOF while looking for matching `''
$ bash -c "echo 'It'\''s done'"
It's done
It's のアポストロフィでシングルクォートが途切れています。'\'' と書くとアポストロフィを含む文字列を表示できました。ダブルクォートが1つ余る場合も同じエラーになり、終了コード2でした。
その場では次の順で確認します。
- エラー末尾の記号から、閉じていない引用符の種類を確かめる
- 表示された行と、その前の行にある引用符を数える
- 長い文章をファイルへ書く処理なら、Claude に Write へ切り替えるよう伝える
ZEN AI LAB の48件では、次に呼んだツールが Write だったのは21回です。その後の Bash は41回通りました。
どのコマンドでも出るときは別の原因
短いコマンドでも毎回同じ位置で止まるなら、一つのコマンドだけが原因とは限りません。セッションを開き直し、短いコマンドでも同じ表示になるかを確かめます。
anthropics/claude-code の Issue #83871 は、Windows のデスクトップアプリでの現象を報告しています。自動作成された組織名のアポストロフィが処理されず、Bash の全呼び出しが同じエラーになるという内容です。2026-09-19 時点の状態は Open です。ZEN AI LAB では、この出方を再現していません。
Windowsで出る2つは、シェルと文字コードの違い
Windows では、コマンドを探す規則と Python が文字を出す規則の違いがエラーに表れます。表示された文に合わせて、コマンドの場所か文字コードを確認します。
Claude Code の公式セットアップ文書によると、Git for Windows が入っている場合、Bash ツールは Git Bash を使います。入っていない場合は PowerShell ツールで動きます。
Git Bash がある環境でも、claude.ai と Console のアカウントでは PowerShell ツールが最初から有効です。有効なときは PowerShell が主なシェルになり、POSIX 用の処理には Bash も使えます(確認日:2026-09-19)。
is not recognized
PowerShell 自身がコマンドを見つけられない場合は、次の形が出ます。
The term '…' is not recognized as the name of a cmdlet, function, script file, or operable program.
ZEN AI LAB のログでは、この文が5件、4日出ました。PowerShell が入力された名前からコマンドを見つけられなかったという意味です。
今のフォルダにある .bat を動かすなら、場所を明示します。
.\diagnostics.bat
Microsoft のPowerShell 文書によると、名前だけで実行できるのは $Env:PATH(=コマンドを探す場所の一覧)にあるコマンドです。今のフォルダにあるファイルには、フルパスか .\ を付けます(確認日:2026-09-19)。
一方、次の文はコマンドプロンプト(cmd.exe)が出したものです。
'diagnostics.bat' is not recognized as an internal or external command,
ZEN AI LAB のログでは、この文が15件、9日出ました。PowerShell ツールから .bat などを動かしたときに出ており、cmd.exe : が前に付いた行も残っていました。
こちらは、実行したフォルダと .bat のフルパスを確かめます。
2つの文を合わせた例には、.bat、node、npm、npx、head がありました。Bash 側の command not found は16件、14日で、そのうち9件は pip でした。
インストール直後に claude 自体が見つからない場合は、この記事で扱う作業中のエラーと状況が異なります。インストール先と PATH を確認してください。
UnicodeEncodeError: ‘cp932’
UnicodeEncodeError: 'cp932' codec can't encode character '\u2014' in position N: illegal multibyte sequence
これは、Python が出そうとした文字を cp932(=日本語版 Windows の文字コード)で表せなかったという意味です。ZEN AI LAB の再現では、print で標準出力(=画面やパイプへ出す文字)へ出したときに発生しました。
ZEN AI LAB のログでは UnicodeEncodeError が92件、33日出ており、すべて Bash から Python を動かしたときでした。そのうち UnicodeEncodeError: 'cp932' codec can't encode character は56件、20日(2026年8月25日〜9月18日)です。残りは 'charmap' の同種のエラーでした。
cp932 で書けなかった文字は、全角ダッシュ「—」(U+2014)が34件でした。ほかに円記号「¥」(U+00A5)が6件、半角より長いダッシュ「–」(U+2013)が5件などがありました。
ZEN AI LAB の Python 3.13.1 では、Bash ツールから動かした Python の標準出力が cp932 になりました。全角ダッシュ(U+2014)を出すと次の結果になり、終了コード1でした。円記号「¥」でも同じ種類のエラーを確認しています。\u2014 は全角ダッシュ「—」を Python で表す書き方で、エラー文にもこの形で出ます。
Claude Code の Bash ツール(Git Bash)での書き方です。
$ python -c "print('\u2014')"
(Traceback の行は省略)
UnicodeEncodeError: 'cp932' codec can't encode character '\u2014' in position 0: illegal multibyte sequence
$ PYTHONIOENCODING=utf-8 python -c "print('\u2014')"
—
$ PYTHONUTF8=1 python -c "print('\u2014')"
—
一つのコマンドだけ直すなら、PYTHONIOENCODING=utf-8 を付けて標準入出力の文字コードを指定します。Python 全体を UTF-8 モードで動かす場合は、PYTHONUTF8=1 または python -X utf8 を使えます。
スクリプトの中では、ZEN AI LAB で次の書き方も使っています。
import sys
sys.stdout.reconfigure(encoding="utf-8")
cp932 のエラー56件の後、次の3回の呼び出しまでに UTF-8 へ切り替える書き方が出たのは39回でした。内訳は PYTHONIOENCODING が32回、sys.stdout.reconfigure が6回、PYTHONUTF8 が1回です。その後の Bash は48回通りました。
Python の公式ドキュメントによると、PYTHONIOENCODING は標準入力、標準出力、標準エラーの文字コードを上書きします。PYTHONUTF8=1 または -X utf8 は UTF-8 モードを有効にし、これらの入出力を UTF-8 にします(確認日:2026-09-19)。
同じ指定を毎回付けないための公式設定もあります。settings.json の env に書いた環境変数は、全セッションと Claude Code が起動するサブプロセスに設定されます。自分の全プロジェクトには ~/.claude/settings.json、共有するプロジェクトには .claude/settings.json を使います。
{
"env": {
"PYTHONIOENCODING": "utf-8"
}
}
Bash ツールはコマンドごとに別のプロセスで動きます。そのため、あるコマンドで export した環境変数は次のコマンドに残りません。ZEN AI LAB は2026-09-19時点で上の設定を試しておらず、コマンドかスクリプトの側で直しています。
Exit code 1だけなら、下に続く行がエラーの本体
ツール結果の先頭にある Exit code 1 は、実行したコマンドが正常終了しなかったことを示します。原因名ではないため、その下にある出力を読みます。
ZEN AI LAB のログでは、先頭行が Exit code 1 のエラーが578件ありました。そのうち292件は Traceback (most recent call last): を含んでいました。Traceback(=Python が止まるまでの呼び出し経路)では、最後の行に例外名と直接の理由が出ます。
その下に UnicodeEncodeError: 'cp932' があれば文字コードの節を使います。String to replace not found in file があれば編集の節を使います。
IDE の拡張機能などに出る Claude Code process exited with code N は、ツール結果の表示と分けて考えます。Claude Code の公式エラーリファレンスでは、終了コードだけでは失敗内容が分からず、実際のエラーはプロセス自身の出力にあると説明しています。
同じプロジェクトのターミナルで claude を起動すると、多くの場合は実際のエラー文が表示されます。claude doctor では、インストールと設定を確認できます(確認日:2026-09-19)。
この集計で分かっていないこと
この集計は、ZEN AI LAB の Windows 11 Pro の1台に残った記録です。期間は2026年7月28日〜9月18日で、ツールを動かした日は49日です。ログに記録された Claude Code は2.1.219〜2.1.275でした。ほかの端末や版でも同じ割合になるかは測っていません。
ログのツール結果にあるエラー文を文字列で数え、会話本文は読んでいません。一つの結果に複数のエラー文が含まれる場合があるため、エラー文ごとの件数を足しても1,636件にはなりません。
Blocked by classifier の同じ入力が後から通った理由は、ログから判別できません。人が意図を伝えた影響か、classifier の判断によるものかを分けていません。
File has not been read yet の8件が、モデルや版ごとに異なる条件のどれに当たったかは確認していません。String to replace not found in file の40件も、空白、改行、直前の編集などの個別原因には分類していません。
unexpected EOF の48件では、表示された行番号がコマンド内に収まっていました。ただし、全件で引用符だけが原因だったとは確認していません。
is not recognized の20件は、個別の原因を分類していません。settings.json の env に PYTHONIOENCODING を置いた場合に cp932 のエラーが止まるかも、ZEN AI LAB の環境では試していません。
エラー文は Claude Code の版によって変わる可能性があります。この記事では、2026年9月18日までに記録された文を扱っています。
エラーの意味が分かったあとで、自分の環境のどこで止まりやすいかも確かめたい方へ。Claude Codeを毎日使う人向けに、自動処理・許可確認・指示の置き場などを10問で見直す無料のチェックシートをnoteに置いています。
まとめ
エラー文の頭を見ると、確認する場所を絞れます。Blocked by classifier は操作の意図と許可範囲を確認します。編集エラーは現在のファイル、unexpected EOF は引用符を確認します。Windows のエラーでは、コマンドの場所か Python の出力形式を見ます。
次に行うことは次のとおりです。
- 画面のエラー文を一覧表で探し、対応する節の最初の操作を試す
Exit code 1しか見えていない場合は、その下から固有のエラー文を探す- 同じ表示が続く場合は、公式の設定範囲と未確認の点を確かめる
止まった理由が使用量の上限だった場合は、次にClaude Codeの使用量制限の仕組みを確認してください。
