Langsung ke konten utama
Ketika Claude mengabaikan instruksi atau fitur yang Anda konfigurasi tidak muncul, penyebabnya biasanya adalah file tidak dimuat, dimuat dari lokasi berbeda dari yang Anda harapkan, atau file lain menggantinya. Panduan ini menunjukkan cara memeriksa apa yang benar-benar dimuat oleh Claude Code sehingga Anda dapat mempersempit mana yang berlaku. Untuk masalah instalasi, autentikasi, dan konektivitas, lihat Troubleshooting sebagai gantinya.

Lihat apa yang dimuat ke dalam context

Perintah /context menampilkan semua yang menempati jendela context untuk sesi saat ini, dipecah berdasarkan kategori: system prompt, file memory, skills, alat MCP, dan pesan percakapan. Jalankan terlebih dahulu untuk mengonfirmasi apakah CLAUDE.md, rules, atau deskripsi skill Anda ada sama sekali. Untuk detail tentang kategori tertentu, lanjutkan dengan perintah khusus:
PerintahMenampilkan
/memoryFile CLAUDE.md dan rules mana yang dimuat, ditambah entri auto-memory
/skillsSkill yang tersedia dari sumber proyek, pengguna, dan plugin
/agentsSubagent yang dikonfigurasi dan pengaturannya
/hooksKonfigurasi hook aktif
/mcpServer MCP yang terhubung dan statusnya
/permissionsAturan allow dan deny yang diselesaikan saat ini berlaku
/doctorDiagnostik konfigurasi: kunci tidak valid, kesalahan schema, kesehatan instalasi
/statusSumber pengaturan aktif, termasuk apakah pengaturan terkelola berlaku
Jika file memory hilang dari /memory, periksa lokasinya terhadap bagaimana file CLAUDE.md dimuat. File CLAUDE.md subdirektori dimuat sesuai permintaan ketika Claude membaca file di direktori itu dengan alat Read, bukan pada awal sesi. Jika /memory mengonfirmasi file dimuat tetapi Claude masih tidak mengikuti instruksi tertentu, masalahnya kemungkinan adalah cara instruksi ditulis daripada apakah itu dimuat. CLAUDE.md bekerja dengan baik untuk jenis panduan yang akan Anda berikan kepada rekan kerja baru, seperti konvensi proyek, perintah build, dan di mana file berada. Kepatuhan menurun ketika instruksi cukup samar untuk diinterpretasikan dengan berbagai cara, ketika dua file memberikan arahan yang bertentangan, atau ketika file telah tumbuh cukup panjang sehingga aturan individual mendapat perhatian lebih sedikit. Tulis instruksi yang efektif mencakup pola spesifisitas, ukuran, dan struktur yang menjaga kepatuhan tetap tinggi.
CLAUDE.md dan permissions menyelesaikan masalah yang berbeda. CLAUDE.md memberi tahu Claude bagaimana proyek Anda bekerja sehingga membuat keputusan yang baik. Permissions dan hooks memberlakukan batas terlepas dari apa yang Claude putuskan. Gunakan CLAUDE.md untuk “kami melakukannya dengan cara ini di sini.” Gunakan permissions atau hooks untuk batas keamanan dan apa pun yang tidak boleh terjadi, di mana Anda membutuhkan jaminan daripada panduan.

Periksa pengaturan yang diselesaikan

Pengaturan menggabungkan di seluruh cakupan terkelola, pengguna, proyek, dan lokal. Pengaturan terkelola selalu menang ketika ada. Di antara sisanya, cakupan yang lebih dekat menggantikan yang lebih luas dalam urutan lokal, kemudian proyek, kemudian pengguna. Beberapa pengaturan juga dapat diatur oleh flag baris perintah atau variabel lingkungan, yang bertindak sebagai lapisan penggantian lain. Ketika pengaturan tidak tampak berlaku, nilai yang Anda atur biasanya ditimpa oleh cakupan lain atau variabel lingkungan. Jalankan /doctor untuk memvalidasi file konfigurasi Anda dan permukaan kunci tidak valid atau kesalahan schema. Jalankan /status untuk melihat sumber pengaturan mana yang aktif, termasuk apakah pengaturan terkelola berlaku. Untuk memahami cakupan mana yang menang untuk kunci tertentu, lihat Bagaimana cakupan berinteraksi.

Periksa server MCP

Jalankan /mcp untuk melihat setiap server yang dikonfigurasi, status koneksinya, dan apakah Anda telah menyetujuinya untuk proyek saat ini. Server dapat didefinisikan dengan benar tetapi masih tidak menyediakan alat untuk beberapa alasan umum:
  • Server berscopeproyek di .mcp.json memerlukan persetujuan satu kali. Jika prompt ditutup, server tetap dinonaktifkan sampai Anda menyetujuinya dari /mcp.
  • Server yang gagal dimulai ditampilkan sebagai gagal di /mcp. Jalur file relatif di command atau args adalah penyebab yang sering, karena mereka diselesaikan terhadap direktori tempat Anda meluncurkan Claude Code daripada lokasi .mcp.json.
  • Server yang menampilkan sebagai terhubung tetapi mencantumkan alat nol telah dimulai dengan sukses tetapi tidak mengembalikan daftar alat. Pilih Reconnect dari /mcp. Jika hitungan tetap nol, jalankan claude --debug mcp untuk melihat output stderr server.
Untuk lokasi konfigurasi dan aturan cakupan, lihat MCP.

Periksa hooks

