Claude Code permission設定ガイド|bypassPermissions・VSCode・SSH対応

Claude Code permission bypassPermissions設定のイメージ画像

Claude CodeのbypassPermissionsをsettings.jsonに設定することで、毎回のパーミッション確認をなくし業務自動化を実現できます。

  • 要点1: ターミナル版・VSCode拡張版・SSH Remote版で設定方法が異なる
  • 要点2: VSCode拡張機能はUIに選択肢が表示されないが、設定ファイルから有効化できる
  • 要点3: SSH Remote接続では、リモート側のsettings.jsonを直接設定することが解決の鍵

対象: Claude Codeでパーミッション確認を毎回スキップしたい開発者・業務自動化担当者

今日やること: 自分の開発環境(ターミナル/VSCode/SSH)に合わせた設定方法を本記事で確認し、settings.jsonに追記する

この記事の著者
川島陸

株式会社Nexa 代表取締役川島 陸

一橋大学経済学部卒業後、フォーティエンスコンサルティング株式会社(旧 株式会社クニエ)にて法人向けAI導入支援等を経験。独立後、AI系メディア運営やDify/n8nの導入支援を経て、株式会社Nexaを創業。法人向けAI研修・AI導入支援・AI関連メディア運営を手掛ける。

Claude Codeのpermission(パーミッション)設定を正しく構成すれば、毎回のコマンド実行確認をなくし、自動化ワークフローをスムーズに進めることができます。

「settings.jsonに設定したはずなのに、VSCodeを起動するたびに確認ダイアログが表示される」「SSH Remote接続後に設定がリセットされる」——こうした問題は、Claude Code利用者から頻繁に報告されている課題です。

この記事では、ターミナル(CLI)版・VSCode拡張版・VSCode Remote SSH版それぞれの正しい設定方法と、「設定したのに効かない」トラブルの原因と解決策を実践的に解説します。

Claude Codeのpermission(パーミッション)とは

Claude Codeは、ファイルの編集やシェルコマンドの実行を行う際に、ユーザーに確認を求める安全機能を持っています。これがパーミッション機能です。

通常の対話では「このファイルを編集してよいですか?」「このコマンドを実行してよいですか?」といった確認が逐一表示されます。日常的な作業では適切なガードレールとして機能しますが、大量のファイルを自動処理する場合や、cronジョブで自動実行する場合には、確認ダイアログが処理を止めてしまう問題になります。

4つのpermission modeの比較

Claude Codeには、確認の厳しさが異なる4つのモードが用意されています。

モード 概要 確認頻度
default すべての操作で確認を求める 毎回
plan 実行前に計画を提示し、一括承認する 計画単位
acceptEdits ファイル編集は自動承認、コマンド実行は確認 コマンドのみ
bypassPermissions すべての操作を自動承認(確認なし) なし

自動化ワークフローや長時間バッチ処理には、bypassPermissionsモードが適しています。

–dangerously-skip-permissionsとbypassPermissionsの違い

この2つはよく混同されますが、指定する方法が異なります。

  • --dangerously-skip-permissions: CLIの起動オプション。コマンドラインで毎回指定する必要がある一時的な設定
  • bypassPermissions: settings.jsonに記述する永続的な設定。一度設定すると常に適用される

Claude Code v2.0以降では、--dangerously-skip-permissionsよりもsettings.jsonへの設定が推奨されています。起動コマンドに毎回フラグを付けるよりも、設定ファイルで宣言的に管理するほうが安定した運用が可能です。

注意bypassPermissionsモードはすべての確認をスキップするため、誤ったコマンドが即座に実行されるリスクがあります。コンテナや仮想マシンなど、影響範囲を限定できる環境での使用を推奨します。ただし、.git.claude.vscode.ideaへの書き込みは、bypassPermissionsでも引き続き確認が表示されます。

ターミナル(CLI)でのpermission設定方法

まずは、ターミナルから直接Claude Codeを使う場合の設定方法を解説します。

起動時オプションで指定する方法(一時的な設定)

