SpyBara
Go Premium

permission-modes.md 2026-09-11 23:01 UTC to 2026-09-12 03:02 UTC

This page contains 20 additions and 20 deletions.

2026
Wed 9 22:58 Sat 12 03:02 Sun 13 21:00 Fri 18 23:58 Sat 19 23:57 Tue 22 23:59 Fri 25 23:58

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.

Pada paket Pro, Max, dan Team, mode izin awal bawaan adalah mode auto. 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 Membaca dan alat yang telah disetujui sebelumnya; apa pun yang akan meminta izin ditolak 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 hooks dan integrasi SDK. CLI menerima manual sebagai alias di mana pun Anda mengetik nilainya, misalnya claude --permission-mode manual atau "defaultMode": "manual". Label Manual dan alias manual memerlukan Claude Code v2.1.200 atau lebih baru. Label aplikasi desktop tidak bergantung pada versi CLI Anda.

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 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 ada mode yang disetujui otomatis

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 rm dan rmdir yang menargetkan jalur kritis, yang tidak ada aturan allow atau hook PreToolUse "allow" yang menyetujui
  • Penjaga pesan lintas sesi
  • Membaca di luar direktori kerja sementara permissions.blockReadsOutsideWorkingDirectories aktif: perintah Bash pembaca file yang dikenali dan retry tanpa sandbox apa pun yang memerlukan persetujuan untuk berjalan di luar sandbox meminta bahkan dalam mode auto dan mode bypassPermissions. Memerlukan Claude Code v2.1.257 atau lebih baru

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. 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 pada Pro, Max, dan Team 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 Claude Code di web 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 Claude Code di web 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, kecuali dalam mode rencana, di mana auto-allow tidak memperluas persetujuan. 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, pada paket Anda, dan pada apakah Claude Code dapat mengambil flag fiturnya. 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
Pengambilan flag fitur mati default
Sesi pertama Anda setelah Anda memasang Claude Code atau upgrade ke versi yang menambahkan default ini, kecuali, setelah instalasi segar, Claude Code mengambil flag tepat waktu default
claude -p atau Agent SDK default
Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, Claude Platform on AWS, atau sesi Claude apps gateway yang masuk default
Paket Pro, Max, atau Team, di terminal atau melalui ekstensi VS Code auto
Paket Enterprise atau kunci API Claude Console default

Ketika pengambilan flag fitur mati, atau dalam sesi pertama setelah instalasi atau upgrade di mana flag belum tiba, ekstensi VS Code mengabaikan setiap file pengaturan saat memilih mode izin awal.

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

Pertama kali default bawaan memulai salah satu sesi Anda dalam mode auto, 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

Pada paket Pro, Max, dan Team, 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. Claude Code meminta sekali, di terminal atau di ekstensi VS Code, apakah akan mengubah pengaturan ke mode auto. Jika Anda menolak, pengaturan Anda tetap seperti adanya.

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, preseden 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 mode auto; untuk apa yang dibaca ekstensi VS Code, lihat Alihkan mode izin. Untuk menghapus mode auto 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.

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.

Selama sesi: tekan Shift+Tab untuk siklus mode izin. Dari auto, tekan pertama beralih ke default, dan siklus kemudian berjalan default → acceptEdits → plan → kembali ke default. Mode opsional, dijelaskan di bawah, 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.

Tidak setiap mode ada dalam siklus default:

  • auto: muncul ketika mode auto tersedia; bersiklus ke dalamnya mengganti mode izin tanpa prompt konfirmasi
  • bypassPermissions: muncul setelah Anda memulai dengan --permission-mode bypassPermissions, --dangerously-skip-permissions, --allow-dangerously-skip-permissions, atau permissions.defaultMode: "bypassPermissions" dalam pengaturan pengguna, --settings, atau terkelola. Varian --allow- menambahkan mode izin ke siklus tanpa mengaktifkannya
  • dontAsk: tidak pernah muncul dalam siklus; atur dengan --permission-mode dontAsk

Mode opsional yang diaktifkan masuk setelah plan, dengan bypassPermissions terlebih dahulu dan auto terakhir. Jika Anda memiliki keduanya diaktifkan, Anda akan bersiklus melalui bypassPermissions dalam perjalanan ke auto.

Dari prompt izin Bash: dalam mode izin Manual dan acceptEdits, ketika mode auto tersedia, Claude Code menambahkan Ya, dan beralih ke mode auto ke prompt izin perintah Bash. Pilih untuk menyetujui perintah dan beralih sesi ke mode auto. Prompt alat PowerShell tidak menawarkan opsi. Memerlukan Claude Code v2.1.247 atau lebih baru.

Claude Code tidak menambahkan opsi ke prompt yang dipaksa oleh salah satu aturan ask Anda atau oleh hook, karena mode auto masih menampilkan prompt itu, jadi beralih tidak akan menghapusnya.

Saat startup: lewatkan mode izin sebagai flag.

claude --permission-mode plan

Sebagai default: atur permissions.defaultMode pada cakupan yang Anda inginkan, seperti dijelaskan dalam Mulai dalam mode izin yang berbeda.

Flag --permission-mode yang sama berfungsi dengan -p untuk jalankan non-interaktif.

Auto-approve pengeditan file dengan mode acceptEdits

Mode acceptEdits memungkinkan Claude membuat dan mengedit file di direktori kerja Anda tanpa meminta. Bilah status menunjukkan ⏵⏵ accept edits on saat mode ini aktif.

Selain pengeditan file, mode acceptEdits auto-approve perintah Bash filesystem umum: mkdir, touch, rm, rmdir, mv, cp, dan sed. Perintah ini juga auto-approved ketika diawali dengan variabel lingkungan aman seperti LANG=C atau NO_COLOR=1, atau pembungkus proses seperti timeout, nice, atau nohup. Seperti pengeditan file, auto-approval hanya berlaku untuk jalur di dalam direktori kerja Anda atau additionalDirectories. Jalur di luar cakupan itu, penulisan ke jalur yang dilindungi, penghapusan rm dan rmdir yang menargetkan jalur kritis, dan semua perintah Bash lainnya kecuali set bawaan read-only masih meminta.

Ketika alat PowerShell diaktifkan, mode acceptEdits juga auto-approve Set-Content, Add-Content, Clear-Content, dan Remove-Item pada jalur dalam cakupan, bersama dengan alias umum mereka. Aturan cakupan dan jalur yang dilindungi yang sama berlaku, dan Remove-Item mendapat pemeriksaannya sendiri. Argumen posisional yang berisi karakter kutip, seperti apostrof dalam Set-Content .\notes.txt "It's done", masih meminta bahkan pada jalur dalam cakupan, karena Claude Code tidak dapat secara statis memvalidasi argumen yang pembacaan kutip dan tidak dikutipnya berbeda. Lewatkan konten melalui parameter bernama seperti -Value untuk menghindari prompt.

Gunakan acceptEdits ketika Anda ingin meninjau perubahan di editor Anda atau melalui git diff setelahnya daripada menyetujui setiap pengeditan inline.

Tekan Shift+Tab sekali dari mode Manual untuk memasukkannya, atau mulai dengannya langsung:

claude --permission-mode acceptEdits

