Skip to main content

要点

Claude Code で /permissions を実行すると、権限ルールを表示・管理できます。ルールを永続化するには、allowaskdenysettings.json に記述します。フックは同じ設定ファイルを使用し、ツール呼び出しの前後にフォーマット、テスト、安全性チェックを実行します。権限の優先順位は deny → ask → allow であるため、allow ルールで deny ルールを上書きすることはできません。 これらの設定はコンピューター上のローカルツールを制御します。BetterToken が変更するのはモデル API の Base URL、API Key、ルーティングだけであり、ローカル権限をバイパスしたり、フックを実行したりするものではありません。

権限とフックを使い分ける

正しいスコープを選ぶ

権限、フック、環境変数は settings.json に記述し、~/.claude.json には記述しません。後者はアプリケーション状態と UI 設定を保存します。

最小限の権限ルールを設定する

1

/permissions で既存ルールを確認する

Claude Code で次を実行します。
UI には allow、ask、deny の各ルールとそのソースファイルが表示されます。ユーザーまたはプロジェクト設定を選ぶ前に、既存のチームルールまたは管理ルールを確認してください。
2

範囲を絞ったルールを追加する

このプロジェクトレベルの例では、一般的なテストと lint を許可し、すべての git push の前に確認し、.env の読み取りをブロックします。
コマンドはプロジェクト内に存在するスクリプトに置き換えます。確認をなくす目的だけで bypassPermissions を有効にしないでください。公式ドキュメントでは、このモードを隔離コンテナまたは VM に限定しています。
3

/permissions で確認する

ファイルを保存してから、もう一度 /permissions を実行します。各ルールが想定したソースに表示されることを確認し、allow、ask、deny のケースを 1 つずつ実行して動作を検証します。

コピー可能なフォーマットフックを追加する

この例では、Claude Code が Edit または Write を使用した後に、プロジェクトのフォーマッターを実行します。
ファイルにすでに permissions がある場合は、hooks を同じトップレベル JSON オブジェクトに統合します。単独の .claude/hooks.json は作成しないでください。まず npm run format を手動で実行し、成功することを確認します。
コマンドフックはシステムユーザーの権限で実行されます。レビュー済みのスクリプトだけを使用し、フックから API Key、トークン、.env の内容、その他のシークレットを出力しないでください。

フックを確認する

  1. Claude Code で /hooks を実行します。
  2. PostToolUse を開き、Edit|Writenpm run format が表示されることを確認します。
  3. Claude にテストファイルを変更するよう依頼します。
  4. フック出力とファイル形式を確認し、フックがエラーなく 1 回実行されたことを確認します。
Claude Code は通常、設定変更を自動で再読み込みします。再読み込みされない場合は、セッションを終了して Claude Code を再起動してください。

よくあるエラー

BetterToken の境界

BetterToken は Claude Code のモデル API アクセス、モデルルーティング、残高、使用量を扱います。Claude Code は引き続き次を制御します。
  • ファイルの読み取り・書き込みアクセス
  • Bash の確認動作
  • フックの実行タイミングと実行するスクリプト
  • サンドボックス、MCP、プロジェクトルール
401、Base URL、モデルマッピングのエラーについては、Claude Code 設定ガイドを参照してください。コマンド確認と自動化については、このページで権限とフックをトラブルシューティングします。

関連ドキュメント

参照