特定のセッションだけパーミッション確認をスキップしたい場合は、起動時に--dangerously-skip-permissionsフラグを付けます。

claude --dangerously-skip-permissions

または、短縮形として--no-permissions-checkも利用可能です(バージョンにより異なります)。

この方法は毎回フラグを指定する必要があるため、定期的に自動化を実行する場合は次の方法が便利です。

settings.jsonで永続化する方法(推奨)

~/.claude/settings.jsonに以下を記述することで、Claude Codeを起動するたびに自動でbypassPermissionsモードが適用されます。

{  "permissions": {    "defaultMode": "bypassPermissions"  }}

ファイルが存在しない場合は新規作成します。

# ファイルが存在しない場合は作成mkdir -p ~/.claudecat > ~/.claude/settings.json << 'EOF'{  "permissions": {    "defaultMode": "bypassPermissions"  }}EOF# 設定を確認cat ~/.claude/settings.json

設定ファイルの優先度(どの設定が優先されるか)

Claude Codeの設定ファイルには複数の階層があり、優先度が決まっています。

優先度 設定場所 用途
1(最高) Managed設定(MDM/管理者設定) 企業全体のポリシー
2 コマンドラインオプション 一時的な上書き
3 .claude/settings.local.json(プロジェクト) 個人のローカル設定
4 .claude/settings.json(プロジェクト) プロジェクト共通設定
5(最低) ~/.claude/settings.json(ユーザー) 全プロジェクト共通

「設定したのに効かない」場合の多くは、優先度の高い設定が上書きしているケースです。特に企業環境では、managed設定でbypassPermissionsが無効化されている可能性があります。

\ Claude Codeの導入、何から始めればいいかわかります /

法人向けClaude Code個別指導の無料相談はこちら

VSCode拡張機能でのpermission設定方法

VSCode拡張機能でClaude Codeを使う場合、設定方法はターミナル版と一部異なります。

claudeCode.initialPermissionModeの設定方法

VSCode拡張機能の設定(Cmd+,またはCtrl+,)から、「Extensions → Claude Code」セクションを開き、initialPermissionModebypassPermissionsに設定します。

あるいは、VSCodeのsettings.json~/.vscode/settings.jsonまたは.vscode/settings.json)に直接記述することもできます。

{  "claudeCode.initialPermissionMode": "bypassPermissions"}

この設定により、VSCodeで新しいClaude Codeセッションを開くたびに、自動的にbypassPermissionsモードで起動します。

UIドロップダウンに「bypassPermissions」が表示されない問題の回避策

