Blog

Claude Code loyiha fayllarini ko‘ra olmaydi: sababi va 2026-yilda nima qilish kerak

Markdown

Claude Code nima uchun loyiha fayllarini topa olmasligi: u noto‘g‘ri papkadan ishga tushirilgan, fayl ichki papkada yoki .gitignore ro‘yxatida bo‘lishi mumkin. add-dir, cd va sozlamalar yordamida kirish huquqini qanday berish mumkin.

Maqolani to‘liq o‘qish

Tanish holat: siz Claude Code’dan faylni tuzatishni so‘raysiz, u esa bunday fayl yo‘qligini aytadi. Yoki siz nazarda tutganingizdan butunlay boshqa narsani indamay o‘zgartiradi. Papkani ochasiz — fayl aynan kerakli joyda turibdi. Ammo Claude uni payqamagandek.

Deyarli har doim bunga bitta sabab bo‘ladi va hech narsa buzilmagan bo‘ladi. Claude butun kompyuterdagi fayllarni ko‘rmaydi. U faqat ishga tushirilgan papkaga kira oladi. Qo‘shni papkada yoki loyiha ildizidan pastda boshlash kerakli fayllarni ish daraxtidan tashqarida qoldirishi mumkin. Home kabi yuqori papkadan boshlash esa ko‘lamni kengaytiradi, ichki loyihani o‘z-o‘zidan yopmaydi. Bu nima uchun shunday ishlashini va Claude’ga kerakli fayllarga qanday kirish berishni bosqichma-bosqich tushuntiraman. Buyruqlar va sozlamalarni rasmiy Claude Code hujjatlaridan aynan keltiryapman; ularni 2026-yil sentabr boshida tekshirganman.

Vositalarni sozlash bo‘yicha qo‘shimcha materiallar Ailoot hujjatlarida mavjud.

Nega Claude Code ayrim loyiha fayllarini ko‘ra olmaydi?

Asosiy xulosa

Claude Code fayllarni butun diskdan emas, faqat ishga tushirilgan papkadan o‘qiydi. Bu papka ishchi katalog deb ataladi. Claude uning ichidagi va ichki papkalaridagi hamma narsani so‘ramasdan ko‘rishi va o‘qishi mumkin. Uning tashqarisidagi hamma narsa — qo‘shni papka, bir pog‘ona yuqoridagi joy yoki boshqa disk — o‘zingiz kirish bermaguningizcha yopiq bo‘ladi. Demak, fayl “ko‘rinmayotgani”ning eng ko‘p uchraydigan sababi oddiy: Claude’ni boshqa papkadan ishga tushirgansiz. Avval uni aynan qayerdan ochganingizni tekshiring.

Odatiy holatda Claude Code bitta papka bilan ishlaydi: claude buyrug‘ini kiritib, seansni boshlagan joyingiz bilan. Hujjatlarda bu bevosita aytilgan.

Odatiy holatda Claude ishga tushirilgan papkadagi fayllarga kira oladi.

— Claude Code Docs, Ruxsatlarni sozlash, rasmiy hujjatlar

Bu uning ishchi katalogi. Uning ichida Claude har qanday faylni qo‘shimcha savollarsiz o‘qiydi: so‘rov matnini tahrirlash, kodni qidirish, muayyan faylni o‘qish — bularning barchasi darhol ishlaydi. Ammo bu papkadan tashqaridagi hamma narsa odatiy holatda yopiq. Qo‘shni papka, bir pog‘ona yuqoridagi papka, boshqa disk — ruxsat bermaguningizcha Claude u yerga qaramaydi.

Ish papkasi nomuvofiqligi shunday ta’sir qiladi: loyiha /Users/you/my-shop, Claude esa qo‘shni /Users/you/other-project dan boshlangan bo‘lsa, my-shop dagi index.html ish daraxtidan tashqarida. /Users/you dan boshlash boshqa holat: my-shop ichki papka, home’dan boshlashning o‘zi uni yopmaydi, lekin kontekst kengroq. Papkaga kirish barcha fayllar o‘qilganini ham bildirmaydi.

