Claude Media
Claudeで「Output blocked by content filtering policy」が出る原因と対処

Claudeで「Output blocked by content filtering policy」が出る原因と対処

「Output blocked by content filtering policy」は内容の是非ではなく、既存の文面の再現を防ぐ仕組みの表示です。頼み方の直し方と、Claude Codeでの/rewindの使い方を説明します。

「Output blocked by content filtering policy」は、Claudeが書いている途中の出力を、出力フィルターが止めたときの表示です。内容が不適切だと判定されたわけではありません。既存の文面を再現・複写させないための仕組みが働いた、というのがサポート記事の説明です。

この記事では、メッセージの意味、止まりやすい頼み方、claude.aiとClaude Codeそれぞれの戻り方を順に説明します。

このメッセージは内容の是非を判定したものではない

サポート記事は、このメッセージを受け取る拒否やエラーについて、Anthropicがその内容の適否を判断した結果ではないと明言しています。多くは、Claudeを既存の素材の複製や再現に使わせないための取り組みから生じます。Claudeの目的は新しい内容やアイデアを作ることで、すでにある内容を出力することではない、という立場です。

もう一点、見落としやすい記述があります。再現を意図していない利用者にも、このメッセージが出ることがあると認めています。Anthropicはフィードバックを求めています。

つまり、次の2通りが同じ文字列で出ます。

  • 歌詞や記事本文をそのまま出させようとして、実際に再現にあたった
  • 再現するつもりはなかったのに、フィルターが働いた

どちらなのかは、メッセージからは区別できません。フィルターが何を基準に止めるのかは、サポート記事に記載がありません。手元でできる切り分けは、直前の依頼が既存の文章をそのまま出す形になっていなかったかを見直すことです。

繰り返すとどうなるか

サポート記事の最後には、著作権のある内容を引き出そうとしてこのメッセージを受け取っている場合、警告を受けるか、違反が繰り返されるとアカウントが停止・終了されることがある、と書かれています。

止まった直後に、言い回しを少しずつ変えて同じ出力を何度も狙うのは避けたい動きです。止まったら、頼み方の方向そのものを変えます。

止まりやすい頼み方と、通りやすい頼み方

止まる条件は公開されていないため、ここから先は「再現ではなく新規生成として頼む」という説明に沿った書き換えの例です。通ることを保証するものではありません。

止まりやすい頼み方書き換えの方向
既存の歌詞や詩を全文出してほしい書き換えの方向歌詞の主題を自分の言葉で要約してもらう
記事や書籍の一節をそのまま書き写してほしい書き換えの方向要点を箇条書きにしてもらう
原作の場面を一字一句なぞってほしい書き換えの方向原作に無い場面や視点で新しく書いてもらう
他の作品の文章にそっくりに書いてほしい書き換えの方向文体の特徴(短文、一人称など)を言葉で指定する

たとえば、記事の一節を貼って「これを書き直して」と頼むと、出力が元の文面に近づきます。目的が内容の理解なら、次のように頼み方を変えられます。

貼り付けた記事の主張を3点にまとめてください。
原文の表現は使わず、あなたの言葉で書いてください。

目的が「同じ文章を手元に出すこと」だと、フィルターの趣旨とぶつかります。要約、比較、感想、自作の下書きへの反映のように、新しい文章を作る形に寄せるのが基本の対処です。

二次創作で出た場合は、設定の渡し方や場面の選び方を二次創作でブロックが出る場面とオリジナル要素の足し方で扱っています。

どの拒否かを文面で見分ける

同じ「止められた」でも、原因はいくつかあります。文面で区別できます。

画面の文面主な原因戻り方
Output blocked by content filtering policy主な原因出力フィルターが生成中の応答を止めた戻り方頼み方を変える
can't help with this. Start a new session to continue.主な原因会話全体がUsage Policyの確認に引っかかった戻り方該当ターンの前に戻る、または新しい会話
「できません」と能力を説明する返答主な原因モデルの能力や環境の制約戻り方手段を変える
429や529などの数字つきのエラー主な原因利用上限やサーバー側の混雑戻り方時間を置く

先頭2行は混同されやすい組み合わせです。前者は生成の途中で出力が止まる表示で、後者は会話の内容にもとづく拒否です。Claude Codeでの後者の扱いはUsage Policy refusalの意味と対処にまとめています。3つの拒否の全体像はClaudeに回答を拒否される3つの原因が入口です。

落とし穴

「内容が危険だと判定された」と読み違える

このメッセージは、依頼の内容や出力の中身が有害だと判定された表示ではありません。そう受け取って依頼を丸ごと諦めると、本来は要約や新規生成で足りた作業まで止めてしまいます。

Claude Codeでの見え方と戻り方

Claude Codeでは、同じメッセージが次の形で表示されます。

API Error: Output blocked by content filtering policy

文面はAPIから来ています。Claude Codeのエラー一覧では、APIの出力フィルターが生成中の応答を止めたものと説明されています。

自動で再送されるのは一度だけ

