Claude Code dapat memuat instruksi proyek dari beberapa tempat sekaligus. Jika Anda mengelola dua proyek klien, sesi baru di setiap direktori memungkinkan Anda memeriksa berkas instruksi mana yang benar-benar masuk ke masing-masing konteks. Hasil yang berguna adalah dua daftar berkas yang dicatat, bukan asumsi bahwa folder sejajar memisahkan informasi klien.
Perubahan utama
Apa yang berubah: Panduan ini mengubah hierarki instruksi yang didokumentasikan Claude Code menjadi perbandingan yang dapat diulang pada dua direktori proyek yang sudah ada dan diizinkan. Catat berkas yang dimuat saat mulai, lalu periksa apakah berkas instruksi bertingkat muncul setelah pembacaan berkas yang diizinkan.
Mengapa ini penting: Direktori induk bersama, instruksi pribadi, impor, aturan, atau pengaturan dapat memengaruhi kedua proyek. /context menampilkan berkas memori yang dimuat dalam sesi berjalan, sehingga Anda dapat menyelidiki jalur yang tidak terduga sebelum mengerjakan proyek klien.
Yang perlu diperhatikan: Instruksi yang dimuat tidak membatasi berkas yang dapat diakses Claude atau menjamin bahwa Claude mengikuti setiap instruksi. Tinjau akun, izin, impor, hook, dan ketentuan penggunaan data yang sebenarnya sebelum mengirim konten klien kepada penyedia yang dipilih.
Yang Anda perlukan
Prosedur ini ditujukan bagi pengembang yang memiliki izin untuk memeriksa dua repositori klien yang sudah ada beserta konfigurasi Claude Code-nya. Dapatkan izin terpisah untuk mengirim konten proyek tertentu yang akan digunakan ke akun atau penyedia Claude pilihan Anda. Izin mengedit berkas lokal saja tidak menyelesaikan persoalan itu. Anda memerlukan akses terminal, Claude Code yang terpasang, akun atau penyedia yang memenuhi syarat, serta berkas aman yang sudah ada dalam direktori bertingkat di salah satu proyek. Periksa dokumentasi Anthropic tentang penyiapan, biaya dan penggunaan data untuk jalur yang Anda gunakan.
Susunan di bawah menunjukkan jalur yang perlu diidentifikasi; ini bukan permintaan untuk membuat proyek klien baru. Ganti setiap contoh jalur dalam perintah dengan jalur nyata yang sesuai dan diizinkan. Berkas CLAUDE.md di direktori induk bersifat opsional dan hanya boleh berisi instruksi yang disetujui untuk kedua proyek. Berkas bertingkat dan dokumen aman tersebut harus sudah sesuai dengan jalur pemrosesan data akun yang dipilih.
AUTHORIZED_PARENT/
CLAUDE.md optional shared instructions
project-A/
CLAUDE.md A's project instructions
project-B/
CLAUDE.md B's project instructions
subdir/
CLAUDE.md B's nested instructions
README.md authorized, nonsensitive read target1. Tentukan jalur kedua proyek
Gunakan salah satu dari PowerShell atau Bash. Tetapkan variabel ke dua direktori yang sebenarnya. Pemeriksaan ini memerlukan jalur yang sudah ada, membandingkan string jalur yang dihasilkan, dan memastikan target pembacaan B tersedia. Perintah PowerShell Resolve-Path dapat mempertahankan alias symlink atau junction; perbedaan string saja tidak membuktikan bahwa proyek fisiknya berbeda. Periksa symlink dan junction pada kedua jalur peluncuran beserta rantai direktori induknya, ikuti targetnya, dan pastikan A dan B benar-benar merupakan proyek berbeda sebelum melanjutkan. Simpan jalur, pemeriksaan target, dan daftar konteks berikutnya dalam catatan kerja privat.
$a = (Resolve-Path -LiteralPath 'C:\actual\authorized\project-A' -ErrorAction Stop).Path
$b = (Resolve-Path -LiteralPath 'C:\actual\authorized\project-B' -ErrorAction Stop).Path
if (-not (Test-Path -LiteralPath $a -PathType Container)) { throw 'A must be an existing directory' }
if (-not (Test-Path -LiteralPath $b -PathType Container)) { throw 'B must be an existing directory' }
if ($a -eq $b) { throw 'A and B must be different directories' }
$target = Join-Path $b 'subdir/README.md'
if (-not (Test-Path -LiteralPath $target -PathType Leaf)) { throw 'Choose an existing authorized nonsensitive file in B/subdir' }
$a
$b
$targeta=$(realpath -- /actual/authorized/project-A) || exit 1
b=$(realpath -- /actual/authorized/project-B) || exit 1
test -d "$a" || { printf '%s\n' 'A must be an existing directory' >&2; exit 1; }
test -d "$b" || { printf '%s\n' 'B must be an existing directory' >&2; exit 1; }
test "$a" != "$b" || { printf '%s\n' 'A and B must be different directories' >&2; exit 1; }
target="$b/subdir/README.md"
test -f "$target" || { printf '%s\n' 'Choose an existing authorized nonsensitive file in B/subdir' >&2; exit 1; }
printf '%s\n' "$a" "$b" "$target"Jika proyek tidak berada dalam direktori induk yang sama, catat rantai direktori induk masing-masing secara terpisah. Jangan menyimpulkan adanya direktori induk bersama dari gambar.
2. Audit apa yang mungkin dimuat sebelum membuka proyek mana pun
Untuk setiap direktori peluncuran yang telah ditentukan, periksa CLAUDE.md, .claude/CLAUDE.md, CLAUDE.local.md, AGENTS.md dan .claude/AGENTS.md di direktori tersebut dan setiap direktori induk hingga akar sistem berkas. Periksa pula instruksi terkelola untuk sistem operasi Anda, ~/.claude/CLAUDE.md, aturan pengguna, dan berkas proyek .claude/rules/ . Panduan memori menyatakan bahwa berkas CLAUDE.md yang ditemukan digabungkan; berkas yang lebih dekat tidak menghapus teks direktori induknya. Berkas bertingkat CLAUDE.md biasanya dimuat setelah Claude membaca, menulis, atau mengedit berkas lain di sana. Aturan yang dibatasi menurut jalur dapat dimuat ketika berkas yang cocok diakses.
Perintah yang hanya menampilkan jalur ini menyediakan inventaris direktori induk tanpa menampilkan isi berkas. Tinjau berkas yang ditemukan sesuai kewenangan pemiliknya. Ulangi dengan kedua variabel; pada Bash, perulangan mencakup keduanya secara otomatis.
foreach ($start in @($a, $b)) {
$dir = [System.IO.DirectoryInfo]::new($start)
while ($null -ne $dir) {
Get-Item -LiteralPath $dir.FullName -Force | Select-Object FullName,LinkType,Target
foreach ($name in @('CLAUDE.md', 'CLAUDE.local.md', 'AGENTS.md', '.claude/CLAUDE.md', '.claude/AGENTS.md')) {
$candidate = Join-Path $dir.FullName $name
if (Test-Path -LiteralPath $candidate -PathType Leaf) { $candidate }
}
$dir = $dir.Parent
}
}for start in "$a" "$b"; do
dir=$start
while :; do
for name in CLAUDE.md CLAUDE.local.md AGENTS.md .claude/CLAUDE.md .claude/AGENTS.md; do
test -f "$dir/$name" && printf '%s\n' "$dir/$name"
done
test "$dir" = / && break
dir=$(dirname -- "$dir")
done
doneBaca berkas instruksi yang sebenarnya beserta impor @path -nya; impor relatif ditentukan dari berkas yang memuatnya. Ikuti setiap symlink atau junction pada setiap jalur peluncuran PowerShell dan rantai direktori induknya, lalu audit hierarki yang dinamai maupun hierarki target yang mungkin memengaruhi sesi. Periksa target symlink berkas instruksi dan pola claudeMdExcludes . Periksa .claude/settings.json, .claude/settings.local.json, pengaturan pengguna dan terkelola, opsi peluncuran --settings atau --setting-sources , hook yang dikonfigurasi, dan status kepercayaan setiap proyek. CLAUDE_CONFIG_DIR dapat memindahkan folder konfigurasi pengguna, jadi periksalah sebelum mengasumsikan ~/.claude. Tinjau perintah yang mungkin dijalankan hook sebelum menerima kepercayaan ruang kerja. Impor di luar direktori kerja dapat meminta persetujuan; impor yang ditolak tidak akan muncul seperti yang diharapkan. Panduan pengaturan menjelaskan lapisan yang menyediakan setiap pengaturan dan pengaturan proyek mana yang menunggu kepercayaan.
Periksa pilihan Project instructions di /config atau pengaturan plugin pengguna/terkelolanya. Dokumentasi Claude Code saat ini menjelaskan AGENTS.md sebagai cadangan bersyarat ketika tidak ada CLAUDE.md atau CLAUDE.local.md proyek maupun direktori induk yang memenuhi syarat; claude-md-and-agents-md memuat keduanya. Dukungan langsung untuk AGENTS.md bergantung pada versi dan plugin yang diaktifkan. Versi terdahulu dan beberapa pengaturan dapat melewatkannya, termasuk masalah khusus versi yang dibahas dalam laporan BIG CHANGE tentang feature flag AGENTS.md. Gunakan versi, pengaturan, dan hasil /context Anda yang sebenarnya, alih-alih menganggap berkas itu selalu dimuat.
Catat argumen --add-dir dan CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD secara terpisah. --add-dir memperluas akses berkas; secara default, opsi itu tidak memuat CLAUDE.md direktori tambahan tersebut. Sakelar lingkungan mengaktifkan pemuatan instruksi dari direktori tambahan. Periksa memori otomatis dengan /memory sebagai saluran terpisah: memori tersebut dapat dibagikan antar-worktree dan subdirektori dalam satu repositori, dan lokasi penyimpanannya dapat diganti. Periksa lokasi dan isinya yang sebenarnya sebelum menafsirkan perbandingan. Jangan pernah memasukkan kredensial atau fakta klien yang belum dipublikasikan ke contoh instruksi atau catatan publik.
Sebelum memulai, periksa nilai lingkungan ini pada shell yang sama dengan yang akan digunakan. Nilai Bash kosong berarti tidak ditetapkan atau kosong; PowerShell hanya mencantumkan variabel yang tersedia. Nilai shell ini tidak meniadakan nilai dari berkas pengaturan, jadi pastikan pengaturan aktif di dalam setiap sesi.
Get-Item Env:CLAUDE_CONFIG_DIR,Env:CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD -ErrorAction SilentlyContinue | Select-Object Name,Valueprintf 'CLAUDE_CONFIG_DIR=%s\n' "${CLAUDE_CONFIG_DIR-}"
printf 'CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=%s\n' "${CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD-}"3. Mulai sesi baru di proyek A
Catat claude --version dan perintah peluncuran yang tepat. Mulai proses baru dari A, tanpa --resume atau --continue. Terima kepercayaan hanya setelah audit pengaturan dan hook. Jalankan /context sebelum meminta Claude membuka B atau berkas bertingkat apa pun. Catat jalur yang tepat di bawah berkas memori dan aturan; gunakan daftar untuk memeriksa keanggotaan, bukan menyimpulkan urutan penyisipan. Gunakan /memory untuk memeriksa entri memori pribadi, proyek, dan otomatis yang ditampilkan beserta lokasi penyimpanannya. Lalu keluar dari sesi.
claude --version
Set-Location -LiteralPath $a -ErrorAction Stop
claudeclaude --version
cd -- "$a" && claudeDi dalam Claude Code, /status mengidentifikasi sumber pengaturan aktif, dan /permissions menampilkan aturan alat saat ini beserta sumbernya. Catat semuanya bersama daftar instruksi:
/context
/memory
/status
/permissions
/exitInstruksi A dan direktori induk bersama yang berlaku diharapkan muncul, sesuai pengaturan dan pengecualian yang telah diaudit. Berkas khusus B semestinya tidak berada dalam hierarki peluncuran A. Jika berkas itu muncul melalui impor, tautan, direktori tambahan, atau saluran lain, catat mekanismenya. Ketiadaannya tidak membuktikan bahwa berkas B tidak dapat diakses.
4. Mulai sesi terpisah di proyek B, lalu baca satu berkas bertingkat
Gunakan proses Claude Code baru di B dengan versi terpasang dan jalur akun/penyedia yang sama. Catat /context dan /memory sebelum pembacaan bertingkat apa pun. Minta Claude hanya membaca berkas aman yang tepat dan telah disetujui. Pastikan di dalam sesi bahwa pembacaan itu terjadi, lalu jalankan /context lagi dan bandingkan keanggotaan jalurnya. Aturan pemuatan dalam panduan memperkirakan bahwa berkas B subdir/CLAUDE.md masuk ke konteks setelah Claude mengakses berkas lain di direktori tersebut, kecuali pengaturan, pengecualian, atau perilaku khusus versi mengubah hasilnya.
Set-Location -LiteralPath $b -ErrorAction Stop
claudecd -- "$b" && claudeDi dalam Claude Code, ganti permintaan pembacaan hanya jika target yang diizinkan memiliki jalur relatif berbeda:
/context
/memory
/status
/permissions
Read only subdir/README.md. Tell me whether that exact file was read; do not open other files or display its contents.
/context
/exitClaude Code mungkin meminta izin alat atau mengusulkan tindakan lain. Setujui hanya pembacaan tepat yang diizinkan dan pastikan alat benar-benar membuka berkas tersebut. Tanggapan yang mengaku telah membacanya bukan bukti yang memadai dengan sendirinya.
5. Bandingkan daftar dan selesaikan perbedaannya
Simpan tabel privat berisi jalur A dan B yang telah ditentukan, akar repositori, versi Claude Code, jalur akun/penyedia, perintah peluncuran, status kepercayaan, sumber pengaturan, direktori tambahan, jalur berkas instruksi dan aturan, impor, lokasi memori otomatis, dan tiga daftar /context yang diamati: A saat mulai, B sebelum membaca, B setelah membaca. Tandai setiap berkas yang diharapkan sebagai ada, tidak ada, atau belum dapat dijelaskan. Jangan menyalin teks instruksi klien ke laporan publik.
Jika berkas yang diharapkan tidak ada, periksa dulu direktori peluncuran dan jalur berkas yang sebenarnya. Lalu periksa pengaturan Project instructions dan plugin/versi, claudeMdExcludes, --setting-sources, impor dan persetujuan impor eksternal, pola jalur aturan, symlink, dan pembacaan bertingkat yang telah dikonfirmasi. Jika berkas tidak terduga muncul, telusuri melalui direktori induk, instruksi pengguna atau terkelola, impor, aturan, hook, pemuatan memori direktori tambahan, dan memori otomatis. Direktori induk atau instruksi pribadi bersama mungkin memang disengaja; asal-usul dan isinya menentukan apakah instruksi itu sesuai untuk kedua proyek.
Ubah instruksi atau pengaturan hanya dengan kewenangan klien yang bersangkutan. Tinjau diff yang diusulkan, pertahankan batasan yang sudah ada, dan ulangi pengamatan kedua sesi baru setelah perubahan. Jika Anda tidak dapat menjelaskan suatu jalur atau tidak berwenang memeriksa saluran yang berkontribusi, hentikan sementara pekerjaan klien dan minta pemilik atau administratornya menyelesaikan ketidakpastian tersebut.
Latihan selesai ketika Anda memiliki dua daftar peluncuran yang tercatat, daftar B sebelum/sesudah pembacaan bertingkat yang terverifikasi, dan penjelasan untuk setiap jalur tidak terduga yang penting. Ini menetapkan keanggotaan instruksi yang diamati untuk sesi tersebut. Ini tidak menetapkan batas kerahasiaan, isolasi akses berkas, jaminan kepatuhan, atau urutan tepat model menggunakan instruksi tersebut. Untuk memeriksa dan melanjutkan percakapan yang sudah ada, lihat panduan konteks sesi Claude Code kami yang terpisah.
Biaya akun dan batas penggunaan bergantung pada paket, autentikasi, dan penyedia. Panduan biaya Anthropic adalah tempat untuk memeriksa ketentuan terkini. Artikel ini disusun berdasarkan dokumentasi: BIG CHANGE tidak memeriksa berkas klien, menjalankan sesi Claude A/B, menguji hasil model, atau mengukur waktu maupun biaya.
Sumber dan bacaan lanjutan
- Anthropic, “Cara Claude mengingat proyek Anda”: cakupan instruksi, impor, pemuatan bertingkat,
AGENTS.md, aturan, pengecualian, direktori tambahan, memori otomatis, dan/memory. Opsi yang tepat dapat berubah menurut versi Claude Code. - Anthropic, “Berkas pengaturan dan urutan prioritas”: konfigurasi pengguna, proyek, lokal, dan terkelola, termasuk
/status, pengaturan kepercayaan dan hook. - Anthropic, “Konfigurasikan izin”:
/permissionsmenampilkan aturan alat aktif beserta sumbernya; teks instruksi sendiri tidak menegakkan akses alat. - Anthropic, “Jelajahi jendela konteks”:
/contextmenampilkan berkas memori yang dimuat dalam sesi berjalan; keanggotaan yang ditampilkan tidak membuktikan urutan penyisipan. - Anthropic, penyiapan, biaya, dan penggunaan data: pastikan persyaratan pemasangan dan akun; baca pula ketentuan biaya dan penggunaan data yang terpisah untuk jalur Anda.