Keyin buni qanday tekshirish va tuzatishni ko‘rib chiqamiz: avval Claude qaysi papkadan ishga tushirilganini aniqlaymiz, so‘ng unga kerakli fayllarga turli yo‘llar bilan — bir martalik ko‘rsatmadan tortib doimiy sozlamagacha — kirish beramiz.

Claude Code qaysi papkadan ishga tushirilganini qanday tekshirish mumkin?

Asosiy xulosa

Claude’dan qaysi papkada ekanini so‘rang yoki pwd buyrug‘i bilan joriy katalogni ko‘rsatishini ayting — u faqat tekshiradi, hech narsani o‘zgartirmaydi. Ko‘rsatilgan manzilni loyihangizning haqiqiy joylashuvi bilan solishtiring. Yo‘llar mos kelmasa, sabab shu: Claude noto‘g‘ri papkadan ishga tushirilgan. Yana ishonchliroq yechim — seansni yopib, Claude’ni to‘g‘ridan-to‘g‘ri loyiha papkasidan qayta ishga tushirish: terminalda o‘sha papkaga o‘ting va u yerda claude deb kiriting.

Biror narsani tuzatishdan oldin muammo chindan ham papkada ekanini aniqlang. Buni tekshirish oson. Chatda Claude’dan hozir qaysi katalogda ekanini ko‘rsatishni so‘rang — u pwd buyrug‘ini bajaradi. Bu xavfsiz: buyruq faqat yo‘lni ko‘rsatadi, hech narsaga tegmaydi.

pwd

Javob haqiqiy ish papkasini ko‘rsatadi. To‘liq loyiha yo‘li bilan solishtiring: /Users/you/other-project — /Users/you/my-shop ning qo‘shnisi, /Users/you esa yuqori papkasi. Qo‘shni holatda my-shop ish daraxtidan tashqarida; yuqori papka holatida ichkarida, ammo aniq loyiha ildiz qilib tanlanmagan.

Bu nomuvofiqlikni bartaraf etishning eng toza yo‘li — Claude’ni to‘g‘ridan-to‘g‘ri loyiha papkasidan ishga tushirish. Joriy seansni yoping, terminalda kerakli papkaga o‘ting va Claude’ni o‘sha yerdan ishga tushiring:

# Misoliy yo‘lni haqiqiy loyiha ildizingizga almashtiring.
cd /Users/you/my-shop
claude

Endi my-shop ishchi papka bo‘ladi va barcha loyiha fayllari ko‘rinadi. Xuddi shu qoida VS Code kabi muharrirlarga ham tegishli: loyiha joylashgan papkani oching. Undan bir pog‘ona yuqoridagi papkani ham, butun diskni ham emas. Claude qaysi papkani ishchi katalog deb bilishini siz ochgan papka belgilaydi.

Qayta ishga tushirish noqulay bo‘lsa — masalan, bu seansda Claude’ga allaqachon kontekst bergan bo‘lsangiz va uni yo‘qotishni istamasangiz — papkalarni shu zahoti qo‘shishingiz yoki almashtirishingiz mumkin. Keyingi ikki bo‘limda shu usullar yoritiladi.

Claude Code’ga qo‘shni papkadagi faylni qanday ko‘rsatish mumkin?

Asosiy xulosa

Seansni qayta ishga tushirmasdan kerakli papkani chatning o‘zida /add-dir buyrug‘i bilan qo‘shing: /add-dir va papka yo‘lini kiriting. Shunda uning fayllariga asosiy papkadagilar bilan bir xil shartlarda kira olasiz. Claude ishga tushayotgan paytdayoq kirish ochish uchun claude buyrug‘iga papka yo‘li bilan --add-dir bayrog‘ini qo‘shing. Papka har safar avtomatik ochilishini istasangiz, sozlamalardagi additionalDirectories kaliti ostida ko‘rsating. Uchala holatda ham qo‘shilgan papkadagi fayllarni alohida tasdiqlashsiz o‘qish mumkin.

Ba’zan loyiha bitta papkada saqlanmaydi. Kod bir joyda, rasmlar yoki matnlar qo‘shni papkada, umumiy komponentlar esa yaqin atrofning boshqa joyida bo‘ladi. Har safar Claude’ni boshqa papkada qayta ishga tushirish noqulay. Asosiy papkani ishchi katalog sifatida qoldirib, unga kerakli papkaga kirish bergan ma’qul.