Analisis sebelum Anda mengedit dengan mode rencana

Mode rencana memberi tahu Claude untuk meneliti dan mengusulkan perubahan tanpa membuatnya. Claude membaca file, menjalankan perintah shell untuk menjelajahi, dan menulis rencana, tetapi tidak mengedit sumber Anda. Kecuali dalam sesi dengan bypass permissions tersedia, pengeditan tetap diblokir sampai Anda menyetujui rencana.

Ketika mode auto tersedia dan pengaturan useAutoModeDuringPlan aktif, yang merupakan default, pengklasifikasi meninjau perintah shell selama perencanaan alih-alih meminta Anda. Perintah yang disetujui berjalan, dan yang ditolak diblokir. Jika tidak, perintah di luar set bawaan read-only meminta persetujuan, termasuk ketika mode auto-allow sandbox diaktifkan. Dalam sesi dengan bypass permissions tersedia, baik pengklasifikasi maupun prompt tidak berlaku untuk perintah perencanaan; Lewati semua pemeriksaan dengan mode bypassPermissions mencakup beberapa hal yang masih meminta di sana. Dalam v2.1.212 hingga v2.1.217, sesi tanpa bypass permissions meminta untuk setiap perintah di luar set read-only, apakah atau tidak mode auto tersedia.

Masukkan mode rencana dengan menekan Shift+Tab atau mengawali prompt tunggal dengan /plan. Anda juga dapat memulai dalam mode rencana dari CLI:

claude --permission-mode plan

Tekan Shift+Tab lagi untuk meninggalkan mode rencana tanpa menyetujui rencana.

Tinjau dan setujui rencana

Ketika rencana siap, Claude menyajikannya dan menanyakan cara melanjutkan. Dari prompt itu Anda dapat memilih:

  • Ya, dan gunakan mode auto: setujui dan mulai dalam mode auto. Ketika mode auto tidak tersedia, opsi ini berbunyi Ya, auto-accept edits. Jika Anda memulai sesi dengan bypass permissions diaktifkan, opsi berbunyi Ya, dan beralih ke BYPASS PERMISSIONS (tidak ada prompt lebih lanjut) untuk sesi ini sebagai gantinya.
  • Ya, secara manual setujui pengeditan: setujui dan tinjau setiap pengeditan secara individual.
  • Tidak, terus merencanakan: tetap dalam mode rencana dan beri tahu Claude apa yang harus diubah.

Menyetujui rencana keluar dari mode rencana dan mengalihkan sesi ke mode izin yang dijelaskan setiap opsi persetujuan, sehingga Claude mulai mengedit. Untuk merencanakan lagi, siklus kembali ke mode rencana dengan Shift+Tab, atau awali prompt berikutnya dengan /plan.

Tekan Ctrl+G untuk membuka rencana yang diusulkan di editor teks default Anda dan mengeditnya langsung sebelum Claude melanjutkan. Ketika showClearContextOnPlanAccept diaktifkan, daftar mendapat opsi pertama yang menyetujui rencana dan menghapus konteks perencanaan.

Menerima rencana juga memberi sesi judul yang dihasilkan berdasarkan rencana, kecuali Anda telah menamai sesi.

Atur mode rencana sebagai default

Untuk membuat mode rencana default untuk sesi terminal proyek, atur defaultMode ke plan dalam .claude/settings.json, ditempatkan seperti contoh di bawah Mulai dalam mode izin yang berbeda menunjukkan. Percakapan yang dimulai ekstensi VS Code tidak membaca pengaturan proyek untuk mode izin awal. Di sana, atur claudeCode.initialPermissionMode ke plan dalam pengaturan pengguna VS Code Anda sebagai gantinya.

Hilangkan permintaan izin dengan mode otomatis

Mode otomatis memungkinkan Claude untuk dieksekusi tanpa permintaan izin rutin. Model pengklasifikasi terpisah meninjau tindakan sebelum dijalankan, memblokir apa pun yang melampaui permintaan Anda, menargetkan infrastruktur yang tidak dikenali, atau tampak didorong oleh konten bermusuhan yang dibaca Claude. Aturan ask eksplisit masih memaksa permintaan.

Pada paket Pro, Max, dan Team, mode otomatis adalah mode izin awal bawaan.

Pengklasifikasi juga meninjau setiap pesan yang dikirim Claude ke agen lain dengan SendMessage, baik teks biasa atau pesan tim agen terstruktur, sebelum Claude Code mengirimkannya, baik dalam mode otomatis maupun dalam mode rencana saat pengklasifikasi meninjau perintah; tinjauan pengiriman memerlukan Claude Code v2.1.222 atau lebih baru.

Pengklasifikasi juga meninjau dan menyetujui atau memblokir penghapusan rm dan rmdir yang menargetkan jalur kritis, seperti rm -rf / dan rm -rf ~, termasuk ketika penghapusan berada di dalam substitusi perintah atau proses.

Mode otomatis juga mendorong Claude untuk terus bekerja tanpa berhenti untuk pertanyaan klarifikasi, meskipun Claude masih bertanya ketika permintaan Anda atau keterampilan secara eksplisit bergantung padanya. Untuk perilaku otonom yang lebih kuat dalam mode yang masih meminta Anda, atur gaya output Proaktif sebagai gantinya.

Mode otomatis tersedia hanya ketika akun Anda memenuhi semua persyaratan ini:

  • Paket: Semua paket.
  • Organisasi: pada Team dan Enterprise, mode otomatis tersedia secara default. Administrator dapat mematikannya untuk organisasi dengan menetapkan permissions.disableAutoMode ke "disable" dalam pengaturan terkelola.
  • Model: pada Anthropic API dan Claude Platform on AWS, Claude Opus 4.6 atau lebih baru, Sonnet 4.6 atau lebih baru, atau model Fable. Pada Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan sesi gateway aplikasi Claude yang masuk, hanya Claude Sonnet 5, Opus 4.7 atau lebih baru, dan model Fable. Model yang lebih lama, termasuk Sonnet 4.5, Opus 4.5, Haiku, dan model claude-3, tidak didukung di penyedia mana pun.
  • Penyedia: tersedia secara default pada Anthropic API, Claude Platform on AWS, Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan sesi gateway aplikasi Claude yang masuk.

Jika Claude Code melaporkan mode otomatis sebagai tidak tersedia, pertama periksa persyaratan ini dan apakah file pengaturan apa pun menetapkan disableAutoMode. Anthropic juga mungkin telah mematikan mode otomatis di sisi server, atau server mungkin telah menolak mode otomatis untuk akun Anda. Sesi yang menerima salah satu jawaban membuat mode otomatis tetap mati sampai sesi berakhir, jadi mulai sesi baru nanti.

Pesan terpisah yang menyebutkan model dan mengatakan mode otomatis "tidak dapat menentukan keamanan" tindakan berarti permintaan pengklasifikasi gagal. Kegagalan itu biasanya bersifat sementara, tetapi pada Amazon Bedrock dapat berulang sampai akun Anda dapat memanggil model yang disebutkan. Lihat referensi kesalahan untuk penyebab dan apa yang harus dilakukan.

