福島県須賀川市 / Web制作・システム開発・AI社員構築

須賀川市のWeb集客支援 お問い合わせ
CodeClimb
  • サービス
    • WEB制作
    • システム開発
    • AI社員構築
  • 料金
  • 制作実績
  • お客様の声
  • 代表・会社概要
  • ブログ
  • FAQ
お問い合わせ
メニュー
  • サービス
    • WEB制作
    • システム開発
    • AI社員構築
  • 料金
  • 制作実績
  • お客様の声
  • 代表・会社概要
  • ブログ
  • FAQ
お問い合わせする

Claude Codeが止めた操作を記録する「safety_event」とは【2026】|権限ルール・自動モード・フックの判断を、あとから見直す方法

2026 10/27
ホームページ制作
2026-10-27

Claude Codeを社内で使い始めた会社から、こんな声を聞きます。

「Claude Codeが操作を止めたり、確認を求めてきたりします。でも、どの設定が止めたのか分からず、毎回そこで手が止まります」

「自動モードで動かしていると、何を止めて、何を通したのかを、あとから確かめる方法がありません」

「社員が『その場だけ許可』を押した操作を、管理する側として把握しておきたいです」

目次

結論を先に言います

Claude Codeのsafety_eventとは、権限ルールや自動モードの判定役など、どのチェックがツールの呼び出しを拒否したか、または確認を求めたかを記録するOpenTelemetryのイベントです。

Claude Code 2.1.307で追加され、利用には2.1.307以降が必要です。記録には、チェックの種類を表す category のほか、decision、reason_code、rule_source などの項目が含まれます。ただし、どのコマンドだったかまで見るには、別のイベントと詳細ログの設定が要ります。何を送り、どこに保存するかを先に決めてから有効にするのがいいかなと思います。

この記事で持ち帰れること

  • safety_eventとは何か、何を記録するイベントなのか
  • 記録から読める項目と、「知りたいこと」ごとに見るイベント
  • 有効にする方法と、リポジトリの設定ファイルでは有効にできない点
  • コマンドの中身を見るときに、記録に残る内容が増えることへの注意
  • 部署別の使いどころと、止まった記録を運用に生かす方法(弊社の考え)

safety_eventとは:止めた・確認した操作の記録

権限ルール・自動モード・フック・サンドボックスの4つの仕組みが止めた操作が、safety_eventという1冊の記録に「止めた」「確認した」「差し戻した」として残ることを示す図解

Claude Codeの公式changelog(https://code.claude.com/docs/en/changelog)には、バージョン2.1.307の項目に「権限ルール、自動モード、安全チェック、フック、サンドボックスが止めた、確認を求めた、または差し戻したツール呼び出しごとに、claude_code.safety_event というOpenTelemetryのイベントを追加した」という趣旨の記載があります。GitHubのCHANGELOG.md(https://raw.githubusercontent.com/anthropics/claude-code/main/CHANGELOG.md)にも、2.1.307の項目に同じ内容が載っています。

Agent SDKの公式ドキュメント「Observability with OpenTelemetry」(https://code.claude.com/docs/en/agent-sdk/observability)では、safety_eventを「権限ルールや自動モードの判定役(classifier)など、どのチェックがツールの呼び出しを拒否したか、または確認を求めたか」を示すイベントとして紹介しています。利用にはClaude Code v2.1.307以降が必要で、safety_eventが出ない呼び出しもある、とされています。

同じページによると、これらのイベントは claude_code. で始まる名前のログとして出力されます。ツール呼び出しごとの許可・拒否と結果を記録する tool_decision や tool_result、権限モードの変更を記録する permission_mode_changed と並ぶ、監査向けのイベントの1つという位置づけです。

記録から何が読めるのか:知りたいことごとに見るイベント

公式ドキュメント「Monitoring」(https://code.claude.com/docs/en/monitoring-usage)の「Audit security events」の節には、知りたいことと、見るべきイベント・項目の対応表があります。safety_eventに関わるものを中心に整理すると、次のとおりです。

知りたいこと見るイベント主な項目
どのチェックが拒否したか、確認を求めたかsafety_event(category がチェックの種類を表す。例:managed_policy、permission_rule、hook、auto_mode_block)category、decision、reason_code、rule_source、tool_name、tool_use_id
どのツール呼び出しをフックが拒否したか、どの結果やターンの終了をフックが止めたかsafety_event(category が hook で decision が reject、または category が hook_review)category、decision、hook_event
サンドボックスのネットワークプロキシが、Bash・PowerShellのコマンドの接続や通信を拒否したかsafety_event(sandbox_violation_count があり、"0" ではないもの)sandbox_violation_count、category、sandbox_enabled、tool_use_id
ツール呼び出しが許可されたか拒否されたか、その判断が設定・フック・人のどこから来たかtool_decisiondecision、source、permission_mode、tool_name
権限モードが切り替わったかpermission_mode_changedfrom_mode、to_mode、trigger

同じ表では、実行されなかった呼び出しのsafety_eventは decision が reject になる、とされています。なお、safety_eventが出ない呼び出しもある、とされています。

どのコマンドだったかは、別のイベントで見る

同じ表によると、実行したコマンドや触ったファイルを知りたいときは、OTEL_LOG_TOOL_DETAILS=1 を設定したうえで、実行されたものは tool_result、拒否されたものは tool_decision の tool_parameters を見る、とされています。

Agent SDKの「Observability with OpenTelemetry」でも、OTEL_LOG_TOOL_DETAILS=1 にすると、ファイルのパスやシェルのコマンドなどのツールへの入力が tool_result イベントに付くと説明されています。自動モードの判定役が止めたときに挙げたルールも、classifier_category として tool_decision と safety_event に付くようになります。

異常の検知は、受け取る側の仕事

「Monitoring」のページでは、Claude Codeが出すのはイベントそのものだけで、異常の検知や平常値との比較、セッションをまたいだ突き合わせ、アラートは、受け取る側のSIEMや監視の仕組みが担う、とされています。safety_eventを出しただけで、危ない操作を知らせてくれるわけではない点は押さえておきたいところです。

有効にする方法と、見るときの注意

safety_eventは、Claude CodeのOpenTelemetryの出力を有効にすると出てきます。「Monitoring」のページのクイックスタートと設定の説明では、次のような環境変数を使います。

環境変数役割
CLAUDE_CODE_ENABLE_TELEMETRY=1テレメトリーの収集を有効にする(必須)
OTEL_LOGS_EXPORTERログ・イベントの出力先の種類。otlp、console、none
OTEL_EXPORTER_OTLP_ENDPOINTOTLPで送るときの送り先
OTEL_LOG_TOOL_DETAILS=1ツールのパラメータや入力も記録する(既定は無効)

注意したいのは、リポジトリの .claude/settings.json や .claude/settings.local.json に書いても、テレメトリーは有効にできないことです。ドキュメントでは、OpenTelemetryの出力に関する変数はこれらのファイルでは無視されるため、管理者設定(managed settings)に書くか、開発者それぞれがシェルや ~/.claude/settings.json で設定する、と説明されています。

もう1つは、OTEL_LOG_TOOL_DETAILS=1 にすると、Bashのコマンドやツールへの入力まで記録に残ることです。Agent SDKの「Observability with OpenTelemetry」でも、扱うデータを保存してよいと承認された仕組みでない限り、こうした変数は設定しないよう勧めています。どこへ送り、どこに保存するかを先に決めておくのがいいかなと思います。

権限ルールとフックの関係も押さえておく

safety_eventを読むときは、権限ルールの仕組みも知っておくと迷いにくくなります。公式ドキュメント「Permissions」(https://code.claude.com/docs/en/permissions)によると、ルールは拒否(deny)、確認(ask)、許可(allow)の順に評価され、最初に当てはまったものが結果になります。

また、終了コード2で止めるフックは、権限ルールが評価される前にツールの呼び出しを止めるため、許可ルールがあっても止まる、とされています。safety_eventの category が hook なのか permission_rule なのかを見れば、どちらで止まったのかを切り分けられます。

部署別の使いどころ(ここからは弊社の見解です)

止まった記録を運用に生かす3つとして、その場の許可が多い操作はルールにする、毎回止まる操作は手順を直す、詳細を残す前に送り先と保存先を決める、を示す図解

ここからは、弊社が考える使い方です。

部署・立場見るとよさそうなもの生かし方
情報システム部門管理者設定で止まった件数と、その種類会社として禁止している操作が、実際にどれくらい試されているかを把握する
開発チームその場だけ許可した操作毎回許可している操作は、チームの設定ファイルのルールにする
AIに定型業務を任せている部署自動モードで止まった操作止まり続ける操作は、AIへの指示や手順のほうを直す
少人数の会社止まった操作の一覧を週に1回まずは手元の画面への出力で、止まり方の傾向をつかむ

正直、いきなり社外の監視サービスへ全部送る必要はないかなと思います。最初は、止まった件数と種類を週に1回見るくらいで十分ではないでしょうか。

CodeClimbの見解

弊社は、Claude Codeを自社の業務で毎日使っています。WordPressの本番操作は専用のフックで止め、固定ページの変更や公開状態の変更、削除はAIからできないようにしています。この記事の公開も、出典の確認と事実チェックを通ったものだけが進む仕組みにしています。

そのうえで実感しているのは、止まること自体より、止まった理由が分からないことのほうが困るということです。

たとえば弊社では、許可リストに入れていたコマンドが、パイプなどを継ぎ足しただけで一致しなくなり、止められていたことがありました。当時は設定が足りないと思い込み、原因が分かるまでに1日かかっています。記事を公開する処理が自動モードの判定で止まり、専用の許可を足したこともあります。どちらも、どの仕組みが止めたのかがすぐ分かれば、もっと早く直せたはずです。

safety_eventは、まさにこの「どこで止まったか」を残す仕組みだと考えています。ただし、弊社もまだsafety_eventを有効にして運用した実績はありません。試すなら、まず手元の画面への出力で、止まる操作の傾向を見るところから始めるつもりです。

あとは、記録を取ること自体が目的にならないようにしたいところです。その場の許可が多い操作は設定ファイルのルールにする、止まり続ける操作は手順を直す。記録は、この見直しのための材料かなと思います。

Claude Codeの業務での管理については、Claude Codeの業務管理の記事や、クラウドセッションの使い方でも書いています。他社のAIのサンドボックス管理と比べたい方は、GitHub Copilotのローカルサンドボックスの記事もあわせてどうぞ。

よくある質問

Q. safety_eventだけを有効にする設定はありますか

「Monitoring」のページのクイックスタートでは、CLAUDE_CODE_ENABLE_TELEMETRY=1 でテレメトリーを有効にし、OTEL_LOGS_EXPORTER でログ・イベントの出力先を選びます。safety_eventは、このログとして claude_code.safety_event という名前で出力されます。

Q. 社員それぞれのPCで、まとめて有効にできますか

「Monitoring」のページでは、リポジトリの設定ファイルではテレメトリーを有効にできないため、管理者設定(managed settings)に書くか、開発者それぞれがシェルや ~/.claude/settings.json で設定する、と説明されています。会社としてそろえるなら、管理者設定を使う形になります。

Q. サンドボックスが止めた通信も分かりますか

「Monitoring」のページによると、サンドボックスのネットワークプロキシがBashやPowerShellのコマンドの接続や通信を拒否した場合は、safety_eventのうち sandbox_violation_count があり、その値が "0" でないものを探すと見つけられます。

まとめ

Claude Codeのsafety_eventとは、どのチェックがツールの呼び出しを拒否したか、または確認を求めたかを記録するOpenTelemetryのイベントです。2.1.307で追加されました。

記録には、チェックの種類を表す category や、rule_source などの項目が含まれます。一方で、どのコマンドだったかを見るには OTEL_LOG_TOOL_DETAILS=1 と tool_decision などの別のイベントが必要です。リポジトリの設定ファイルでは有効にできない点も押さえておきたいところです。

止まった理由が残れば、同じ所で毎回迷わずに済みます。まずは小さく出してみて、止まり方の傾向を見る。この順番で考えておくのがいいかなと思います。

社内のAIの「止め方」を、一緒に決めませんか

CodeClimbは、AIツールを売る側ではなく、自社の業務をAIに任せる仕組みを作って回している側の会社です。AIに任せる操作と止める操作を分け、止まったときに理由が分かる形にするところからお手伝いしています。

「Claude Codeを社内で使わせたいけれど、どこまで許可すればいいか分からない」という段階からでも構いません。AI活用支援のサービス内容をご覧いただいたうえで、お問い合わせから今の状況をお聞かせください。

出典

https://code.claude.com/docs/en/changelog | Claude Code Docs(Changelog) | 参照 2026-10-27

https://code.claude.com/docs/en/monitoring-usage | Claude Code Docs(Monitoring) | 参照 2026-10-27

https://raw.githubusercontent.com/anthropics/claude-code/main/CHANGELOG.md | GitHub anthropics/claude-code(CHANGELOG.md) | 参照 2026-10-27

https://code.claude.com/docs/en/permissions | Claude Code Docs(Permissions) | 参照 2026-10-27

https://code.claude.com/docs/en/agent-sdk/observability | Claude Code Docs(Agent SDK: Observability with OpenTelemetry) | 参照 2026-10-27

ホームページ制作
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
  • SharePointのアラート廃止後の通知はどうする【2026】|「ルール」とPower Automateの使い分けと、止まった通知の見つけ方

関連記事

  • SharePointのアラート廃止後の通知はどうする【2026】|「ルール」とPower Automateの使い分けと、止まった通知の見つけ方
    2026-10-23
  • Microsoft 365 Copilotのプラグインレジストリとは【2026】|「エージェント」ボタンが消える前に、管理者が決めること
    2026-10-22
  • Geminiのskillsとは【2026】|Gemsからの移行日程と、会社が先に決めること
    2026-10-21
  • Workspace Studioのカスタムステップとwebhookとは【2026】|ノーコードの自動化と業務システムの境目を、会社で引き直す
    2026-10-18
  • GitHub Copilotのローカルサンドボックスとは【2026】|AIエージェントに触らせるファイル・通信・認証情報を、会社で先に決める
    2026-10-17
  • スプレッドシートのセル上限と手動計算とは【2026】|2,000万セルになっても、業務システムへ移る目安
    2026-10-16
  • Claude Dashboardsとは【2026】|Claudeが作る資料・ダッシュボードを、社外に出す前に会社が決めること
    2026-10-15
  • Gemini agentとは【2026】|AIが自分のアカウントを持つ「coworker agent」を入れる前に、会社が決めること
    2026-10-14
新着記事
  • Claude Codeが止めた操作を記録する「safety_event」とは【2026】|権限ルール・自動モード・フックの判断を、あとから見直す方法
  • SharePointのアラート廃止後の通知はどうする【2026】|「ルール」とPower Automateの使い分けと、止まった通知の見つけ方
  • Microsoft 365 Copilotのプラグインレジストリとは【2026】|「エージェント」ボタンが消える前に、管理者が決めること
人気記事
  • 「【画像付きステップで解説】共有されたAppSheetアプリを自分のアカウントにコピーする方法|テンプレート活用・納品アプリの受け取り方」のアイキャッチ画像
    【画像付きステップで解説】共有されたAppSheetアプリを自分のアカウントにコピーする方法|テンプレート活用・納品アプリの受け取り方
    2025-12-25
  • 「【Windows】Git Bashインストール完全版!ダウンロードからインストール確認まで徹底解説」のアイキャッチ画像
    【Windows】Git Bashインストール完全版!ダウンロードからインストール確認まで徹底解説
    2025-12-18
  • 「Googleアカウント2段階認証の解除方法と必要なケース」のアイキャッチ画像
    Googleアカウント2段階認証の解除方法と必要なケース
    2025-05-10
  • Claude Codeで画像生成を自動化【2026】|GPT Image 2をAPIキー不要で使う手順
    2026-08-05
  • 「Windows「半角/全角」キーのストレスを30秒で解消する方法【Mac併用者必見】」のアイキャッチ画像
    結論:仕事でGeminiを使うなら「Google AI Pro」より「Workspace」が圧倒的にお得!
    2026-02-03
  1. ホーム
  2. ホームページ制作
  3. Claude Codeが止めた操作を記録する「safety_event」とは【2026】|権限ルール・自動モード・フックの判断を、あとから見直す方法
CodeClimb

福島県須賀川市を拠点に、地方の小規模企業のWeb制作・システム開発・AI社員構築を、現場で使われる形まで一緒に設計する相談相手です。AIに任せきりにせず、御社だけで回せる状態まで伴走します。

対応エリア: 福島県内(須賀川・郡山中心) / 全国オンライン対応
受付時間: 平日 9:00-18:00 / お問い合わせフォームから受付

料金公開 代表が直接担当 受付 9:00-18:00 48時間以内返信目安

Services

  • サービス一覧
  • Web制作
  • システム開発
  • AI社員構築
  • 料金

Company

  • 代表・会社概要
  • 制作実績
  • お客様の声
  • お知らせ
  • お問い合わせ

Area

  • 須賀川市のWeb集客支援
  • 対応エリア一覧

Contents

  • ブログ
  • FAQ

Legal

  • プライバシーポリシー
  • 特定商取引法に基づく表記
CONTACT

相談内容が固まっていなくても大丈夫です。現状をそのままお聞かせください。

お問い合わせする

© 2026 CodeClimb. All rights reserved.

Web / System / AI implementation partner in Sukagawa, Fukushima.

目次