# Claude Code’ni tiklash: xavfsiz rejim, /cd va zaxira modeli

> Claude Code’ni xavfsiz rejim, /cd buyrug‘i, zaxira modellar va sozlamalarni tiklash yordamida tashxislash. Tekshiruvlar tartibi va dastlabki cheklovlar.

Source: https://ailoot.ai/blog/uz/claude-code-safe-mode-recovery/
Canonical: https://ailoot.ai/blog/uz/claude-code-safe-mode-recovery/
Language: uz
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-140
Revision: sha256-2ba0920d9a35484672fd4a943afeb5e96d445e30c2685681736d51dbb8a4eb91


Agentlar bilan ishlash bo‘yicha amaliy materiallar: [Ailoot hujjatlari](https://ailoot.ai/docs/).



## 2026-yil iyunida Claude Code’da nimalar o‘zgardi?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

2026-yil 8-iyunda Claude Code v2.1.169’da Anthropic `--safe-mode` bayrog‘i va `/cd` buyrug‘ini qo‘shdi. Ikki kun oldin v2.1.166’da zanjirda ko‘pi bilan 3 ta modeldan foydalanish imkonini beruvchi zaxira modellar joriy etilgan edi. Bu uchta funksiya vibe coderlar uchun eng ko‘p uchraydigan muammoni hal qiladi: “hammasi ishdan chiqdi, kim aybdorligini bilmayman va qayta o‘rnatishga bir soat sarflashni xohlamayman”.

</div>

Avvallari Claude Code g‘alati ishlay boshlasa — yuklanish belgisi cheksiz aylanib qolsa, ishga tushishda ishdan chiqsa, agent `CLAUDE.md` dagi qoidalarni e’tiborsiz qoldirsa yoki hook indamay ishlamay qolsa — bundan chiqishning faqat bitta yo‘li bor edi: `.claude/settings.json` bo‘limlariga qo‘lda izoh qo‘shish, MCP serverlarini birma-bir o‘chirish yoki eng yomon holatda `~/.claude` ni o‘chirib, qayta o‘rnatish. Tasvirlangan bir holatda `~/.claude` o‘chirildi va bir yarim soat yig‘ilgan MCP serverlari sozlamalari yo‘qoldi. Keyin aybdor `CLAUDE.md` dagi bitta satr ekani va uni 10 soniyada topish mumkinligi ma’lum bo‘ldi — ammo bu faqat hammasi to‘liq tiklangandan keyin ayon bo‘ldi.

2026-yil iyunida Anthropic bu holatni o‘zgartiradigan uchta mexanizmni joriy qildi. Qisqacha, nimalar va qachon paydo bo‘ldi:

| Versiya | Sana | Nima qo‘shildi |
|----|----|----|
| **2.1.166** | 2026-yil 6-iyun | `fallbackModel` sozlamasi + interaktiv seanslar uchun `--fallback-model` bayrog‘i |
| **2.1.169** | 2026-yil 8-iyun | `--safe-mode` bayrog‘i va `CLAUDE_CODE_SAFE_MODE` muhit o‘zgaruvchisi, `/cd` buyrug‘i |
| **2.1.176** | 2026-yil 12-iyun | Tuzatish: `/cd` va worktree almashtirishda eski git tarmog‘i ko‘rinishi to‘xtadi |

Quyida har bir mexanizm bosqichma-bosqich tushuntiriladi, shuningdek Claude Code seansi izdan chiqqanda ularni qaysi tartibda qo‘llash ko‘rsatiladi.

## Claude Code’da ko‘pincha nimalar ishdan chiqadi?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

Tasvirlangan tajribaga ko‘ra, Claude Code vibe coderlar uchun odatda to‘rtta sababga ko‘ra buziladi: qarama-qarshi qoidalarga ega, haddan tashqari kattalashgan `CLAUDE.md`, noto‘g‘ri chiqish kodiga ega hook, indamay ishlamay qoladigan MCP serveri va `settings.json` ning uchta darajasidagi ustma-ust sozlamalar. Bitta aybdor bo‘ladi, tashxisga bir necha daqiqa ketadi, vahima esa odamlarni darhol `rm -rf` ishlatishga undaydi.

</div>

Tasvirlangan misolda `CLAUDE.md` dastlab 80 qatordan iborat qilib tuzilgan va bir oy ishlagan. Ikkinchi oyda Claude haftasiga bir marta o‘rnatilgan barcha qoidalarni buzishi sezila boshladi: `.env` ga tegish, `git push --force` ni ishga tushirish, `node_modules` ni titkilash. Ataylab emas — shunchaki unutib qo‘yardi. Bir safar `.gitignore` o‘chirildi va buning sababi darhol tushunarsiz bo‘ldi. Bu holat [ `CLAUDE.md` bo‘yicha qo‘llanmada](https://ailoot.ai/blog/uz/claude-md-template/) batafsilroq yoritilgan.

`CLAUDE.md` 400+ qatorga yetganda, u indamay muammo tug‘dira boshlaydi: seans ishga tushganda kontekst oynasining sezilarli qismini egallaydi va muhim ko‘rsatmalarni ikkinchi darajali ko‘rsatmalar orasida suyultirib yuboradi. Claude faylni baribir rasman o‘qiydi, shuning uchun tashqaridan “qoidalar bor, ammo ishlamayapti” degandek ko‘rinadi — bu haddan tashqari kattalashgan kelishuvning odatiy belgisidir.

Hooklar muammolarning ikkinchi keng tarqalgan manbaidir. `Claude Code hooks` ning Anthropic alohida ta’kidlamaydigan bir nozik jihati bor.

Ya’ni Python hookidagi `sys.exit(1)` (yoki Unix’dagi odatiy “xato bilan yakunlandi” kodi) Claude’ni to‘xtatmaydi. Faqat `2` kodi bloklaydi. Tasvirlangan holatda hook “qat’iy taqiq” deb hisoblangan, ammo amalda shikoyatni qayd etib, amalni bajarishga ruxsat bergan.

MCP serverlari uchinchi qatlam bo‘lib, ular ham o‘ziga xos tarzda ishdan chiqadi.

Alomat ko‘pincha bir xil bo‘ladi: MCP buyruqlari mavjud, ammo traceback’siz `failed` natijasini qaytaradi. MCP’ni sozlash va `claude mcp add` yordamida server qo‘shish haqida batafsil ma’lumot uchun [alohida qo‘llanmaga](https://ailoot.ai/blog/uz/mcp-servers-claude-code/) qarang.

To‘rtinchi manba — `settings.json` ning uch darajali iyerarxiyasi. Sizda `~/.claude/settings.json` (foydalanuvchi darajasi), loyiha ildizidagi `.claude/settings.json` (loyiha), `.claude/settings.local.json` (mahalliy) va ixtiyoriy ravishda korporativ administrator boshqaradigan sozlamalar bo‘lishi mumkin. Ular ustuvorlik qoidalariga muvofiq birlashtiriladi. Kimdir loyiha darajasida MCP serverini qo‘shsa-yu, foydalanuvchi darajasida ishga tushirish sozlamasi boshqacha bo‘lgan o‘xshash yozuv mavjud bo‘lsa, indamasdan ziddiyat yuzaga keladi va bu “Claude Code buzilgan” degandek ko‘rinadi.

## `--safe-mode` qanday ishlaydi va u nimalarni o‘chiradi?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

`claude --safe-mode` Claude Code’ni barcha maxsus sozlashlar o‘chirilgan holda ishga tushiradi: `CLAUDE.md`, plaginlar, ko‘nikmalar, hooklar, MCP serverlari, foydalanuvchi buyruqlari, agentlar, chiqish uslublari, ish jarayonlari va tugmalar birikmalari. Avtorizatsiya, model tanlovi, ichki vositalar va ruxsatlar saqlanib qoladi. Bu tashxis vositasi: xavfsiz rejimda muammo yo‘qolsa, sabab siz qo‘shgan qatlamlardan birida.

</div>

Anthropic’ning v2.1.169 o‘zgarishlar jurnalidagi asl ifodasi:

<figure>
<blockquote>
<p>Diagnostika uchun Claude Code’ni maxsus sozlashlarsiz (<code>CLAUDE.md</code>, plaginlar, ko‘nikmalar, hooklar, MCP serverlari) ishga tushiradigan <code>--safe-mode</code> bayrog‘i (va <code>CLAUDE_CODE_SAFE_MODE</code>) qo‘shildi.</p>
</blockquote>
<figcaption>— Anthropic Claude Code Changelog, https://code.claude.com/docs/en/changelog</figcaption>
</figure>

Anthropic model konfiguratsiyasi haqidagi hujjatlarda aniqlik kiritadi:

<figure>
<blockquote>
<p>Muammoga maxsus sozlashlar sabab bo‘layotganini tekshirish uchun <code>claude --safe-mode</code> bilan seansni boshlang; bunda <code>CLAUDE.md</code>, ko‘nikmalar, MCP serverlari va hooklar o‘chiriladi. Git holati va katalog nomlari maxsus sozlash hisoblanmaydi va mavjud bo‘lib qoladi.</p>
</blockquote>
<figcaption>— Anthropic Docs - Model configuration, https://code.claude.com/docs/en/model-config</figcaption>
</figure>

Bu **tashxis vositasi**, “toza muhit” emas. Xavfsiz rejim bitta savolga javob berishga yordam beradi: muammo Claude Code’ning standart xatti-harakatidami yoki qo‘shilgan maxsus sozlashlardami? Bu kontekst muhandisligining bir qismi — Claude muayyan paytda nimani ko‘rishi va nimani ko‘rmasligini boshqarish. Xavfsiz rejimda hammasi ishlasa, qatlamlarni ikkiga bo‘lib tekshirish kerakligi ayon bo‘ladi. Ishlamasa, muammo o‘rnatish, avtorizatsiya, tarmoq yoki infratuzilmada bo‘ladi; bunday holda `claude doctor` va jurnallarni tekshirish ma’qul.

Xavfsiz rejim nimalarni o‘chiradi (Anthropic’ning rasmiy ro‘yxatidagi 5 asosiy qatlam):

- Barcha darajadagi `CLAUDE.md` (foydalanuvchi / loyiha)
- Plaginlar
- Ko‘nikmalar
- Hooklar
- MCP serverlari

Ishlashda davom etadigan narsalar:

- Avtorizatsiya (OAuth seansingiz yoki API kalitingiz)
- Model tanlovi (`--model sonnet`, `--model opus`)
- Ichki vositalar (Read, Write, Bash, Grep va boshqalar)
- Ruxsatlar
- Git holati
- Katalog nomlari

Muhim jihat: xavfsiz rejim korporativ administratorning boshqariladigan/siyosat sozlamalarini o‘chirmaydi. Bedrock GovCloud yoki MDM konfiguratsiyasi jamoangiz uchun `availableModels` ni belgilasa, bu cheklovlar saqlanadi — xavfsiz rejim faqat sizning maxsus sozlashlaringizni o‘chiradi, korporativ siyosatlarni emas.

## Qatlamni ajratib, aybdorni 60 soniyada qanday topish mumkin?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

1-qadam: muammo yuz bergan papkaning o‘zida `claude --safe-mode` ni ishga tushiring. Ishlasa, muammo maxsus sozlashlaringizda; ularni birma-bir yoqing: `CLAUDE.md` -> hooklar -> MCP -> ko‘nikmalar. Xavfsiz rejimda ham ishlamasa, muammo avtorizatsiya, versiya, tarmoq yoki operatsion tizimda. Bunday holda, `rm -rf` ga tegmasdan avtomatik tashxis uchun `claude doctor` ni ishga tushiring.

</div>

Claude Code “quloq solmay qo‘ygan” holat uchun tashxis ssenariysi. Quyidagi buyruqlarning barchasi uchun eng kam versiya — **Claude Code v2.1.169**. Sizdagi versiya eskiroq bo‘lsa, avval yangilang (`npm update -g @anthropic-ai/claude-code` yoki Anthropic’ning mahalliy o‘rnatuvchisi orqali).

1. Muammo yuz bergan papkani oching.
2. `claude --safe-mode` ni ishga tushiring.
3. Toza ishga tushsa, dastlabki so‘rovingizni tekshiring. Ishladimi? Demak, qatlamlardan biri aybdor. 4-qadamga o‘ting.
4. Xavfsiz rejimda ham ishlamasa, konfiguratsiyalarga tegmang. Avval `claude doctor` ni ishga tushiring; avtorizatsiya, versiya va o‘zaro zid o‘rnatishlarni tekshiring.

Xavfsiz rejim toza ishga tushgach, eng ehtimoliy aybdordan boshlab qatlamlarni bittadan yoqing. Tasvirlangan tajribaga asoslangan tartib:

1. **`CLAUDE.md`.** Xavfsiz rejimsiz `claude` ni ishga tushiring, ammo fayl nomini vaqtincha o‘zgartiring: `mv CLAUDE.md CLAUDE.md.bak`. Ishlasa, sabab shu faylda. Keyin ikkiga bo‘lib qidirishingiz mumkin: qatorlarning yarmini qoldirib, tekshiring.
2. **Hooklar.** `.claude/settings.json` ni oching va `hooks` bo‘limiga vaqtincha `[]` qo‘ying. `claude` ni qayta ishga tushiring. Ishlayaptimi? Demak, hooklardan biri aybdor. Ularni bittadan yoqing.
3. **MCP serverlari.** Xuddi shunday, `~/.claude.json` yoki `.claude/settings.json` da `mcpServers` bo‘limini vaqtincha bo‘sh obyekt qilib qo‘ying, qayta ishga tushiring va tekshiring.
4. **Ko‘nikmalar.** `.claude/skills/` ni vaqtinchalik papkaga ko‘chiring. Ishga tushiring va tekshiring.

“Vaqtincha nomini o‘zgartirish” degani tashxis paytida fayllar o‘chirilmaydi. `mv` yoki `git stash` sabab shu qatlamda bo‘lmasa, hammasini bitta buyruq bilan tiklash imkonini beradi.



## Kontekstni yo‘qotmasdan `/cd` orqali ishchi papkani qanday almashtirish mumkin?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

Claude Code 2.1.169+ dagi `/cd <path>` buyrug‘i prompt keshini yo‘qotmasdan faol seansdagi ishchi papkani almashtiradi. Joriy loyiha konfiguratsiyasi buzilganda foydali: toza papkaga o‘tib, Claude ishlashini tekshirishingiz, so‘ng qaytishingiz mumkin. Avval buning uchun seansni yopib, qaytadan boshlash kerak edi.

</div>

8-iyundagi v2.1.169 o‘zgarishlar jurnalidan:

<figure>
<blockquote>
<p>Seans o‘rtasida prompt keshini tiklamasdan, uni yangi ishchi papkaga o‘tkazuvchi <code>/cd</code> buyrug‘i qo‘shildi.</p>
</blockquote>
<figcaption>— Anthropic Claude Code Changelog, https://code.claude.com/docs/en/changelog</figcaption>
</figure>

Muammolarni tuzatishda bu nima uchun foydali? Aytaylik, `~/work/myapp` loyiha papkasidasiz va Claude Code g‘alati ishlayapti. Avval “umuman ishlayaptimi?” deb tekshirishning yagona yo‘li seansni yopish, boshqa papkaga o‘tish va qaytadan boshlash edi. Kontekst, tarix va qizdirilgan prompt keshi yo‘qolardi. Endi esa:

```bash
# In the same session:
/cd ~/sandbox/test
```

Claude yangi papkaga o‘tadi va uning `CLAUDE.md` fayli bo‘lsa, uni tizim prompti o‘rniga xabar sifatida o‘qiydi — ya’ni kesh saqlanadi. `~/sandbox/test` da hammasi ishlasa, muammo `~/work/myapp` konfiguratsiyasida bo‘lganligi ayon bo‘ladi.

12-iyunda v2.1.176 yoqimsiz regressiyani tuzatdi — `/cd` to‘liq qayta ishga tushirilguncha eski git tarmog‘ini ko‘rsatib turardi. Versiyangiz eskiroq bo‘lsa, yangilang yoki almashtirgandan keyingi dastlabki bir necha xabarda `git status` ni e’tiborsiz qoldiring — u keyin yangilanadi.

## 529 xatosi uchun zaxira modellarni qanday sozlash mumkin?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

v2.1.166’da Anthropic `fallbackModel` ni qo‘shdi — asosiy model haddan tashqari yuklangan yoki mavjud bo‘lmaganda ketma-ket sinab ko‘riladigan ko‘pi bilan 3 ta model zanjiri. Zanjir faqat haddan tashqari yuklanish va qayta urinib bo‘lmaydigan server xatolarida ishga tushadi. Avtorizatsiya, hisob-kitob, so‘rovlar chegarasi va transport xatolari zaxira zanjirini ishga tushirmaydi — ular odatiy qayta urinish mantig‘i bo‘yicha boshqariladi.

</div>

Tasvirlangan ssenariyda uzoq vazifa loyihada haftasiga bir marta Opus’da ishlaydi; 10 daqiqadan so‘ng API 529 Overloaded qaytarib, seans ishdan chiqadi. Avval kutish yoki `--model sonnet` bilan Sonnet’ga qo‘lda o‘tib, qizdirilgan kontekstni yo‘qotish kerak edi. Ikkinchi miya sozlamali katta `business/` papkasida bu taxminan yigirma daqiqa ishni oladi. Endi buning uchun alohida mexanizm bor.

Rasmiy hujjatlardan aniq iqtibos:

<figure>
<blockquote>
<p>Asosiy model haddan tashqari yuklangan, mavjud bo‘lmagan yoki qayta urinib bo‘lmaydigan boshqa server xatosini qaytarganida, Claude Code so‘rovni muvaffaqiyatsiz deb hisoblash o‘rniga zaxira modelga o‘tishi mumkin. Avtorizatsiya, hisob-kitob, so‘rovlar chegarasi, so‘rov hajmi va transport xatolari hech qachon almashtirishni ishga tushirmaydi — ular odatiy qayta urinish va xatolarni boshqarish tartibi bo‘yicha davom etadi.</p>
</blockquote>
<figcaption>— Anthropic Docs - Model configuration, https://code.claude.com/docs/en/model-config</figcaption>
</figure>

Zanjir qanday ishlashi haqida alohida izoh:

<figure>
<blockquote>
<p>Bir yoki bir nechta zaxira modelni sozlang; Claude Code ularni navbat bilan sinab ko‘radi va almashtirish paytida bildirishnoma ko‘rsatadi. Almashtirish faqat joriy navbatga tegishli — keyingi xabar asosiy modelni qayta sinaydi. Dublikatlar olib tashlangach, zanjirda ko‘pi bilan uchta model qoladi; ortiqcha yozuvlar e’tiborga olinmaydi.</p>
</blockquote>
<figcaption>— Anthropic Docs - Model configuration, https://code.claude.com/docs/en/model-config</figcaption>
</figure>

Sozlashning ikki usuli bor. CLI orqali:

```bash
claude --fallback-model sonnet,haiku
```

`~/.claude/settings.json` orqali:

```json
{
  "fallbackModel": ["claude-sonnet-4-6", "claude-haiku-4-5"]
}
```

So‘rovlar chegarasi haqida alohida jihat bor. Anthropic 429 xatosini zanjir orqali yubormaydi, shuning uchun keyingi modelga o‘tib so‘rovlar chegarasini chetlab o‘tish mumkin emas. Zaxira model faqat asosiy model haddan tashqari yuklangan, mavjud bo‘lmagan yoki qayta urinib bo‘lmaydigan server xatosini qaytarganda ishlaydi (masalan, 529 Overloaded). So‘rovlar chegarasi uchun odatiy qayta urinish mantig‘i va kutish oralig‘ini oshirish qo‘llanadi.

Yana bir jihat: 12-iyunda v2.1.174 regressiyani tuzatdi — ixchamlashtirish `--fallback-model` ni hisobga olmas edi. Uzoq seans davomida tizim ixchamlashayotganda ortiqcha yuk yuz bersa, bu tuzatishdan oldin zaxira model chaqirilmasdi. Uzoq seanslar (`/compact`, tunda `/loop`) bilan ishlasangiz, kamida v2.1.174 ga yangilang.

## Aybdor `CLAUDE.md`, hook, MCP yoki ko‘nikma bo‘lsa, nimani tuzatish kerak?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

Xavfsiz rejim aybdor qatlamni aniqlagach, yechim qatlamga qarab farq qiladi. `CLAUDE.md` uchun ikkiga bo‘lib qidiring yoki 200 qatordan kam tayyor shablonga qayting. Hook uchun chiqish kodi (2 bloklaydi, 1 bloklamaydi) va mantiqni tekshiring. MCP uchun bittadan serverni olib tashlab, tekshiring. Ko‘nikma uchun `SKILL.md` da `CLAUDE.md` ga zid ko‘rsatmalar yo‘qligini tekshiring.

</div>

Har bir qatlam uchun aniq strategiyalar.

### Aybdor `CLAUDE.md` bo‘lsa

Faylni ochib, hajmini tekshiring. Tasvirlangan tajribaga ko‘ra, faol `CLAUDE.md` ni **200 qatordan oshirmang**; qolgan qismini loyiha yonidagi yo‘naltiruvchi va yordamchi hujjatlarga ko‘chiring (ikkinchi miyaning to‘liq tuzilmasi [ikkinchi miya bo‘yicha qo‘llanmada](https://ailoot.ai/blog/uz/claude-code-second-brain/)). 400+ qator bo‘lsa, deyarli aniq sabab shu. Qadamlar:

1. Zaxira nusxa yarating: `cp CLAUDE.md CLAUDE.md.full`.
2. Ishlaydigan qisqa shablonga qayting. Tayyor shablon [“CLAUDE.md’ni qanday sozlash mumkin” qo‘llanmasida](https://ailoot.ai/blog/uz/claude-md-template/) bor.
3. Claude Code’ni qayta ishga tushiring. Tekshiring.
4. Ishlasa, qoidalarni 10–20 qatordan iborat kichik bo‘laklarda tiklang va har bir bo‘lakdan so‘ng tekshiring.
5. Xatti-harakatni buzayotgan bo‘lakni toping. Uni to‘g‘ri chiqish kodiga ega hook sifatida qayta yozing (hooklar uchun chiqish kodlari ushbu H2 ning keyingi kichik bo‘limida yoritilgan).

### Aybdor hook bo‘lsa

Asosiy savol — chiqish kodi to‘g‘rimi? Claude Code hooklari quyidagicha ishlaydi:

- **Chiqish 0** — hammasi joyida; amal davom etadi.
- **Chiqish 1** — xato, ammo **bloklamaydi**. Claude hech narsa bo‘lmagandek davom etadi.
- **Chiqish 2** — **bloklovchi** xato. Amalni amalda faqat shu to‘xtatadi.

Shell hookida to‘sib qo‘yyapman deb `sys.exit(1)` yoki `exit 1` yozgan bo‘lsangiz, bu kod Claude Code’da ogohlantirish qaydi sifatida ishlaydi va amalni to‘xtatmaydi. Uni `2` ga o‘zgartiring. Hooklar va shu xatodan qochib ularni sozlash haqida batafsil ma’lumot uchun [alohida qo‘llanmaga](https://ailoot.ai/blog/uz/claude-code-hooks/) qarang.

Ikkinchi keng tarqalgan holat — hook stdout’da noto‘g‘ri JSON qaytaradi. Claude Code hook javobini JSON sifatida tahlil qiladi; agar unda keraksiz matn (qayd, jarayon belgisi, emoji) bo‘lsa, hook muvaffaqiyatsiz deb hisoblanadi va amal davom etadi. Qoida: **stdout’da faqat JSON bo‘lsin; qolgan hamma narsa stderr’ga yozilsin**.

Uchinchi holat — hook xavfsiz rejim yashirgan `~/.claude/` ichidagi narsani o‘qiydi. Bu odatiy holat; hookni o‘zgartirish o‘rniga, boshida `os.environ.get('CLAUDE_CODE_SAFE_MODE')` ni tekshirib, 0 kodi bilan yakunlanadigan qiling.

### Aybdor MCP serveri bo‘lsa

Alomatlar: MCP buyruqlari mavjud, ammo aniq traceback’siz `failed` natijasini qaytaradi. Qadamlar:

1. `claude mcp list` ni ishga tushiring — qaysi serverlar belgilangan?
2. `~/.claude.json` da serverlarni bittadan o‘chiring: `claude-server-A` kalitini `_claude-server-A` deb o‘zgartiring (bu serverni o‘chirmasdan faolsizlantiradi).
3. `claude` ni qayta ishga tushiring. Qaysi chaqiriqlar ishlashini tekshiring.
4. Aybdor serverni topganingizdan so‘ng, uning jurnalini tekshiring: `claude mcp logs <name>`.
5. Bu uchinchi tomon serveri bo‘lsa (`@modelcontextprotocol/server-postgres` va shunga o‘xshashlar), yaqinda yangi versiyasi chiqqanini tekshiring. MCP ekotizimi hali ham beqaror; Claude Code yangilanishlaridan keyin serverlar muntazam ishdan chiqadi.

“Faqat ikkita MCP bilan ishga tushishda ishdan chiqadi” holatiga duch kelsangiz, MCP’siz xavfsiz rejimdagi xatti-harakatni solishtiring.

### Aybdor ko‘nikma bo‘lsa

Ko‘nikma — `.claude/skills/<name>/` ichidagi `SKILL.md` va koddan iborat. Alomatlar: Claude ko‘nikmani e’tiborsiz qoldiradi, noto‘g‘ri paytda qo‘llaydi yoki qo‘llasa ham sifatsiz natija beradi. Qadamlar:

1. `SKILL.md` ni oching. Tavsifni tekshiring — u **1–2 gapdan iborat bo‘lib, qachon ishlatilishini aniq ifodalashi kerak**. “Hamma narsa uchun universal yordamchi” desa, Claude uni qachon chaqirishni tushunmaydi.
2. `CLAUDE.md` bilan ziddiyat bor-yo‘qligini tekshiring. `CLAUDE.md` “har doim test yozing” desa, ko‘nikma tavsifi “tez prototiplash uchun, testsiz foydalaning” desa, ziddiyat mavjud.
3. Ko‘nikma tashqi buyruqlardan (npm, python, git) foydalansa, ular tizim bo‘ylab PATH’da mavjudligini tekshiring. Ko‘nikmaning o‘z minimal muhiti bor.

## Xavfsiz rejim yordam bermasa: tuzatishdan oldin tashxis va holatni saqlash

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

Xavfsiz rejim ham ishlamasa, o‘rnatish, avtorizatsiya, tarmoq yoki infratuzilma ehtimoli qoladi. `claude doctor` ni bajarib dalilini ko‘ring. Noaniq hisobot sozlama va seansni o‘chirishga asos emas: avval butun holatni saqlab tekshiring, keyin faqat tashxislangan o‘rnatishni tuzating.

</div>

Foydalanuvchi holatini olib tashlash diagnostika qisqa yo‘li emas. Quyidagi tekshiruvda sababni toping; noaniq qolsa, dalilni saqlab tekshirishni davom eting. Tuzatish tekshirilgan zaxiradan boshlanib, mavjud hisob va credential identity’sini saqlaydi. Tartib:

1. **`claude doctor`** — avtomatik tashxis. Anthropic hujjatlarida shunday yozadi:

<figure>
<blockquote>
<p><code>claude --version</code> ishlasa-yu, boshqa narsa noto‘g‘ri ishlayotgan bo‘lsa, avtomatik tashxis hisobotini yaratish uchun <code>claude doctor</code> ni ishga tushiring.</p>
</blockquote>
<figcaption>— Anthropic Docs - Troubleshoot installation, https://code.claude.com/docs/en/troubleshoot-install</figcaption>
</figure>

2. **O‘zaro zid o‘rnatishlar borligini tekshiring.** Ko‘pchilikda bir vaqtning o‘zida npm’ning global versiyasi va mahalliy o‘rnatuvchi orqali o‘rnatilgan nusxa bo‘ladi:

<figure>
<blockquote>
<p>Claude Code’ning bir nechta o‘rnatmasi versiyalar mos kelmasligi yoki kutilmagan xatti-harakatga olib kelishi mumkin.</p>
</blockquote>
<figcaption>— Anthropic Docs - Troubleshoot installation, https://code.claude.com/docs/en/troubleshoot-install</figcaption>
</figure>

3. **`ANTHROPIC_API_KEY` OAuth seansingizga xalaqit berayotganini tekshiring.** Bu “hech narsa ishlamayapti, kalit muddati tugadi” holatining keng tarqalgan sababidir:

<figure>
<blockquote>
<p>`ANTHROPIC_API_KEY` o‘rnatilgan va tasdiqlangan bo‘lsa, Claude Code obunangizning OAuth hisob ma’lumotlari o‘rniga shu kalitdan foydalanadi.</p>
</blockquote>
<figcaption>— Anthropic Docs - Troubleshoot installation, https://code.claude.com/docs/en/troubleshoot-install</figcaption>
</figure>

Yechim: joriy shell seansida `unset ANTHROPIC_API_KEY` ni ishga tushiring yoki uni `~/.zshrc` / `~/.bashrc` dan olib tashlang.

4. **Faqat diagnostika aniqlagan o‘rnatishni tuzating; avval barcha foydalanuvchi holatini saqlang.** Xavfsiz rejim xatosi yoki noaniq doctor hisoboti ma’lumotni o‘chirish kerakligini isbotlamaydi. Izchil zaxiradan oldin barcha Claude seanslari va yozuvchilarni to‘xtating. O‘sha Unix hisobi, HOME, OS credential ombori va Anthropic hisobini saqlang; kalit almashtirmang, yangi identity yaratmang.

Quyidagi misol **GNU tar bilan Linux** uchun. macOS yoki Windows’da ACL, extended attribute, havola va metama’lumotni saqlaydigan vosita ishlating, davom etishdan oldin tiklashni tekshiring. GNU bayroqlari u yerda ishlaydi deb olmang. Arxiv credential va seanslarni tutadi: xususiy, repodan tashqarida saqlang.

```bash
# Run as the same user who owns the Claude state, after stopping writers.
set -eu
umask 077
backup_dir=$(mktemp -d "$HOME/.claude-recovery-XXXXXXXX")
set --
if [ -e "$HOME/.claude" ] || [ -L "$HOME/.claude" ]; then
  set -- "$@" .claude
fi
if [ -e "$HOME/.claude.json" ] || [ -L "$HOME/.claude.json" ]; then
  set -- "$@" .claude.json
fi
[ "$#" -gt 0 ] || exit 1
tar --acls --xattrs --numeric-owner -cpf "$backup_dir/claude-state.tar" -C "$HOME" "$@"
tar --acls --xattrs --compare -f "$backup_dir/claude-state.tar" -C "$HOME"
sha256sum "$backup_dir/claude-state.tar" > "$backup_dir/claude-state.sha256"
(cd "$backup_dir" && sha256sum -c claude-state.sha256)
mkdir "$backup_dir/restore-check"
tar --acls --xattrs -xpf "$backup_dir/claude-state.tar" -C "$backup_dir/restore-check"
tar --acls --xattrs --compare -f "$backup_dir/claude-state.tar" -C "$backup_dir/restore-check"
printf 'Verified recovery directory: %s\n' "$backup_dir"
```

Barcha buyruqlar muvaffaqiyatli tugasin. Arxiv faqat Git sozlamalarini emas, butun mavjud `.claude` daraxti, ignored/untracked seans va plugin holati hamda `.claude.json` ni qamraydi. Yo‘l symlink bo‘lsa yoki ma’lumot alohida sozlangan joyda bo‘lsa, to‘xtab, resolved target’ni ham shu tekshirilgan zaxiraga kiriting. Faqat havolani arxivlash target’ni saqlamaydi. Arxiv macOS Keychain yoki tashqi credential omborini qamramaydi; ularning identity’sini joyida saqlang.

Diagnostika aynan **eski local o‘rnatish** to‘qnashganini ko‘rsatsa, konfiguratsiya va seanslarni o‘chirmay, faqat shu nusxani xususiy recovery papkasiga ko‘chiring:

```bash
# Use the verified backup_dir from the previous block.
if [ -d "$HOME/.claude/local" ]; then
  mv "$HOME/.claude/local" "$backup_dir/legacy-local"
fi
```

npm nusxasini faqat diagnostika uni to‘qnashgan o‘rnatish deb aniqlasa va native’ni qoldirmoqchi bo‘lsangiz olib tashlang. `.claude` yoki `.claude.json` ni o‘chirmay [rasmiy native o‘rnatuvchidan](https://code.claude.com/docs/en/setup) foydalaning:

```bash
curl -fsSL https://claude.ai/install.sh | bash
claude --version
claude doctor
```

Windows uchun native buyruq:

```powershell
irm https://claude.ai/install.ps1 | iex
```

**Tiklash alohida.** Yozuvchilarni yana to‘xtating. Checksum’ni tekshirib, yuqoridagidek bo‘sh recovery papkasiga oching va fayllardan oldin muvaffaqiyatli solishtiring. Eski o‘rnatishni qaytarsangiz, avval `$HOME/.claude/local` yo‘qligini tekshirib, `$backup_dir/legacy-local` ni aynan shu joyga qaytaring. Tashxislangan sozlamani tekshirilgan nusxadan tiklashdan oldin joriy o‘rinbosarini saqlang; butun daraxt ustiga ko‘r-ko‘rona yozmang. Seanslar, MCP sozlamalari va asl identity saqlanadi. Git snapshot ignored/untracked transcript, credential yoki fayl metama’lumotini to‘liq qamramaydi.

## Claude Code buzilganda NIMALARNI QILMASLIK KERAK?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

Tasvirlangan yordam holatlarida oltita zararli odat uchraydi: tashxisdan oldin kalitlarni almashtirish, birinchi qadamdayoq to‘liq tiklash, hookdagi interfeys xatosidan vahimaga tushish, mantiqni tuzatishdan oldin hook chiqish kodini oshirish, xavfsiz rejim bilan himoyalamasdan `CLAUDE.md` ni tahrirlash va “Claude o‘z MCP’sini o‘zi tuzatadi” deb ishonish. Har biri soatlar oladi, ammo hech biri zarur emas.

</div>

### Tashxisdan oldin kalitlarni almashtirmang

“Avtorizatsiya ishlamayapti” degan holatlarning 90% ida sabab obunaga xalaqit berayotgan `ANTHROPIC_API_KEY`, hook interfeysidagi xato yoki ishdan chiqqan MCP bo‘ladi. Kalitlarni almashtirish bularning hech birini tuzatmaydi, lekin yana bir soatlik uzilishga sabab bo‘ladi: eski kalitni bekor qilish, yangisini chiqarish, CI’ni yangisi bilan qayta imzolash va ishlab chiqarish muhitidagi o‘zgaruvchilarni yangilash kerak. Avval `claude --safe-mode` ni ishga tushiring. Ishlayaptimi? Demak, muammo maxsus sozlashlarda; kalitlarga tegish shart emas.

### Xavfsiz rejimni sinamasdan to‘liq tiklashni boshlamang

Xavfsiz rejim 1 soniyada ajratilgan muhitni beradi. `.claude` ni o‘chirish seans, MCP konfiguratsiyasi va boshqa untracked holatni yo‘q qilishi mumkin. Avval tashxis va xususiy zaxirani tekshiring. Faqat aybi aniqlangan o‘rnatish yoki konfiguratsiya qatlamini qaytariladigan ko‘chirish bilan ajrating.

### Hookdagi interfeys xatosidan vahimaga tushmang

Biror narsani tuzatishdan oldin, vizual belgiga tayanmay, hook haqiqatan ishga tushganini (stderr jurnalidan yoki aniq chiqarilgan xabardan) tekshiring.

### Mantiqni tuzatishdan oldin hookning chiqish kodini oshirmang

Bloklovchi hookingiz bloklamasa, `exit 2` qo‘yib, ish bitdi deyish vasvasasi bor. Bu ishlaydigan tuzatish, ammo boshqa muammoni yashiradi: agar blok bir oy ishlamagan bo‘lsa, hook taqiqlashi kerak bo‘lgan barcha amallar bajarilgan bo‘ladi. Avval git jurnalini ko‘rib, aynan nima o‘tib ketganini aniqlang. Shundan keyin blokni qo‘shing. Aks holda, keyin qo‘shilgan blok avval sodir bo‘lgan narsani ortga qaytara olmaydi.

### Xavfsiz rejimda himoya vositasi yo‘q paytda ishlab turgan `CLAUDE.md` faylini tahrirlamang

Tasvirlangan holatda: `CLAUDE.md` ni tahrirlaysiz, Claude g‘alati ishlay boshlaydi, `git diff` ni ko‘rsangiz, kimdir o‘sha kuni kechqurun repoga MCP serveri va hook ham qo‘shgan bo‘ladi. Tahriringizni ayblab, ortga qaytarasiz — ammo Claude hamon g‘alati ishlaydi. Qoida: `git revert` dan oldin `claude --safe-mode` ni ishga tushiring. Xavfsiz rejimda ham muammo davom etsa, tahriringizning bunga aloqasi yo‘q; uni ortga qaytarish shart emas.

### “Claude o‘z MCP’sini o‘zi tuzatadi” degan gapga ishonmang

Odatiy holat: siz Claude’dan “MCP serveriga muayyan vositani qo‘shish”ni so‘raysiz, Claude ishlayotgan konfiguratsiyani qayta yozadi, hammasi buziladi, so‘ng yetkazgan zararini tuzatish uchun bir necha navbat sarflaydi — shu jarayonda esa seans kvotasi tugaydi. MCP buzilganda, **konfiguratsiyani qo‘lda oling**; agentga topshirmang. Uning vositalar majmuasining bir qismi ham MCP’da ishlaydi va MCP buzilsa, tashxis qo‘yuvchi vosita ham buziladi.

## Tuzatgandan keyin qayerga o‘tish kerak?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

Claude Code’ni tiklaganingizdan so‘ng, yana buzilmasligi uchun oldini olish choralarini qo‘shing. Hech bo‘lmaganda, foydalanuvchi sozlamalarida `disableBypassPermissionsMode: "disable"`, `.env` va `git push --force` ni to‘sadigan hooklar, uzoq avtonom ishga tushirishlar uchun sandbox kerak. Bunga hamroh qo‘llanma profilaktika haqida.

</div>

Hodisani tahlil qilgach, darhol ishga qaytmang. Avval takrorlanmasligi uchun profilaktika choralarini qo‘shing. Ikkinchi miya (`business/` papkasidagi loyiha tuzilmasi) va `CLAUDE.md` ustida soatlab ishlashingiz mumkin, ularni qo‘lda tiklash qiyin — bu jiddiy sabab. Minimal to‘plam:

1. **`~/.claude/settings.json`** ichida `permissions.disableBypassPermissionsMode: "disable"` — chetlab o‘tish rejimini arxitektura darajasida taqiqlaydi, shuning uchun tasodifan ishga tushirilgan `--dangerously-skip-permissions` shunchaki ishlamaydi.
2. **`Read(./env*)`, `Bash(git push --force)`, `Write(./node_modules/**)` uchun hooklar** — istak bilan emas, qat’iy qoida darajasida ushlanishi kerak bo‘lgan amallar.
3. **Uzoq avtonom ishga tushirishlar uchun sandbox konfiguratsiyasi** (`/loop`, `/schedule`).
4. **Kontekstdan nimani chiqarib tashlash bo‘yicha o‘z qoidalaringiz bilan `/compact`** — Claude o‘zini o‘zi holdan toydirmasligi uchun.

To‘rt qatlamli to‘liq himoya tizimi [“Loyihangizni tunda buzmasligi uchun Claude Code’ni qanday sozlash kerak” qo‘llanmasida](https://ailoot.ai/blog/uz/claude-code-safe-overnight-setup/). Bir qo‘llanma `/loop` ni ishga tushirishdan oldingi himoyani, ikkinchisi esa `/loop` allaqachon nimanidir buzganidan keyingi tiklashni yoritadi. Mantiqiy juftlik.

<div class="section" role="doc-bibliography" aria-label="Manbalar">

### Manbalar

- [Anthropic Claude Code Changelog](https://code.claude.com/docs/en/changelog) - v2.1.166 (`fallbackModel`), v2.1.169 (xavfsiz rejim, /cd), v2.1.174 (ixchamlashtirish tuzatishi), v2.1.176 (/cd git tarmog‘i tuzatishi) haqidagi rasmiy o‘zgarishlar jurnali.
- [Anthropic Docs - Model configuration](https://code.claude.com/docs/en/model-config) - “Fallback model chains,” “Check what triggered fallback,” “Setting your model” bo‘limlari.
- [Anthropic Docs - Troubleshoot installation and login](https://code.claude.com/docs/en/troubleshoot-install) - o‘zaro zid o‘rnatishlar, `claude doctor`, `ANTHROPIC_API_KEY` xalaqiti.

</div>

Amaliy materiallar: [Ailoot hujjatlari](https://ailoot.ai/docs/).





Qo‘shimcha materiallar va vositalar: [Ailoot](https://ailoot.ai/).

## Ko‘p beriladigan savollar

### Xavfsiz rejimda xato ~/.claude’ni o‘chirish kerakligini bildiradimi?

Yo‘q. O‘rnatish, avtorizatsiya, tarmoq va infratuzilma sabablarini tekshirish kerak. Noaniq doctor hisoboti sozlama yoki seansni olib tashlash dalili emas. Faqat tashxislangan qatlamni tuzating.

### O‘rnatishni tuzatishdan oldin nimalar saqlanadi?

Yozuvchilarni to‘xtatib, seanslar, plugin/MCP, ignore fayllar va metama’lumot bilan butun Claude holatini zaxiralang. Checksum va ochilishini tekshiring, hisob hamda credential omborini saqlang. Joriy holat ustiga ko‘r-ko‘rona yozmay, faqat tashxislangan qatlamni tiklang.


## Ailoot · Kompaniya va uning loyihalar portfeli

Ailoot to‘plangan faoliyat tajribasi, keng mijozlar bazasi, barqaror xizmat va doimiy KPI nazoratiga tayanadi.

Kompaniya va uning loyihalar portfeli: millionlab mijozlar; oylik sotuvlar hajmi milliardlarda.

Ailoot bu faoliyat tajribasini mijozlar mahsulotlari, agentlar, ilovalar va avtomatlashtirishlarda AI imkoniyatlariga API orqali kirishni ta’minlashda qo‘llaydi.