Jika Anda menetapkan defaultMode: "auto" dalam pengaturan dan sesi terminal dimulai dalam mode Manual tanpa kesalahan, pengaturan kemungkinan berada di .claude/settings.json atau .claude/settings.local.json. auto tidak berlaku dari file tersebut. Pindahkan ke ~/.claude/settings.json. Untuk percakapan yang dimulai ekstensi VS Code, periksa daftar ekstensi sendiri dalam Beralih mode izin sebagai gantinya.

Mode otomatis pada Bedrock, Agent Platform, atau Foundry

Pada Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan sesi gateway aplikasi Claude yang masuk, mode otomatis muncul dalam siklus Shift+Tab secara default. Muncul dalam siklus tidak mengubah mode izin yang dimulai sesi: pada penyedia ini, sesi terminal dimulai dalam defaultMode Anda, yang Manual kecuali Anda mengubahnya, dan percakapan dalam ekstensi VS Code dimulai dalam Manual kecuali claudeCode.initialPermissionMode atau mode yang Anda pilih dalam ekstensi menetapkan satu. Hanya Claude Sonnet 5, Opus 4.7 atau lebih baru, dan model Fable yang didukung pada penyedia ini.

Untuk membuat mode otomatis mode izin awal default, atur "permissions": {"defaultMode": "auto"} dalam pengaturan pengguna atau terkelola. Dalam sesi yang dimulai ekstensi VS Code, pilih Auto dari indikator mode sebagai gantinya. Beralih mode izin mencakup apa yang mengungguli pilihan itu.

Checkup /doctor mengusulkan default pengaturan pengguna ini pada penyedia ini dengan cara yang sama seperti pada Anthropic API.

Untuk mencegah pengembang menggunakan mode otomatis, atur disableAutoMode ke "disable" dalam pengaturan terkelola. Ini menghapus auto dari siklus Shift+Tab, dan sesi yang dimulai dengan --permission-mode auto dimulai dalam Manual sebagai gantinya. Sesi yang sudah berjalan dalam mode otomatis meninggalkannya ketika pengaturan mencapai sesi itu dari sumber yang diterapkan admin, dan menampilkan auto mode disabled by settings. Sebelum v2.1.251, sesi yang berjalan membuat mode otomatis sampai berakhir.

Dalam v2.1.158 hingga v2.1.206, mode otomatis mati pada penyedia ini sampai Anda menetapkan CLAUDE_CODE_ENABLE_AUTO_MODE=1, dan Claude Code mengabaikan defaultMode: "auto" pada penyedia ini kecuali variabel juga ditetapkan. Variabel masih diterima untuk kompatibilitas dan tidak berpengaruh dari v2.1.207 ke depan.

Apa yang diblokir pengklasifikasi secara default

Pengklasifikasi mempercayai direktori kerja Anda dan remote yang dikonfigurasi untuknya ketika sesi dimulai. Remote yang ditambahkan atau ditunjuk ulang selama sesi dengan git remote add atau git remote set-url tidak dipercaya, dan semuanya diperlakukan sebagai eksternal sampai Anda mengonfigurasi infrastruktur terpercaya. Sebelum v2.1.200, remote yang ditambahkan pertengahan sesi juga dipercaya.

Diblokir secara default:

  • Mengunduh dan menjalankan kode, seperti curl | bash
  • Mengirim data sensitif ke endpoint eksternal
  • Penerapan dan migrasi produksi
  • Penghapusan massal pada penyimpanan cloud
  • Memberikan izin IAM atau repo
  • Memodifikasi infrastruktur bersama
  • Menghancurkan file secara tidak dapat dibalikkan yang ada sebelum sesi
  • Force push
  • Melakukan commit atau push perubahan yang akan mengirim rahasia atau data sensitif di luar repositori ketika dijalankan, atau memperluas apa yang diekspos penerapan. Ini mencakup alur kerja CI atau konfigurasi penerapan yang menyerahkan rahasia ke tujuan yang tidak sudah menerimanya, skrip atau langkah penyiapan yang membaca penyimpanan rahasia dan mengirim data keluar, dan perubahan konfigurasi yang memperluas apa yang dipublikasikan penerapan, seperti pengaturan registri, visibilitas, artefak, atau sourcemap. Pemeriksaan berlaku di cabang apa pun, berlaku bahkan ketika repositori bersifat publik, dan terbang ketika perubahan mendarat, terlepas dari apakah pendaratan itu memicu pipeline; menghapusnya memerlukan penamaan efek eksekusi, bukan hanya commit atau push. Sebelum v2.1.211, pemeriksaan ini dibatasi pada cabang default sebagai gantinya: push di sana diblokir ketika membawa konten sensitif, perubahan tersembunyi atau salah dideskripsikan relatif terhadap apa yang Anda minta, konten yang diportasi dari luar repositori, atau dirutekan di sekitar tinjauan yang Anda minta
  • git reset --hard, git checkout -- ., git restore ., git clean -fd, git stash drop, atau git stash clear, yang pengklasifikasi asumsikan akan membuang perubahan yang tidak dilakukan commit
  • git commit --amend ketika commit di HEAD tidak dibuat dalam sesi ini
  • Dari v2.1.198, git commit --amend ketika commit di HEAD sudah di-push. Reword hanya pesan tidak diblokir: --amend -m tanpa apa pun yang baru di-stage, pada commit yang dibuat Claude selama sesi ini
  • terraform destroy, pulumi destroy, cdk destroy, atau terragrunt destroy, dan menerapkan rencana yang menghancurkan sumber daya

Claude Code v2.1.195 dan lebih baru memblokir lebih banyak kategori secara default. Beberapa bergantung pada entri lingkungan, seperti target remote sensitif dan cakupan IaC yang dilindungi, yang dapat Anda sempit ke nama konkret.

  • Menulis ke pengelola rahasia, atau mengubah catatan DNS atau sertifikat TLS
  • Menggabungkan permintaan tarik yang tidak disetujui manusia, menyetujui permintaan tarik Claude sendiri, atau menonaktifkan pemeriksaan CI
  • Memposting komentar yang merupakan perintah untuk otomasi, seperti atlantis apply atau /deploy atau /merge bot
  • Mengalihkan, merampingkan, atau menghapus bendera fitur produksi
  • Menerapkan perubahan infrastruktur ke cakupan IaC yang dilindungi, atau mengalirkan dan menghapus node cluster
  • Penulisan ke cluster komputasi bersama yang melampaui sumber daya yang Anda beri nama, seperti pemilih label atau --all yang menangkap pekerjaan pengguna lain
  • Membuat sumber daya Kubernetes yang berjalan di setiap node atau mencegat lalu lintas cluster, seperti DaemonSets dan webhook penerimaan
  • Shell interaktif atau port-forward ke target remote sensitif
  • Membuka terowongan atau shell terbalik yang membuat layanan lokal dapat dijangkau dari internet publik
  • Mencetak kredensial atau token langsung ke transkrip atau file
  • Mengakses lokasi yang tercantum sebagai lokasi data sensitif dalam lingkungan Anda, atau menyalin data keluar dari satu. Mulai v2.1.198 ini juga memblokir pengiriman data dari satu ke audiens yang dikecualikan entri
  • Merutekan instalasi paket di sekitar registri paket internal Anda ke registri publik. Mulai v2.1.198, ini juga berlaku ketika Anda telah memberi tahu Claude bahwa registri internal atau cermin ada dalam percakapan, bukan hanya ketika satu tercantum dalam lingkungan Anda
  • Menjalankan perintah dengan bendera yang melucuti penjaga keselamatan, seperti --insecure
  • Meluncurkan loop agen otonom yang berjalan tanpa persetujuan manusia atau sandbox, seperti yang dimulai dengan --dangerously-skip-permissions atau --no-sandbox. Mulai v2.1.198 ini juga mencakup menjalankan agen pihak ketiga atau harness eval dengan isolasi dan persetujuan per-tindakan dinonaktifkan, seperti runner yang dimulai dengan --yes-always
  • Tindakan browser Claude in Chrome yang dapat mengirim konten halaman, cookie, atau kredensial off-origin