Buning eng sodda yo‘li — faol seansning o‘zida quyidagi buyruqni kiritish:

/add-dir ../assets

/add-dir va papka yo‘lini kiriting, shunda Claude darhol uning fayllariga asosiy papkadagilar bilan bir xil shartlarda kira oladi. U yana ruxsat so‘ramaydi: qo‘shilgan papkaga ham ishchi katalogdagi kabi qoidalar tatbiq etiladi.

Qo‘shimcha kataloglardagi fayllarga asosiy ishchi katalogdagidek kiriladi: so‘rovsiz o‘qiladi.

— Claude Code Docs, Ruxsatlarni sozlash, rasmiy hujjatlar

Bir nechta papka bilan ishlashingizni oldindan bilsangiz, Claude ishga tushishi bilanoq — o‘sha yo‘lni bayroq bilan birga ko‘rsatib — kirishni oching:

claude --add-dir ../assets

Loyihada bir xil qo‘shni papka bilan doim ishlasangiz, uni har safar qo‘lda qo‘shish shart emas. settings.json sozlamalar faylida additionalDirectories kaliti bor. Yo‘llarni shu yerda sanab o‘ting, ular Claude har ishga tushganida avtomatik ochiladi:

{
  "permissions": {
    "additionalDirectories": ["../assets", "../shared"]
  }
}

Windows uchun bir jihat bor: \\server\shared kabi yo‘l bilan tarmoq papkasini qo‘shib bo‘lmaydi — Claude bunday yo‘llarni qabul qilmaydi. Uni disk harfi biriktirilgan alohida disk sifatida ulang, so‘ng --add-dir bilan o‘sha harfni ko‘rsating. Oddiy mahalliy papkalarda bunday muammo yo‘q.

Qo‘shni papkani qo‘shish yetarli bo‘lmasa va butunlay boshqa papkaga o‘tish kerak bo‘lsa-chi? Buning alohida buyrug‘i bor; u quyida ko‘rib chiqiladi.

Seans davomida Claude Code’ni boshqa papkaga qanday o‘tkazish mumkin?

Asosiy xulosa

/cd buyrug‘i seansni yopmasdan asosiy ishchi papkani o‘zgartiradi: /cd va yo‘lni kiriting, shunda Claude suhbat tarixini saqlagan holda o‘sha joyga o‘tadi. O‘tish paytida u yangi papkadagi CLAUDE.md ko‘rsatmalar faylini oladi va, agar u yerda ilgari ishlamagan bo‘lsangiz, bu papkaga ishonishingizni tasdiqlashingizni so‘raydi. /add-dir dan farqi shundaki, /add-dir asosiy papka yonidagi papkani ham ochadi, /cd esa butun ishchi katalogni yangi joyga ko‘chiradi. Buyruq 2.1.169 versiyasidan boshlab mavjud.

Ba’zan qo‘shni papkani qo‘shish yetmaydi — to‘plangan kontekstni yo‘qotmasdan asosiy papkani o‘zgartirib, boshqa loyihaga o‘tish kerak bo‘ladi. Buning uchun /cd buyrug‘idan foydalaning:

/cd ../another-project

Shundan so‘ng Claude yangi papkani ishchi katalog deb biladi. Suhbatning butun tarixi saqlanadi, ammo Claude fayllarga qarashda tayanadigan joy yangi manzilga o‘zgaradi. Yangi papkada CLAUDE.md ko‘rsatmalar fayli bo‘lsa, Claude uni ham oladi — ya’ni yangi loyiha qoidalariga moslashadi.

Ishonch haqida bir narsani biling: bu papkada ilgari ishlamagan bo‘lsangiz, Claude u yerga o‘tayotganda ishonishingizni so‘raydi. Bu himoya chorasi: notanish papkadagi ko‘rsatmalar faylida istalgan narsa bo‘lishi mumkin, shu sababli Claude avval bu sizning loyihangiz ekanini tekshiradi. Tasdiqlang va davom eting.

