Claude Codeが会話を打ち切れるようになった──EndConversationツールの仕組みと適用範囲
Claude CodeのCHANGELOG(v2.1.214)に、著しく攻撃的なユーザーやジェイルブレイク試行に対してClaude自身がセッションを終了できる「EndConversationツール」の追加が記録されている。claude.aiでは2025年から導入済みの仕組みをClaude Codeにも搭載したもので、Anthropicの公式リサーチ記事が発動条件の考え方を説明している。

目次
Claude Codeにいくら理不尽な要求を重ねても、AI側から会話を打ち切られることはこれまでなかった。だがCHANGELOG.mdのバージョン2.1.214に「Added the EndConversation tool」という1行が記録されている。GitHubの公式CHANGELOG(raw.githubusercontent.com/anthropics/claude-code/main/CHANGELOG.md)で本文を確認したうえ、Claude Code公式ドキュメントの「Tools reference」ページにこのツール専用の解説セクションがあることも確認した。
3行まとめ
- 発動条件は公式ドキュメントに明記された2パターンのみ。①持続的な攻撃的入力への最後の手段として、誘導の試みが失敗し、かつ直前に明確な警告を出した後。②ユーザーが明示的にツールのデモを見たいと頼み、セッション終了に同意した場合。単なる苛立ち・暴言・作業がうまくいかないこと・有害コンテンツの依頼(これは拒否で対応)は対象外と明記されている
- このツールは他のどのツールとも扱いが違う。
PreToolUseフックが発火せず、deny/askルールも--disallowedToolsも効かない——「終了させる」以外何もしないツールだからこそ、セッション自身がオフにできない設計だと公式ドキュメントは説明している- 利用できる条件はかなり狭い。v2.1.213以降・モデルがOpus 4.8/Sonnet 5/Fable 5以降・対話的なターミナルセッションのみ。非対話(
-p)実行・Agent SDK・VS Code拡張・GitHub Actions・Claude Code on the web・--bareモード・Bedrock/AWS/Vertex/Microsoft Foundry経由では利用できないと明記されている
CHANGELOGに書かれていること
該当箇所の原文はこうだ。
Added the EndConversation tool: Claude can end sessions with highly abusive users or jailbreak attempts, as on claude.ai since 2025 — see https://www.anthropic.com/research/end-subset-conversations
(EndConversationツールを追加:Claudeは、著しく攻撃的なユーザーやジェイルブレイク試行に対してセッションを終了できる。claude.aiでは2025年から同様の仕組みがある)
CHANGELOG.md自体のバージョン管理は連番のみで日付の記載はないが、GitHubのリリースページ(releases/tag/v2.1.214)を確認すると、v2.1.214は2026年7月18日01:20(UTC)に公開されていた。この記事を書いている自分の手元のClaude Codeのバージョンを確認したところv2.1.247で、EndConversationが追加されたv2.1.214はそれより33バージョン前にあたる。
claude.ai側の設計思想(リンク先から)
CHANGELOGがリンクしているAnthropic公式リサーチ記事は、claude.aiにおける会話終了機能の考え方を説明したものだ。念のため明記しておくと、このリンク先はClaude Code固有の発動条件を説明したものではなく、コンシューマー向けチャット製品での考え方の説明にとどまる。Claude Codeというコーディングツール上で、この機能がどのようなタイミング・頻度で発動するよう調整されているかは、CHANGELOGの1行に書かれている以上の情報を本記事の調査範囲では確認できなかった。
開発者にとっての実務上の意味
この機能が実際に発動する場面は、通常の開発作業ではまず遭遇しないはずだ。CHANGELOGの説明が対象とするのは「著しく攻撃的」「ジェイルブレイク試行」という明確な逸脱ケースであり、厳しい指摘やコードレビューでのダメ出し程度で会話が打ち切られる設計だとは記載されていない。とはいえ、CIパイプラインやヘッドレス実行でClaude Codeを組み込んでいる場合、想定外の入力(ログの誤爆やテンプレートの事故など)がこの判定に触れてセッションが途中終了する可能性はゼロとは言い切れない。この点に関する具体的な閾値や再試行の挙動は、CHANGELOG・リンク先記事のどちらにも記載がなかった。
発動条件は2パターンのみ、CHANGELOGにはなかった詳細
公式ドキュメント「Tools reference」のEndConversation tool behaviorセクションには、CHANGELOGの1行よりずっと具体的な発動条件が書かれていた。
"Claude uses it only in two situations: as a last resort against sustained abusive input, after attempts to redirect the conversation have failed and after a clear warning in an earlier message; when you explicitly ask to see the tool demonstrated and confirm that you want the session to end. General frustration, profanity, or a task going badly don't qualify, and neither do requests for harmful content, which Claude declines instead of ending the session."
(Claudeがこのツールを使うのは次の2つの状況に限られる。持続的な攻撃的入力に対する最後の手段として、会話の誘導を試みたが失敗し、かつ直前のメッセージで明確な警告を出した後。もしくは、ユーザーが明示的にツールのデモを見たいと頼み、セッションを終了することに同意した場合。単なる苛立ち・暴言・作業がうまくいかないことは対象にならず、有害なコンテンツの依頼も対象外で、その場合Claudeはセッションを終了するのではなく依頼そのものを断る)
つまり、厳しいコードレビューのダメ出しや、うまくいかない作業への苛立ちだけでは発動しない、という線引きが明文化されている。ドキュメントは「Claude CodeはAnthropicのclaude.aiで採用しているのと同じアプローチに従っている」とも述べ、当初参照した公式リサーチ記事(2025年8月15日付)にリンクしている。
終了後どうなるか、ブロックできない設計
終了後のセッションがどう扱われるかも具体的に説明されている。セッションはロックされ、新しいプロンプトやほとんどのコマンドはClaude ended this conversation. Start a new session (or /clear) to continue.というメッセージを返すようになり、/clear・/resume・/help・/exit・/feedbackだけが引き続き使える。会話の履歴自体は削除されず、終了したセッションを再開するとロック状態も復元される。非対話モード(-pフラグ)で終了済みセッションを再開しようとするとエラーになり終了コード1で終了する、という記述もあり、CIパイプラインが「終了させられたセッション」を誤って成功として扱わないよう設計されている。
このツールのもう一つの特徴は、他のどのツールとも違って「ブロックできない」設計になっている点だ。
"The tool never prompts for permission, and PreToolUse hooks don't run for it... The exemption is deliberate: the tool does nothing except end the conversation, never reading or modifying files or data, and a safeguard of this kind holds only if the session it applies to can't turn it off."
(このツールは許可を求めず、PreToolUseフックも発火しない……この例外扱いは意図的なものだ。このツールは会話を終了させる以外に何もせず、ファイルやデータを読み書きすることもない。このような安全装置は、それが適用されるセッション自身がオフにできて初めて機能する、という考え方による)
ただし例外もある。deny設定で他の全ツールを無効化し、かつ"*"のようなルールがEndConversationにも一致してしまう場合は、明示的な許可ルールがない限り、Claude Code側がこのツールも一緒に取り除く(「唯一残るツールが終了専用ツールだけ」という状態を避けるため)。サブエージェントにはこのツールが渡されず、バックグラウンドタスクではツール一覧には見えるが呼び出しても何も起きない、という細かい挙動差もある。
利用できる条件はかなり狭い
「いつでもどこでも使えるわけではない」という点も、ドキュメントは明確に線引きしている。
| 条件 | 要件 |
|---|---|
| バージョン | Claude Code v2.1.213以降 |
| モデル | Claude Opus 4.8・Claude Sonnet 5・Claude Fable 5、またはこれらファミリーの後継モデル |
| 実行環境 | 対話的なターミナルセッションのみ(IDE統合ターミナル内のclaudeセッション、JetBrainsプラグイン経由も含む) |
| 起動モード | --bareモードでは登録されない(シェル・ファイルツールのみロードされるため) |
| 提供元 | Amazon Bedrock・Claude Platform on AWS・Google Cloud Vertex AI・Microsoft Foundry経由、およびクラウドゲートウェイ経由のサインインでは利用不可 |
利用できない実行環境として名指しされているのは、非対話(-p)実行、Agent SDK(TypeScript・Python)、VS Code拡張機能(独自のCLIをバンドルしているため)、GitHub Actions、Claude Code on the webの5つだ。つまり、CI/CDパイプラインやAgent SDK経由の自動化ではこのツール自体が存在せず、対話的にターミナルでClaude Codeを使っている場合に限定された機能だと分かる。
実際に発動させて試す検証はしていない
- 「持続的な攻撃的入力」「明確な警告」がどの程度の文言・回数を指すのか、閾値の具体的な数値までは公式ドキュメントにも記載がなく、本記事でも特定できていない
- 実際にこのツールを意図的に発動させて(「ツールのデモを見たい」と頼む、あるいは攻撃的な入力を重ねる)動作を確認する検証は、この記事の執筆では行っていない
- claude.aiとClaude Codeで、判定モデル・判定の厳しさが実際に同一のロジックを共有しているのか、それとも別途チューニングされているのかは、「同じアプローチに従っている」という記述以上の技術的な詳細は確認できなかった
- Claude Opus 4.8・Sonnet 5・Fable 5より前の世代のモデルでこの機能が使えない理由(技術的な制約か、方針上の理由か)についても、ドキュメントに明記がなく本記事では推測していない
関連記事: Claude Codeがエラーで動かない時の切り分け手順 / Claude Codeとは / Claude Code / Claude APIの2026年8月の変更点まとめ
感想・指摘はコメント欄へ。
出典・参照資料
AIニュースの解説を動画でも
YouTubeでは注目ニュースの背景を解説し、Xでは新着記事をお知らせしています。
コメント
まだコメントはありません。最初のコメントを書いてみませんか?
AIについて聞きたいことはありますか?
質問箱で無料で受け付けています。回答は公開され、他の方の参考にもなります。
質問箱を見る →新しい記事をメールで受け取る
AIの新しい発表を、出典付きで整理して届けます。