Claude Code v2.1.198 dan lebih baru juga memblokir ini secara default:

  • Menghapus file di /tmp, $TMPDIR, atau direktori goresan atau cache bersama lainnya dengan wildcard, glob, atau filter usia daripada jalur bernama spesifik
  • Termasuk detail sensitif dalam konten yang dikirim, diunggah, dipublikasikan, atau ditulis ke orang lain atau sistem bersama, ketika pesan Anda sendiri tidak mengotorisasi detail tersebut untuk penerima itu. Badan PR dan masalah, pesan commit, dan komentar dihitung sebagai jenis konten keluar ini ketika repositori berada di luar batas kepercayaan atau publik, termasuk repositori publik organisasi Anda sendiri; jalur file internal, nama kode, data respons API langsung seperti email atau pengenal akun, dan pengenal infrastruktur dihitung sebagai detail sensitif. Scoping PR, masalah, dan pesan commit memerlukan Claude Code v2.1.200 atau lebih baru. Data pribadi langsung dari respons API dalam badan PR atau masalah, seperti alamat email, pengenal akun atau organisasi, atau metrik penggunaan, memerlukan Anda untuk menyebutkan detail tersebut dan penerima terlepas dari visibilitas atau batas kepercayaan repositori. Pemeriksaan itu memerlukan Claude Code v2.1.203 atau lebih baru
  • Mengirim keystroke ke pane tmux Claude Code sendiri untuk menjalankan antarmukanya sendiri, yang pengklasifikasi perlakukan sebagai Claude mengubah izin atau pengawasannya sendiri

Claude Code v2.1.200 dan lebih baru juga memblokir ini secara default:

  • Mengomentari, menghapus, atau force-passing tes atau pernyataan yang menjaga perilaku keamanan, seperti auth, kontrol akses, validasi input, atau sandboxing
  • Menghapus atau merobohkan sumber daya stateful yang tidak dibuat Claude dalam sesi, ketika tidak ada aturan penghapusan yang lebih spesifik berlaku dan Anda tidak menyebutkan sumber daya itu
  • Menunjuk ulang URL dasar API, endpoint proxy, penerima webhook, atau cermin registri ke host pihak ketiga yang tidak sesuai dengan tugas, termasuk dalam file contoh seperti .env.example
  • Mengubah ke mana push pergi dengan git remote set-url atau git remote add, kecuali Anda menyebutkan remote baru
  • Mendorong rahasia atau data pribadi atau terpercaya ke repositori yang diketahui publik, atau mendorong materi rahasia di sana yang bukan bagian dari pekerjaan repositori itu sendiri. Materi pelajaran repositori dotfiles sendiri adalah satu-satunya pengecualian untuk data pribadi atau terpercaya, dan konten dari repositori pribadi mencapai permukaan publik apa pun diblokir dengan cara yang sama; kedua penyempurnaan memerlukan Claude Code v2.1.203 atau lebih baru. Sebelum v2.1.203, data pribadi dikelompokkan dengan materi rahasia dan diblokir hanya ketika bukan bagian dari pekerjaan repositori itu sendiri. Ketika visibilitas repositori tidak ditetapkan, pengklasifikasi tidak memblokir itu saja; itu menilai konten terhadap aturan lain sebagai gantinya
  • Membuka permintaan tarik terhadap repositori atau organisasi yang berbeda, forking dengan gh repo fork, atau push ke repositori pihak ketiga, kecuali Anda menyebutkan target eksternal itu

Claude Code v2.1.203 dan lebih baru juga memblokir ini secara default:

  • Konten dari penyimpanan lokal sensitif, atau dari file yang nama, jalur, atau jenisnya menandainya sebagai sensitif, memasuki commit, push, teks PR atau masalah, gist atau paste, atau publikasi paket, kecuali Anda menyebutkan sumber dan tujuan. Transkrip sesi dan log percakapan, folder dot kredensial dan konfigurasi seperti kunci SSH, kredensial cloud, profil browser, dan riwayat shell, dan ekspor data pengguna semuanya dihitung, dan repositori menjadi pribadi tidak menghapusnya