Ikki buyruqning farqi oddiy. /add-dir asosiy papkani ishchi katalog sifatida saqlab, unga qo‘shimcha ravishda qo‘shni papkani ochadi — loyihaning qismlari turli joylarga tarqalganida foydali. /cd esa butun ishchi katalogni yangi manzilga ko‘chiradi — boshqa loyihaga o‘tishda foydali. /cd buyrug‘i 2.1.169 versiyasida joriy qilingan; agar u bo‘lmasa, Claude Code’ni yangilang. Menda Claude Code’ni yangilash haqida alohida qo‘llanma bor.

Claude Code fayllarni ko‘ra olishi — faqat poydevor. Barqaror natija faqat fayllarga kirishdan kelib chiqmaydi. U fayllar ichidagi mazmun va loyiha atrofida kontekstni qanday shakllantirishingizga bog‘liq.

Nega Claude Code ichki papkadagi faylni ko‘ra olmaydi?

Asosiy xulosa

Ichki papkalar qo‘shni papkalardan farq qiladi: Claude ularga kira oladi, lekin ichidagi mazmun darhol uning kontekstiga kirmaydi. Claude ko‘rsatmalar fayllari va ichki papkalar mazmunini talab bo‘yicha, ularni ko‘zdan kechirayotganda yuklaydi. Ishga tushgan zahoti yuklamaydi. Shu sababli chuqur ichki papkadagi faylga “ko‘rinmayotgandek” bo‘lishi mumkin — unga faylning aniq yo‘lini bevosita bering. Yechim oddiy: Claude’ga faylning aniq yo‘lini ko‘rsating yoki avval uni o‘qishni so‘rang, shunda fayl ko‘rinadi.

Bu yerda ikki xil holatni chalkashtirmaslik muhim. Qo‘shni papka (loyihadan tashqaridagi papka) uni qo‘shmaguningizcha butunlay yopiq bo‘ladi. Loyiha ichidagi ichki papka esa boshqacha: Claude unga kira oladi, ammo mazmunini boshidanoq yodda saqlamaydi.

Bu quyidagicha ishlaydi. Claude ishga tushganda loyihaning yuqori darajalaridagi narsalarni yuklaydi. Ichki papkalardagi fayllarni esa o‘sha yerga borib, biror narsani o‘qiyotganda talab bo‘yicha yuklaydi. Hujjatlarda bu xatti-harakat ko‘rsatmalar fayllari uchun bayon qilingan va shu mantiq umuman kontekstga ham tatbiq etiladi.

Claude ishchi katalog ichidagi papkalarda fayllarni aniqlaydi. Ularni ishga tushganda yuklash o‘rniga, shu ichki papkalardagi fayllarni o‘qiyotganda kontekstga oladi.

— Claude Code Docs, Claude xotirasini boshqarish, rasmiy hujjatlar

Oddiy qilib aytganda: chuqur ichki papkadagi fayl yo‘qolmagan va unga to‘liq kirish mumkin. Claude u yerga hali qaramagani uchun uni eslab qolmagan, xolos. Shu sababli fayl mavjud va ochiq bo‘lsa ham, Claude uni “ko‘ra olmayotgandek” tuyulishi mumkin.

Buni bir qatorda hal qilasiz. Claude’ga fayl yo‘lini bevosita bering — masalan, src/components/header.jsx — yoki shunchaki avval faylni o‘qishini so‘rang. U faylga qarashi bilan, u kontekstga kiradi va odatdagidek ishlashingiz mumkin. Sozlamalarni o‘zgartirish shart emas.

Fayllar @ menyusidan qayerda yo‘qoladi va .gitignore bunga qanday aloqador?

Asosiy xulosa

@ belgisini kiritganingizda, Claude Code tanlash mumkin bo‘lgan fayllar ro‘yxatini ko‘rsatadi. Odatiy holatda bu ro‘yxatda .gitignore ichiga kiritilgan narsalar — xizmat papkalari, muhit fayllari va yig‘ish natijalari — yashiriladi. Shuning uchun fayl kerakli joyida tursa ham, @ menyusida ko‘rinmasligi mumkin. Buni respectGitignore sozlamasi boshqaradi: u odatiy holatda yoqilgan va shu fayllarni yashiradi. Uni false qilib qo‘ysangiz, .gitignore ro‘yxatidagi fayllar ham menyuda ko‘rinadi. Bunday fayl yo‘lini har doim qo‘lda kiritishingiz mumkin.