Jalankan /hooks untuk mencantumkan setiap hook yang terdaftar untuk sesi saat ini, dikelompokkan berdasarkan acara. Jika hook yang Anda tentukan tidak muncul, itu tidak dibaca: hooks berada di bawah kunci "hooks" dalam file pengaturan, bukan dalam file mandiri. Jika hook muncul tetapi tidak aktif, matcher adalah penyebab yang biasa. Bidang matcher adalah string tunggal yang menggunakan | untuk mencocokkan beberapa nama alat, misalnya "Edit|Write". Nama alat yang salah eja gagal diam-diam karena matcher tidak pernah cocok. Nilai array adalah kesalahan schema: Claude Code menampilkan pemberitahuan kesalahan pengaturan, /doctor melaporkan kegagalan validasi, dan entri hook dijatuhkan sehingga tidak akan muncul di /hooks. Edit ke settings.json berlaku dalam sesi yang berjalan setelah penundaan stabilitas file singkat. Anda tidak perlu memulai ulang. Jika /hooks masih menampilkan definisi lama beberapa detik setelah menyimpan, jalankan /hooks lagi untuk menyegarkan tampilan. Jika /hooks menampilkan hook tetapi masih tidak aktif, langkah berikutnya adalah menonton evaluasi hook secara langsung. Mulai sesi dengan claude --debug hooks dan picu panggilan alat. Log debug mencatat setiap acara, matcher mana yang diperiksa, dan kode keluar dan output hook. Lihat Debug hooks untuk format log dan troubleshooting hooks untuk pola kegagalan umum.

Penyebab umum

Sebagian besar kejutan konfigurasi dapat dilacak kembali ke serangkaian kecil aturan lokasi dan sintaks. Periksa ini sebelum menganggap bug:
GejalaPenyebabPerbaikan
Hook tidak pernah aktifmatcher adalah array JSON bukan stringGunakan string tunggal dengan | untuk mencocokkan beberapa alat, misalnya "Edit|Write". Lihat pola matcher.
Hook tidak pernah aktifNilai matcher adalah huruf kecil, misalnya "bash"Pencocokan peka huruf besar-kecil. Nama alat dikapitalisasi: Bash, Edit, Write, Read.
Hook tidak pernah aktifHook berada dalam file .claude/hooks.json mandiriTidak ada file hooks mandiri. Tentukan hooks di bawah kunci "hooks" di settings.json. Lihat konfigurasi hook.
Permissions, hooks, atau env yang diatur secara global diabaikanKonfigurasi ditambahkan ke ~/.claude.json~/.claude.json menyimpan status aplikasi dan toggle UI. permissions, hooks, dan env termasuk dalam ~/.claude/settings.json. Ini adalah dua file berbeda.
Nilai settings.json tampak diabaikanKunci yang sama diatur di settings.local.jsonsettings.local.json menggantikan settings.json, dan keduanya menggantikan ~/.claude/settings.json. Lihat preseden pengaturan.
Skill tidak muncul di /skillsFile skill berada di .claude/skills/name.md bukan dalam folderGunakan folder dengan SKILL.md di dalamnya: .claude/skills/name/SKILL.md.
Skill muncul di /skills tetapi Claude tidak pernah menginvokasinyaSkill memiliki disable-model-invocation: true di frontmatter-nya, atau deskripsinya tidak cocok dengan cara Anda merumuskan permintaanPeriksa lencana di /skills: label “user-only” berarti Claude tidak akan memicunya sendiri. Lihat skill invocation.
Instruksi CLAUDE.md subdirektori tampak diabaikanFile subdirektori dimuat sesuai permintaan, bukan pada awal sesiMereka dimuat ketika Claude membaca file di direktori itu dengan alat Read, bukan saat peluncuran dan bukan saat menulis atau membuat file di sana. Lihat bagaimana file CLAUDE.md dimuat.
Subagent mengabaikan instruksi CLAUDE.mdSubagent tidak selalu mewarisi memory proyekLetakkan aturan penting di badan file agen, yang menjadi system prompt subagent. Lihat konfigurasi subagent.
Logika pembersihan tidak pernah berjalan di akhir sesiTidak ada hook SessionEnd yang dikonfigurasiSessionStart dan SessionEnd keduanya ada. Lihat daftar acara hook.
Server MCP di .mcp.json tidak pernah dimuatFile berada di bawah .claude/ atau menggunakan format konfigurasi Claude DesktopKonfigurasi MCP proyek berada di akar repositori sebagai .mcp.json, bukan di dalam .claude/. Lihat konfigurasi MCP.
Server MCP proyek ditambahkan tetapi tidak munculPrompt persetujuan satu kali ditutupServer berscopeproyek memerlukan persetujuan. Jalankan /mcp untuk melihat status dan setujui.
Server MCP gagal dimulai dari beberapa direktoricommand atau args menggunakan jalur file relatifGunakan jalur absolut untuk skrip lokal. Executable di PATH Anda seperti npx atau uvx bekerja apa adanya.
Server MCP dimulai tanpa variabel lingkungan yang diharapkanVariabel berada di settings.json env, yang tidak menyebar ke proses anak MCPAtur env per-server di dalam .mcp.json sebagai gantinya.
Aturan deny Bash(rm *) tidak memblokir /bin/rm atau find -deleteAturan awalan mencocokkan string perintah literal, bukan executable yang mendasarTambahkan pola eksplisit untuk setiap varian, atau gunakan hook PreToolUse atau sandbox untuk jaminan keras.

Sumber daya terkait

Untuk referensi lengkap pada setiap permukaan konfigurasi, lihat halaman khusus: