SpyBara
Go Premium

permission-modes.md 2026-10-24 22:59 UTC to 2026-10-25 23:58 UTC

This page contains 4 additions and 4 deletions.

2026
Thu 1 23:59 Fri 2 22:59 Sat 3 23:57 Sun 4 23:58 Mon 5 23:58 Tue 6 23:59 Wed 7 23:59 Sat 10 23:01 Sun 11 23:57 Wed 14 22:58 Sat 17 23:57 Mon 19 23:58 Tue 20 23:00 Wed 21 23:02 Thu 22 22:58 Fri 23 22:59 Sun 25 23:58 Mon 26 22:57 Tue 27 22:59 Wed 28 23:57 Fri 30 23:01

Pilih mode izin

Kontrol apakah Claude meminta izin sebelum bertindak. Alihkan mode izin dengan Shift+Tab di CLI, indikator mode di VS Code, atau pemilih mode di Desktop.

Mode izin menetapkan tindakan mana yang dapat dilakukan Claude dalam sesi tanpa meminta Anda terlebih dahulu. Dalam mode Manual, Claude Code berhenti dan meminta Anda sebelum sebagian besar tindakan yang mengedit file, menjalankan perintah shell, atau menjangkau jaringan. Dalam mode auto, model kedua, pengklasifikasi, meninjau tindakan sebagai gantinya Anda; bagaimana pengklasifikasi mengevaluasi tindakan mencantumkan tindakan mana yang ditinjau dan mana yang melewatinya.

Dengan Claude Code v2.1.283 atau lebih baru, mode auto adalah mode izin awal bawaan untuk sesi terminal interaktif dan VS Code. Pada versi sebelumnya, ini adalah mode izin awal bawaan hanya pada paket Pro, Max, dan Team. Mode mana yang dimulai sesi mencakup permukaan dan pengaturan yang mengubah mode izin awal. Anda juga dapat mengubah mode izin sesi yang sedang berjalan kapan saja.

Mode yang tersedia

Setiap mode membuat pertukaran yang berbeda antara kenyamanan dan pengawasan. Tabel di bawah menunjukkan apa yang dapat dilakukan Claude tanpa permintaan izin di setiap mode. Mode Manual muncul di bawah nilai konfignya, default.

Mode Apa yang berjalan tanpa bertanya Terbaik untuk
default Hanya membaca Meninjau setiap tindakan sendiri, pekerjaan sensitif
acceptEdits Membaca, pengeditan file, dan perintah sistem file umum (mkdir, touch, mv, cp, dll.) Iterasi pada kode yang Anda tinjau
plan Membaca, plus perintah yang disetujui pengklasifikasi ketika mode auto tersedia Menjelajahi basis kode sebelum mengubahnya
auto Segalanya, dengan pemeriksaan keamanan latar belakang Tugas panjang, mengurangi kelelahan prompt
dontAsk Pembacaan file di dalam direktori kerja Anda dan tool yang telah disetujui sebelumnya; apa pun yang akan meminta izin ditolak, meskipun mod yang Anda instal masih dapat menyetujui sebagian dari panggilan tersebut CI dan skrip terkunci
bypassPermissions Segalanya Hanya kontainer dan VM terisolasi

Mode yang meninjau setiap tindakan dinamai Manual di CLI, di claude --help, di ekstensi VS Code dan JetBrains, dan di aplikasi desktop. Nilai konfignya adalah default, yang digunakan oleh hook dan integrasi SDK. CLI menerima manual sebagai alias di mana pun Anda mengetik nilainya, misalnya claude --permission-mode manual atau "defaultMode": "manual".

Penulisan ke jalur yang dilindungi tidak pernah disetujui otomatis kecuali dalam mode bypassPermissions dan dalam sesi mode plan di mana izin bypass tersedia, artinya sesi terminal interaktif yang dimulai dengan cara yang menempatkan bypassPermissions dalam siklus mode.

Mode menetapkan garis dasar. Lapisi aturan izin di atas untuk menyetujui sebelumnya atau memblokir alat tertentu. Aturan Deny memblokir di setiap mode, termasuk bypassPermissions. Aturan Deny dan ask tidak berlaku untuk EndConversation selama Claude masih memiliki setidaknya satu alat lain yang dapat dipanggilnya. Aturan Allow tidak berpengaruh dalam bypassPermissions.

Tindakan yang tidak disetujui otomatis oleh mode mana pun

Claude Code tidak secara otomatis menyetujui hal-hal berikut di mode apa pun, termasuk bypassPermissions. Setiap poin menghubungkan ke bagian yang mengatakan apa yang terjadi sebagai gantinya di setiap mode:

  • Alat yang cocok dengan aturan ask eksplisit

  • Alat konektor yang organisasi Anda atur ke ask, dalam sesi di mana pengaturan itu mencapai Claude Code

  • Alat yang memerlukan interaksi pengguna: alat AskUserQuestion bawaan dan alat MCP yang ditandai requiresUserInteraction

  • Penghapusan jalur kritis oleh rm dan rmdir yang dikenali, yang tidak dapat disetujui oleh aturan allow mana pun maupun "allow" dari hook PreToolUse

  • Penjaga pesan lintas sesi

  • Membaca di luar direktori kerja sementara permissions.blockReadsOutsideWorkingDirectories aktif: perintah Bash pembaca file yang dikenali meminta bahkan dalam mode auto dan mode bypassPermissions, dan begitu juga dengan retry tanpa sandbox apa pun yang memerlukan persetujuan untuk berjalan di luar sandbox. Memerlukan Claude Code v2.1.257 atau lebih baru.

    Perintah yang parser shell tidak dapat lacak, seperti yang mengubah direktori lebih dari sekali atau menjalankan subshell, meminta dengan cara yang sama bahkan ketika tidak menamai jalur luar apa pun. Permintaan ini tidak berlaku ketika perintah berjalan di sandbox dan sandbox memberlakukan blokir.

Pengaturan umum

Mode izin memutuskan apakah Claude meminta sebelum tindakan, dan sandbox Bash dan batas isolasi luar memutuskan apa yang dapat dijangkau tindakan setelah berjalan. Setiap baris di bawah memasangkan tujuan dengan flag atau pengaturan yang membawanya ke sana dan isolasi yang dibutuhkan, sebagai titik awal. Mode yang tersedia mencantumkan apa yang berjalan tanpa prompt di setiap mode.

Anda ingin Mulai dengan Isolasi yang diperlukan Catatan
Tinjau setiap tindakan sendiri Mode Manual: claude --permission-mode default Tidak ada Pekerjaan sensitif, kode yang tidak familiar
Iterasi lokal dengan lebih sedikit prompt, tanpa pengklasifikasi Mode Manual ditambah sandbox Bash dalam mode auto-allow: claude --permission-mode default, kemudian jalankan /sandbox dan pilih auto-allow Sandbox Bash bawaan, di macOS, Linux, dan WSL2 Aturan deny masih berlaku, dan aturan ask yang menyebutkan perintah, seperti Bash(git push *), masih meminta. Mode auto-allow mencakup perintah lain yang dapat meminta. Untuk mengaktifkan sandbox dari file pengaturan sebagai gantinya, atur sandbox.enabled ke true
Jelajahi sebelum mengubah apa pun claude --permission-mode plan Tidak ada Claude Code memblokir pengeditan sampai Anda menyetujui rencana
Bekerja hands-off dalam mode auto claude --permission-mode auto, mode izin awal bawaan dengan v2.1.283 atau lebih baru Tidak ada; sandbox atau kontainer menambah pertahanan berlapis Memerlukan model yang didukung, dan organisasi Anda dapat mematikan mode auto
Jalankan di CI dengan allowlist yang tepat claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read" Tidak ada di luar apa yang disediakan runner CI Anda Cloud sessions mengabaikan dontAsk dari file pengaturan
Jalankan sepenuhnya tanpa pengawasan di dalam kontainer claude -p "<prompt>" --dangerously-skip-permissions Diperlukan: kontainer, VM, atau runtime sandbox; di Linux dan macOS, jalankan sebagai pengguna non-root Cloud sessions mengabaikan mode ini dari file pengaturan. Dalam jalankan -p ini, beberapa panggilan yang masih akan meminta ditolak sebagai gantinya

Sandbox Bash dan mode auto bekerja secara independen dan menggabungkan, dengan pengecualian yang tercantum di bawah Sandbox modes. Untuk interaksi penuh, lihat Bagaimana sandboxing berhubungan dengan izin dan mode izin dan Bagaimana isolasi berhubungan dengan mode izin.