VSCode拡張機能のUIには、permission modeを切り替えるドロップダウンメニューがあります。しかし、このドロップダウンにはbypassPermissionsが選択肢として表示されない既知の問題があります(GitHub Issues #16042として報告済み)。

UIから設定できない場合は、settings.jsonへの直接記述で対応します。

方法1: VSCodeのsettings.jsonに記述する

{  "claudeCode.initialPermissionMode": "bypassPermissions"}

方法2: Claude Codeのsettings.jsonに記述する

{  "permissions": {    "defaultMode": "bypassPermissions"  }}

方法2の~/.claude/settings.jsonは、ターミナル版・VSCode拡張版の両方に適用されます。両方のインターフェースを使う場合はこちらが便利です。


Claude Codeの環境設定や活用方法について、個別にご相談いただけます。「どの機能から使えばいいか」「自社業務への適用方法を知りたい」といった段階から対応しています。

Claude Code個別指導の無料相談はこちら →


VSCode Remote SSH環境での注意点と解決策(実践事例)

ここでは、実際に発生したトラブル事例をもとに、VSCode Remote SSH環境での設定の落とし穴と解決策を解説します。

VSCode Remote SSH機能とは、ローカルのVSCodeから別のマシン(Mac miniやLinuxサーバーなど)にSSH接続し、リモートマシン上でコードを編集・実行できる機能です。Claude Code拡張機能をこの環境で使うことで、自宅PCからオフィスのマシンや専用の開発サーバーを操作できます。(VSCode Remote SSHでMac miniを遠隔操作する方法 →

問題の症状:再接続後に毎回パーミッション確認が表示される

SSH Remote環境でClaude Codeを使っていると、次のような問題が発生します。

  • ~/.claude/settings.jsonbypassPermissionsを設定済みにしても効かない
  • VSCodeのsettings.jsonclaudeCode.initialPermissionMode: bypassPermissionsを追加しても変化なし
  • 一度設定を有効にしても、VSCodeを閉じて再接続すると設定がリセットされる

原因:ローカルとリモートで設定ファイルが別々に管理される

この問題の根本原因は、Claude Codeの設定ファイルが「接続元のローカルマシン」と「接続先のリモートマシン」で別々に管理されていることにあります。

場所 設定ファイル 反映されるもの
ローカルマシン(自分のPC) ~/.claude/settings.json ローカルで動かすClaude Code
リモートマシン(Mac miniなど) ~/.claude/settings.json SSH経由で動かすClaude Code

SSH Remote経由でClaude Codeを使う場合、Claude Codeの実行はリモートマシン側で行われます。そのため、ローカルのsettings.jsonを設定しても、リモートマシンにその設定は反映されません。

解決策:リモートマシン側のsettings.jsonを直接設定する

解決策はシンプルで、リモートマシン側の~/.claude/settings.jsonを直接設定することです。

SSHでリモートマシンに接続して設定する:

# リモートマシンにSSH接続ssh <リモートマシンのホスト名># .claudeフォルダが存在しない場合は作成mkdir -p ~/.claude# settings.jsonを作成(または既存ファイルを編集)cat > ~/.claude/settings.json << 'EOF'{  "permissions": {    "defaultMode": "bypassPermissions"  }}EOF# 設定を確認cat ~/.claude/settings.json

設定後、VSCodeのRemote SSH接続を切断して再接続し、新しいセッションを開くと設定が反映されます。

設定が反映されているか確認する方法:

Claude Codeセッション内で以下のコマンドを実行し、エラーなく完了すれば設定が有効です。

# 確認用(小さなファイルを作成して削除)echo "test" > /tmp/permission_test.txt && rm /tmp/permission_test.txt && echo "bypassPermissions is working"

ターミナルで確認ダイアログが表示されずに実行されれば、設定が有効になっています。

補足Mac miniをClaude Codeの常時稼働サーバーとして使う場合の環境構築については、MacBookとMac miniでClaude Code環境を同期する →も参考にしてください。

\ 業務自動化のお悩み、プロが30分で整理します /

法人向けClaude Code個別指導の無料相談はこちら

bypassPermissionsを安全に使うための注意点

bypassPermissionsモードはClaude Codeの生産性を大幅に向上させますが、使い方を誤ると意図しない結果を招くことがあります。

どんな環境で使うべきか

eesel AIが実施した調査によると、--dangerously-skip-permissionsを使用した開発者の32%が少なくとも1回の意図しないファイル変更を経験し、9%がデータ損失を報告しています。

bypassPermissionsを使う場合のチェックリスト:

  • [ ] 重要なファイルのバックアップがある(Gitで管理されている等)
  • [ ] コンテナや仮想マシンなど、影響範囲を限定できる環境である
  • [ ] 実行するタスクの内容が明確で、予期しない操作が少ない
  • [ ] 本番環境・重要データには直接アクセスしない設定になっている

個人の開発環境や隔離された自動化ワークフローでの使用は問題ありませんが、本番サーバーや重要なデータを扱う環境での使用は慎重に判断してください。

企業・チームでの管理方法(managed-settings.json)

複数人がClaude Codeを使う企業環境では、managed-settings.jsonを使って組織全体の設定を管理できます。

managed-settings.jsonは、ユーザーが上書きできない最高優先度の設定ファイルです。管理者が特定のモードを禁止したり、許可する操作を制限したりできます。

// managed-settings.json{  "permissions": {    "disableBypassPermissionsMode": true  }}

この設定により、所属するメンバーがbypassPermissionsモードを使用できなくなります。セキュリティポリシーの観点から、リスクの高い環境ではこの設定を検討してください。

Hooksを使ったより細かい自動承認設定

Claude Code v2.0以降では、--dangerously-skip-permissionsの代替としてHooksが推奨されています。HooksはClaude Codeの操作ごとに実行するスクリプトを定義できる機能で、「安全な操作は自動承認、危険な操作は確認する」という細かい制御が可能です。

// .claude/settings.json{  "hooks": {    "pre_tool_call": [      {        "script": "~/.claude/hooks/check-permission.sh",        "on_failure": "ask"      }    ]  }}

Hooksを使うことで、bypassPermissionsのような「全部スキップ」ではなく、「特定のコマンドだけ自動承認する」という安全性と利便性のバランスが取れた設定が実現できます。

よくある質問

Q. bypassPermissionsに設定したのにVSCodeで確認が出る場合は?

VSCode拡張機能のUIドロップダウンではbypassPermissionsが選択肢に表示されないため、UIから設定した場合は効果がありません。VSCodeのsettings.json~/.vscode/settings.jsonまたは.vscode/settings.json)に直接"claudeCode.initialPermissionMode": "bypassPermissions"を記述してください。または、~/.claude/settings.jsonpermissions.defaultModeを設定する方法でも対応できます。

Q. SSH Remote接続後に設定がリセットされるのを防ぐには?

リモートマシン側の~/.claude/settings.jsonを直接設定してください。SSH経由でClaude Codeを使う場合、設定の読み込み先はリモートマシンのファイルシステムです。ローカルマシンの設定ファイルは参照されません。

Q. –dangerously-skip-permissionsとsettings.jsonのbypassPermissionsは同じ効果か?

技術的にはほぼ同等の効果ですが、運用面での違いがあります。--dangerously-skip-permissionsはコマンド起動時の一時的な設定で、毎回指定が必要です。settings.jsonbypassPermissionsは永続化設定で、一度設定すると常に適用されます。安定した自動化ワークフローにはsettings.jsonへの記述が推奨です。

Q. 企業でClaude Codeを使う場合、特定のユーザーだけbypassPermissionsを制限できるか?

managed-settings.jsonを使うことで、組織全体またはグループ単位でbypassPermissionsモードの使用を禁止できます。"disableBypassPermissionsMode": trueの設定は、ユーザーが自分のsettings.jsonで上書きできないため、管理者がポリシーを強制できます。

\ AI活用の「次の一手」を一緒に考えませんか /

法人向けClaude Code個別指導の無料相談はこちら

まとめ

Claude Codeのpermission設定について、主要なポイントをまとめます。

  • ターミナル版: ~/.claude/settings.json"defaultMode": "bypassPermissions"を設定するのが最も確実
  • VSCode拡張版: UIドロップダウンではなく、settings.jsonへの直接記述が必要
  • SSH Remote版: ローカルではなく、リモートマシン側~/.claude/settings.jsonを設定する
  • セキュリティ: bypassPermissionsはバックアップ済みの環境・隔離された環境での使用を推奨

「設定したのに効かない」トラブルの多くは、設定ファイルの優先度とローカル/リモートの区別を把握することで解決できます。まずは自分の環境(ターミナル/VSCode/SSH)を確認してから、対応する方法で設定してみてください。


Claude Codeの導入・活用をサポートします

株式会社Nexaでは、Claude Codeを活用した業務自動化の個別指導・企業研修を提供しています。非エンジニアの方でも3ヶ月で業務自動化を実現できるプログラムです。「何から始めればいいかわからない」という段階からご支援いたします。

Claude Code個別指導の詳細・無料相談はこちら →




関連記事

AIの力で、ビジネスを次のステージへ

まずはお気軽にご相談ください。貴社に最適なAI活用プランをご提案します。

Claude Codeのプロに無料相談 30秒で日程調整完了