Claude faylni “yo‘qotib qo‘ydi” deb o‘ylashning yana bir keng tarqalgan sababi — fayl tanlash oynasi. @ belgisini kiritsangiz, to‘liq yo‘lni yozmasdan faylni tanlash uchun qulay ro‘yxat paydo bo‘ladi. Ammo u yerda hamma narsa ko‘rsatilmaydi.

Odatiy holatda @ menyusi .gitignore ro‘yxatidagi fayllarni yashiradi. Bu faylda umumiy omborga qo‘shilmasligi kerak bo‘lgan narsalar ko‘rsatiladi: xizmat papkalari, parollar va muhit sozlamalari yozilgan fayllar hamda tayyor yig‘ish natijalari. Buning sababi tushunarli — odatda bunday fayllar bilan qo‘lda ishlash shart emas, ular ro‘yxatni faqat to‘ldirib yuboradi. Ammo ba’zan shunday fayllardan biri kerak bo‘ladi-yu, menyuda ko‘rinmaydi.

Buni respectGitignore sozlamasi boshqaradi. U odatiy holatda yoqilgan, shuning uchun .gitignore dagi fayllar menyuda ko‘rinmaydi. Ularni ko‘rmoqchi bo‘lsangiz, qiymatini false qilib o‘zgartiring:

{
  "respectGitignore": false
}

Buni faylni tahrirlamasdan ham, Claude Code ichidagi /config buyrug‘i orqali qilish mumkin. U yerdagi tugma “Fayl tanlagichda .gitignore’ni hisobga olish” deb ataladi. Belgini olib tashlang — yashirilgan fayllar menyuga qaytadi.

Muhim jihat: respectGitignore faqat @ menyusiga taalluqli va fayllarga kirish huquqiga aloqasi yo‘q. Fayl ro‘yxatdan yashirilgan bo‘lsa ham, uning yo‘lini qo‘lda kiritishingiz mumkin va Claude uni o‘qiydi. Menyu qulaylik uchun xizmat qiladi; u kirish chegarasini belgilamaydi.

Claude Code muayyan faylni o‘qiy olmasa nima qilish kerak?

Asosiy xulosa

Ba’zan papka to‘g‘ri bo‘ladi, ammo Claude muayyan faylni o‘qishdan baribir bosh tortadi. Odatda bunga sozlamalardagi cheklov sabab bo‘ladi. settings.json faylida ayrim fayllarni, ko‘pincha kalit va parollar saqlangan .env fayllarini o‘qishni to‘sadigan deny qoidalari bo‘lishi mumkin. Ishchi papkalardan tashqaridagi hamma narsani o‘qishni to‘sadigan sozlama ham bor. settings.json ichidagi ikkala joyni tekshiring. Shuningdek, .env cheklovi odatiy himoya chorasi ekanini va jiddiy sabab bo‘lmasa, uni olib tashlamaslik kerakligini yodda tuting.

Papka aniq to‘g‘ri va kirish ochiq bo‘lsa-yu, Claude baribir muayyan faylni o‘qimasa, ehtimol unga cheklov qo‘yilgan. Cheklovlar settings.json sozlamalar faylida bo‘ladi va ikki xil bo‘ladi.

Birinchisi — muayyan fayllarga qo‘yiladigan aniq cheklov. Sozlamalarda bular deny qoidalari deb ataladi va ko‘pincha kalit hamda parollar saqlanadigan .env fayliga tatbiq etiladi:

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)"
    ]
  }
}

Bunday qoida Claude’ning ko‘rsatilgan fayllarni o‘qishini to‘sadi va bu ataylab shunday qilingan. Kalit va parollar model bilan suhbatga tushib qolmasligi kerak, shu sababli .env odatiy holatda qulflangan. Claude .env yoki maxfiy ma’lumotli shunga o‘xshash faylni o‘qishdan bosh tortayotganini ko‘rsangiz, bu mo‘ljallangan xatti-harakat; jiddiy sabab bo‘lmasa, cheklovni olib tashlamang.