Mode mana yang dimulai sesi

Ketika Anda memulai sesi baru di terminal, Claude Code mengambil mode izin dari yang pertama dari ini yang berlaku:

  1. Flag --permission-mode, atau --dangerously-skip-permissions

  2. permissions.defaultMode dalam file pengaturan

    Jika Anda menetapkan "auto" di .claude/settings.json atau .claude/settings.local.json, nilainya tidak berlaku, dan Claude Code kemudian menggunakan default bawaan daripada defaultMode dari ~/.claude/settings.json. Jika Anda menetapkan "bypassPermissions" di dua file itu, itu juga tidak berlaku, dan sesi dimulai dalam mode Manual. Nilai lainnya berlaku dari file pengaturan apa pun.

  3. Default bawaan

Percakapan yang dimulai ekstensi VS Code mengikuti daftar ekstensi sendiri dalam Alihkan mode izin. Untuk mode izin yang dimulai Claude Code dalam sesi yang dilanjutkan, lihat mode izin pada resume.

Default auto bawaan memerlukan Claude Code v2.1.228 atau lebih baru di macOS, Linux, dan WSL, dan v2.1.233 atau lebih baru di Windows asli. Pada versi sebelumnya, default bawaan adalah Manual.

Default bawaan bergantung pada cara Anda menjalankan Claude Code. Baris pertama yang cocok dengan sesi Anda berlaku. Tabel mencakup sesi yang Anda mulai di terminal atau melalui ekstensi VS Code; untuk aplikasi desktop dan claude.ai, lihat tab Desktop dan Web dalam Alihkan mode izin.

Cara Anda menjalankan Claude Code Mode izin awal bawaan
File pengaturan apa pun menetapkan disableAutoMode ke "disable" default
claude -p atau Agent SDK default
Organisasi Anda telah menerapkan konfigurasi HIPAA dan sesi tersebut memenuhi syarat untuknya default dengan Claude Code v2.1.285 atau lebih baru; auto mode tetap tersedia untuk dialihkan
Di terminal atau melalui ekstensi VS Code auto dengan Claude Code v2.1.283 atau lebih baru; pada versi sebelumnya, auto pada paket Pro, Max, atau Team dalam sesi yang mengambil flag fitur, dan default sebaliknya

Ketika flag, file pengaturan, atau default bawaan memilih auto tetapi auto mode tidak tersedia untuk sesi, Claude Code memulai sesi dalam Manual sebagai gantinya. Auto mode tidak tersedia ketika sesi tidak memenuhi persyaratan ketersediaan, seperti file pengaturan mematikannya atau model yang tidak mendukungnya, atau ketika Anthropic untuk sementara telah mematikannya di sisi server.

Pertama kali default bawaan memulai salah satu sesi Anda dalam auto mode, Claude Code menampilkan pemberitahuan yang menghubungkan ke halaman ini:

  • Di terminal, sekali, di bagian atas sesi
  • Di ekstensi VS Code, sebagai kartu di layar percakapan baru yang tetap sampai Anda menutupnya

Jika ~/.claude/settings.json Anda menetapkan defaultMode selain auto dan tidak ada file pengaturan lain yang menetapkan satu, sesi Anda terus dimulai dalam mode itu. Pada paket Pro, Max, dan Team, dan dalam sesi yang tidak mengambil flag fitur, Claude Code meminta sekali, di terminal atau di ekstensi VS Code, apakah akan mengubah pengaturan ke auto mode. Jika Anda menolak, pengaturan Anda tetap seperti adanya.

Panggilan tool ditolak dalam eksekusi claude -p dan Agent SDK

Di Claude Code v2.1.302 atau lebih baru, eksekusi claude -p dan Agent SDK tanpa mode izin yang ditetapkan dimulai dalam mode Manual. Mode ini muncul sebagai default dalam opsi SDK dan pengaturan. Panggilan yang memerlukan persetujuan ditolak kecuali Anda menyetujuinya dengan aturan izin allow, hook, callback canUseTool, atau --permission-prompt-tool.

Agar panggilan ini disetujui, tambahkan aturan allow atau mulai dalam auto mode:

Contoh-contoh ini menunjukkan bentuk auto mode untuk CLI dan setiap SDK:

CLI

claude -p "Run the test suite and fix any failures" --permission-mode auto

TypeScript

const options = {
  permissionMode: "auto"
};

Python

from claude_agent_sdk import ClaudeAgentOptions

options = ClaudeAgentOptions(permission_mode="auto")

Sebelum v2.1.302, eksekusi ini dapat dimulai dalam auto mode jika tidak mengambil flag fitur, misalnya pada penyedia pihak ketiga atau dengan DISABLE_TELEMETRY.

Mulai dalam mode izin yang berbeda

Anda dapat menetapkan mode izin awal untuk satu sesi, atau sebagai default untuk setiap sesi di mesin, proyek, atau organisasi. Ketika lebih dari satu file pengaturan menetapkan permissions.defaultMode, prioritas pengaturan memutuskan, jadi nilai proyek atau terkelola mengalahkan ~/.claude/settings.json. Untuk mengubah mode izin sesi yang sudah berjalan, lihat Alihkan mode izin.

Untuk menetapkan mode izin awal untuk Lakukan ini
Satu sesi yang akan Anda mulai Lewatkan mode izin sebagai flag, misalnya claude --permission-mode default
Setiap sesi terminal yang Anda mulai di mesin ini Atur permissions.defaultMode di ~/.claude/settings.json. Untuk apa yang dibaca ekstensi VS Code, lihat Alihkan mode izin
Setiap sesi terminal yang Anda mulai dalam satu proyek Atur permissions.defaultMode di .claude/settings.json proyek. Sesi yang Anda mulai di terminal menghormati setiap nilai kecuali auto dan bypassPermissions; sesi yang dimulai ekstensi VS Code tidak membaca pengaturan proyek untuk mode izin awal
Setiap sesi terminal di organisasi Anda Atur permissions.defaultMode dalam pengaturan terkelola. Sesi terminal dimulai dalam mode itu dan orang masih dapat beralih ke auto mode; untuk apa yang dibaca ekstensi VS Code, lihat Alihkan mode izin. Untuk menghapus auto mode sehingga tidak ada yang dapat memilihnya, atur permissions.disableAutoMode ke "disable" sebagai gantinya

Contoh ini membuat setiap sesi terminal di mesin Anda dimulai dalam mode Manual, yang nilai konfignya adalah default. Simpan di ~/.claude/settings.json:

{
  "permissions": {
    "defaultMode": "default"
  }
}

Sesi berikutnya yang Anda mulai menampilkan ⏸ manual mode on di bilah status.

Mode izin dengan konfigurasi HIPAA

Dalam organisasi yang telah menerapkan konfigurasi HIPAA, default auto bawaan tidak berlaku. Sesi terminal atau VS Code dimulai dalam mode Manual ketika tidak ada hal lain yang memilih mode izin awalnya. Sesi terminal juga menampilkan Auto mode isn't the default for your organization · Shift+Tab to switch, dan ekstensi VS Code tidak menampilkan pemberitahuan. Periksa cara developer masuk dan terhubung mencantumkan sesi yang terkena ketentuan ini.

Auto mode dan bypassPermissions tetap tersedia:

Memerlukan Claude Code v2.1.285 atau lebih baru, versi minimum untuk konfigurasi HIPAA.

Alihkan mode izin

Setiap antarmuka memiliki kontrol sendiri untuk beralih mode izin selama sesi dan cara sendiri untuk memilih mode izin yang dimulai sesi baru. Pilih antarmuka Anda untuk melihat kontrolnya.

CLI

Selama sesi: tekan Shift+Tab untuk siklus mode izin. Dari auto, tekan pertama beralih ke default, dan siklus kemudian berjalan default → acceptEdits → plan. Mode opsional masuk setelah plan. Bilah status menunjukkan mode aktif sebagai ⏸ manual mode on abu-abu untuk default, atau sebagai ⏵⏵ accept edits on, ⏸ plan mode on, ⏵⏵ auto mode on, ⏵⏵ don't ask on, atau ⏵⏵ bypass permissions on.

Perhatikan bilah status dalam klip sesi yang dimulai dalam auto mode ini. Setiap kali Anda menekan Shift+Tab, bilah status berubah dari auto mode on ke manual mode on, accept edits on, plan mode on, lalu kembali ke auto mode on.