Claude Code v2.1.205 dan lebih baru juga memblokir ini secara default:

  • Menulis ke transkrip sesi Claude Code, file riwayat .jsonl di bawah ~/.claude/projects/ atau direktori konfigurasi Anda yang dikonfigurasi, baik secara langsung maupun melalui perintah shell. Aturan juga mencakup baris metadata yang ditambahkan Claude Code ke setiap entri transkrip untuk pemeriksaannya sendiri. Membaca transkrip tidak diblokir
  • Penghapusan paksa rekursif seperti rm -rf "$VAR" atau Remove-Item -Recurse -Force $dir yang targetnya adalah variabel shell, atau glob yang berakar pada satu, yang tidak ditugaskan di mana pun dalam percakapan yang dilihat pengklasifikasi. Nilai datang hanya dari output perintah sebelumnya, yang tidak pernah diterima pengklasifikasi, jadi pengklasifikasi tidak dapat memverifikasi target penghapusan terhadap aturan penghapusan lainnya. Blok menghapus ketika Anda menyebutkan jalur pasti yang dihapus, atau ketika Claude menjalankan kembali penghapusan dengan jalur literal yang diselesaikan ditulis ke dalam perintah. Penghapusan yang target pengklasifikasi dapat diselesaikan tidak terpengaruh. Target Remove-Item yang merupakan * telanjang atau berakhir dalam /* atau \* tidak pernah mencapai pengklasifikasi: Claude Code menolak mereka sepenuhnya

Claude Code v2.1.257 dan lebih baru juga memblokir ini secara default:

  • Meminta kredensial dari endpoint metadata instans cloud, seperti 169.254.169.254, atau secara eksplisit mengautentikasi panggilan cloud, cluster, atau registri dengan identitas akun layanan atau node mesin itu sendiri
  • Menjangkau host publik dengan rute selain permintaan langsung, seperti terowongan, shell terbalik, atau konfigurasi resolver atau proxy yang ditulis ulang untuk menunjuk ke luar
  • Membaca kredensial yang dimiliki host daripada tugas Anda, seperti sertifikat node atau auth registri kontainer node
  • Menghubungkan ke atau memindai kontainer, pod, atau VM saudara yang tidak dimulai Claude, atau node di bawah kontainer

Jika Claude Code berjalan di tempat yang dimaksudkan untuk memungkinkan salah satu dari ini, jelaskan pengaturan itu dalam entri Host containment dalam autoMode.environment.

Claude Code v2.1.261 dan lebih baru juga memblokir ini secara default:

  • Memposting atau menulis tautan ke layanan paste publik, diagram, atau berbagi data dalam pesan, teks PR atau masalah, dokumen, atau di mana pun tautan akan dibuka atau diambil, ketika URL itu sendiri membawa konten yang dibagikan, kecuali Anda menyebutkan layanan itu

Diizinkan secara default:

  • Operasi file lokal di direktori kerja Anda
  • Menginstal dependensi yang dideklarasikan dalam file kunci atau manifes Anda
  • Membaca .env dan mengirim kredensial ke API yang cocok
  • Permintaan HTTP hanya-baca
  • Mendorong ke cabang apa pun dari repositori yang Anda kerjakan, termasuk cabang default. Cabang non-default yang nama menandainya sebagai target penerapan atau publikasi, seperti production atau gh-pages, tidak tercakup: pengklasifikasi menilai push di sana berdasarkan istilahnya sendiri. Konten push masih diperiksa terhadap aturan lain, permissions.deny rules masih dapat memblokir perintah push seperti yang ditulis dalam setiap mode, dan perlindungan cabang remote itu sendiri masih berlaku. Sebelum v2.1.211, hanya push ke cabang yang Anda mulai, cabang yang dibuat Claude, dan push rutin ke cabang default yang diizinkan secara default, dan sebelum v2.1.203 push langsung apa pun ke cabang default diblokir

Claude Code v2.1.195 dan lebih baru juga memungkinkan ini secara default:

  • Menghapus pekerjaan yang tepat yang dibuat Claude sebelumnya dalam sesi yang sama
  • Membaca, meninjau, atau menulis kode, konfigurasi, dan model ancaman terkait keamanan sebagai bagian dari tugas Anda
  • Pesan antara agen yang bekerja bersama dalam sesi multi-agen yang sama
  • Mengirim data ke domain terpercaya, bucket, dan layanan yang Anda daftarkan dalam environment. Ini mencakup aliran data saja, bukan operasi destruktif atau kredensial pada infrastruktur yang sama
  • Claude in Chrome navigasi ke domain internal terpercaya, localhost, atau URL yang Anda beri nama

Permintaan akses jaringan sandbox dirutekan melalui pengklasifikasi daripada diizinkan secara default. Mulai v2.1.198, pengklasifikasi menggunakan kembali verediknya untuk host dan port jaringan daripada menjalankan kembali pada setiap koneksi:

  • Izin digunakan kembali sampai konten baru memasuki percakapan, di mana titik host itu diperiksa lagi
  • Claude Code v2.1.234 dan lebih baru menggunakan kembali penolakan yang disebabkan oleh percakapan yang melampaui jendela konteks pengklasifikasi sampai konten baru memasuki percakapan, atau sampai pemadatan menyusutkan apa yang dibaca pengklasifikasi. Claude Code kemudian memeriksa host lagi
  • Penolakan yang dicapai pengklasifikasi dengan mengevaluasi permintaan berlangsung untuk giliran dalam CLI interaktif. Dalam mode non-interaktif dan sesi Agent SDK, Claude Code menggunakan kembali penolakan itu untuk sisa jalannya, karena sesi tersebut tidak memiliki batas giliran
  • Mengubah mode izin atau aturan Anda menghapus semua veredik yang di-cache

Jalankan claude auto-mode defaults untuk mencetak daftar aturan lengkap sebagai JSON. Jika tindakan rutin diblokir, administrator dapat menambahkan repo terpercaya, bucket, dan layanan melalui pengaturan autoMode.environment: lihat Konfigurasi mode otomatis.

Mendorong ke cabang apa pun dari repositori yang Anda kerjakan dan membuat permintaan tarik yang cocok dengan permintaan Anda berjalan tanpa permintaan, kecuali push atau permintaan tarik jatuh di bawah daftar diblokir, seperti rahasia atau data sensitif meninggalkan repositori, atau permintaan tarik yang menargetkan repositori atau organisasi yang berbeda. Untuk memerlukan checkpoint manusia sebelum tindakan ini sambil tetap dalam mode otomatis, tambahkan aturan permissions.ask, yang cocok dengan perintah seperti yang ditulis: lihat Batas umum.

Pembacaan pertama di luar direktori kerja

Sementara permissions.blockReadsOutsideWorkingDirectories mati, pembacaan file berjalan tanpa permintaan dalam mode otomatis, termasuk pembacaan di luar direktori kerja. Pertama kali Claude menggunakan alat Read, Grep, atau Glob pada jalur di luar mereka, Claude Code menanyakan Anda apakah akan terus memungkinkan pembacaan tersebut.

Permintaan tidak muncul dalam -p non-interaktif atau sesi latar belakang; pembacaan di sana berjalan seperti sebelumnya.

Apa pun yang Anda jawab, Claude terus bekerja:

  • Terus izinkan: pembacaan berjalan, pembacaan nanti di luar direktori kerja berjalan seperti sebelumnya, dan Claude Code mencatat jawaban Anda sehingga permintaan tidak muncul lagi
  • Blokir mulai sekarang: pembacaan ditolak, dan Claude Code menetapkan permissions.blockReadsOutsideWorkingDirectories ke true dalam pengaturan pengguna Anda, yang membuat alat file menolak pembacaan tersebut dalam setiap sesi nanti dan setiap mode izin. Untuk membiarkan Claude membaca jalur seperti itu nanti, tambahkan direktorinya dengan /add-dir atau hapus pengaturannya.
  • Tanya lagi lain kali: pembacaan ditolak, dan pembacaan berikutnya di luar direktori kerja meminta lagi

Batas yang Anda nyatakan dalam percakapan

Pengklasifikasi memperlakukan batas yang Anda nyatakan dalam percakapan sebagai sinyal blok. Jika Anda memberi tahu Claude "jangan push" atau "tunggu sampai saya meninjau sebelum menerapkan", pengklasifikasi memblokir tindakan yang cocok bahkan ketika aturan default akan memungkinkannya. Batas tetap berlaku sampai Anda mengangkatnya dalam pesan nanti. Penilaian Claude sendiri bahwa kondisi terpenuhi tidak mengangkatnya.

Batas tidak disimpan sebagai aturan. Pengklasifikasi membaca ulang mereka dari transkrip pada setiap pemeriksaan, jadi batas dapat hilang jika pemadatan konteks menghapus pesan yang menyatakannya. Untuk jaminan keras, tambahkan aturan deny sebagai gantinya.

Ketika mode otomatis jatuh kembali

Ketika mode otomatis tidak dapat menyetujui tindakan sesi Anda, apa yang terjadi tergantung pada kasusnya:

  • Tindakan yang diblokir: Claude Code menampilkan notifikasi dan mencantumkan tindakan dalam /permissions di bawah tab Recently denied, di mana Anda dapat menekan r untuk mencoba ulang dengan persetujuan manual. Ketika pengklasifikasi menghasilkan tidak ada veredik pada tindakan, karena pemeriksaan keamanan terpisah dari mode otomatis menolak permintaan pengklasifikasi sendiri atau responsnya tidak diuraikan, Claude Code menolak tindakan tanpa notifikasi atau entri Recently denied.
  • Blok berulang: jika pengklasifikasi memblokir tindakan 3 kali berturut-turut atau 20 kali total, mode otomatis berhenti dan Claude Code melanjutkan permintaan. Menyetujui tindakan yang diminta melanjutkan mode otomatis. Ambang batas ini tidak dapat dikonfigurasi. Tindakan yang diizinkan apa pun mengatur ulang penghitung berturut-turut, sementara penghitung total bertahan untuk sesi dan mengatur ulang hanya ketika batasnya sendiri memicu fallback. Claude Code tidak menghitung penolakan terhadap ambang batas apa pun ketika pemeriksaan keamanan terpisah dari mode otomatis menolak permintaan pengklasifikasi; entri tertaut mencakup cara Claude Code menangani penolakan tersebut.
  • Sesi yang tidak dapat meminta: jalankan -p non-interaktif tanpa --permission-prompt-tool tidak memiliki permintaan untuk jatuh kembali. Ketika blok berulang mencapai ambang batas, tindakan tidak berjalan dan Claude terus bekerja. Hal yang sama berlaku ketika pemeriksaan keamanan terpisah dari mode otomatis menolak permintaan pengklasifikasi. Claude Code tidak menghentikan jalannya dalam kedua kasus.
  • Beralih mode selama pemeriksaan: jika Anda beralih mode izin sementara pemeriksaan pengklasifikasi tertunda, Claude Code membuang veredik yang mode baru tidak akan meminta daripada menerapkannya: Anda diminta persetujuan sebagai gantinya, atau tindakan auto-ditolak dalam mode dontAsk.

Blok berulang biasanya berarti pengklasifikasi kehilangan konteks tentang infrastruktur Anda. Gunakan /feedback untuk melaporkan positif palsu, atau biarkan administrator mengonfigurasi infrastruktur terpercaya.

Setiap tindakan melalui urutan keputusan tetap. Langkah pertama yang cocok menang:
1. Tindakan yang cocok dengan [aturan allow, ask, atau deny](/docs/id/permissions#manage-permissions) Anda diselesaikan segera. Penulisan ke [jalur yang dilindungi](#protected-paths) dirutekan ke pengklasifikasi bahkan ketika aturan allow cocok, dan begitu juga penghapusan `rm` dan `rmdir` yang menargetkan [jalur kritis](#critical-paths) dalam Claude Code v2.1.218 dan lebih baru. Alat MCP yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool) meminta Anda secara langsung bahkan ketika aturan allow cocok, dan begitu juga alat konektor [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools) dalam sesi di mana pengaturan itu mencapai Claude Code. Aturan ask yang cocok pada konten perintah, seperti `Bash(git push *)`, jatuh kembali ke permintaan izin
2. Tindakan hanya-baca dan pengeditan file di direktori kerja Anda secara otomatis disetujui, kecuali penulisan ke [jalur yang dilindungi](#protected-paths) dan [pembacaan pertama di luar direktori kerja](#first-read-outside-the-working-directories), yang meminta Anda
3. Semuanya yang lain pergi ke pengklasifikasi. Alat konektor dan alat MCP `requiresUserInteraction` yang meminta Anda secara langsung dalam langkah 1 tidak pernah mencapai pengklasifikasi, jadi persetujuan yang diperlukan organisasi atau langkah persetujuan tidak disetujui secara otomatis
4. Jika pengklasifikasi memblokir, Claude menerima alasan dan mencoba alternatif. Dalam sebagian besar sesi alasan adalah teks tetap `Blocked by classifier` daripada penjelasan tertulis; lihat [Tinjau penolakan](/docs/id/auto-mode-config#review-denials)

Saat memasuki mode otomatis, aturan allow luas yang memberikan eksekusi kode arbitrer dijatuhkan:

* Blanket `Bash(*)` atau `PowerShell(*)`
* Interpreter dengan wildcard seperti `Bash(python*)`
* Perintah jalankan pengelola paket
* Aturan allow `Agent`
* [`Monitor`](/docs/id/tools-reference#monitor-tool) aturan allow, karena Claude Code menjalankan perintah Monitor melalui shell

Aturan sempit seperti `Bash(npm test)` tetap berlaku. Claude Code mengembalikan aturan yang dijatuhkan ketika Anda meninggalkan mode otomatis. Sebelum v2.1.236, Claude Code membiarkan aturan allow `Monitor` berlaku dalam mode otomatis, jadi aturan yang cocok dengan seluruh alat menyetujui perintah Monitor tanpa tinjauan pengklasifikasi.

Claude Code juga menjalankan `git status` itu sendiri sebelum perintah yang akan membuang pekerjaan yang tidak dilakukan commit, seperti `git reset --hard` atau `rm -rf`, dan menunjukkan pengklasifikasi apakah pekerjaan staged, modified, atau untracked ada. Claude Code melaporkan file untracked dalam pemeriksaan itu bahkan ketika konfigurasi git repositori menetapkan `status.showUntrackedFiles=no`.

Pengklasifikasi melihat pesan pengguna, panggilan alat selain pencarian hanya-baca seperti pembacaan file dan pencarian, dan konten CLAUDE.md Anda. Hasil alat dilepas, jadi konten bermusuhan dalam file atau halaman web tidak dapat memanipulasinya secara langsung. Anda dapat memberi anotasi hasil panggilan dengan [field `classifierContext` hook PostToolUse](/docs/id/hooks#annotate-a-result-for-the-auto-mode-classifier), yang dibaca pengklasifikasi sebagai konteks yang disediakan aplikasi.

Probe server-side terpisah memindai hasil alat masuk dan menandai konten mencurigakan sebelum Claude membacanya. Untuk lebih lanjut tentang cara lapisan ini bekerja bersama, lihat [pengumuman mode otomatis](https://claude.com/blog/auto-mode) dan [penggalian teknik](https://www.anthropic.com/engineering/claude-code-auto-mode).
Bagaimana mode otomatis menangani subagen

Pengklasifikasi memeriksa pekerjaan subagen di tiga titik:

  1. Sebelum subagen dimulai, deskripsi tugas yang didelegasikan dievaluasi, jadi tugas yang terlihat berbahaya diblokir pada waktu spawn.
  2. Sementara subagen berjalan, setiap tindakannya melalui pengklasifikasi dengan aturan yang sama seperti sesi induk, dan permissionMode apa pun dalam frontmatter subagen diabaikan.
  3. Ketika subagen selesai, pengklasifikasi meninjau riwayat tindakan lengkapnya; jika pemeriksaan pengembalian itu menandai kekhawatiran, peringatan keamanan ditambahkan ke depan hasil subagen. Ketika pemeriksaan keamanan API terpisah menolak permintaan tinjauan itu sendiri, Claude Code masih mengembalikan hasil subagen, ditambahkan dengan peringatan bahwa pekerjaan tidak ditinjau dan harus diperlakukan sebagai tidak terpercaya.

Langkah 1 memerlukan Claude Code v2.1.178 atau lebih baru. Versi sebelumnya menerapkan pengklasifikasi pada langkah 2 dan 3, tetapi tidak mengevaluasi deskripsi tugas sebelum subagen dimulai.

Biaya dan latensi

Pengklasifikasi berjalan pada Claude Sonnet 5 secara default daripada pada pilihan /model Anda. Model pengklasifikasi yang dikonfigurasi Anthropic di sisi server mengambil alih default itu. Ketika model sesi Anda adalah Claude Sonnet 4.6, atau ketika availableModels mengecualikan Sonnet 5, pengklasifikasi berjalan pada model sesi Anda sebagai gantinya, atau pada model Opus ketika sesi berjalan pada model Fable; pada penyedia selain Anthropic API, fallback Opus itu adalah model Opus default penyedia.

Permintaan mode otomatis pertama sesi memvalidasi default Sonnet 5: jika permintaan berhasil, Sonnet 5 tetap model pengklasifikasi sesi, dan jika gagal karena model tidak tersedia, sesi menggunakan fallback sebagai gantinya. Setelah validasi itu diselesaikan, model pengklasifikasi tidak berubah untuk sesi.

Pada paket Enterprise dan pada akun yang menggunakan Claude API, Claude Platform on AWS, Amazon Bedrock, Agent Platform Google Cloud, atau Microsoft Foundry, panggilan pengklasifikasi dihitung terhadap penggunaan token Anda. Setiap pemeriksaan mengirim sebagian dari transkrip ditambah tindakan yang tertunda, menambahkan putaran perjalanan sebelum eksekusi. Pembacaan dan pengeditan direktori kerja di luar jalur yang dilindungi melewati pengklasifikasi, jadi overhead datang terutama dari perintah shell dan operasi jaringan.

Pengklasifikasi menggunakan kembali veredik jaringan sandbox untuk host dan port, jadi koneksi berulang ke host yang sama tidak masing-masing menambahkan pemeriksaan. Apa yang diblokir pengklasifikasi secara default menjelaskan berapa lama izin dan penolakan berlangsung.

Izinkan hanya alat yang telah disetujui sebelumnya dengan mode dontAsk

Jika Anda menetapkan mode dontAsk, Claude Code secara otomatis menolak setiap panggilan alat yang akan meminta sebaliknya. Claude masih menjalankan tindakan yang tidak memerlukan persetujuan dalam mode Manual, seperti pembacaan file di dalam direktori kerja Anda dan perintah Bash read-only, ditambah tindakan yang cocok dengan aturan permissions.allow Anda dan panggilan yang disetujui oleh hook PreToolUse. Gunakan mode ini untuk pipeline CI atau lingkungan terbatas di mana Anda pre-define apa yang Claude boleh lakukan; sesi tidak pernah menunggu input. Bilah status menunjukkan ⏵⏵ don't ask on saat mode ini aktif.

Claude Code menolak panggilan yang cocok dengan aturan ask eksplisit Anda daripada meminta. Ini juga menolak alat AskUserQuestion bawaan bahkan jika aturan allow Anda cocok dengannya, dan melakukan hal yang sama untuk alat konektor organisasi Anda atur ke ask dalam sesi di mana pengaturan itu mencapai Claude Code. Ini menolak alat MCP yang ditandai _meta["anthropic/requiresUserInteraction"] dengan cara yang sama, karena kartu persetujuan mereka memerlukan jawaban yang mode ini tidak pernah kumpulkan; ini memerlukan Claude Code v2.1.199 atau lebih baru.

Penghapusan rm dan rmdir yang menargetkan jalur kritis, seperti rm -rf / dan rm -rf ~, ditolak bahkan ketika aturan allow cocok dengannya atau hook PreToolUse memungkinkannya.

Sesi cloud di Claude Code di web mengabaikan defaultMode: "dontAsk"; lihat bypassPermissions untuk detail.

Atur saat startup dengan flag:

claude --permission-mode dontAsk

Lewati semua pemeriksaan dengan mode bypassPermissions

Mode bypassPermissions menonaktifkan prompt izin dan pemeriksaan keamanan sehingga panggilan alat dijalankan segera, termasuk penulisan ke jalur yang dilindungi.

Tindakan yang tidak ada mode auto-approve masih meminta dalam mode ini.

Dua perlindungan pesan lintas sesi masih berlaku dalam mode ini, dan dalam sesi mode rencana di mana bypass permissions tersedia:

  • Prompt persetujuan isolatePeerMachines untuk pesan ke sesi Anda di luar mesin ini masih muncul.
  • Ketika tidak ada nilai crossSessionInbound berlaku, Claude Code menahan pesan masuk dari sesi lain Anda untuk persetujuan Anda, dan mengirimkan tanpa bertanya hanya ketika sesi pengirim mengidentifikasi dirinya sebagai juga melewati prompt izin. Jika Anda meninggalkan mode izin saat pesan ditahan, Claude Code menerapkan kembali aturan masuk dan mengirimkan pesan yang ditahan apa pun yang sekarang diterima.

Dalam sesi dengan bypass permissions tersedia, Claude Code juga tidak memberlakukan blokir mode rencana. Claude masih diinstruksikan untuk merencanakan tanpa mengedit, tetapi pengeditan file atau perintah shell yang dicoba selama perencanaan berjalan tanpa meminta. Aturan ask eksplisit dan penghapusan rm dan rmdir yang menargetkan jalur kritis masih meminta.

Anda tidak dapat memasukkan bypassPermissions dari sesi yang dimulai tanpa itu diaktifkan. Aktifkan saat peluncuran dengan permissions.defaultMode: "bypassPermissions" atau dengan flag yang mengaktifkan:

claude --permission-mode bypassPermissions

Flag --dangerously-skip-permissions setara.

Claude Code menolak bypassPermissions dalam sesi yang Anda mulai dengan --restricted. --restricted memerlukan Claude Code v2.1.248 atau lebih baru.

Pertama kali Anda memulai sesi interaktif dengan mode ini diaktifkan, Claude Code menampilkan dialog peringatan yang meminta Anda menerima tanggung jawab untuk tindakan yang diambil tanpa pemeriksaan izin. Claude Code menyimpan penerimaan Anda ke pengaturan pengguna, jadi dialog muncul hanya sekali. Jika Anda menolak, Claude Code keluar. Dalam mode non-interaktif tidak ada dialog yang ditampilkan, dan sesi latar belakang yang dimulai dengan --bg ditolak sampai Anda telah menerima dialog dalam sesi interaktif.

Di Linux dan macOS, Claude Code menolak untuk memulai dalam mode ini saat berjalan sebagai root atau di bawah sudo:

--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons

Pemeriksaan dilewati secara otomatis di dalam sandbox yang dikenali. Untuk menjalankan secara otonom dalam kontainer, gunakan konfigurasi dev container, yang menjalankan Claude Code sebagai pengguna non-root.

Claude Code di web tidak menghormati defaultMode: "bypassPermissions" atau "dontAsk" dari file pengaturan Anda, jadi pengaturan yang diperiksa dalam repositori tidak dapat memulai sesi cloud dalam mode bypass-permissions. Pengaturan diabaikan secara diam-diam dan sesi dimulai dalam mode izin yang ditampilkan di dropdown mode sebagai gantinya. Lihat Alihkan mode izin untuk mode mana yang ditawarkan sesi cloud.

Jalur yang dilindungi

Penulisan ke serangkaian jalur kecil tidak pernah disetujui otomatis, kecuali dalam mode bypassPermissions dan dalam sesi mode rencana dengan bypass permissions tersedia. Ini mencegah kerusakan yang tidak disengaja dari status repositori dan konfigurasi Claude sendiri.

Mode Penulisan jalur yang dilindungi
default, acceptEdits Diminta
plan Diizinkan dalam sesi dengan bypass permissions tersedia. Jika tidak, dirutekan ke pengklasifikasi ketika mode auto tersedia selama perencanaan, dan diminta ketika tidak
auto Dirutekan ke pengklasifikasi
dontAsk Ditolak
bypassPermissions Diizinkan

Dalam sesi yang dimulai dengan --restricted, yang memerlukan Claude Code v2.1.248 atau lebih baru, pengklasifikasi tidak dapat menyetujui penulisan jalur yang dilindungi.

Aturan permissions.allow dalam file pengaturan tidak pra-menyetujui penulisan jalur yang dilindungi. Pemeriksaan keamanan berjalan sebelum Claude Code mengevaluasi aturan allow dari pengaturan, jadi entri seperti Edit(.claude/**) dalam ~/.claude/settings.json atau .claude/settings.json tidak mengubah hasil per-mode dalam tabel di atas. Dalam mode yang meminta, prompt untuk penulisan .claude/ menawarkan Ya, dan izinkan Claude untuk mengedit pengaturannya sendiri untuk sesi ini, yang menyetujui penulisan .claude/ berikutnya dalam sesi itu tanpa meminta lagi.

Direktori yang dilindungi:

  • .git
  • .config/git
  • .vscode
  • .idea
  • .husky
  • .cargo
  • .devcontainer
  • .yarn
  • .mvn
  • .claude, kecuali untuk .claude/worktrees di mana Claude menyimpan git worktrees-nya sendiri

File yang dilindungi:

  • .gitconfig, .gitmodules
  • .bashrc, .bash_profile, .bash_login, .bash_aliases, .bash_logout, .zshrc, .zprofile, .zshenv, .zlogin, .zlogout, .profile, .envrc
  • .npmrc, .yarnrc, .yarnrc.yml, .pnp.cjs, .pnp.loader.mjs, .pnpmfile.cjs, bunfig.toml, .bunfig.toml
  • .bazelrc, .bazelversion, .bazeliskrc
  • .pre-commit-config.yaml, lefthook.yml, lefthook.yaml, .lefthook.yml, .lefthook.yaml
  • gradle-wrapper.properties, maven-wrapper.properties
  • .devcontainer.json
  • .ripgreprc, pyrightconfig.json
  • .mcp.json, .claude.json

Jalur kritis

Claude Code tidak pernah membiarkan aturan permissions.allow atau hook PreToolUse yang mengembalikan "allow" menyetujui perintah rm atau rmdir yang menargetkan jalur kritis, bahkan dalam mode yang melewati prompt lain. Pemutus sirkuit ini menjaga terhadap kesalahan model. Aturan deny yang cocok masih memblokir perintah sepenuhnya.

Apa yang terjadi sebagai gantinya bergantung pada mode izin Anda:

Mode Apa yang dilakukan Claude Code dengan penghapusan jalur kritis
default, acceptEdits Meminta Anda untuk menyetujuinya
plan Meminta Anda untuk menyetujuinya. Dengan mode auto tersedia selama perencanaan dan tidak ada bypass permissions tersedia, mengirimkannya ke pengklasifikasi sebagai gantinya
auto Mengirimkannya ke pengklasifikasi
dontAsk Menolaknya
bypassPermissions Meminta Anda untuk menyetujuinya

Jika aturan ask eksplisit cocok dengan perintah, Claude Code meminta Anda bahkan dalam mode auto. Dalam mode yang meminta, hook PermissionRequest dapat menjawab prompt dengan cara yang menjawab apa pun yang lain.

Claude Code memperlakukan target rm atau rmdir sebagai jalur kritis ketika itu adalah salah satu dari yang berikut:

  • Akar filesystem
  • Direktori tingkat atas, artinya anak langsung apa pun dari akar, seperti /usr, /etc, atau /data
  • Direktori home Anda
  • Akar drive Windows dan direktori tingkat atas mereka, seperti C:\ dan C:\Windows
  • Direktori kerja Anda dan induknya
  • Direktori kerja tambahan Anda dan induk mereka, tetapi hanya ketika penghapusan adalah glob di bawah salah satu dari mereka, seperti rm -rf <dir>/*. rm -rf <dir> pada direktori itu sendiri tidak memicu pemeriksaan ini

Claude Code juga memperlakukan glob atau garis miring di bawah variabel shell, seperti rm -rf "$DIR"/*, sebagai penghapusan jalur kritis, karena perintah menjadi penghapusan dari akar filesystem ketika variabel kosong.

Menyembunyikan penghapusan di dalam substitusi perintah dengan $(...) atau backtick, atau substitusi proses dengan <(...), tidak melewati pemeriksaan. Claude Code menemukan penghapusan jalur kritis apakah itu berada di dalam substitusi, seperti dalam echo "$(rm -rf ~)", atau di tempat lain dalam perintah yang sama.

Remove-Item dalam PowerShell

Ketika Anda mengaktifkan alat PowerShell, Claude Code memberikan Remove-Item pemeriksaannya sendiri, terpisah dari daftar jalur kritis rm. Hasilnya bergantung pada target, dan kasus pertama yang cocok berlaku:

  • Jalur sistem: akar filesystem dan direktori tingkat atasnya, akar drive dan direktori tingkat atas mereka, dan direktori home Anda. Claude Code menolak perintah di setiap mode, tanpa bertanya kepada Anda.
  • Wildcard: bare *, atau target apa pun yang berakhir dalam /* atau \*, termasuk glob di bawah variabel shell seperti $dir/*. Claude Code menolak perintah di setiap mode, tanpa bertanya kepada Anda, sebelum pengklasifikasi melihatnya.
  • Direktori kerja Anda atau salah satu induknya, dengan -Recurse: Claude Code memperlakukan perintah seperti apa pun yang memerlukan persetujuan dalam mode izin Anda, jadi itu meminta Anda dalam mode yang meminta, mengirimkannya ke pengklasifikasi dalam mode auto, dan menolaknya dalam mode dontAsk. Mode bypassPermissions melewati pemeriksaan ini.

Lihat juga

  • Permissions: aturan allow, ask, dan deny; kebijakan terkelola
  • Konfigurasi mode auto: beri tahu pengklasifikasi infrastruktur mana yang dipercaya organisasi Anda
  • Hooks: logika izin kustom melalui hook PreToolUse dan PermissionRequest
  • Security: perlindungan dan praktik terbaik
  • Sandboxing: isolasi filesystem dan jaringan untuk perintah Bash
  • Mode non-interaktif: jalankan Claude Code dengan flag -p