Claude Codeの自動リトライの説明には、この件に関する条件が書かれています。ストリーミング中の応答が、Claudeの思考が終わる前、またはテキストやツール呼び出しが始まる前にフィルターで止められた場合、Claude Codeはリクエストを1度だけ再送します。2回目の応答も止められると、このエラーが表示されます。

変更履歴には、この挙動の経緯が残っています。

  • v2.1.285: フィルターで止められた応答が再送され、数分間リトライされることがあった不具合を修正し、エラーをすぐ表示するようにした
  • v2.1.290: 思考中に止められたターンがエラーのまま終わる不具合を修正し、エラーを出す前に1度再送するようにした

表示されたときには、自動の再送はすでに済んでいます。同じ入力をそのまま送り直しても、結果が変わる見込みは薄いと考えられます。

戻り方の手順

手順

エラーが出たあとの進め方

  1. 1

    直前のメッセージを言い換える

    公式のエラー一覧が最初に挙げる対処は、直前のメッセージを言い換えるか、別のアプローチを取ることです。

  2. 2

    Escを2回押すか/rewindを実行する

    原因になったターンより前のチェックポイントに戻れます。ターンを取り消して会話を続けられるので、フィルターに止められた出力が会話に残りません。

  3. 3

    頼み方を再現ではなく新規生成に寄せる

    要約、差分の説明、自分のコードへの適用など、新しい文章やコードを作る形で頼み直します。

/rewindで戻れる範囲と、Bashで変えたファイルなど巻き戻せないものはcheckpointの制限で確認できます。

会話全体が対象になる拒否との違い

同じように会話が止まっても、Usage Policyの確認による拒否は性質が違います。Claude Codeのエラー一覧によると、後者は最新のプロンプトだけでなく会話全体を評価します。そのため、同じ会話で新しいメッセージを送っても同じ拒否が繰り返されやすく、--continueや--resumeで開き直しても、ディスク上の履歴に引き金の内容が残っているので再発します。

一方、Output blockedについて、エラー一覧が説明しているのは「生成中の応答を出力フィルターが止めた」ことまでです。会話全体の評価を理由にしている記述はなく、対処の最初に挙がるのも直前のメッセージの言い換えです。この差は、次に何を試すかの目安になります。

観点Output blockedUsage Policyの拒否
止まる場所Output blocked生成している途中の出力Usage Policyの拒否会話の内容にもとづく応答の拒否
自動の再送Output blocked条件つきで1度だけ再送されるUsage Policyの拒否エラー一覧には再送の記述なし
同じ会話を続けたときOutput blocked直前の依頼を言い換えて試せるUsage Policyの拒否同じ拒否が再発しやすい
最初の対処Output blocked直前のメッセージを言い換えるUsage Policyの拒否該当ターンの前に戻る、または/clear

Bedrock Guardrailsの「content filtering」とは別物

Amazon Bedrock経由でClaude Codeを使っている場合、「content filtering」という語はBedrock Guardrailsの説明にも出てきます。Claude Codeの接続ガイドでは、Guardrailsは利用者側が自分のGuardrailを作成し、設定ファイルにヘッダーを足して使うコンテンツフィルタリングとして書かれています。

こちらはAPIの出力フィルターとは別の仕組みです。表示の文面がOutput blocked by content filtering policyであれば、この記事の説明にあたります。自分で設定した覚えのあるGuardrailsが止めているのかは、Guardrailの設定側で確かめます。

手元で切り分けるときの順序

メッセージが出たら、次の順で確かめます。

切り分け

Output blockedが出たときの切り分け

  1. Q表示の文面に content filtering policy と書かれているか?
    答えが書かれていない

    別の拒否かエラーです。上の文面の表で、近い表示を探してください。

    答えがはい
  2. Q既存の文章(歌詞、記事、書籍の一節など)をそのまま出させる依頼になっていないか?
    答えがなっていない

    再現を求めていなくても、フィルターが働くことはあります。依頼を短い単位に分けて、出力の中身を新しく作らせる形で試します。

    答えがはい

それでも繰り返し止まるとき

同じ依頼を粘って続けず、フィードバックで状況を伝えます。サポート記事もフィードバックを求めています。

よくある疑問

有料プランなら出なくなるのか

サポート記事には、プランによる違いの記載がありません。プランを上げれば出なくなる、と読める根拠はありません。

同じ依頼が日によって通ったり止まったりするのはなぜか

サポート記事は、フィルターの判定基準を公開していません。判定の中身は外から確かめられないため、「止まる理由」より「止まらない頼み方」で整理するのが現実的です。

まとめ

「Output blocked by content filtering policy」は、内容の評価ではなく、既存の文面を再現させないための表示です。再現を狙っていなくても出うるので、止まったときは自分を責めず、頼み方を要約や新規生成へ寄せます。繰り返し狙うと警告や停止の対象になりえる点だけは、先に押さえておいてください。

Claude Codeでは、自動の再送を済ませたうえで表示されます。言い換えるか、/rewindで該当ターンの前に戻るのが公式の最初の対処です。

この記事を共有:XはてブLinkedIn