Ikkinchi turi — ishchi papkalardan tashqaridagi hamma narsaga qo‘yilgan umumiy cheklov. Buni blockReadsOutsideWorkingDirectories sozlamasi boshqaradi. U yoqilganida, faylni bevosita ochishga urinsangiz ham, Claude ishchi katalogdan tashqaridagi har qanday faylni o‘qishdan bosh tortadi. U true bo‘lsa va tashqi fayl kerak bo‘lsa, uning papkasini /add-dir orqali qo‘shing yoki cheklovni o‘chirib qo‘ying:

{
  "permissions": {
    "blockReadsOutsideWorkingDirectories": false
  }
}

Bu sozlama 2.1.257 versiyasida joriy qilingan. Boshqa barcha choralarni sinab ko‘rganingizdan keyin ham fayl yopiq qolsa, deny va blockReadsOutsideWorkingDirectories sozlamalarining ikkalasini ham tekshiring.

Claude Code fayllarni ko‘rmasa, nimadan boshlash kerak?

Asosiy xulosa

Avval papkani tekshiring: Claude’dan pwd yordamida joriy katalogni ko‘rsatishni so‘rang va uni loyiha joylashuvi bilan solishtiring. Mos kelmasa, Claude’ni loyiha papkasidan qayta ishga tushiring yoki /cd bilan u yerga o‘ting. Qo‘shni papkadagi fayllar kerakmi? Uni /add-dir bilan oching. Ichki papkadagi fayl ko‘rinmayaptimi? Claude’ga uning yo‘lini bevosita bering. Fayl @ menyusida yo‘qmi? Sabab .gitignore bilan bog‘liq — respectGitignore ni o‘zgartiring. Bitta fayl qulflanganmi? settings.json ichidan deny cheklovini qidiring.

Quyida boshidan oxirigacha bajarishingiz mumkin bo‘lgan qisqa reja.

  1. Ishchi papkani tekshiring: Claude’dan pwd yordamida joriy katalogni ko‘rsatishni so‘rang va uni loyiha joylashuvi bilan solishtiring.
  2. Papkalar farq qilsa, Claude’ni to‘g‘ri papkadan qayta ishga tushiring (cd project, keyin claude) yoki /cd buyrug‘i bilan u yerga o‘ting.
  3. Qo‘shni papkadagi fayllar kerakmi? Claude’ni ishga tushirayotganda papkani /add-dir yoki --add-dir bayrog‘i bilan qo‘shing.
  4. Ichki papkadagi fayl kontekstga kirmaganmi? Claude’ga uning yo‘lini bevosita bering yoki faylni o‘qishni so‘rang.
  5. Fayl @ menyusida yo‘qmi? Sabab .gitignore. respectGitignore ni false qilib belgilang yoki /config dagi belgini olib tashlang.
  6. Muayyan fayl qulflanganmi? settings.json ichidagi deny va blockReadsOutsideWorkingDirectories qoidalarini tekshiring.

O‘n holatdan to‘qqiztasida birinchi qadamning o‘zi hammasini hal qiladi: Claude noto‘g‘ri papkadan ishga tushirilgan bo‘ladi. Fayllarga kirish — poydevor, ammo loyiha o‘rniga qurib bermaydi. Claude loyihani butunligicha yodda tutishi va izdan chiqmasligi uchun uning atrofida kontekstni qanday yaratishni men Claude Code’da Second Brain qo‘llanmamda batafsil tushuntirganman.

Manbalar

Vositalar bilan ishlash bo‘yicha qo‘shimcha materiallarni Ailoot hujjatlaridan toping.

Batafsil

Ko‘p beriladigan savollar

Nega home va qo‘shni loyihadan boshlash farq qiladi?

Home ostidagi loyiha uning ichki papkasi, ish daraxtidan tashqarida qolmaydi; faqat kontekst keragidan keng bo‘ladi. Ish papkasining qo‘shnisi esa tashqarida. Kirish yo‘q deyishdan oldin to‘liq yo‘llarni solishtiring.

Ichki papkaga kirish uning fayllari kontekstda ekanini bildiradimi?

Yo‘q. Fayl yo‘lini berib, o‘qishni so‘rang. Rad etilsa tegishli ruxsatlarni ko‘ring. Tanlash menyusida ko‘rinmaslik va o‘qish rad etilishi alohida muammolar.

Barcha maqolalar