SpyBara
Go Premium

Documentation 2026-06-22 23:59 UTC to 2026-06-23 00:59 UTC

43 files changed +2,055 −100. View all changes and history on the product overview
2026
Tue 23 00:59 Mon 22 23:59 Fri 19 22:58 Thu 18 22:00 Wed 17 17:02 Tue 16 21:57 Mon 15 23:02 Sat 13 21:59 Fri 12 22:00 Thu 11 23:01 Wed 10 23:57 Tue 9 06:34 Mon 8 06:52 Sat 6 06:24 Fri 5 06:45 Thu 4 06:52 Wed 3 06:53 Tue 2 06:51
Details

86`settingSources` mencakup pengaturan pengguna, proyek, dan lokal. Beberapa input dibaca terlepas dari nilainya:86`settingSources` mencakup pengaturan pengguna, proyek, dan lokal. Beberapa input dibaca terlepas dari nilainya:

87 87 

88| Input | Perilaku | Untuk menonaktifkan |88| Input | Perilaku | Untuk menonaktifkan |

89| :-------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------- |89| :-------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

90| Pengaturan kebijakan terkelola | Selalu dimuat ketika ada di host | Hapus file pengaturan terkelola |90| Pengaturan kebijakan terkelola | Selalu dimuat ketika ada di host | Hapus file pengaturan terkelola |

91| Konfigurasi global `~/.claude.json` | Selalu dibaca | Pindahkan dengan `CLAUDE_CONFIG_DIR` di `env` |91| Konfigurasi global `~/.claude.json` | Selalu dibaca | Pindahkan dengan `CLAUDE_CONFIG_DIR` di `env` |

92| Memori otomatis di `~/.claude/projects/<project>/memory/` | Dimuat secara default ke dalam system prompt | Atur `autoMemoryEnabled: false` di pengaturan, atau `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` di `env` |92| Memori otomatis di `~/.claude/projects/<project>/memory/` | Dimuat secara default ke dalam system prompt | Atur `autoMemoryEnabled: false` di pengaturan, atau `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` di `env` |

93| [Konektor MCP dari claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) | Dimuat ketika metode autentikasi aktif adalah langganan claude.ai. Melewatkan `mcpServers: {}` tidak menekannya | Atur `strictMcpConfig: true`, atau `ENABLE_CLAUDEAI_MCP_SERVERS=false` di `env` |93| [Konektor MCP dari claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) | Dimuat ketika metode autentikasi aktif adalah langganan claude.ai. Melewatkan `mcpServers: {}` tidak menekannya | Atur `strictMcpConfig: true`, [`disableClaudeAiConnectors: true`](/id/mcp#disable-claude-ai-connectors) di pengaturan, atau `ENABLE_CLAUDEAI_MCP_SERVERS=false` di `env` |

94 94 

95<Warning>95<Warning>

96 Jangan andalkan opsi `query()` default untuk isolasi multi-tenant. Karena input di atas dibaca terlepas dari `settingSources`, proses SDK dapat mengambil konfigurasi tingkat host dan memori per-direktori. Untuk deployment multi-tenant, jalankan setiap tenant di filesystem-nya sendiri dan atur `settingSources: []` ditambah `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` di `env`. Lihat [Secure deployment](/id/agent-sdk/secure-deployment).96 Jangan andalkan opsi `query()` default untuk isolasi multi-tenant. Karena input di atas dibaca terlepas dari `settingSources`, proses SDK dapat mengambil konfigurasi tingkat host dan memori per-direktori. Untuk deployment multi-tenant, jalankan setiap tenant di filesystem-nya sendiri dan atur `settingSources: []` ditambah `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` di `env`. Lihat [Secure deployment](/id/agent-sdk/secure-deployment).

Details

958```958```

959 959 

960* `API_TIMEOUT_MS`: timeout per-permintaan pada klien Anthropic, dalam milidetik. Default `600000`. Berlaku untuk loop utama dan semua subagent.960* `API_TIMEOUT_MS`: timeout per-permintaan pada klien Anthropic, dalam milidetik. Default `600000`. Berlaku untuk loop utama dan semua subagent.

961* `CLAUDE_CODE_MAX_RETRIES`: maksimal retry API. Default `10`. Setiap retry mendapat jendela `API_TIMEOUT_MS` sendiri, jadi waktu dinding terburuk kira-kira `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` ditambah backoff.961* `CLAUDE_CODE_MAX_RETRIES`: maksimal retry API. Default `10`, dibatasi pada `15`. Setiap retry mendapat jendela `API_TIMEOUT_MS` sendiri, jadi waktu dinding terburuk kira-kira `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` ditambah backoff. Untuk run tanpa pengawasan yang perlu menunggu melalui pemadaman yang lebih lama, atur `CLAUDE_CODE_RETRY_WATCHDOG=1` untuk retry kapasitas error tanpa batas.

962* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog stall untuk subagent yang diluncurkan dengan `run_in_background`. Default `600000`. Direset pada setiap event stream; pada stall itu membatalkan subagent, menandai tugas gagal, dan menampilkan error ke parent dengan hasil parsial apa pun. Tidak berlaku untuk subagent sinkron.962* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog stall untuk subagent yang diluncurkan dengan `run_in_background`. Default `600000`. Direset pada setiap event stream; pada stall itu membatalkan subagent, menandai tugas gagal, dan menampilkan error ke parent dengan hasil parsial apa pun. Tidak berlaku untuk subagent sinkron.

963* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` dengan `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: membatalkan permintaan ketika header telah tiba tetapi badan respons berhenti streaming. Ketika `CLAUDE_ENABLE_STREAM_WATCHDOG` tidak diatur, default adalah server-controlled pada Anthropic API langsung dan off pada penyedia lain. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` default ke `300000` dan diklem ke minimum itu. Permintaan yang dibatalkan melalui jalur retry normal.963* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` dengan `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: membatalkan permintaan ketika header telah tiba tetapi badan respons berhenti streaming. Ketika `CLAUDE_ENABLE_STREAM_WATCHDOG` tidak diatur, default adalah server-controlled pada Anthropic API langsung dan off pada penyedia lain. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` default ke `300000` dan diklem ke minimum itu. Permintaan yang dibatalkan melalui jalur retry normal.

964 964 

Details

196Dalam Python SDK, nama field ini menggunakan camelCase untuk mencocokkan format wire. Lihat referensi [`AgentDefinition`](/id/agent-sdk/python#agentdefinition) untuk detail.196Dalam Python SDK, nama field ini menggunakan camelCase untuk mencocokkan format wire. Lihat referensi [`AgentDefinition`](/id/agent-sdk/python#agentdefinition) untuk detail.

197 197 

198<Note>198<Note>

199 {/* min-version: 2.1.172 */}Sejak Claude Code v2.1.172, subagents dapat menghasilkan subagents mereka sendiri. Subagent latar belakang lima level di bawah agen utama tidak dapat menghasilkan subagents lebih lanjut; subagents foreground dapat menghasilkan pada kedalaman apa pun. Untuk mencegah subagent menghasilkan yang lain, hilangkan `Agent` dari array `tools` atau tambahkan ke `disallowedTools`. Lihat [subagents bersarang](/id/sub-agents#spawn-nested-subagents) untuk aturan kedalaman lengkap.199 {/* min-version: 2.1.172 */}Sejak Claude Code v2.1.172, subagents dapat menghasilkan subagents mereka sendiri. Subagent lima level di bawah agen utama tidak dapat menghasilkan subagents lebih lanjut, terlepas dari apakah itu berjalan di foreground atau background. Untuk mencegah subagent menghasilkan yang lain, hilangkan `Agent` dari array `tools` atau tambahkan ke `disallowedTools`. Lihat [subagents bersarang](/id/sub-agents#spawn-nested-subagents) untuk aturan kedalaman lengkap.

200</Note>200</Note>

201 201 

202<h3 id="filesystem-based-definition-alternative">202<h3 id="filesystem-based-definition-alternative">

Details

523| `stderr` | `(data: string) => void` | `undefined` | Callback untuk output stderr |523| `stderr` | `(data: string) => void` | `undefined` | Callback untuk output stderr |

524| `strictMcpConfig` | `boolean` | `false` | Gunakan hanya server yang diteruskan dalam `mcpServers` dan abaikan `.mcp.json` proyek, pengaturan pengguna, server MCP yang disediakan plugin, dan [konektor claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) |524| `strictMcpConfig` | `boolean` | `false` | Gunakan hanya server yang diteruskan dalam `mcpServers` dan abaikan `.mcp.json` proyek, pengaturan pengguna, server MCP yang disediakan plugin, dan [konektor claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) |

525| `systemPrompt` | `string \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean }` | `undefined` (minimal prompt) | Konfigurasi prompt sistem. Lewatkan string untuk prompt kustom, atau `{ type: 'preset', preset: 'claude_code' }` untuk menggunakan prompt sistem Claude Code. Saat menggunakan bentuk objek preset, tambahkan `append` untuk memperluas dengan instruksi tambahan, dan atur `excludeDynamicSections: true` untuk memindahkan konteks per-sesi ke pesan pengguna pertama untuk [reuse prompt-cache yang lebih baik di seluruh mesin](/id/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |525| `systemPrompt` | `string \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean }` | `undefined` (minimal prompt) | Konfigurasi prompt sistem. Lewatkan string untuk prompt kustom, atau `{ type: 'preset', preset: 'claude_code' }` untuk menggunakan prompt sistem Claude Code. Saat menggunakan bentuk objek preset, tambahkan `append` untuk memperluas dengan instruksi tambahan, dan atur `excludeDynamicSections: true` untuk memindahkan konteks per-sesi ke pesan pengguna pertama untuk [reuse prompt-cache yang lebih baik di seluruh mesin](/id/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |

526| `taskBudget` | `{ total: number }` | `undefined` | *Alpha.* Anggaran tugas sisi API dalam token. Ketika diatur, model diberitahu anggaran token sisa yang tersisa sehingga dapat mengatur kecepatan penggunaan tool dan membungkus sebelum batas |526| `taskBudget` | `{ total: number }` | `undefined` | *Alpha.* Anggaran tugas sisi API dalam token. Ketika diatur, model diberitahu anggaran token sisa yang tersedia sehingga dapat mengatur kecepatan penggunaan tool dan membungkus sebelum batas |

527| `thinking` | [`ThinkingConfig`](#thinkingconfig) | `{ type: 'adaptive' }` untuk model yang didukung | Mengontrol perilaku pemikiran/penalaran Claude. Lihat [`ThinkingConfig`](#thinkingconfig) untuk opsi |527| `thinking` | [`ThinkingConfig`](#thinkingconfig) | `{ type: 'adaptive' }` untuk model yang didukung | Mengontrol perilaku pemikiran/penalaran Claude. Lihat [`ThinkingConfig`](#thinkingconfig) untuk opsi |

528| `title` | `string` | `undefined` | Judul tampilan untuk sesi. Saat melanjutkan melalui `resume` atau `continue`, judul sesi yang dilanjutkan yang bertahan mengambil preseden; gunakan [`renameSession()`](#renamesession) untuk mengubah judul sesi yang ada |528| `title` | `string` | `undefined` | Judul tampilan untuk sesi. Saat melanjutkan melalui `resume` atau `continue`, judul sesi yang dilanjutkan yang bertahan mengambil preseden; gunakan [`renameSession()`](#renamesession) untuk mengubah judul sesi yang ada |

529| `toolAliases` | `Record<string, string>` | `undefined` | Petakan nama tool bawaan ke nama tool MCP sehingga Claude memanggil implementasi MCP Anda sebagai gantinya dari bawaan. Misalnya, `{ Bash: 'mcp__workspace__bash' }` |529| `toolAliases` | `Record<string, string>` | `undefined` | Petakan nama tool bawaan ke nama tool MCP sehingga Claude memanggil implementasi MCP Anda sebagai gantinya dari bawaan. Misalnya, `{ Bash: 'mcp__workspace__bash' }` |


551```551```

552 552 

553* `API_TIMEOUT_MS`: timeout per-request pada klien Anthropic, dalam milidetik. Default `600000`. Berlaku untuk loop utama dan semua subagen.553* `API_TIMEOUT_MS`: timeout per-request pada klien Anthropic, dalam milidetik. Default `600000`. Berlaku untuk loop utama dan semua subagen.

554* `CLAUDE_CODE_MAX_RETRIES`: maksimum retry API. Default `10`. Setiap retry mendapatkan jendela `API_TIMEOUT_MS` sendiri, jadi waktu dinding terburuk kira-kira `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` ditambah backoff.554* `CLAUDE_CODE_MAX_RETRIES`: maksimum retry API. Default `10`, dibatasi pada `15`. Setiap retry mendapatkan jendela `API_TIMEOUT_MS` sendiri, jadi waktu dinding terburuk kira-kira `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` ditambah backoff. Untuk run yang tidak diawasi yang perlu menunggu melalui pemadaman yang lebih lama, atur `CLAUDE_CODE_RETRY_WATCHDOG=1` untuk retry kapasitas error tanpa batas.

555* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: stall watchdog untuk subagen yang diluncurkan dengan `run_in_background`. Default `600000`. Reset pada setiap event stream; pada stall itu membatalkan subagen, menandai tugas gagal, dan menampilkan error ke parent dengan hasil parsial apa pun. Tidak berlaku untuk subagen sinkron.555* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: stall watchdog untuk subagen yang diluncurkan dengan `run_in_background`. Default `600000`. Reset pada setiap event stream; pada stall itu membatalkan subagen, menandai tugas gagal, dan menampilkan error ke parent dengan hasil parsial apa pun. Tidak berlaku untuk subagen sinkron.

556* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` dengan `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: membatalkan request ketika header telah tiba tetapi body respons berhenti streaming. Ketika `CLAUDE_ENABLE_STREAM_WATCHDOG` tidak diatur, default adalah server-controlled pada API Anthropic langsung dan off pada penyedia lain. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` default ke `300000` dan diklem ke minimum itu. Request yang dibatalkan melalui jalur retry normal.556* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` dengan `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: membatalkan request ketika header telah tiba tetapi body respons berhenti streaming. Ketika `CLAUDE_ENABLE_STREAM_WATCHDOG` tidak diatur, default adalah server-controlled pada API Anthropic langsung dan off pada penyedia lain. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` default ke `300000` dan diklem ke minimum itu. Request yang dibatalkan melalui jalur retry normal.

557 557 


1418```1418```

1419 1419 

1420| `kind` | Arti |1420| `kind` | Arti |

1421| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1421| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1422| `human` | Input langsung dari pengguna akhir. Pada pesan pengguna, `origin` yang tidak ada juga berarti input manusia. |1422| `human` | Input langsung dari pengguna akhir. Pada pesan pengguna, `origin` yang tidak ada juga berarti input manusia. |

1423| `channel` | Pesan yang tiba di [channel](/id/channels). `server` adalah nama server MCP sumber. |1423| `channel` | Pesan yang tiba di [channel](/id/channels). `server` adalah nama server MCP sumber. |

1424| `peer` | Dicadangkan untuk pesan dari sesi agen lain. `from` adalah alamat pengirim dan `name` adalah nama tampilan pengirim ketika tersedia. `senderTaskId` adalah ID tugas dari subagent latar belakang dalam proses yang mengirim pesan; tidak ada untuk peer lintas sesi. Agent SDK tidak memancarkan asal ini; perlakukan sebagai asal yang tidak diketahui. |1424| `peer` | Pesan dari agen lain. Untuk [rekan tim](/id/agent-teams) dalam proses yang mengirim ke `main` melalui `SendMessage`, `from` adalah nama rekan tim dan `senderTaskId` adalah ID tugasnya. Untuk peer lintas sesi seperti proses Claude Code lokal lainnya, `from` adalah alamat pengirim dan `senderTaskId` tidak ada. Field `name` dicadangkan. |

1425| `task-notification` | Putaran sintetis yang disuntikkan setelah tugas latar belakang selesai. Lihat [`SDKTaskNotificationMessage`](#sdktasknotificationmessage). |1425| `task-notification` | Putaran sintetis yang disuntikkan setelah tugas latar belakang selesai. Lihat [`SDKTaskNotificationMessage`](#sdktasknotificationmessage). |

1426| `coordinator` | Pesan dari koordinator tim dalam [tim agen](/id/agent-teams). |1426| `coordinator` | Pesan dari koordinator tim dalam [tim agen](/id/agent-teams). |

1427| `auto-continuation` | Putaran sintetis yang disuntikkan ketika sesi berlanjut tanpa input pengguna baru, seperti hasil perintah yang memicu prompt lanjutan. |1427| `auto-continuation` | Putaran sintetis yang disuntikkan ketika sesi berlanjut tanpa input pengguna baru, seperti hasil perintah yang memicu prompt lanjutan. |


3654 status: "allowed" | "allowed_warning" | "rejected";3654 status: "allowed" | "allowed_warning" | "rejected";

3655 resetsAt?: number;3655 resetsAt?: number;

3656 utilization?: number;3656 utilization?: number;

3657 errorCode?: "credits_required";

3658 canUserPurchaseCredits?: boolean;

3659 hasChargeableSavedPaymentMethod?: boolean;

3657 };3660 };

3658 uuid: UUID;3661 uuid: UUID;

3659 session_id: string;3662 session_id: string;

3660};3663};

3661```3664```

3662 3665 

3666{/* min-version: 2.1.181 */}Ketika `errorCode` adalah `"credits_required"`, penolakan berasal dari langganan claude.ai yang penggunaan yang disertakan sudah habis, dan sesi tidak dapat dilanjutkan sampai pengguna membeli kredit penggunaan. `canUserPurchaseCredits` menunjukkan apakah pengguna yang diautentikasi dapat membeli kredit untuk akun, dan `hasChargeableSavedPaymentMethod` menunjukkan apakah metode pembayaran yang disimpan ada di file. Ketiga field ini tidak ada pada acara batas laju yang bukan penolakan yang diperlukan kredit. Memerlukan Claude Code v2.1.181 atau lebih baru.

3667 

3663<h3 id="sdklocalcommandoutputmessage">3668<h3 id="sdklocalcommandoutputmessage">

3664 `SDKLocalCommandOutputMessage`3669 `SDKLocalCommandOutputMessage`

3665</h3>3670</h3>

agent-teams.md +20 −9

Details

90 90 

91Dari sana, Claude mengisi [daftar tugas bersama](/id/interactive-mode#task-list), menelurkan rekan tim untuk setiap perspektif, membuat mereka mengeksplorasi masalah, dan mensintesis temuan ketika selesai.91Dari sana, Claude mengisi [daftar tugas bersama](/id/interactive-mode#task-list), menelurkan rekan tim untuk setiap perspektif, membuat mereka mengeksplorasi masalah, dan mensintesis temuan ketika selesai.

92 92 

93Terminal lead mencantumkan semua rekan tim dan apa yang mereka kerjakan. Gunakan Shift+Down untuk bersiklus melalui rekan tim dan kirim pesan kepada mereka secara langsung. Setelah rekan tim terakhir, Shift+Down membungkus kembali ke lead.93Panel lead mencantumkan rekan tim di panel agent di bawah input prompt. Dari panel:

94 

95* **Panah atas dan bawah**: pilih rekan tim

96* **Enter**: buka transkrip rekan tim yang dipilih dan kirim pesan langsung kepadanya

97* **Escape**: hentikan giliran saat ini rekan tim yang dipilih

98 

99{/* min-version: 2.1.181 */}Mulai dari v2.1.181, baris rekan tim yang idle bersembunyi setelah 30 detik dan muncul kembali pada giliran berikutnya. Rekan tim tetap berjalan dan dapat dialamatkan saat tersembunyi.

94 100 

95Jika Anda ingin setiap rekan tim di split pane-nya sendiri, lihat [Pilih mode tampilan](#choose-a-display-mode).101Jika Anda ingin setiap rekan tim di split pane-nya sendiri, lihat [Pilih mode tampilan](#choose-a-display-mode).

96 102 


106 112 

107Tim agent mendukung dua mode tampilan:113Tim agent mendukung dua mode tampilan:

108 114 

109* **In-process**: semua rekan tim berjalan di dalam terminal utama Anda. Gunakan Shift+Down untuk bersiklus melalui rekan tim dan ketik untuk mengirim pesan kepada mereka secara langsung. Bekerja di terminal apa pun, tidak ada setup tambahan yang diperlukan.115* **In-process**: semua rekan tim berjalan di dalam terminal utama Anda. Gunakan tombol panah atas dan bawah di panel agent untuk memilih rekan tim, kemudian tekan Enter untuk melihatnya dan ketik untuk mengirim pesan kepadanya secara langsung. Bekerja di terminal apa pun, tidak ada setup tambahan yang diperlukan.

110* **Split panes**: setiap rekan tim mendapat pane-nya sendiri. Anda dapat melihat output semua orang sekaligus dan klik ke dalam pane untuk berinteraksi secara langsung. Memerlukan tmux, atau iTerm2.116* **Split panes**: setiap rekan tim mendapat pane-nya sendiri. Anda dapat melihat output semua orang sekaligus dan klik ke dalam pane untuk berinteraksi secara langsung. Memerlukan tmux, atau iTerm2.

111 117 

112<Note>118<Note>

113 `tmux` memiliki keterbatasan yang diketahui pada sistem operasi tertentu dan secara tradisional bekerja paling baik di macOS. Menggunakan `tmux -CC` di iTerm2 adalah entrypoint yang disarankan ke `tmux`.119 `tmux` memiliki keterbatasan yang diketahui pada sistem operasi tertentu dan secara tradisional bekerja paling baik di macOS. Menggunakan `tmux -CC` di iTerm2 adalah entrypoint yang disarankan ke `tmux`.

114</Note>120</Note>

115 121 

116Default adalah `"auto"`, yang menggunakan split panes jika Anda sudah berjalan di dalam session tmux atau terminal Anda adalah iTerm2, dan in-process sebaliknya. Pengaturan `"tmux"` mengaktifkan mode split-pane dan auto-detects apakah akan menggunakan tmux atau iTerm2 berdasarkan terminal Anda. Untuk mengganti, atur [`teammateMode`](/id/settings#available-settings) di `~/.claude/settings.json`:122Default adalah `"in-process"`. Sebelum v2.1.179 default adalah `"auto"`, jadi session yang ditingkatkan yang sebelumnya membuka split panes sekarang tetap dalam satu terminal kecuali Anda menetapkan mode secara eksplisit. Atur `"auto"` untuk mengaktifkan split panes ketika Anda sudah berjalan di dalam session tmux atau terminal Anda adalah iTerm2, jatuh kembali ke in-process sebaliknya. Pengaturan `"tmux"` mengaktifkan mode split-pane dan auto-detects apakah akan menggunakan tmux atau iTerm2 berdasarkan terminal Anda.

123 

124{/* min-version: 2.1.186 */}Mulai dari v2.1.186, atur `"iterm2"` untuk menggunakan iTerm2 native split panes secara eksplisit. Mode ini memerlukan [`it2` CLI](https://github.com/mkusaka/it2) dan menampilkan error dengan perintah install jika `it2` hilang. Prompt setup yang menawarkan untuk menginstal `it2` atau beralih ke tmux muncul di bawah `"auto"` atau `"tmux"` ketika terminal Anda adalah iTerm2 dan tmux tersedia sebagai fallback.

125 

126Untuk mengganti default, atur [`teammateMode`](/id/settings#available-settings) di `~/.claude/settings.json`:

117 127 

118```json theme={null}128```json theme={null}

119{129{

120 "teammateMode": "in-process"130 "teammateMode": "auto"

121}131}

122```132```

123 133 

124Untuk memaksa mode in-process untuk satu session, teruskan sebagai flag:134Untuk menetapkan mode untuk satu session, teruskan sebagai flag:

125 135 

126```bash theme={null}136```bash theme={null}

127claude --teammate-mode in-process137claude --teammate-mode auto

128```138```

129 139 

130Mode split-pane memerlukan baik [tmux](https://github.com/tmux/tmux/wiki) atau iTerm2 dengan [`it2` CLI](https://github.com/mkusaka/it2). Untuk menginstal secara manual:140Mode split-pane memerlukan baik [tmux](https://github.com/tmux/tmux/wiki) atau iTerm2 dengan [`it2` CLI](https://github.com/mkusaka/it2). Untuk menginstal secara manual:


166 176 

167Setiap rekan tim adalah session Claude Code penuh dan independen. Anda dapat mengirim pesan ke rekan tim mana pun secara langsung untuk memberikan instruksi tambahan, mengajukan pertanyaan lanjutan, atau mengalihkan pendekatan mereka.177Setiap rekan tim adalah session Claude Code penuh dan independen. Anda dapat mengirim pesan ke rekan tim mana pun secara langsung untuk memberikan instruksi tambahan, mengajukan pertanyaan lanjutan, atau mengalihkan pendekatan mereka.

168 178 

169* **Mode in-process**: gunakan Shift+Down untuk bersiklus melalui rekan tim, kemudian ketik untuk mengirim pesan kepada mereka. Tekan Enter untuk melihat session rekan tim, kemudian Escape untuk mengganggu giliran mereka saat ini. Tekan Ctrl+T untuk toggle daftar tugas.179* **Mode in-process**: gunakan tombol panah atas dan bawah di panel agent untuk memilih rekan tim, kemudian tekan Enter untuk melihat sessionnya dan ketik untuk mengirim pesan kepadanya. Tekan `x` pada rekan tim yang dipilih untuk menghentikannya. Tekan Ctrl+T untuk toggle daftar tugas.

170* **Mode split-pane**: klik ke dalam pane rekan tim untuk berinteraksi dengan session mereka secara langsung. Setiap rekan tim memiliki tampilan penuh dari terminal mereka sendiri.180* **Mode split-pane**: klik ke dalam pane rekan tim untuk berinteraksi dengan session mereka secara langsung. Setiap rekan tim memiliki tampilan penuh dari terminal mereka sendiri.

171 181 

172<h3 id="assign-and-claim-tasks">182<h3 id="assign-and-claim-tasks">


422 432 

423Jika rekan tim tidak muncul setelah Anda meminta Claude untuk membuat mereka:433Jika rekan tim tidak muncul setelah Anda meminta Claude untuk membuat mereka:

424 434 

425* Dalam mode in-process, rekan tim mungkin sudah berjalan tetapi tidak terlihat. Tekan Shift+Down untuk bersiklus melalui rekan tim aktif.435* Dalam mode in-process, rekan tim muncul di panel agen di bawah input prompt. Gunakan tombol panah atas dan bawah untuk memilih satu, kemudian tekan Enter untuk melihatnya.

436* Baris rekan tim yang hilang setelah diam telah disembunyikan, bukan dihentikan. Baris idle menyembunyikan setelah 30 detik dan muncul kembali pada giliran rekan tim berikutnya. Kirim pesan ke rekan tim berdasarkan nama untuk membawanya kembali.

426* Periksa bahwa tugas yang Anda berikan Claude cukup kompleks untuk menjamin rekan tim. Claude memutuskan apakah akan menelurkan mereka berdasarkan tugas.437* Periksa bahwa tugas yang Anda berikan Claude cukup kompleks untuk menjamin rekan tim. Claude memutuskan apakah akan menelurkan mereka berdasarkan tugas.

427* Jika Anda secara eksplisit meminta split panes, pastikan tmux diinstal dan tersedia di PATH Anda:438* Jika Anda secara eksplisit meminta split panes, pastikan tmux diinstal dan tersedia di PATH Anda:

428 ```bash theme={null}439 ```bash theme={null}


440 Rekan tim berhenti pada errors451 Rekan tim berhenti pada errors

441</h3>452</h3>

442 453 

443Rekan tim dapat berhenti setelah mengalami errors alih-alih pulih. Periksa output mereka menggunakan Shift+Down dalam mode in-process atau dengan mengklik pane dalam mode split, kemudian baik:454Rekan tim dapat berhenti setelah mengalami errors alih-alih pulih. Periksa output mereka dengan memilih rekan tim di panel agen dan menekan Enter dalam mode in-process, atau dengan mengklik pane dalam mode split, kemudian baik:

444 455 

445* Berikan instruksi tambahan kepada mereka secara langsung456* Berikan instruksi tambahan kepada mereka secara langsung

446* Hasilkan rekan tim pengganti untuk melanjutkan pekerjaan457* Hasilkan rekan tim pengganti untuk melanjutkan pekerjaan

Details

219}219}

220```220```

221 221 

222{/* min-version: 2.1.181 */}Mulai dari Claude Code v2.1.181, output datar dari `aws configure export-credentials --format process` juga diterima, dengan kunci yang sama di tingkat atas alih-alih bersarang di bawah `Credentials`.

223 

222`Expiration` bersifat opsional. {/* min-version: 2.1.176 */}Mulai dari Claude Code v2.1.176, ketika perintah mengembalikan `Expiration` ISO 8601 yang valid, Claude Code menyimpan kredensial dalam cache hingga lima menit sebelum waktu tersebut. Tanpanya, atau pada versi sebelumnya, kredensial disimpan dalam cache selama satu jam.224`Expiration` bersifat opsional. {/* min-version: 2.1.176 */}Mulai dari Claude Code v2.1.176, ketika perintah mengembalikan `Expiration` ISO 8601 yang valid, Claude Code menyimpan kredensial dalam cache hingga lima menit sebelum waktu tersebut. Tanpanya, atau pada versi sebelumnya, kredensial disimpan dalam cache selama satu jam.

223 225 

224<h3 id="3-configure-claude-code">226<h3 id="3-configure-claude-code">

artifacts.md +270 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Bagikan keluaran sesi sebagai artifacts

6 

7> Artifacts mengubah pekerjaan Claude Code menjadi halaman interaktif langsung di URL pribadi yang dapat Anda bagikan di dalam organisasi Anda.

8 

9{/* plan-availability: feature=artifacts plans=team,enterprise providers=anthropic */}

10 

11<Note>

12 Artifacts sedang dalam beta. Mereka memerlukan paket Team atau Enterprise dan sesi yang masuk dengan [`/login`](/id/setup#authenticate). Lihat [Availability](#availability) untuk rangkaian lengkap persyaratan.

13</Note>

14 

15Artifact adalah halaman web interaktif langsung yang Claude Code terbitkan dari sesi Anda ke URL pribadi di claude.ai. Anda membukanya di browser, dan halaman tersebut diperbarui di tempat saat sesi berlanjut. Bagikan dari header halaman ketika Anda ingin rekan kerja melihatnya juga. Misalnya, gunakan artifact untuk membimbing reviewer melalui pull request dengan diff yang diberi anotasi, membangun dashboard dari data sesi, atau menyimpan timeline investigasi yang terisi saat Claude bekerja.

16 

17<Frame>

18 <img src="https://mintcdn.com/claude-code/kaHIYYMIYMYPxQg9/images/artifacts-viewer.png?fit=max&auto=format&n=kaHIYYMIYMYPxQg9&q=85&s=dbfd671cdb0d15f49f808b9e89778fe1" alt="Artifact terbuka di browser di claude.ai/code/artifact. Header viewer menampilkan judul artifact acme-funnel-fix, tombol Share, dan avatar penulis. Menu Share terbuka dengan toggle Always share latest version, pemilih versi yang menunjukkan Sharing version 2, pemilih audiens Everyone at Acme, dan tombol Copy link. Di bawah header, halaman artifact menampilkan dua mockup mobile berdampingan, bagan corong, dan baris kartu metrik." width="2511" height="1890" data-path="images/artifacts-viewer.png" />

19</Frame>

20 

21Halaman ini mencakup cara untuk:

22 

23* Memutuskan [kapan menggunakan artifact](#when-to-use-an-artifact)

24* [Membuat](#create-an-artifact), [memperbarui](#update-an-artifact), dan [membagikan](#share-an-artifact) artifact

25* Menerapkan [pola prompting](#what-you-can-build) untuk halaman yang lebih kaya

26* [Menerapkan sistem desain Anda sendiri](#improve-the-visual-design) sehingga artifacts cocok dengan branding produk Anda

27* Memahami [batasan halaman](#page-constraints) dan [persyaratan ketersediaan](#availability)

28* [Menonaktifkan](#disable-artifacts) atau [mengelola artifacts untuk organisasi Anda](#manage-artifacts-for-your-organization)

29 

30<h2 id="when-to-use-an-artifact">

31 Kapan menggunakan artifact

32</h2>

33 

34Gunakan artifact ketika teks terminal adalah medium yang salah untuk apa yang Claude hasilkan: output yang lebih mudah dilihat dan berinteraksi daripada dibaca baris demi baris. Claude membangun halaman dari apa pun yang dapat dijangkau sesi Anda, termasuk codebase Anda dan data yang ditariknya melalui [tools yang terhubung](/id/mcp), sehingga halaman dapat menampilkan hal-hal yang memerlukan paragraf untuk dijelaskan. Misalnya, minta Claude untuk:

35 

36* Membimbing reviewer melalui pull request dengan diff yang diberi anotasi

37* Merender dashboard dari data yang sudah ditarik sesi

38* Meletakkan beberapa opsi desain atau implementasi berdampingan

39* Menyimpan timeline investigasi yang terisi saat tugas panjang berjalan

40* Mengirim tautan ke rekan kerja alih-alih menempel output ke Slack

41 

42Lihat [What you can build](#what-you-can-build) untuk prompt yang cocok dengan masing-masing.

43 

44<h3 id="what-an-artifact-is-not">

45 Apa yang bukan artifact

46</h3>

47 

48Artifact adalah tangkapan pekerjaan, bukan aplikasi. Ini adalah satu halaman yang mandiri tanpa backend, jadi tidak dapat menyimpan input formulir, memanggil API pada waktu tampilan, atau melayani beberapa rute. Untuk alat internal yang dihosting dengan backend, sebarkan di infrastruktur Anda sendiri. Lihat [Page constraints](#page-constraints) untuk rangkaian lengkap batasan.

49 

50<h2 id="create-an-artifact">

51 Buat artifact

52</h2>

53 

54Claude dapat menerbitkan artifact dengan sendirinya ketika output cocok untuk halaman, atau Anda dapat memintanya secara langsung. Untuk meminta, beri nama fitur atau jelaskan output visual yang Anda inginkan dalam bahasa biasa. Kandidat yang baik adalah apa pun yang lebih mudah dilihat daripada dibaca sebagai teks, seperti diff yang diberi anotasi, bagan, atau serangkaian opsi untuk dibandingkan. Prompt di bawah ini adalah dua contoh; lihat [What you can build](#what-you-can-build) untuk pola lainnya.

55 

56```text wrap theme={null}

57Make an artifact that walks through this PR with the diff annotated inline.

58```

59 

60```text wrap theme={null}

61Build a dashboard artifact of last week's deploy failures by service and keep it updated as you investigate.

62```

63 

64Claude menulis halaman ke file HTML atau Markdown di proyek Anda, kemudian menerbitkannya. Sebelum menerbitkan artifact baru, Claude Code meminta izin; mungkin mengatakan sesuatu seperti `Claude wants to publish "Deploy failures by service" (deploy-failures.html) to a private page on claude.ai`. Menerbitkan ulang artifact yang sudah Anda setujui tidak akan meminta lagi.

65 

66Pilih **Yes** untuk menerbitkan. Claude mencetak URL, dan browser Anda membuka ke halaman baru. Tekan `Ctrl+]` kapan saja untuk membuka kembali artifact terbaru dari terminal.

67 

68Claude memilih judul artifact dan emoji untuk ikon tab browsernya. Keduanya muncul di [galeri artifacts](#share-an-artifact) Anda di claude.ai dan di tautan bersama, jadi minta Claude untuk menggunakan judul atau ikon tertentu jika Anda menginginkannya.

69 

70Untuk menghentikan browser membuka secara otomatis ketika artifact baru diterbitkan, atur `CLAUDE_CODE_ARTIFACT_AUTO_OPEN=0` di lingkungan Anda.

71 

72Jika Claude merespons bahwa tidak dapat menerbitkan, atau menulis file HTML lokal tanpa tautan, tool tidak diaktifkan untuk sesi Anda. Periksa persyaratan [Availability](#availability).

73 

74<h2 id="update-an-artifact">

75 Perbarui artifact

76</h2>

77 

78Minta Claude untuk merevisi halaman, atau biarkan tugas yang berjalan lama menerbitkan ulang saat membuat kemajuan. Claude mengedit file yang mendasar dan menerbitkan lagi ke URL yang sama.

79 

80```text wrap theme={null}

81Add a per-region breakdown below the summary chart and republish.

82```

83 

84Siapa pun yang membuka halaman melihat pembaruan di tempat. Setiap penerbitan menjadi versi, dan dari kontrol **Share** di header halaman Anda dapat memilih versi mana yang dilihat viewer.

85 

86Untuk memperbarui artifact dari sesi yang berbeda, berikan Claude URL artifact dan minta untuk merevisi. Tanpa URL, sesi baru selalu membuat artifact baru daripada memperbarui yang sudah ada.

87 

88```text wrap theme={null}

89Update https://claude.ai/code/artifact/5fbea6f3-... with today's numbers.

90```

91 

92<h2 id="share-an-artifact">

93 Bagikan artifact

94</h2>

95 

96Artifact baru hanya terlihat oleh Anda. Buka di browser Anda dan gunakan kontrol **Share** di header halaman untuk memberikan akses ke orang-orang tertentu di organisasi Anda, atau ke semua orang di dalamnya. Header menamai Anda sebagai penulis artifact, jadi siapa pun yang Anda bagikan dapat melihat siapa yang menerbitkan halaman. Ini juga menautkan ke galeri Anda di [claude.ai/code/artifacts](https://claude.ai/code/artifacts), yang mencantumkan setiap artifact yang telah Anda buat.

97 

98Berbagi berhenti di organisasi Anda. Viewer harus masuk ke claude.ai sebagai anggota organisasi yang sama yang menerbitkan artifact, dan tidak ada opsi untuk membuat artifact dapat dilihat di luar organisasi. Untuk mengirim konten yang mendasar kepada seseorang di luar organisasi Anda, minta Claude untuk file HTML dan bagikan file tersebut secara langsung.

99 

100Artifacts dapat dilihat, bukan diedit bersama. Orang yang Anda bagikan melihat setiap versi yang Anda terbitkan tetapi tidak dapat mengubah halaman; Anda tetap menjadi satu-satunya penulis.

101 

102<h2 id="what-you-can-build">

103 Apa yang dapat Anda bangun

104</h2>

105 

106Artifact adalah satu halaman HTML, jadi apa pun yang dapat Anda ekspresikan dalam HTML, CSS, dan JavaScript inline berada dalam cakupan. Pola di bawah ini paling sering muncul.

107 

108<h3 id="walk-through-a-change">

109 Berjalan melalui perubahan

110</h3>

111 

112Minta halaman yang merender diff atau perubahan desain dengan anotasi di samping baris yang relevan, sehingga reviewer dapat membaca alasan Anda di samping kode alih-alih merekonstruksinya dari deskripsi.

113 

114```text wrap theme={null}

115Make an artifact that walks through this PR. Render the diff with margin annotations and color-code findings by severity.

116```

117 

118<h3 id="compare-alternatives">

119 Bandingkan alternatif

120</h3>

121 

122Minta beberapa varian di satu halaman sehingga Anda dapat mengevaluasinya satu sama lain. Ini berfungsi untuk tata letak, salinan, bentuk API, atau rencana implementasi.

123 

124```text wrap theme={null}

125Make an artifact with four distinctly different layouts for the settings panel. Vary density and grouping, and lay them out as a grid with a one-line tradeoff under each.

126```

127 

128<h3 id="tune-with-interactive-controls">

129 Sesuaikan dengan kontrol interaktif

130</h3>

131 

132Minta slider, toggle, atau bidang input yang terikat pada apa pun yang Anda sesuaikan, sehingga Anda dapat menjelajahi nilai secara langsung alih-alih menjelaskannya.

133 

134```text wrap theme={null}

135Build an artifact with sliders for the easing curve, duration, and delay so I can try values on this transition. Show the animation live as I move them.

136```

137 

138<h3 id="bring-the-result-back-to-your-session">

139 Bawa hasil kembali ke sesi Anda

140</h3>

141 

142Artifact dapat bertindak sebagai editor ringan untuk keputusan yang kemudian Anda serahkan kembali ke Claude. Minta kontrol ekspor yang menghasilkan teks yang dapat Anda tempel ke terminal, sehingga hasil berinteraksi dengan halaman mengalir kembali ke sesi alih-alih tetap di halaman.

143 

144```text wrap theme={null}

145Make a triage board artifact with each open issue as a draggable card across Now, Next, Later, and Cut columns. Add a "Copy as prompt" button that gives me the final ordering to paste back here.

146```

147 

148<h3 id="track-work-in-progress">

149 Lacak pekerjaan yang sedang berlangsung

150</h3>

151 

152Minta Claude untuk menjaga artifact tetap terkini saat tugas panjang berjalan, sehingga siapa pun dengan tautan dapat mengikuti tanpa membaca terminal.

153 

154```text wrap theme={null}

155Turn this migration plan into a checklist artifact. Check items off as you complete them and add a note for anything you skip.

156```

157 

158<h2 id="improve-the-visual-design">

159 Tingkatkan desain visual

160</h2>

161 

162Claude menerapkan skill desain bawaan ketika membangun artifact, sehingga halaman mendapatkan palet, tipografi, dan tata letak yang disengaja tanpa prompting tambahan. Skill itu juga mencari sistem desain yang ada di proyek Anda sebelum memilih miliknya sendiri. Untuk menjaga artifacts konsisten dengan branding produk Anda, catat token desain Anda di mana Claude dapat menemukannya, seperti [CLAUDE.md](/id/memory) proyek atau file tema di repositori Anda:

163 

164```markdown theme={null}

165## Design system

166 

167- Colors: primary #1a4d8f, accent #f59e0b, surface #f8fafc

168- Typography: Inter for body, JetBrains Mono for code

169- Spacing: 8px scale, 6px border radius

170```

171 

172Claude memperlakukan sistem desain Anda sebagai prioritas lebih tinggi daripada pilihannya sendiri, dan prompt Anda sebagai prioritas lebih tinggi daripada keduanya. Heading dan format di atas adalah contoh; daftar warna, font, dan spasi yang jelas apa pun berfungsi.

173 

174<h2 id="page-constraints">

175 Batasan halaman

176</h2>

177 

178Setiap artifact adalah satu halaman yang mandiri. Claude Code membungkus file yang Anda terbitkan dalam shell dokumen HTML dan melayaninya di bawah Content Security Policy (CSP) yang ketat, yang membentuk apa yang dapat dilakukan halaman.

179 

180| Batasan | Efek |

181| :----------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

182| Tidak ada permintaan eksternal | CSP memblokir skrip, stylesheet, font, dan gambar yang dimuat dari host lain, bersama dengan panggilan `fetch`, XHR, dan WebSocket. Claude menginline CSS dan JavaScript dan menyematkan gambar sebagai data URI sehingga halaman dirender tanpa permintaan eksternal apa pun. |

183| Tidak ada backend | Artifact adalah halaman statis. Tidak dapat menyimpan data yang dikirimkan melalui formulir, mengautentikasi viewer sendiri, atau memanggil API pada waktu tampilan. |

184| Halaman tunggal | Tautan relatif tidak diselesaikan, karena tidak ada yang disebarkan bersama halaman. Untuk konten multi-bagian, Claude menggunakan jangkar dalam halaman daripada file terpisah. |

185| Jenis file sumber | File yang diterbitkan harus `.html`, `.htm`, atau `.md`. File Markdown dirender sebagai HTML bergaya. |

186| Ukuran yang dirender | Halaman yang dirender harus 16 MiB atau lebih kecil. Gambar tertanam besar adalah penyebab umum ketika penerbitan gagal karena ukuran. |

187 

188Menghasilkan artifact menggunakan token output seperti respons lainnya, dan halaman bergaya lebih intensif token daripada konten yang sama sebagai teks terminal. CSS inline, JavaScript untuk kontrol interaktif, dan terutama gambar yang disematkan sebagai data URI adalah kontributor utama. Untuk mengurangi biaya token artifact:

189 

190* Lebih suka SVG, atau HTML dan CSS, untuk diagram daripada gambar raster tertanam

191* Hilangkan interaktivitas yang tidak Anda butuhkan

192* Buat halaman merangkum dataset besar daripada menginlinenya sepenuhnya

193 

194<h2 id="availability">

195 Ketersediaan

196</h2>

197 

198Artifacts memerlukan setiap kondisi di bawah. Ketika salah satu tidak terpenuhi, Claude menulis file HTML lokal atau mengatakan tidak dapat menerbitkan.

199 

200| Persyaratan | Tersedia ketika |

201| :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

202| Paket | Team atau Enterprise. Pada paket Team, artifacts diaktifkan secara default. Pada paket Enterprise, admin [mengaktifkannya](#manage-artifacts-for-your-organization) di pengaturan admin claude.ai. |

203| Autentikasi | Masuk ke claude.ai dengan `/login`. Sesi menggunakan kunci API, [gateway token](/id/llm-gateway), atau kredensial penyedia cloud tidak dapat menerbitkan. |

204| Penyedia model | Anthropic API. Tidak tersedia di [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud Vertex AI](/id/google-vertex-ai), atau [Microsoft Foundry](/id/microsoft-foundry). |

205| Kebijakan organisasi | Kunci enkripsi yang dikelola pelanggan (CMEK), HIPAA, dan [Zero Data Retention](/id/zero-data-retention) tidak diaktifkan untuk organisasi. |

206| Permukaan | Claude Code CLI, atau aplikasi desktop Claude versi 1.13576.0 atau lebih baru. Dimatikan secara default di konteks [Agent SDK](/id/agent-sdk/overview), GitHub Action, dan MCP-server, dan ketika [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/id/env-vars) diatur. |

207 

208<h2 id="disable-artifacts">

209 Nonaktifkan artifacts

210</h2>

211 

212Untuk mematikan artifacts untuk sesi Anda sendiri terlepas dari pengaturan organisasi Anda, gunakan salah satu dari:

213 

214| Metode | Pengaturan |

215| :---------------------------------- | :----------------------------------------- |

216| [File pengaturan](/id/settings) | `"disableArtifact": true` |

217| [Variabel lingkungan](/id/env-vars) | `CLAUDE_CODE_DISABLE_ARTIFACT=1` |

218| [Aturan izin](/id/permissions) | Tambahkan `Artifact` ke `permissions.deny` |

219 

220<h2 id="manage-artifacts-for-your-organization">

221 Kelola artifacts untuk organisasi Anda

222</h2>

223 

224Admin pada paket Team dan Enterprise mengontrol artifacts dari [pengaturan admin claude.ai](https://claude.ai/admin-settings/claude-code). Konten artifact disimpan di infrastruktur yang dioperasikan Anthropic dan hanya terlihat oleh anggota terautentikasi dari organisasi penerbit.

225 

226<h3 id="enable-or-disable-artifacts">

227 Aktifkan atau nonaktifkan artifacts

228</h3>

229 

230Untuk mengaktifkan atau menonaktifkan artifacts untuk seluruh organisasi, buka **Settings > Claude Code > Capabilities** dan gunakan toggle **Artifacts**. Pada paket Enterprise dengan kontrol akses berbasis peran, Anda dapat membatasi artifacts ke peran tertentu: buka **Settings > Roles**, edit peran, dan atur izin **Artifacts** di bawah grup **Claude Code**.

231 

232<h3 id="set-a-retention-policy">

233 Atur kebijakan retensi

234</h3>

235 

236Untuk mengatur berapa lama artifacts disimpan sebelum penghapusan otomatis, buka **Settings > Data & privacy controls**. Anda dapat mengatur periode retensi terpisah untuk artifacts yang masih pribadi untuk penulis mereka dan artifacts yang telah dibagikan.

237 

238<h3 id="review-the-audit-log">

239 Tinjau log audit

240</h3>

241 

242Penerbitan, berbagi, dan menghapus artifact masing-masing muncul di log audit organisasi Anda di bawah jenis acara `claude_artifact_*`, keluarga yang sama digunakan untuk artifacts yang dibuat dalam percakapan claude.ai.

243 

244<h3 id="allowlist-the-viewer-domain">

245 Daftar putih domain viewer

246</h3>

247 

248Viewer di claude.ai memuat setiap artifact dari asal `*.claudeusercontent.com` yang disandboxkan. Jika organisasi Anda membatasi akses jaringan keluar, tambahkan domain itu ke daftar putih Anda bersama `claude.ai`. Lihat [Network access requirements](/id/network-config#network-access-requirements) untuk daftar lengkap.

249 

250<h3 id="list-and-delete-artifacts-with-the-compliance-api">

251 Daftar dan hapus artifacts dengan Compliance API

252</h3>

253 

254[Compliance API](https://docs.claude.com/en/api/compliance) menyediakan endpoint untuk mencantumkan artifacts organisasi Anda, mengambil konten versi tertentu, dan menghapus artifact:

255 

256| Metode | Endpoint |

257| :------- | :------------------------------------------------------------------ |

258| `GET` | `/v1/compliance/code/artifacts` |

259| `GET` | `/v1/compliance/code/artifacts/{artifact_id}/versions/{version_id}` |

260| `DELETE` | `/v1/compliance/code/artifacts/{artifact_id}` |

261 

262Untuk skema permintaan dan respons, lihat [referensi Compliance API](https://docs.claude.com/en/api/compliance/code/artifacts).

263 

264<h2 id="related-resources">

265 Sumber daya terkait

266</h2>

267 

268* Jelajahi [pola prompting dan alur kerja](/id/prompt-library) yang berpasangan dengan artifacts

269* Ubah prompt artifact yang Anda gunakan kembali menjadi [skill](/id/skills) sehingga Anda dapat memanggilnya sebagai perintah

270* [Hubungkan server MCP](/id/mcp) sehingga Claude dapat menarik data langsung ke artifact

chrome.md +1 −1

Details

198 Ekstensi tidak terdeteksi198 Ekstensi tidak terdeteksi

199</h3>199</h3>

200 200 

201Jika baris setup-issues Claude Code mencantumkan `chrome`:201Jika Claude Code tidak dapat mendeteksi ekstensi Chrome:

202 202 

2031. Verifikasi ekstensi Chrome diinstal dan diaktifkan di `chrome://extensions`2031. Verifikasi ekstensi Chrome diinstal dan diaktifkan di `chrome://extensions`

2042. Verifikasi Claude Code terbaru dengan menjalankan `claude --version`2042. Verifikasi Claude Code terbaru dengan menjalankan `claude --version`

Details

124 </Step>124 </Step>

125</Steps>125</Steps>

126 126 

127<h3 id="link-artifacts-back-to-the-session">127<h3 id="link-output-back-to-the-session">

128 Tautkan artefak kembali ke sesi128 Tautkan output kembali ke sesi

129</h3>129</h3>

130 130 

131Setiap sesi cloud memiliki URL transkrip di claude.ai, dan sesi dapat membaca ID-nya sendiri dari variabel lingkungan `CLAUDE_CODE_REMOTE_SESSION_ID`. Gunakan ini untuk menempatkan tautan yang dapat dilacak di badan PR, pesan komit, posting Slack, atau laporan yang dihasilkan sehingga pengulas dapat membuka jalannya yang menghasilkannya.131Setiap sesi cloud memiliki URL transkrip di claude.ai, dan sesi dapat membaca ID-nya sendiri dari variabel lingkungan `CLAUDE_CODE_REMOTE_SESSION_ID`. Gunakan ini untuk menempatkan tautan yang dapat dilacak di badan PR, pesan komit, posting Slack, atau laporan yang dihasilkan sehingga pengulas dapat membuka jalannya yang menghasilkannya.

132 132 

133Nilai variabel menggunakan awalan `cse_`, sementara jalur URL transkrip mengambil ID yang sama dengan awalan `session_`. Substitusikan awalan saat membangun tautan. Perintah berikut mencetak URL:133Mulai dari v2.1.179, komit yang dibuat Claude di sesi web menyertakan trailer git `Claude-Session: <url>`, dan badan PR menyertakan URL sesi di barisnya sendiri. {/* min-version: 2.1.182 */}Dari v2.1.182, atur [`attribution.sessionUrl`](/id/settings#attribution-settings) ke `false` untuk menghilangkan trailer dan tautan badan PR.

134 

135Untuk menyertakan tautan sesi dalam sesuatu selain komit atau PR, seperti pesan Slack yang diposting Claude atau file laporan yang ditulisnya, minta Claude menjalankan perintah berikut dan gunakan outputnya. Perintah mengonversi awalan `cse_` dalam nilai variabel lingkungan ke awalan `session_` yang diharapkan URL transkrip:

134 136 

135```bash theme={null}137```bash theme={null}

136echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID/#cse_/session_}"138echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID/#cse_/session_}"

Details

238}238}

239```239```

240 240 

241Dengan `awsAuthRefresh` dikonfigurasi, `/login` menampilkan opsi **Claude Platform on AWS · refresh credentials** di bawah **Using 3rd-party platforms**. Memilihnya menjalankan perintah yang dikonfigurasi dan membaca ulang kredensial AWS Anda tanpa memulai ulang Claude Code.

242 

241**Opsi B: Kunci API Workspace**243**Opsi B: Kunci API Workspace**

242 244 

243Kunci API workspace adalah rahasia yang tahan lama, berguna ketika Anda tidak ingin mengelola kredensial AWS yang terfederasi. Buat satu di AWS Console di bawah **Claude Platform on AWS → API keys** dan aturnya sebagai `ANTHROPIC_AWS_API_KEY`:245Kunci API workspace adalah rahasia yang tahan lama, berguna ketika Anda tidak ingin mengelola kredensial AWS yang terfederasi. Buat satu di AWS Console di bawah **Claude Platform on AWS → API keys** dan aturnya sebagai `ANTHROPIC_AWS_API_KEY`:


251Perlakukan kunci API workspace seperti kredensial produksi lainnya. Blok `env` [file pengaturan pengguna](/id/settings) adalah cara yang nyaman untuk membatasi kunci ke mesin Anda tanpa mengekspornya secara global.253Perlakukan kunci API workspace seperti kredensial produksi lainnya. Blok `env` [file pengaturan pengguna](/id/settings) adalah cara yang nyaman untuk membatasi kunci ke mesin Anda tanpa mengekspornya secara global.

252 254 

253<Note>255<Note>

254 Perintah `/login` dan `/logout` tidak mengubah autentikasi Claude Platform on AWS. Autentikasi berjalan melalui kredensial AWS Anda atau kunci API workspace, bukan melalui langganan Claude.ai.256 Perintah `/login` dan `/logout` tidak menandatangani Anda ke langganan Claude.ai untuk Claude Platform on AWS. Autentikasi berjalan melalui kredensial AWS Anda atau kunci API workspace. Pengecualiannya adalah opsi **refresh credentials** yang ditampilkan `/login` ketika `awsAuthRefresh` dikonfigurasi, yang membaca ulang kredensial AWS Anda seperti yang dijelaskan di atas.

255</Note>257</Note>

256 258 

257<h3 id="2-configure-claude-code">259<h3 id="2-configure-claude-code">

Details

33| `claude daemon stop --any` | Hentikan [supervisor](/id/agent-view#the-supervisor-process) sesi latar belakang dan sesi yang dihosting. Lewatkan `--keep-workers` untuk membiarkan sesi latar belakang tetap berjalan sehingga supervisor berikutnya dapat terhubung kembali ke sesi tersebut. `--any` mengonfirmasi penghentian supervisor sesuai permintaan, yang merupakan default. Gunakan ini untuk pulih dari [supervisor yang tidak responsif](/id/agent-view#agent-view-says-the-background-service-did-not-respond) | `claude daemon stop --any --keep-workers` |33| `claude daemon stop --any` | Hentikan [supervisor](/id/agent-view#the-supervisor-process) sesi latar belakang dan sesi yang dihosting. Lewatkan `--keep-workers` untuk membiarkan sesi latar belakang tetap berjalan sehingga supervisor berikutnya dapat terhubung kembali ke sesi tersebut. `--any` mengonfirmasi penghentian supervisor sesuai permintaan, yang merupakan default. Gunakan ini untuk pulih dari [supervisor yang tidak responsif](/id/agent-view#agent-view-says-the-background-service-did-not-respond) | `claude daemon stop --any --keep-workers` |

34| `claude logs <id>` | Cetak output terbaru dari [sesi latar belakang](/id/agent-view#manage-sessions-from-the-shell) | `claude logs 7c5dcf5d` |34| `claude logs <id>` | Cetak output terbaru dari [sesi latar belakang](/id/agent-view#manage-sessions-from-the-shell) | `claude logs 7c5dcf5d` |

35| `claude mcp` | Konfigurasi server Model Context Protocol (MCP) | Lihat [dokumentasi Claude Code MCP](/id/mcp). |35| `claude mcp` | Konfigurasi server Model Context Protocol (MCP) | Lihat [dokumentasi Claude Code MCP](/id/mcp). |

36| `claude mcp login <name>` | {/* min-version: 2.1.186 */}Jalankan alur OAuth server MCP yang dikonfigurasi tanpa membuka panel `/mcp` interaktif. Bekerja untuk server HTTP, SSE, dan konektor claude.ai. Tambahkan `--no-browser` melalui SSH untuk mencetak URL otorisasi alih-alih membuka browser, kemudian tempel URL pengalihan kembali di prompt. Memerlukan Claude Code v2.1.186 atau lebih baru. Lihat [Autentikasi dari baris perintah](/id/mcp#authenticate-from-the-command-line) | `claude mcp login sentry` |

37| `claude mcp logout <name>` | {/* min-version: 2.1.186 */}Hapus kredensial OAuth yang disimpan untuk server MCP. Memerlukan Claude Code v2.1.186 atau lebih baru | `claude mcp logout sentry` |

36| `claude plugin` | Kelola Claude Code [plugins](/id/plugins). Alias: `claude plugins`. Lihat [referensi plugin](/id/plugins-reference#cli-commands-reference) untuk subperintah | `claude plugin install code-review@claude-plugins-official` |38| `claude plugin` | Kelola Claude Code [plugins](/id/plugins). Alias: `claude plugins`. Lihat [referensi plugin](/id/plugins-reference#cli-commands-reference) untuk subperintah | `claude plugin install code-review@claude-plugins-official` |

37| `claude project purge [path]` | Hapus semua status Claude Code lokal untuk proyek: transkrip, daftar tugas, log debug, riwayat edit file, baris riwayat prompt, dan entri proyek di `~/.claude.json`. Abaikan `[path]` untuk memilih dari daftar interaktif. Flag: `--dry-run` untuk pratinjau, `-y`/`--yes` untuk melewati konfirmasi, `-i`/`--interactive` untuk mengonfirmasi setiap item, `--all` untuk setiap proyek. Lihat [Hapus data lokal](/id/claude-directory#clear-local-data) | `claude project purge ~/work/repo --dry-run` |39| `claude project purge [path]` | Hapus semua status Claude Code lokal untuk proyek: transkrip, daftar tugas, log debug, riwayat edit file, baris riwayat prompt, dan entri proyek di `~/.claude.json`. Abaikan `[path]` untuk memilih dari daftar interaktif. Flag: `--dry-run` untuk pratinjau, `-y`/`--yes` untuk melewati konfirmasi, `-i`/`--interactive` untuk mengonfirmasi setiap item, `--all` untuk setiap proyek. Lihat [Hapus data lokal](/id/claude-directory#clear-local-data) | `claude project purge ~/work/repo --dry-run` |

38| `claude remote-control` | Mulai server [Remote Control](/id/remote-control) untuk mengontrol Claude Code dari Claude.ai atau aplikasi Claude. Berjalan dalam mode server (tidak ada sesi interaktif lokal). Lihat [flag mode server](/id/remote-control#start-a-remote-control-session) | `claude remote-control --name "My Project"` |40| `claude remote-control` | Mulai server [Remote Control](/id/remote-control) untuk mengontrol Claude Code dari Claude.ai atau aplikasi Claude. Berjalan dalam mode server (tidak ada sesi interaktif lokal). Lihat [flag mode server](/id/remote-control#start-a-remote-control-session) | `claude remote-control --name "My Project"` |


60| `--allowedTools`, `--allowed-tools` | Tools yang dieksekusi tanpa meminta izin. Lihat [sintaks aturan izin](/id/settings#permission-rule-syntax) untuk pencocokan pola. Untuk membatasi tools mana yang tersedia, gunakan `--tools` sebagai gantinya | `"Bash(git log *)" "Bash(git diff *)" "Read"` |62| `--allowedTools`, `--allowed-tools` | Tools yang dieksekusi tanpa meminta izin. Lihat [sintaks aturan izin](/id/settings#permission-rule-syntax) untuk pencocokan pola. Untuk membatasi tools mana yang tersedia, gunakan `--tools` sebagai gantinya | `"Bash(git log *)" "Bash(git diff *)" "Read"` |

61| `--append-system-prompt` | Tambahkan teks kustom ke akhir prompt sistem default | `claude --append-system-prompt "Always use TypeScript"` |63| `--append-system-prompt` | Tambahkan teks kustom ke akhir prompt sistem default | `claude --append-system-prompt "Always use TypeScript"` |

62| `--append-system-prompt-file` | Muat teks prompt sistem tambahan dari file dan tambahkan ke prompt default | `claude --append-system-prompt-file ./extra-rules.txt` |64| `--append-system-prompt-file` | Muat teks prompt sistem tambahan dari file dan tambahkan ke prompt default | `claude --append-system-prompt-file ./extra-rules.txt` |

65| `--ax-screen-reader` | {/* min-version: 2.1.181 */}Render output yang ramah pembaca layar: teks datar tanpa batas dekoratif atau animasi. Memaksa renderer klasik, jadi pengaturan [`tui`](/id/settings#available-settings) tidak berpengaruh untuk sesi. Mengambil prioritas atas [`CLAUDE_AX_SCREEN_READER`](/id/env-vars) dan pengaturan [`axScreenReader`](/id/settings#available-settings). Memerlukan Claude Code v2.1.181 atau lebih baru | `claude --ax-screen-reader` |

63| `--bare` | Mode minimal: lewati penemuan otomatis hooks, skills, plugins, server MCP, auto memory, dan CLAUDE.md sehingga panggilan skrip dimulai lebih cepat. Claude memiliki akses ke tools Bash, baca file, dan edit file. Menetapkan [`CLAUDE_CODE_SIMPLE`](/id/env-vars). Lihat [bare mode](/id/headless#start-faster-with-bare-mode) | `claude --bare -p "query"` |66| `--bare` | Mode minimal: lewati penemuan otomatis hooks, skills, plugins, server MCP, auto memory, dan CLAUDE.md sehingga panggilan skrip dimulai lebih cepat. Claude memiliki akses ke tools Bash, baca file, dan edit file. Menetapkan [`CLAUDE_CODE_SIMPLE`](/id/env-vars). Lihat [bare mode](/id/headless#start-faster-with-bare-mode) | `claude --bare -p "query"` |

64| `--betas` | Header beta untuk disertakan dalam permintaan API (hanya pengguna kunci API) | `claude --betas interleaved-thinking` |67| `--betas` | Header beta untuk disertakan dalam permintaan API (hanya pengguna kunci API) | `claude --betas interleaved-thinking` |

65| `--bg` | Mulai sesi sebagai [agen latar belakang](/id/agent-view) dan kembali segera. Mencetak ID sesi dan perintah manajemen. Gabungkan dengan `--exec` untuk menjalankan perintah shell sebagai pekerjaan latar belakang alih-alih sesi Claude, atau dengan `--agent` untuk menjalankan subagent tertentu | `claude --bg "investigate the flaky test"` |68| `--bg` | Mulai sesi sebagai [agen latar belakang](/id/agent-view) dan kembali segera. Mencetak ID sesi dan perintah manajemen. Gabungkan dengan `--exec` untuk menjalankan perintah shell sebagai pekerjaan latar belakang alih-alih sesi Claude, atau dengan `--agent` untuk menjalankan subagent tertentu | `claude --bg "investigate the flaky test"` |


114| `--system-prompt` | Ganti seluruh prompt sistem dengan teks kustom | `claude --system-prompt "You are a Python expert"` |117| `--system-prompt` | Ganti seluruh prompt sistem dengan teks kustom | `claude --system-prompt "You are a Python expert"` |

115| `--system-prompt-file` | Muat prompt sistem dari file, mengganti prompt default | `claude --system-prompt-file ./custom-prompt.txt` |118| `--system-prompt-file` | Muat prompt sistem dari file, mengganti prompt default | `claude --system-prompt-file ./custom-prompt.txt` |

116| `--teleport` | Lanjutkan [sesi web](/id/claude-code-on-the-web) di terminal lokal Anda | `claude --teleport` |119| `--teleport` | Lanjutkan [sesi web](/id/claude-code-on-the-web) di terminal lokal Anda | `claude --teleport` |

117| `--teammate-mode` | Atur bagaimana [rekan tim agen](/id/agent-teams) ditampilkan: `auto` (default), `in-process`, atau `tmux`. Menimpa pengaturan [`teammateMode`](/id/settings#available-settings) untuk sesi ini. Lihat [Pilih mode tampilan](/id/agent-teams#choose-a-display-mode) | `claude --teammate-mode in-process` |120| `--teammate-mode` | Atur bagaimana [rekan tim agen](/id/agent-teams) ditampilkan: `in-process` (default), `auto`, `tmux`, atau {/* min-version: 2.1.186 */}`iterm2` (ditambahkan di v2.1.186). Default berubah dari `auto` di v2.1.179. Menimpa pengaturan [`teammateMode`](/id/settings#available-settings) untuk sesi ini. Lihat [Pilih mode tampilan](/id/agent-teams#choose-a-display-mode) | `claude --teammate-mode auto` |

118| `--tmux` | Buat sesi tmux untuk worktree. Memerlukan `--worktree`. Menggunakan pane native iTerm2 saat tersedia; berikan `--tmux=classic` untuk tmux tradisional | `claude -w feature-auth --tmux` |121| `--tmux` | Buat sesi tmux untuk worktree. Memerlukan `--worktree`. Menggunakan pane native iTerm2 saat tersedia; berikan `--tmux=classic` untuk tmux tradisional | `claude -w feature-auth --tmux` |

119| `--tools` | Batasi tools bawaan mana yang dapat digunakan Claude. Gunakan `""` untuk menonaktifkan semua, `"default"` untuk semua, atau nama tools seperti `"Bash,Edit,Read"`. Tools MCP tidak terpengaruh; untuk menolak yang juga, gunakan `--disallowedTools "mcp__*"`, atau berikan `--strict-mcp-config` tanpa `--mcp-config` sehingga tidak ada server MCP yang dimuat | `claude --tools "Bash,Edit,Read"` |122| `--tools` | Batasi tools bawaan mana yang dapat digunakan Claude. Gunakan `""` untuk menonaktifkan semua, `"default"` untuk semua, atau nama tools seperti `"Bash,Edit,Read"`. Tools MCP tidak terpengaruh; untuk menolak yang juga, gunakan `--disallowedTools "mcp__*"`, atau berikan `--strict-mcp-config` tanpa `--mcp-config` sehingga tidak ada server MCP yang dimuat | `claude --tools "Bash,Edit,Read"` |

120| `--verbose` | Aktifkan logging verbose, menampilkan output putaran penuh. Menimpa pengaturan [`viewMode`](/id/settings#available-settings) untuk sesi ini | `claude --verbose` |123| `--verbose` | Aktifkan logging verbose, menampilkan output putaran penuh. Menimpa pengaturan [`viewMode`](/id/settings#available-settings) untuk sesi ini | `claude --verbose` |

commands.md +3 −3

Details

24 24 

25**Menjalankan pekerjaan secara paralel.** `/agents` membuka manajer untuk [subagents](/id/sub-agents) yang dapat didelegasikan Claude untuk tugas sampingan, dan `/tasks` mencantumkan apa yang sedang berjalan di latar belakang sesi saat ini. `/background` melepaskan seluruh sesi untuk terus berjalan sebagai [background agent](/id/agent-view) dan membebaskan terminal Anda. Untuk perubahan besar yang mencakup codebase, `/batch` menguraikannya menjadi unit independen dan menjalankan masing-masing di [worktree](/id/worktrees) miliknya sendiri. Lihat [Run agents in parallel](/id/agents) untuk cara pendekatan ini berhubungan.25**Menjalankan pekerjaan secara paralel.** `/agents` membuka manajer untuk [subagents](/id/sub-agents) yang dapat didelegasikan Claude untuk tugas sampingan, dan `/tasks` mencantumkan apa yang sedang berjalan di latar belakang sesi saat ini. `/background` melepaskan seluruh sesi untuk terus berjalan sebagai [background agent](/id/agent-view) dan membebaskan terminal Anda. Untuk perubahan besar yang mencakup codebase, `/batch` menguraikannya menjadi unit independen dan menjalankan masing-masing di [worktree](/id/worktrees) miliknya sendiri. Lihat [Run agents in parallel](/id/agents) untuk cara pendekatan ini berhubungan.

26 26 

27**Sebelum Anda mengirim.** `/diff` menampilkan apa yang berubah, `/code-review` memeriksa diff untuk bug kebenaran dan pembersihan serta dapat menerapkan temuan dengan `--fix`, dan `/review` atau `/security-review` memberikan pembacaan pass read-only yang lebih dalam. `/code-review ultra` menjalankan tinjauan multi-agent di cloud.27**Sebelum Anda mengirim.** `/diff` menampilkan apa yang berubah, `/code-review` memeriksa diff untuk bug kebenaran dan pembersihan serta dapat menerapkan temuan dengan `--fix`, `/review` menjalankan tinjauan read-only yang sama pada permintaan tarik GitHub, dan `/security-review` memberikan pembacaan pass read-only yang lebih dalam. `/code-review ultra` menjalankan tinjauan multi-agent di cloud.

28 28 

29**Antar sesi.** `/clear` memulai segar pada tugas baru sambil menyimpan memori proyek. `/resume` dan `/branch` memungkinkan Anda kembali ke atau fork percakapan sebelumnya. `/teleport` menarik sesi web ke terminal ini, dan `/remote-control` memungkinkan Anda melanjutkan sesi lokal ini dari perangkat lain.29**Antar sesi.** `/clear` memulai segar pada tugas baru sambil menyimpan memori proyek. `/resume` dan `/branch` memungkinkan Anda kembali ke atau fork percakapan sebelumnya. `/teleport` menarik sesi web ke terminal ini, dan `/remote-control` memungkinkan Anda melanjutkan sesi lokal ini dari perangkat lain.

30 30 


64| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [target]` | **[Skill](/id/skills#bundled-skills).** Tinjau diff saat ini untuk bug kebenaran dan untuk reuse, simplification, dan efficiency cleanups. Teruskan `--fix` untuk menerapkan temuan ke working tree Anda, `--comment` untuk memposting sebagai komentar inline GitHub PR, atau `ultra` untuk menjalankan deep [cloud review](/id/ultrareview). {/* min-version: 2.1.154 */}Dari v2.1.154, `/simplify` menjalankan review cleanup-only terpisah yang menerapkan perbaikan tanpa mencari bug kebenaran. Lihat [Review a diff locally](/id/code-review#review-a-diff-locally) untuk effort levels dan targeting |64| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [target]` | **[Skill](/id/skills#bundled-skills).** Tinjau diff saat ini untuk bug kebenaran dan untuk reuse, simplification, dan efficiency cleanups. Teruskan `--fix` untuk menerapkan temuan ke working tree Anda, `--comment` untuk memposting sebagai komentar inline GitHub PR, atau `ultra` untuk menjalankan deep [cloud review](/id/ultrareview). {/* min-version: 2.1.154 */}Dari v2.1.154, `/simplify` menjalankan review cleanup-only terpisah yang menerapkan perbaikan tanpa mencari bug kebenaran. Lihat [Review a diff locally](/id/code-review#review-a-diff-locally) untuk effort levels dan targeting |

65| `/color [color\|default]` | Atur warna bilah prompt untuk sesi saat ini. Warna yang tersedia: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Gunakan `default` untuk mengatur ulang, atau jalankan tanpa argumen untuk memilih warna acak. Ketika [Remote Control](/id/remote-control) terhubung, warna disinkronkan ke claude.ai/code |65| `/color [color\|default]` | Atur warna bilah prompt untuk sesi saat ini. Warna yang tersedia: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Gunakan `default` untuk mengatur ulang, atau jalankan tanpa argumen untuk memilih warna acak. Ketika [Remote Control](/id/remote-control) terhubung, warna disinkronkan ke claude.ai/code |

66| `/compact [instructions]` | Bebaskan konteks dengan merangkum percakapan sejauh ini. Secara opsional teruskan instruksi fokus untuk ringkasan. Lihat [bagaimana compaction menangani rules, skills, dan memory files](/id/context-window#what-survives-compaction) |66| `/compact [instructions]` | Bebaskan konteks dengan merangkum percakapan sejauh ini. Secara opsional teruskan instruksi fokus untuk ringkasan. Lihat [bagaimana compaction menangani rules, skills, dan memory files](/id/context-window#what-survives-compaction) |

67| `/config` | Buka antarmuka [Settings](/id/settings) untuk menyesuaikan tema, model, [output style](/id/output-styles), dan preferensi lainnya. Alias: `/settings` |67| `/config [key=value ...]` | Buka antarmuka [Settings](/id/settings) untuk menyesuaikan tema, model, [output style](/id/output-styles), dan preferensi lainnya. {/* min-version: 2.1.181 */}Dari v2.1.181, teruskan satu atau lebih pasangan `key=value` untuk mengatur pengaturan secara langsung tanpa membuka antarmuka, misalnya `/config thinking=false`. {/* min-version: 2.1.182 */}Dari v2.1.182, kunci shorthand bernama juga diterima, seperti `/config theme=dark` atau `/config model=sonnet`. Bentuk `key=value` juga bekerja dalam mode non-interaktif (`-p`) dan dari [Remote Control](/id/remote-control). Jalankan `/config --help` untuk membuat daftar setiap kunci yang dapat diatur dengan opsinya. Alias: `/settings` |

68| `/context [all]` | Visualisasikan penggunaan konteks saat ini sebagai grid berwarna. Menampilkan saran optimasi untuk alat yang berat konteks, memory bloat, dan peringatan kapasitas. Dalam [fullscreen mode](/id/fullscreen) rincian per-item disusutkan untuk menjaga grid tetap terlihat. Teruskan `all` untuk meperluasnya |68| `/context [all]` | Visualisasikan penggunaan konteks saat ini sebagai grid berwarna. Menampilkan saran optimasi untuk alat yang berat konteks, memory bloat, dan peringatan kapasitas. Dalam [fullscreen mode](/id/fullscreen) rincian per-item disusutkan untuk menjaga grid tetap terlihat. Teruskan `all` untuk meperluasnya |

69| `/copy [N]` | Salin respons asisten terakhir ke clipboard. Teruskan angka `N` untuk menyalin respons ke-N terbaru: `/copy 2` menyalin respons kedua terakhir. Ketika blok kode ada, menampilkan pemilih interaktif untuk memilih blok individual atau respons lengkap. Tekan `w` di pemilih untuk menulis pilihan ke file alih-alih clipboard, yang berguna melalui SSH |69| `/copy [N]` | Salin respons asisten terakhir ke clipboard. Teruskan angka `N` untuk menyalin respons ke-N terbaru: `/copy 2` menyalin respons kedua terakhir. Ketika blok kode ada, menampilkan pemilih interaktif untuk memilih blok individual atau respons lengkap. Tekan `w` di pemilih untuk menulis pilihan ke file alih-alih clipboard, yang berguna melalui SSH |

70| `/cost` | Alias untuk `/usage` |70| `/cost` | Alias untuk `/usage` |


114| `/remote-env` | Pilih lingkungan default untuk [cloud agents](/id/claude-code-on-the-web#configure-your-environment) |114| `/remote-env` | Pilih lingkungan default untuk [cloud agents](/id/claude-code-on-the-web#configure-your-environment) |

115| `/rename [name]` | Ubah nama sesi saat ini dan tampilkan nama di bilah prompt. Tanpa nama, secara otomatis menghasilkan satu dari riwayat percakapan |115| `/rename [name]` | Ubah nama sesi saat ini dan tampilkan nama di bilah prompt. Tanpa nama, secara otomatis menghasilkan satu dari riwayat percakapan |

116| `/resume [session]` | Lanjutkan percakapan berdasarkan ID atau nama, atau buka pemilih sesi. Sejak v2.1.144, [background sessions](/id/agent-view) muncul di pemilih yang ditandai dengan `bg`. Alias: `/continue` |116| `/resume [session]` | Lanjutkan percakapan berdasarkan ID atau nama, atau buka pemilih sesi. Sejak v2.1.144, [background sessions](/id/agent-view) muncul di pemilih yang ditandai dengan `bg`. Alias: `/continue` |

117| `/review [PR]` | Tinjau pull request secara lokal dalam sesi saat ini Anda. Untuk review berbasis cloud yang lebih dalam, lihat [`/code-review ultra`](/id/ultrareview) |117| `/review [PR]` | Tinjau pull request GitHub berdasarkan nomor, menggunakan mesin review yang sama seperti `/code-review`. Tanpa argumen, mencantumkan PR terbuka untuk dipilih. Untuk review berbasis cloud yang lebih dalam, lihat [`/code-review ultra`](/id/ultrareview) |

118| `/rewind` | Putar ulang percakapan dan/atau kode ke titik sebelumnya, atau ringkas dari pesan yang dipilih. Lihat [checkpointing](/id/checkpointing). Alias: `/checkpoint`, `/undo` |118| `/rewind` | Putar ulang percakapan dan/atau kode ke titik sebelumnya, atau ringkas dari pesan yang dipilih. Lihat [checkpointing](/id/checkpointing). Alias: `/checkpoint`, `/undo` |

119| `/run` | **[Skill](/id/skills#bundled-skills).** Luncurkan dan jalankan aplikasi proyek Anda untuk melihat perubahan bekerja di aplikasi yang berjalan, bukan hanya dalam tes. Lihat [Run and verify your app](/id/skills#run-and-verify-your-app). {/* min-version: 2.1.145 */}Memerlukan Claude Code v2.1.145 atau lebih baru |119| `/run` | **[Skill](/id/skills#bundled-skills).** Luncurkan dan jalankan aplikasi proyek Anda untuk melihat perubahan bekerja di aplikasi yang berjalan, bukan hanya dalam tes. Lihat [Run and verify your app](/id/skills#run-and-verify-your-app). {/* min-version: 2.1.145 */}Memerlukan Claude Code v2.1.145 atau lebih baru |

120| `/run-skill-generator` | **[Skill](/id/skills#bundled-skills).** Ajarkan `/run` dan `/verify` cara membangun, meluncurkan, dan menjalankan aplikasi proyek Anda dari lingkungan bersih dengan menulis [skill](/id/skills#run-and-verify-your-app) per-proyek. {/* min-version: 2.1.145 */}Memerlukan Claude Code v2.1.145 atau lebih baru |120| `/run-skill-generator` | **[Skill](/id/skills#bundled-skills).** Ajarkan `/run` dan `/verify` cara membangun, meluncurkan, dan menjalankan aplikasi proyek Anda dari lingkungan bersih dengan menulis [skill](/id/skills#run-and-verify-your-app) per-proyek. {/* min-version: 2.1.145 */}Memerlukan Claude Code v2.1.145 atau lebih baru |

env-vars.md +15 −6

Details

148| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Atur ke `1` untuk menonaktifkan semua tipe [subagent](/id/sub-agents) bawaan seperti Explore dan Plan. Hanya berlaku dalam mode non-interaktif (flag `-p`). Berguna untuk pengguna SDK yang menginginkan slate kosong |148| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Atur ke `1` untuk menonaktifkan semua tipe [subagent](/id/sub-agents) bawaan seperti Explore dan Plan. Hanya berlaku dalam mode non-interaktif (flag `-p`). Berguna untuk pengguna SDK yang menginginkan slate kosong |

149| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Atur ke `1` untuk melewati awalan `mcp__<server>__` pada nama alat dari server MCP yang dibuat SDK. Alat menggunakan nama asli mereka. Penggunaan SDK saja |149| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Atur ke `1` untuk melewati awalan `mcp__<server>__` pada nama alat dari server MCP yang dibuat SDK. Alat menggunakan nama asli mereka. Penggunaan SDK saja |

150| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Waktu tunggu stall dalam milidetik untuk subagent latar belakang. Default `600000` (10 menit). Timer disetel ulang pada setiap peristiwa kemajuan streaming; jika tidak ada kemajuan yang tiba dalam jendela, subagent dibatalkan dan tugas ditandai gagal, menampilkan hasil parsial apa pun ke induk |150| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Waktu tunggu stall dalam milidetik untuk subagent latar belakang. Default `600000` (10 menit). Timer disetel ulang pada setiap peristiwa kemajuan streaming; jika tidak ada kemajuan yang tiba dalam jendela, subagent dibatalkan dan tugas ditandai gagal, menampilkan hasil parsial apa pun ke induk |

151| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Atur persentase (1-100) dari jendela pemadatan otomatis di mana pemadatan otomatis dipicu. Gunakan nilai yang lebih rendah seperti `50` untuk memadatkan lebih awal. Variabel ini hanya menyebabkan pemadatan lebih awal saat Claude Code memadatkan secara proaktif: saat `CLAUDE_CODE_AUTO_COMPACT_WINDOW` diatur, dalam [sesi cloud](/id/claude-code-on-the-web), dalam sesi [Remote Control](/id/remote-control), dan pada Sonnet 4.6 dan Opus 4.6 tanpa [konteks diperluas](/id/model-config#extended-context), yang memadatkan pada batas 200K secara default. Dalam kasus lain, seperti sesi lokal pada Opus 4.8 atau model apa pun dengan konteks diperluas, pemadatan otomatis dipicu saat percakapan mencapai batas konteks model. Override hanya dapat menurunkan ambang batas, jadi nilai di atas default tidak berpengaruh. Berlaku untuk percakapan utama dan subagent |151| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Atur persentase (1-100) dari jendela pemadatan otomatis di mana pemadatan otomatis dipicu. Gunakan nilai yang lebih rendah seperti `50` untuk memadatkan lebih awal. Variabel ini hanya menyebabkan pemadatan lebih awal saat Claude Code memadatkan secara proaktif: saat `CLAUDE_CODE_AUTO_COMPACT_WINDOW` diatur, dalam [sesi cloud](/id/claude-code-on-the-web), dan pada Sonnet 4.6 dan Opus 4.6 tanpa [konteks diperluas](/id/model-config#extended-context), yang memadatkan pada batas 200K secara default. Dalam kasus lain, seperti sesi lokal pada Opus 4.8 atau model apa pun dengan konteks diperluas, pemadatan otomatis dipicu saat percakapan mencapai batas konteks model. Override hanya dapat menurunkan ambang batas, jadi nilai di atas default tidak berpengaruh. Berlaku untuk percakapan utama dan subagent |

152| `CLAUDE_AUTO_BACKGROUND_TASKS` | Atur ke `1` untuk memaksa pengaktifan backgrounding otomatis tugas agent yang berjalan lama. Saat diaktifkan, subagent dipindahkan ke latar belakang setelah berjalan selama sekitar dua menit |152| `CLAUDE_AUTO_BACKGROUND_TASKS` | Atur ke `1` untuk memaksa pengaktifan backgrounding otomatis tugas agent yang berjalan lama. Saat diaktifkan, subagent dipindahkan ke latar belakang setelah berjalan selama sekitar dua menit |

153| `CLAUDE_AX_SCREEN_READER` | {/* min-version: 2.1.181 */}Atur ke `1` untuk merender keluaran ramah pembaca layar: teks datar tanpa batas dekoratif atau animasi. Atur ke `0` untuk memaksa mode pembaca layar mati bahkan saat [`axScreenReader`](/id/settings#available-settings) adalah `true`. Flag [`--ax-screen-reader`](/id/cli-reference#cli-flags) mengambil prioritas. Memerlukan Claude Code v2.1.181 atau lebih baru |

153| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Kembali ke direktori kerja asli setelah setiap perintah Bash atau PowerShell dalam sesi utama |154| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Kembali ke direktori kerja asli setelah setiap perintah Bash atau PowerShell dalam sesi utama |

155| `CLAUDE_CLIENT_PRESENCE_FILE` | {/* min-version: 2.1.181 */}Jalur ke file yang alat eksternal, seperti pendengar kunci layar, buat saat Anda membuka kunci layar dan hapus saat Anda menguncinya. Saat file ada, Claude Code melewati [notifikasi push mobile Remote Control](/id/remote-control#mobile-push-notifications), sehingga Anda berhenti menerima push saat Anda secara aktif menggunakan komputer. Saat file tidak ada atau tidak dapat dibaca, notifikasi dikirim seperti biasa. Claude Code memeriksa file sekali per peristiwa pemicu push daripada menyelidikinya. Memerlukan Claude Code v2.1.181 atau lebih baru |

154| `CLAUDE_CODE_ACCESSIBILITY` | Atur ke `1` untuk menjaga kursor terminal asli tetap terlihat dan menonaktifkan indikator kursor teks terbalik. Memungkinkan pembesar layar seperti macOS Zoom untuk melacak posisi kursor |156| `CLAUDE_CODE_ACCESSIBILITY` | Atur ke `1` untuk menjaga kursor terminal asli tetap terlihat dan menonaktifkan indikator kursor teks terbalik. Memungkinkan pembesar layar seperti macOS Zoom untuk melacak posisi kursor |

155| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Atur ke `1` untuk memuat file memori dari direktori yang ditentukan dengan `--add-dir`. Memuat `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md`, dan `CLAUDE.local.md`. Secara default, direktori tambahan tidak memuat file memori |157| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Atur ke `1` untuk memuat file memori dari direktori yang ditentukan dengan `--add-dir`. Memuat `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md`, dan `CLAUDE.local.md`. Secara default, direktori tambahan tidak memuat file memori |

156| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Atur ke `1` untuk mengecat ulang seluruh layar pada setiap frame dalam [rendering layar penuh](/id/fullscreen) alih-alih mengirim pembaruan inkremental. Gunakan ini jika mode layar penuh menunjukkan fragmen teks basi atau salah tempat. Claude Code mengaktifkan ini secara otomatis untuk sesi latar belakang dan [tampilan agent](/id/agent-view) di Windows |158| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Atur ke `1` untuk mengecat ulang seluruh layar pada setiap frame dalam [rendering layar penuh](/id/fullscreen) alih-alih mengirim pembaruan inkremental. Gunakan ini jika mode layar penuh menunjukkan fragmen teks basi atau salah tempat. Claude Code mengaktifkan ini secara otomatis untuk sesi latar belakang dan [tampilan agent](/id/agent-view) di Windows |

157| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Atur ke `1` untuk mengirim parameter [effort](/id/model-config#adjust-effort-level) dengan setiap permintaan, bahkan saat Claude Code tidak mengenali ID model sebagai mampu effort. Gunakan ini saat merutekan melalui [gateway LLM](/id/llm-gateway) atau penyedia pihak ketiga yang melayani model di bawah pengidentifikasi kustom. Model yang menolak parameter effort di API, termasuk model Claude 3, Sonnet 4.0 dan 4.5, Opus 4.0 dan 4.1, dan Haiku 4.5, masih dikecualikan sehingga permintaan tidak gagal |159| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Atur ke `1` untuk mengirim parameter [effort](/id/model-config#adjust-effort-level) dengan setiap permintaan, bahkan saat Claude Code tidak mengenali ID model sebagai mampu effort. Gunakan ini saat merutekan melalui [gateway LLM](/id/llm-gateway) atau penyedia pihak ketiga yang melayani model di bawah pengidentifikasi kustom. Model yang menolak parameter effort di API, termasuk model Claude 3, Sonnet 4.0 dan 4.5, Opus 4.0 dan 4.1, dan Haiku 4.5, masih dikecualikan sehingga permintaan tidak gagal |

158| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Interval dalam milidetik di mana kredensial harus disegarkan (saat menggunakan [`apiKeyHelper`](/id/settings#available-settings)) |160| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Interval dalam milidetik di mana kredensial harus disegarkan (saat menggunakan [`apiKeyHelper`](/id/settings#available-settings)) |

161| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Atur ke `0` untuk menghentikan Claude Code dari membuka browser secara otomatis saat [artifact](/id/artifacts) baru dipublikasikan. Menerbitkan ulang artifact yang ada tidak membuka browser terlepas dari pengaturan ini |

159| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Atur ke `0` untuk menghilangkan blok atribusi (versi klien dan sidik jari prompt) dari awal prompt sistem. Menonaktifkannya meningkatkan tingkat hit cache prompt saat merutekan melalui [gateway LLM](/id/llm-gateway). Caching API Anthropic tidak terpengaruh |162| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Atur ke `0` untuk menghilangkan blok atribusi (versi klien dan sidik jari prompt) dari awal prompt sistem. Menonaktifkannya meningkatkan tingkat hit cache prompt saat merutekan melalui [gateway LLM](/id/llm-gateway). Caching API Anthropic tidak terpengaruh |

160| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Atur kapasitas konteks dalam token yang digunakan untuk perhitungan pemadatan otomatis. Default ke jendela konteks model: 200K untuk model standar atau 1M untuk model [konteks diperluas](/id/model-config#extended-context). Gunakan nilai yang lebih rendah seperti `500000` pada model 1M untuk memperlakukan jendela sebagai 500K untuk tujuan pemadatan. Nilai dibatasi pada jendela konteks aktual model. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` diterapkan sebagai persentase dari nilai ini. Mengatur variabel ini memisahkan ambang batas pemadatan dari `used_percentage` baris status, yang selalu menggunakan jendela konteks penuh model |163| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Atur kapasitas konteks dalam token yang digunakan untuk perhitungan pemadatan otomatis. Default ke jendela konteks model: 200K untuk model standar atau 1M untuk model [konteks diperluas](/id/model-config#extended-context). Gunakan nilai yang lebih rendah seperti `500000` pada model 1M untuk memperlakukan jendela sebagai 500K untuk tujuan pemadatan. Nilai dibatasi pada jendela konteks aktual model. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` diterapkan sebagai persentase dari nilai ini. Mengatur variabel ini memisahkan ambang batas pemadatan dari `used_percentage` baris status, yang selalu menggunakan jendela konteks penuh model |

161| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Ganti [koneksi IDE](/id/vs-code) otomatis. Secara default, Claude Code terhubung secara otomatis saat diluncurkan di dalam terminal terintegrasi IDE yang didukung. Atur ke `false` untuk mencegah ini. Atur ke `true` untuk memaksa upaya koneksi saat deteksi otomatis gagal, seperti saat tmux mengaburkan terminal induk. Mengambil alih pengaturan global [`autoConnectIde`](/id/settings#global-config-settings) |164| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Ganti [koneksi IDE](/id/vs-code) otomatis. Secara default, Claude Code terhubung secara otomatis saat diluncurkan di dalam terminal terintegrasi IDE yang didukung. Atur ke `false` untuk mencegah ini. Atur ke `true` untuk memaksa upaya koneksi saat deteksi otomatis gagal, seperti saat tmux mengaburkan terminal induk. Mengambil alih pengaturan global [`autoConnectIde`](/id/settings#global-config-settings) |


164| `CLAUDE_CODE_CLIENT_CERT` | Jalur ke file sertifikat klien untuk autentikasi mTLS |167| `CLAUDE_CODE_CLIENT_CERT` | Jalur ke file sertifikat klien untuk autentikasi mTLS |

165| `CLAUDE_CODE_CLIENT_KEY` | Jalur ke file kunci pribadi klien untuk autentikasi mTLS |168| `CLAUDE_CODE_CLIENT_KEY` | Jalur ke file kunci pribadi klien untuk autentikasi mTLS |

166| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Frasa sandi untuk `CLAUDE_CODE_CLIENT_KEY` terenkripsi (opsional) |169| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Frasa sandi untuk `CLAUDE_CODE_CLIENT_KEY` terenkripsi (opsional) |

170| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | {/* max-version: 2.1.185 */}Dihapus di v2.1.186 dan sekarang tidak beroperasi. Sebelumnya mengatur waktu tunggu terpisah untuk fase connect, TLS, dan response-header dari permintaan API streaming. Gunakan `API_TIMEOUT_MS` untuk waktu tunggu per-permintaan |

167| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Ganti jalur file log debug. Meskipun namanya, ini adalah jalur file, bukan direktori. Memerlukan mode debug diaktifkan secara terpisah melalui `--debug`, `/debug`, atau variabel lingkungan `DEBUG`: mengatur variabel ini saja tidak mengaktifkan logging. Flag [`--debug-file`](/id/cli-reference#cli-flags) melakukan keduanya sekaligus. Default ke `~/.claude/debug/<session-id>.txt` |171| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Ganti jalur file log debug. Meskipun namanya, ini adalah jalur file, bukan direktori. Memerlukan mode debug diaktifkan secara terpisah melalui `--debug`, `/debug`, atau variabel lingkungan `DEBUG`: mengatur variabel ini saja tidak mengaktifkan logging. Flag [`--debug-file`](/id/cli-reference#cli-flags) melakukan keduanya sekaligus. Default ke `~/.claude/debug/<session-id>.txt` |

168| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Tingkat log minimum yang ditulis ke file log debug. Nilai: `verbose`, `debug` (default), `info`, `warn`, `error`. Atur ke `verbose` untuk menyertakan diagnostik volume tinggi seperti keluaran perintah baris status lengkap, atau naikkan ke `error` untuk mengurangi kebisingan |172| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Tingkat log minimum yang ditulis ke file log debug. Nilai: `verbose`, `debug` (default), `info`, `warn`, `error`. Atur ke `verbose` untuk menyertakan diagnostik volume tinggi seperti keluaran perintah baris status lengkap, atau naikkan ke `error` untuk mengurangi kebisingan |

169| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Atur ke `1` untuk menonaktifkan dukungan [jendela konteks 1M](/id/model-config#extended-context). Saat diatur, varian model 1M tidak tersedia di pemilih model. Berguna untuk lingkungan perusahaan dengan persyaratan kepatuhan |173| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Atur ke `1` untuk menonaktifkan dukungan [jendela konteks 1M](/id/model-config#extended-context). Saat diatur, varian model 1M tidak tersedia di pemilih model. Berguna untuk lingkungan perusahaan dengan persyaratan kepatuhan |


171| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | {/* min-version: 2.1.98 */}Atur ke `1` untuk menonaktifkan [alat advisor](/id/advisor). Perintah `/advisor` dan flag `--advisor` menjadi tidak tersedia dan `advisorModel` yang dikonfigurasi apa pun diabaikan. Memerlukan Claude Code v2.1.98 atau lebih baru |175| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | {/* min-version: 2.1.98 */}Atur ke `1` untuk menonaktifkan [alat advisor](/id/advisor). Perintah `/advisor` dan flag `--advisor` menjadi tidak tersedia dan `advisorModel` yang dikonfigurasi apa pun diabaikan. Memerlukan Claude Code v2.1.98 atau lebih baru |

172| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Atur ke `1` untuk mematikan [agent latar belakang dan tampilan agent](/id/agent-view): `claude agents`, `--bg`, `/background`, dan supervisor on-demand. Setara dengan pengaturan [`disableAgentView`](/id/settings#available-settings) |176| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Atur ke `1` untuk mematikan [agent latar belakang dan tampilan agent](/id/agent-view): `claude agents`, `--bg`, `/background`, dan supervisor on-demand. Setara dengan pengaturan [`disableAgentView`](/id/settings#available-settings) |

173| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Atur ke `1` untuk menonaktifkan [rendering layar penuh](/id/fullscreen) dan menggunakan renderer layar utama klasik. Percakapan tetap berada di scrollback asli terminal Anda sehingga `Cmd+f` dan mode copy tmux bekerja seperti biasanya. Mengambil alih `CLAUDE_CODE_NO_FLICKER` dan pengaturan [`tui`](/id/settings#available-settings). Anda juga dapat beralih dengan `/tui default`. Tidak berlaku untuk sesi latar belakang yang dibuka dari [tampilan agent](/id/agent-view), yang selalu menggunakan rendering layar penuh |177| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Atur ke `1` untuk menonaktifkan [rendering layar penuh](/id/fullscreen) dan menggunakan renderer layar utama klasik. Percakapan tetap berada di scrollback asli terminal Anda sehingga `Cmd+f` dan mode copy tmux bekerja seperti biasanya. Mengambil alih `CLAUDE_CODE_NO_FLICKER` dan pengaturan [`tui`](/id/settings#available-settings). Anda juga dapat beralih dengan `/tui default`. Tidak berlaku untuk sesi latar belakang yang dibuka dari [tampilan agent](/id/agent-view), yang selalu menggunakan rendering layar penuh |

178| `CLAUDE_CODE_DISABLE_ARTIFACT` | Atur ke `1` untuk menonaktifkan alat [Artifact](/id/artifacts), yang menerbitkan keluaran sesi sebagai halaman web pribadi di claude.ai. Setara dengan pengaturan [`disableArtifact`](/id/settings#available-settings) |

174| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Atur ke `1` untuk menonaktifkan pemrosesan lampiran. Penyebutan file dengan sintaks `@` dikirim sebagai teks biasa alih-alih diperluas menjadi konten file |179| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Atur ke `1` untuk menonaktifkan pemrosesan lampiran. Penyebutan file dengan sintaks `@` dikirim sebagai teks biasa alih-alih diperluas menjadi konten file |

175| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Atur ke `1` untuk menonaktifkan [memori otomatis](/id/memory#auto-memory). Atur ke `0` untuk memaksa memori otomatis selama mode `--bare` atau [`autoMemoryEnabled: false`](/id/settings#available-settings) akan menonaktifkannya. Saat dinonaktifkan, Claude tidak membuat atau memuat file memori otomatis |180| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Atur ke `1` untuk menonaktifkan [memori otomatis](/id/memory#auto-memory). Atur ke `0` untuk memaksa memori otomatis selama mode `--bare` atau [`autoMemoryEnabled: false`](/id/settings#available-settings) akan menonaktifkannya. Saat dinonaktifkan, Claude tidak membuat atau memuat file memori otomatis |

176| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Atur ke `1` untuk menonaktifkan semua fungsi tugas latar belakang, termasuk parameter `run_in_background` pada alat Bash dan subagent, auto-backgrounding, dan pintasan Ctrl+B |181| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Atur ke `1` untuk menonaktifkan semua fungsi tugas latar belakang, termasuk parameter `run_in_background` pada alat Bash dan subagent, auto-backgrounding, dan pintasan Ctrl+B |


207| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Atur ke `1` untuk mengaktifkan [tim agent](/id/agent-teams). Tim agent bersifat eksperimental dan dinonaktifkan secara default |212| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Atur ke `1` untuk mengaktifkan [tim agent](/id/agent-teams). Tim agent bersifat eksperimental dan dinonaktifkan secara default |

208| `CLAUDE_CODE_EXTRA_BODY` | Objek JSON untuk digabungkan ke tingkat atas dari setiap badan permintaan API. Berguna untuk meneruskan parameter spesifik penyedia yang Claude Code tidak mengekspos secara langsung |213| `CLAUDE_CODE_EXTRA_BODY` | Objek JSON untuk digabungkan ke tingkat atas dari setiap badan permintaan API. Berguna untuk meneruskan parameter spesifik penyedia yang Claude Code tidak mengekspos secara langsung |

209| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Ganti batas token default untuk pembacaan file. Berguna saat Anda perlu membaca file yang lebih besar secara lengkap |214| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Ganti batas token default untuk pembacaan file. Berguna saat Anda perlu membaca file yang lebih besar secara lengkap |

210| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | {/* min-version: 2.1.172 */}Atur ke `1` untuk memaksa persistensi transkrip, riwayat prompt, dan pendaftaran `claude agents` bahkan saat `claude` ini diluncurkan dari dalam sesi Claude Code lain. Gunakan saat nilai `CLAUDE_CODE_CHILD_SESSION` yang diwarisi, misalnya dari server tmux yang pertama kali dimulai oleh alat Bash Claude Code, menyebabkan sesi tingkat atas asli salah diklasifikasikan sebagai bersarang. Juga dihormati pada v2.1.169 dan lebih awal; tidak berpengaruh pada v2.1.170 dan v2.1.171, di mana deteksi sesi bersarang yang ditimpa dihapus |215| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | {/* min-version: 2.1.172 */}Atur ke `1` untuk memaksa persistensi transkrip, riwayat prompt, dan pendaftaran `claude agents` bahkan saat `claude` ini diluncurkan dari dalam sesi Claude Code lain. Gunakan saat nilai `CLAUDE_CODE_CHILD_SESSION` yang diwarisi, misalnya dari server tmux yang pertama kali dimulai oleh alat Bash Claude Code, menyebabkan sesi tingkat atas asli salah diklasifikasikan sebagai bersarang. {/* min-version: 2.1.178 */}Sejak v2.1.178, Claude Code mendeteksi kasus tmux secara otomatis dan mengabaikan penanda yang diwarisi, sehingga tmux tidak lagi memerlukan variabel ini. Juga dihormati pada v2.1.169 dan lebih awal; tidak berpengaruh pada v2.1.170 dan v2.1.171, di mana deteksi sesi bersarang yang ditimpa dihapus |

216| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | {/* min-version: 2.1.186 */}Atur ke `1` untuk memaksa rendering strikethrough untuk `~~text~~` dalam respons Claude saat terminal Anda mendukungnya tetapi tidak terdeteksi otomatis, seperti melalui SSH tanpa `TERM_PROGRAM` yang diteruskan. Tanpa ini, terminal yang tidak terdeteksi menampilkan penanda `~~` literal alih-alih merender teks sebagai strikethrough. Memerlukan Claude Code v2.1.186 atau lebih baru |

211| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Atur ke `1` untuk memaksa pengaktifan mode privat DEC 2026 [synchronized output](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) saat terminal Anda mendukungnya tetapi tidak terdeteksi otomatis. Berguna untuk emulator seperti `eat` Emacs yang mengimplementasikan BSU/ESU tetapi tidak merespons probe kemampuan. Tidak berpengaruh di bawah tmux |217| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Atur ke `1` untuk memaksa pengaktifan mode privat DEC 2026 [synchronized output](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) saat terminal Anda mendukungnya tetapi tidak terdeteksi otomatis. Berguna untuk emulator seperti `eat` Emacs yang mengimplementasikan BSU/ESU tetapi tidak merespons probe kemampuan. Tidak berpengaruh di bawah tmux |

212| `CLAUDE_CODE_FORK_SUBAGENT` | Atur ke `1` untuk membuat [subagent yang di-fork](/id/sub-agents#fork-the-current-conversation) dapat diluncurkan, atau `0` untuk menonaktifkannya, mengganti rollout sisi server apa pun. Saat diaktifkan, Claude dapat meminta tipe subagent `fork` untuk meluncurkan fork, subagent yang mewarisi konteks percakapan lengkap alih-alih memulai dari awal. Peluncuran tanpa tipe subagent masih menggunakan subagent tujuan umum, dan semua peluncuran subagent berjalan di latar belakang. Perintah [`/fork`](/id/commands) eksplisit bekerja tanpa variabel ini. Bekerja dalam mode interaktif dan melalui SDK atau `claude -p` |218| `CLAUDE_CODE_FORK_SUBAGENT` | Atur ke `1` untuk membuat [subagent yang di-fork](/id/sub-agents#fork-the-current-conversation) dapat diluncurkan, atau `0` untuk menonaktifkannya, mengganti rollout sisi server apa pun. Saat diaktifkan, Claude dapat meminta tipe subagent `fork` untuk meluncurkan fork, subagent yang mewarisi konteks percakapan lengkap alih-alih memulai dari awal. Peluncuran tanpa tipe subagent masih menggunakan subagent tujuan umum, dan semua peluncuran subagent berjalan di latar belakang. Perintah [`/fork`](/id/commands) eksplisit bekerja tanpa variabel ini. Bekerja dalam mode interaktif dan melalui SDK atau `claude -p` |

213| `CLAUDE_CODE_GIT_BASH_PATH` | Hanya Windows: jalur ke executable Git Bash (`bash.exe`). Gunakan saat Git Bash diinstal tetapi tidak ada di PATH Anda. Lihat [Pengaturan Windows](/id/setup#set-up-on-windows) |219| `CLAUDE_CODE_GIT_BASH_PATH` | Hanya Windows: jalur ke executable Git Bash (`bash.exe`). Gunakan saat Git Bash diinstal tetapi tidak ada di PATH Anda. Lihat [Pengaturan Windows](/id/setup#set-up-on-windows) |


220| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Atur ke `1` untuk melewati validasi entri lockfile IDE selama koneksi. Gunakan saat auto-connect gagal menemukan IDE Anda meskipun sedang berjalan |226| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Atur ke `1` untuk melewati validasi entri lockfile IDE selama koneksi. Gunakan saat auto-connect gagal menemukan IDE Anda meskipun sedang berjalan |

221| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Ganti ukuran jendela konteks yang Claude Code asumsikan untuk model aktif. Hanya berlaku saat `DISABLE_COMPACT` juga diatur. Gunakan ini saat merutekan ke model melalui `ANTHROPIC_BASE_URL` yang jendela konteksnya tidak cocok dengan ukuran bawaan untuk namanya |227| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Ganti ukuran jendela konteks yang Claude Code asumsikan untuk model aktif. Hanya berlaku saat `DISABLE_COMPACT` juga diatur. Gunakan ini saat merutekan ke model melalui `ANTHROPIC_BASE_URL` yang jendela konteksnya tidak cocok dengan ukuran bawaan untuk namanya |

222| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Atur jumlah maksimal token keluaran untuk sebagian besar permintaan. Default dan batas bervariasi menurut model; lihat [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Meningkatkan nilai ini mengurangi jendela konteks efektif yang tersedia sebelum [pemadatan otomatis](/id/costs#reduce-token-usage) dipicu. |228| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Atur jumlah maksimal token keluaran untuk sebagian besar permintaan. Default dan batas bervariasi menurut model; lihat [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Meningkatkan nilai ini mengurangi jendela konteks efektif yang tersedia sebelum [pemadatan otomatis](/id/costs#reduce-token-usage) dipicu. |

223| `CLAUDE_CODE_MAX_RETRIES` | Ganti jumlah kali untuk mencoba ulang permintaan API yang gagal (default: 10) |229| `CLAUDE_CODE_MAX_RETRIES` | Ganti jumlah kali untuk mencoba ulang permintaan API yang gagal (default: 10). {/* min-version: 2.1.186 */}Dibatasi pada 15 sejak v2.1.186. Untuk sesi tanpa pengawasan yang perlu menunggu pemadaman yang lebih lama, atur `CLAUDE_CODE_RETRY_WATCHDOG` sebagai gantinya |

224| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Jumlah maksimal alat baca-saja dan subagent yang dapat dieksekusi secara paralel (default: 10). Nilai yang lebih tinggi meningkatkan paralelisme tetapi mengonsumsi lebih banyak sumber daya |230| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Jumlah maksimal alat baca-saja dan subagent yang dapat dieksekusi secara paralel (default: 10). Nilai yang lebih tinggi meningkatkan paralelisme tetapi mengonsumsi lebih banyak sumber daya |

225| `CLAUDE_CODE_MAX_TURNS` | Batasi jumlah giliran agentic saat tidak ada batas eksplisit yang diteruskan. Setara dengan meneruskan [`--max-turns`](/id/cli-reference#cli-flags), yang mengambil prioritas saat keduanya diatur. Nilai yang bukan integer positif ditolak saat startup dengan kesalahan daripada diperlakukan sebagai tidak ada batas |231| `CLAUDE_CODE_MAX_TURNS` | Batasi jumlah giliran agentic saat tidak ada batas eksplisit yang diteruskan. Setara dengan meneruskan [`--max-turns`](/id/cli-reference#cli-flags), yang mengambil prioritas saat keduanya diatur. Nilai yang bukan integer positif ditolak saat startup dengan kesalahan daripada diperlakukan sebagai tidak ada batas |

226| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Atur ke `1` untuk meluncurkan server MCP stdio dengan hanya lingkungan dasar yang aman ditambah `env` yang dikonfigurasi server, alih-alih mewarisi lingkungan shell Anda |232| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Atur ke `1` untuk meluncurkan server MCP stdio dengan hanya lingkungan dasar yang aman ditambah `env` yang dikonfigurasi server, alih-alih mewarisi lingkungan shell Anda |


231| `CLAUDE_CODE_OAUTH_SCOPES` | Cakupan OAuth yang dipisahkan spasi yang token refresh dikeluarkan dengan, seperti `"user:profile user:inference user:sessions:claude_code"`. Diperlukan saat `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` diatur |237| `CLAUDE_CODE_OAUTH_SCOPES` | Cakupan OAuth yang dipisahkan spasi yang token refresh dikeluarkan dengan, seperti `"user:profile user:inference user:sessions:claude_code"`. Diperlukan saat `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` diatur |

232| `CLAUDE_CODE_OAUTH_TOKEN` | Token akses OAuth untuk autentikasi Claude.ai. Alternatif untuk `/login` untuk SDK dan lingkungan otomatis. Mengambil alih kredensial yang disimpan keychain. Buat satu dengan [`claude setup-token`](/id/authentication#generate-a-long-lived-token) |238| `CLAUDE_CODE_OAUTH_TOKEN` | Token akses OAuth untuk autentikasi Claude.ai. Alternatif untuk `/login` untuk SDK dan lingkungan otomatis. Mengambil alih kredensial yang disimpan keychain. Buat satu dengan [`claude setup-token`](/id/authentication#generate-a-long-lived-token) |

233| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | {/* max-version: 2.1.159 */}Dihapus di v2.1.160 dan sekarang tidak beroperasi. Sebelumnya menyematkan [mode cepat](/id/fast-mode) ke Claude Opus 4.6 alih-alih default saat ini. Untuk menjalankan mode cepat pada Opus 4.6 sampai sudah pensiun, pilih model dengan `/model` terlebih dahulu, kemudian `/fast on` |239| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | {/* max-version: 2.1.159 */}Dihapus di v2.1.160 dan sekarang tidak beroperasi. Sebelumnya menyematkan [mode cepat](/id/fast-mode) ke Claude Opus 4.6 alih-alih default saat ini. Untuk menjalankan mode cepat pada Opus 4.6 sampai sudah pensiun, pilih model dengan `/model` terlebih dahulu, kemudian `/fast on` |

240| `CLAUDE_CODE_OTEL_DIAG_STDERR` | {/* min-version: 2.1.179 */}Atur ke `1` untuk menulis kesalahan diagnostik pengekspor OpenTelemetry ke stderr. Secara default kesalahan ini hanya muncul dengan `--debug`, sehingga pengekspor yang salah dikonfigurasi seperti tabrakan port Prometheus gagal diam-diam. Memerlukan Claude Code v2.1.179 atau lebih baru. Lihat [Monitoring](/id/monitoring-usage) |

234| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Waktu tunggu dalam milidetik untuk menyiram span OpenTelemetry yang tertunda (default: 5000). Lihat [Monitoring](/id/monitoring-usage) |241| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Waktu tunggu dalam milidetik untuk menyiram span OpenTelemetry yang tertunda (default: 5000). Lihat [Monitoring](/id/monitoring-usage) |

235| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Interval untuk menyegarkan header OpenTelemetry dinamis dalam milidetik (default: 1740000 / 29 menit). Lihat [Header dinamis](/id/monitoring-usage#dynamic-headers) |242| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Interval untuk menyegarkan header OpenTelemetry dinamis dalam milidetik (default: 1740000 / 29 menit). Lihat [Header dinamis](/id/monitoring-usage#dynamic-headers) |

236| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Waktu tunggu dalam milidetik untuk pengekspor OpenTelemetry selesai saat shutdown (default: 2000). Tingkatkan jika metrik dijatuhkan saat keluar. Lihat [Monitoring](/id/monitoring-usage) |243| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Waktu tunggu dalam milidetik untuk pengekspor OpenTelemetry selesai saat shutdown (default: 2000). Tingkatkan jika metrik dijatuhkan saat keluar. Lihat [Monitoring](/id/monitoring-usage) |


242| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Atur ke `1` untuk clone GitHub `owner/repo` shorthand sources melalui HTTPS alih-alih SSH. Berlaku untuk instalasi plugin dan update, dan untuk `/plugin marketplace add` dan `update`. Berguna di CI runners, kontainer, atau lingkungan apa pun tanpa kunci SSH yang dikonfigurasi untuk `github.com` |249| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Atur ke `1` untuk clone GitHub `owner/repo` shorthand sources melalui HTTPS alih-alih SSH. Berlaku untuk instalasi plugin dan update, dan untuk `/plugin marketplace add` dan `update`. Berguna di CI runners, kontainer, atau lingkungan apa pun tanpa kunci SSH yang dikonfigurasi untuk `github.com` |

243| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Jalur ke satu atau lebih direktori seed plugin baca-saja, dipisahkan oleh `:` pada Unix atau `;` pada Windows. Gunakan ini untuk menggabungkan direktori plugin yang sudah diisi sebelumnya ke dalam gambar kontainer. Claude Code mendaftarkan marketplace dari direktori ini saat startup dan menggunakan plugin yang sudah di-cache tanpa re-cloning. Lihat [Pre-populate plugins for containers](/id/plugin-marketplaces#pre-populate-plugins-for-containers) |250| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Jalur ke satu atau lebih direktori seed plugin baca-saja, dipisahkan oleh `:` pada Unix atau `;` pada Windows. Gunakan ini untuk menggabungkan direktori plugin yang sudah diisi sebelumnya ke dalam gambar kontainer. Claude Code mendaftarkan marketplace dari direktori ini saat startup dan menggunakan plugin yang sudah di-cache tanpa re-cloning. Lihat [Pre-populate plugins for containers](/id/plugin-marketplaces#pre-populate-plugins-for-containers) |

244| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Atur ke `1` untuk menghentikan Claude Code dari melewati `-ExecutionPolicy Bypass` saat meluncurkan PowerShell untuk panggilan alat, hook, dan perintah baris status, dan menghormati kebijakan eksekusi efektif mesin sebagai gantinya. Secara default Claude Code melewati kebijakan eksekusi pada cakupan proses sehingga skrip `.ps1` dan impor modul bekerja pada instalasi Windows default-Restricted. Bypass cakupan proses tidak pernah mengganti Kebijakan Grup `MachinePolicy` atau `UserPolicy` terlepas dari pengaturan ini |251| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Atur ke `1` untuk menghentikan Claude Code dari melewati `-ExecutionPolicy Bypass` saat meluncurkan PowerShell untuk panggilan alat, hook, dan perintah baris status, dan menghormati kebijakan eksekusi efektif mesin sebagai gantinya. Secara default Claude Code melewati kebijakan eksekusi pada cakupan proses sehingga skrip `.ps1` dan impor modul bekerja pada instalasi Windows default-Restricted. Bypass cakupan proses tidak pernah mengganti Kebijakan Grup `MachinePolicy` atau `UserPolicy` terlepas dari pengaturan ini |

252| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | {/* min-version: 2.1.182 */}Waktu maksimal dalam milidetik yang [mode non-interaktif](/id/headless#background-tasks-at-exit) dengan flag `-p` tunggu setelah giliran terakhir untuk subagent latar belakang dan workflows yang hasilnya adalah bagian dari keluaran. Default: `600000`, atau 10 menit. Saat batas terlampaui, tugas latar belakang yang tersisa dihentikan dan proses keluar. Atur ke `0` untuk menunggu tanpa batas. Batas ini terpisah dari periode grace lima detik yang berlaku untuk shell latar belakang biasa |

245| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | {/* min-version: 2.1.152 */}Atur ke `1` untuk menyebarkan konteks jejak W3C saat `ANTHROPIC_BASE_URL` menunjuk pada proxy kustom. Penyebaran mencakup header `traceparent` pada permintaan model dan MCP HTTP serta variabel lingkungan `TRACEPARENT` untuk subprocess Bash, PowerShell, dan hook. Secara default, penyebaran diaktifkan hanya saat terhubung langsung ke API Anthropic. Ditambahkan di v2.1.152. Lihat [Traces (beta)](/id/monitoring-usage#traces-beta) |253| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | {/* min-version: 2.1.152 */}Atur ke `1` untuk menyebarkan konteks jejak W3C saat `ANTHROPIC_BASE_URL` menunjuk pada proxy kustom. Penyebaran mencakup header `traceparent` pada permintaan model dan MCP HTTP serta variabel lingkungan `TRACEPARENT` untuk subprocess Bash, PowerShell, dan hook. Secara default, penyebaran diaktifkan hanya saat terhubung langsung ke API Anthropic. Ditambahkan di v2.1.152. Lihat [Traces (beta)](/id/monitoring-usage#traces-beta) |

246| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Atur oleh platform host yang menyematkan Claude Code dan mengelola perutean penyedia model atas namanya. Saat diatur, pemilihan penyedia, titik akhir, dan variabel autentikasi seperti `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL`, dan `ANTHROPIC_API_KEY` dalam file pengaturan diabaikan sehingga pengaturan pengguna tidak dapat mengganti perutean host. Opt-out telemetri otomatis untuk Bedrock, Vertex, dan Foundry juga dilewati, sehingga telemetri mengikuti opt-out standar `DISABLE_TELEMETRY`. Lihat [Perilaku default menurut penyedia API](/id/data-usage#default-behaviors-by-api-provider) |254| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Atur oleh platform host yang menyematkan Claude Code dan mengelola perutean penyedia model atas namanya. Saat diatur, pemilihan penyedia, titik akhir, dan variabel autentikasi seperti `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL`, dan `ANTHROPIC_API_KEY` dalam file pengaturan diabaikan sehingga pengaturan pengguna tidak dapat mengganti perutean host. Opt-out telemetri otomatis untuk Bedrock, Vertex, dan Foundry juga dilewati, sehingga telemetri mengikuti opt-out standar `DISABLE_TELEMETRY`. Lihat [Perilaku default menurut penyedia API](/id/data-usage#default-behaviors-by-api-provider) |

247| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Atur ke `1` untuk memungkinkan proxy melakukan resolusi DNS alih-alih pemanggil. Opt-in untuk lingkungan di mana proxy harus menangani resolusi nama host |255| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Atur ke `1` untuk memungkinkan proxy melakukan resolusi DNS alih-alih pemanggil. Opt-in untuk lingkungan di mana proxy harus menangani resolusi nama host |

248| `CLAUDE_CODE_REMOTE` | Atur secara otomatis ke `true` saat Claude Code berjalan sebagai [sesi cloud](/id/claude-code-on-the-web). Baca ini dari hook atau skrip setup untuk mendeteksi apakah Anda berada di lingkungan cloud |256| `CLAUDE_CODE_REMOTE` | Atur secara otomatis ke `true` saat Claude Code berjalan sebagai [sesi cloud](/id/claude-code-on-the-web). Baca ini dari hook atau skrip setup untuk mendeteksi apakah Anda berada di lingkungan cloud |

249| `CLAUDE_CODE_REMOTE_SESSION_ID` | Atur secara otomatis dalam [sesi cloud](/id/claude-code-on-the-web) ke ID sesi saat ini. Baca ini untuk membuat tautan kembali ke transkrip sesi. Lihat [Link artifacts back to the session](/id/claude-code-on-the-web#link-artifacts-back-to-the-session) |257| `CLAUDE_CODE_REMOTE_SESSION_ID` | Atur secara otomatis dalam [sesi cloud](/id/claude-code-on-the-web) ke ID sesi saat ini. Baca ini untuk membuat tautan kembali ke transkrip sesi. Lihat [Link output back to the session](/id/claude-code-on-the-web#link-output-back-to-the-session) |

250| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Atur ke `1` untuk melanjutkan secara otomatis jika sesi sebelumnya berakhir di tengah-tengah. Digunakan dalam mode SDK sehingga model melanjutkan tanpa memerlukan SDK untuk mengirim ulang prompt |258| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Atur ke `1` untuk melanjutkan secara otomatis jika sesi sebelumnya berakhir di tengah-tengah. Digunakan dalam mode SDK sehingga model melanjutkan tanpa memerlukan SDK untuk mengirim ulang prompt |

251| `CLAUDE_CODE_RESUME_PROMPT` | Ganti pesan kelanjutan yang disuntikkan saat melanjutkan sesi yang berakhir di tengah-tengah. Default ke `Continue from where you left off.`. Skrip spawn untuk agent yang berjalan lama dapat mengatur ini ke pesan boot yang lebih direktif. String kosong menggunakan default |259| `CLAUDE_CODE_RESUME_PROMPT` | Ganti pesan kelanjutan yang disuntikkan saat melanjutkan sesi yang berakhir di tengah-tengah. Default ke `Continue from where you left off.`. Skrip spawn untuk agent yang berjalan lama dapat mengatur ini ke pesan boot yang lebih direktif. String kosong menggunakan default |

260| `CLAUDE_CODE_RETRY_WATCHDOG` | {/* min-version: 2.1.186 */}Atur ke `1` untuk sesi tanpa pengawasan seperti eval harnesses, pekerjaan CI, atau pekerja jarak jauh. Mencoba ulang kesalahan kapasitas `429` dan `529` tanpa batas alih-alih gagal setelah upaya `CLAUDE_CODE_MAX_RETRIES`. Watchdog mundur hingga 5 menit di antara upaya, atau sampai batas disetel ulang saat respons membawa waktu reset batas laju, sehingga sesi yang mencapai batas penggunaan menunggu jendela yang tersisa. Memerlukan Claude Code v2.1.186 atau lebih baru |

252| `CLAUDE_CODE_SAFE_MODE` | Atur ke `1` untuk memulai dalam mode aman: CLAUDE.md, skill, plugin, hook, server MCP, perintah kustom dan agent, gaya keluaran, workflows, tema kustom, pintasan keyboard kustom, perintah baris status dan saran file, server LSP, dan memori otomatis tidak memuat, untuk pemecahan masalah konfigurasi yang rusak. Kebijakan pengaturan terkelola masih berlaku, termasuk hook, baris status, dan perintah saran file yang dikonfigurasi kebijakan; plugin terkelola, skill terkelola, CLAUDE.md terkelola, dan server MCP yang dikonfigurasi kebijakan tidak. Setara dengan meneruskan [`--safe-mode`](/id/cli-reference#cli-flags). Proses anak yang diluncurkan secara langsung mewarisi variabel |261| `CLAUDE_CODE_SAFE_MODE` | Atur ke `1` untuk memulai dalam mode aman: CLAUDE.md, skill, plugin, hook, server MCP, perintah kustom dan agent, gaya keluaran, workflows, tema kustom, pintasan keyboard kustom, perintah baris status dan saran file, server LSP, dan memori otomatis tidak memuat, untuk pemecahan masalah konfigurasi yang rusak. Kebijakan pengaturan terkelola masih berlaku, termasuk hook, baris status, dan perintah saran file yang dikonfigurasi kebijakan; plugin terkelola, skill terkelola, CLAUDE.md terkelola, dan server MCP yang dikonfigurasi kebijakan tidak. Setara dengan meneruskan [`--safe-mode`](/id/cli-reference#cli-flags). Proses anak yang diluncurkan secara langsung mewarisi variabel |

253| `CLAUDE_CODE_SCRIPT_CAPS` | Objek JSON yang membatasi berapa kali skrip spesifik dapat dipanggil per sesi saat `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` diatur. Kunci adalah substring yang cocok dengan teks perintah; nilai adalah batas panggilan integer. Misalnya, `{"deploy.sh": 2}` memungkinkan `deploy.sh` dipanggil paling banyak dua kali. Pencocokan berbasis substring sehingga trik ekspansi shell seperti `./scripts/deploy.sh $(evil)` masih dihitung terhadap batas. Fan-out runtime melalui `xargs` atau `find -exec` tidak terdeteksi; ini adalah kontrol pertahanan mendalam |262| `CLAUDE_CODE_SCRIPT_CAPS` | Objek JSON yang membatasi berapa kali skrip spesifik dapat dipanggil per sesi saat `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` diatur. Kunci adalah substring yang cocok dengan teks perintah; nilai adalah batas panggilan integer. Misalnya, `{"deploy.sh": 2}` memungkinkan `deploy.sh` dipanggil paling banyak dua kali. Pencocokan berbasis substring sehingga trik ekspansi shell seperti `./scripts/deploy.sh $(evil)` masih dihitung terhadap batas. Fan-out runtime melalui `xargs` atau `find -exec` tidak terdeteksi; ini adalah kontrol pertahanan mendalam |

254| `CLAUDE_CODE_SCROLL_SPEED` | Atur pengali pengguliran roda mouse dalam [rendering layar penuh](/id/fullscreen#mouse-wheel-scrolling). Menerima nilai dari 1 hingga 20, dan nilai fraksional di bawah 1 seperti `0.5` untuk memperlambat pengguliran trackpad dan roda yang dipercepat di terminal yang sudah memperkuat peristiwa roda. Atur ke `3` untuk mencocokkan `vim` jika terminal Anda mengirim satu peristiwa roda per takik tanpa amplifikasi. Diabaikan di terminal IDE JetBrains, di mana Claude Code menggunakan penanganan pengguliran miliknya sendiri |263| `CLAUDE_CODE_SCROLL_SPEED` | Atur pengali pengguliran roda mouse dalam [rendering layar penuh](/id/fullscreen#mouse-wheel-scrolling). Menerima nilai dari 1 hingga 20, dan nilai fraksional di bawah 1 seperti `0.5` untuk memperlambat pengguliran trackpad dan roda yang dipercepat di terminal yang sudah memperkuat peristiwa roda. Atur ke `3` untuk mencocokkan `vim` jika terminal Anda mengirim satu peristiwa roda per takik tanpa amplifikasi. Diabaikan di terminal IDE JetBrains, di mana Claude Code menggunakan penanganan pengguliran miliknya sendiri |


316| `DISABLE_UPDATES` | Atur ke `1` untuk memblokir semua pembaruan termasuk manual `claude update` dan `claude install`. Lebih ketat daripada `DISABLE_AUTOUPDATER`. Gunakan saat mendistribusikan Claude Code melalui saluran Anda sendiri dan pengguna tidak boleh memperbarui diri |325| `DISABLE_UPDATES` | Atur ke `1` untuk memblokir semua pembaruan termasuk manual `claude update` dan `claude install`. Lebih ketat daripada `DISABLE_AUTOUPDATER`. Gunakan saat mendistribusikan Claude Code melalui saluran Anda sendiri dan pengguna tidak boleh memperbarui diri |

317| `DISABLE_UPGRADE_COMMAND` | Atur ke `1` untuk menyembunyikan perintah `/upgrade` |326| `DISABLE_UPGRADE_COMMAND` | Atur ke `1` untuk menyembunyikan perintah `/upgrade` |

318| `DO_NOT_TRACK` | Atur ke `1` untuk menolak telemetri. Setara dengan pengaturan `DISABLE_TELEMETRY`. Claude Code menghormati ini sebagai konvensi lintas alat standar yang diakui oleh banyak CLI pengembang |327| `DO_NOT_TRACK` | Atur ke `1` untuk menolak telemetri. Setara dengan pengaturan `DISABLE_TELEMETRY`. Claude Code menghormati ini sebagai konvensi lintas alat standar yang diakui oleh banyak CLI pengembang |

319| `ENABLE_CLAUDEAI_MCP_SERVERS` | Atur ke `false` untuk menonaktifkan [server MCP claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) di Claude Code. Diaktifkan secara default untuk pengguna yang masuk |328| `ENABLE_CLAUDEAI_MCP_SERVERS` | Atur ke `false` untuk menonaktifkan [server MCP claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) di Claude Code. Diaktifkan secara default untuk pengguna yang masuk. Untuk menonaktifkan per-proyek atau per-organisasi, atur [`disableClaudeAiConnectors`](/id/settings#available-settings) dalam pengaturan sebagai gantinya |

320| `ENABLE_PROMPT_CACHING_1H` | Atur ke `1` untuk meminta TTL cache prompt 1 jam alih-alih default 5 menit. Dimaksudkan untuk pengguna kunci API, [Bedrock](/id/amazon-bedrock), [Vertex](/id/google-vertex-ai), [Foundry](/id/microsoft-foundry), dan [Claude Platform on AWS](/id/claude-platform-on-aws). Pengguna langganan menerima TTL 1 jam secara otomatis. Penulisan cache 1 jam ditagih dengan tarif yang lebih tinggi |329| `ENABLE_PROMPT_CACHING_1H` | Atur ke `1` untuk meminta TTL cache prompt 1 jam alih-alih default 5 menit. Dimaksudkan untuk pengguna kunci API, [Bedrock](/id/amazon-bedrock), [Vertex](/id/google-vertex-ai), [Foundry](/id/microsoft-foundry), dan [Claude Platform on AWS](/id/claude-platform-on-aws). Pengguna langganan menerima TTL 1 jam secara otomatis. Penulisan cache 1 jam ditagih dengan tarif yang lebih tinggi |

321| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecated. Gunakan `ENABLE_PROMPT_CACHING_1H` sebagai gantinya |330| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecated. Gunakan `ENABLE_PROMPT_CACHING_1H` sebagai gantinya |

322| `ENABLE_TOOL_SEARCH` | Mengontrol [pencarian alat MCP](/id/mcp#scale-with-mcp-tool-search). Tidak diatur: semua alat MCP ditangguhkan secara default, tetapi dimuat di muka pada Vertex AI atau saat `ANTHROPIC_BASE_URL` menunjuk ke host non-pihak pertama. Nilai: `true` (selalu tangguhkan dan kirim header beta, permintaan gagal pada model Vertex AI lebih awal dari Sonnet 4.5 atau Opus 4.5, atau pada proxy yang tidak mendukung `tool_reference`), `auto` (mode ambang batas: muat di muka jika alat sesuai dalam 10% konteks), `auto:N` (ambang batas kustom, misalnya `auto:5` untuk 5%), `false` (muat semua di muka) |331| `ENABLE_TOOL_SEARCH` | Mengontrol [pencarian alat MCP](/id/mcp#scale-with-mcp-tool-search). Tidak diatur: semua alat MCP ditangguhkan secara default, tetapi dimuat di muka pada Vertex AI atau saat `ANTHROPIC_BASE_URL` menunjuk ke host non-pihak pertama. Nilai: `true` (selalu tangguhkan dan kirim header beta, permintaan gagal pada model Vertex AI lebih awal dari Sonnet 4.5 atau Opus 4.5, atau pada proxy yang tidak mendukung `tool_reference`), `auto` (mode ambang batas: muat di muka jika alat sesuai dalam 10% konteks), `auto:N` (ambang batas kustom, misalnya `auto:5` untuk 5%), `false` (muat semua di muka) |


340| `NO_PROXY` | Daftar domain dan IP ke mana permintaan akan dikeluarkan secara langsung, melewati proxy |349| `NO_PROXY` | Daftar domain dan IP ke mana permintaan akan dikeluarkan secara langsung, melewati proxy |

341| `OTEL_LOG_RAW_API_BODIES` | Memancarkan permintaan dan respons JSON API Anthropic Messages lengkap sebagai peristiwa log `api_request_body` / `api_response_body`. Atur ke `1` untuk badan inline dipotong pada 60 KB, atau `file:<dir>` untuk menulis badan yang tidak dipotong ke disk dan memancarkan referensi `body_ref` sebagai gantinya. Dinonaktifkan secara default; badan menyertakan seluruh riwayat percakapan. Lihat [Monitoring](/id/monitoring-usage#api-request-body-event) |350| `OTEL_LOG_RAW_API_BODIES` | Memancarkan permintaan dan respons JSON API Anthropic Messages lengkap sebagai peristiwa log `api_request_body` / `api_response_body`. Atur ke `1` untuk badan inline dipotong pada 60 KB, atau `file:<dir>` untuk menulis badan yang tidak dipotong ke disk dan memancarkan referensi `body_ref` sebagai gantinya. Dinonaktifkan secara default; badan menyertakan seluruh riwayat percakapan. Lihat [Monitoring](/id/monitoring-usage#api-request-body-event) |

342| `OTEL_LOG_TOOL_CONTENT` | Atur ke `1` untuk menyertakan konten input dan output alat dalam peristiwa span OpenTelemetry. Dinonaktifkan secara default untuk melindungi data sensitif. Lihat [Monitoring](/id/monitoring-usage) |351| `OTEL_LOG_TOOL_CONTENT` | Atur ke `1` untuk menyertakan konten input dan output alat dalam peristiwa span OpenTelemetry. Dinonaktifkan secara default untuk melindungi data sensitif. Lihat [Monitoring](/id/monitoring-usage) |

343| `OTEL_LOG_TOOL_DETAILS` | Atur ke `1` untuk menyertakan argumen input alat, nama server MCP, string kesalahan mentah pada kegagalan alat, dan detail alat lainnya dalam jejak dan log OpenTelemetry. Dinonaktifkan secara default untuk melindungi PII. Lihat [Monitoring](/id/monitoring-usage) |352| `OTEL_LOG_TOOL_DETAILS` | Atur ke `1` untuk menyertakan argumen input alat, nama server MCP, string kesalahan mentah pada kegagalan alat, kategori penolakan pada peristiwa `api_refusal`, dan detail alat lainnya dalam jejak dan log OpenTelemetry. Dinonaktifkan secara default untuk melindungi PII. Lihat [Monitoring](/id/monitoring-usage) |

344| `OTEL_LOG_USER_PROMPTS` | Atur ke `1` untuk menyertakan teks prompt pengguna dalam jejak dan log OpenTelemetry. Dinonaktifkan secara default (prompt diredaksi). Lihat [Monitoring](/id/monitoring-usage) |353| `OTEL_LOG_USER_PROMPTS` | Atur ke `1` untuk menyertakan teks prompt pengguna dalam jejak dan log OpenTelemetry. Dinonaktifkan secara default (prompt diredaksi). Lihat [Monitoring](/id/monitoring-usage) |

345| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Atur ke `false` untuk mengecualikan UUID akun dari atribut metrik (default: disertakan). Lihat [Monitoring](/id/monitoring-usage) |354| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Atur ke `false` untuk mengecualikan UUID akun dari atribut metrik (default: disertakan). Lihat [Monitoring](/id/monitoring-usage) |

346| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | {/* min-version: 2.1.152 */}Atur ke `true` untuk menyertakan titik masuk sesi dalam atribut metrik (default: dikecualikan). Ditambahkan di v2.1.152. Lihat [Monitoring](/id/monitoring-usage) |355| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | {/* min-version: 2.1.152 */}Atur ke `true` untuk menyertakan titik masuk sesi dalam atribut metrik (default: dikecualikan). Ditambahkan di v2.1.152. Lihat [Monitoring](/id/monitoring-usage) |

errors.md +7 −3

Details

43| `OAuth token revoked` / `OAuth token has expired` | [Autentikasi](#oauth-token-revoked-or-expired) |43| `OAuth token revoked` / `OAuth token has expired` | [Autentikasi](#oauth-token-revoked-or-expired) |

44| `does not meet scope requirement user:profile` | [Autentikasi](#oauth-scope-requirement) |44| `does not meet scope requirement user:profile` | [Autentikasi](#oauth-scope-requirement) |

45| `Unable to connect to API` | [Jaringan](#unable-to-connect-to-api) |45| `Unable to connect to API` | [Jaringan](#unable-to-connect-to-api) |

46| `Waiting for API response · will retry in` | [Percobaan ulang otomatis](#automatic-retries), atau [Jaringan](#unable-to-connect-to-api) jika terus berlanjut |

46| `SSL certificate verification failed` | [Jaringan](#ssl-certificate-errors) |47| `SSL certificate verification failed` | [Jaringan](#ssl-certificate-errors) |

47| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [Jaringan](#host-not-allowed-in-a-cloud-session) |48| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [Jaringan](#host-not-allowed-in-a-cloud-session) |

48| `Prompt is too long` | [Kesalahan permintaan](#prompt-is-too-long) |49| `Prompt is too long` | [Kesalahan permintaan](#prompt-is-too-long) |


66 67 

67Claude Code mencoba ulang kegagalan transien sebelum menampilkan kesalahan kepada Anda. Kesalahan server, respons kelebihan beban, waktu tunggu permintaan, throttle 429 sementara, dan koneksi yang terputus semuanya dicoba ulang hingga 10 kali dengan backoff eksponensial. Saat mencoba ulang, spinner menampilkan hitungan mundur `Retrying in Ns · attempt x/y`.68Claude Code mencoba ulang kegagalan transien sebelum menampilkan kesalahan kepada Anda. Kesalahan server, respons kelebihan beban, waktu tunggu permintaan, throttle 429 sementara, dan koneksi yang terputus semuanya dicoba ulang hingga 10 kali dengan backoff eksponensial. Saat mencoba ulang, spinner menampilkan hitungan mundur `Retrying in Ns · attempt x/y`.

68 69 

69Ketika Anda melihat salah satu kesalahan di halaman ini, percobaan ulang tersebut telah habis. Anda dapat menyesuaikan perilaku dengan dua variabel lingkungan:70{/* min-version: 2.1.185 */}Jika tidak ada data yang tiba di aliran respons selama 20 detik sementara permintaan masih tertunda, spinner menampilkan `Waiting for API response · will retry in … · check your network` sebelum percobaan ulang apa pun dimulai. Permintaan belum gagal: hitungan mundur berjalan ke titik di mana Claude Code membatalkan koneksi yang macet dan mencoba ulang, sehingga banner hilang dengan sendirinya setelah data dilanjutkan atau percobaan ulang berhasil. Mulai dari v2.1.185 ambang batasnya adalah 20 detik; versi sebelumnya menampilkan banner setelah 10 detik dengan wording yang berbeda. Jika muncul kembali pada setiap percobaan, perlakukan sebagai [masalah jaringan](#unable-to-connect-to-api).

71 

72Ketika Anda melihat salah satu kesalahan di halaman ini, percobaan ulang tersebut telah habis. Anda dapat menyesuaikan perilaku dengan variabel lingkungan ini:

70 73 

71| Variabel | Default | Efek |74| Variabel | Default | Efek |

72| :---------------------------------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------ |75| :------------------------------------------- | :------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

73| [`CLAUDE_CODE_MAX_RETRIES`](/id/env-vars) | 10 | Jumlah percobaan ulang. Turunkan untuk menampilkan kegagalan lebih cepat dalam skrip; naikkan untuk menunggu insiden yang lebih lama. |76| [`CLAUDE_CODE_MAX_RETRIES`](/id/env-vars) | 10 | Jumlah percobaan ulang. {/* min-version: 2.1.186 */}Dibatasi pada 15 mulai dari v2.1.186. Turunkan untuk menampilkan kegagalan lebih cepat dalam skrip. |

77| [`CLAUDE_CODE_RETRY_WATCHDOG`](/id/env-vars) | unset | Atur ke `1` dalam sesi tanpa pengawasan seperti pekerjaan CI untuk mencoba ulang kesalahan kapasitas `429` dan `529` tanpa batas alih-alih gagal setelah percobaan `CLAUDE_CODE_MAX_RETRIES`. |

74| [`API_TIMEOUT_MS`](/id/env-vars) | 600000 | Waktu tunggu per permintaan dalam milidetik. Naikkan untuk jaringan lambat atau proxy. |78| [`API_TIMEOUT_MS`](/id/env-vars) | 600000 | Waktu tunggu per permintaan dalam milidetik. Naikkan untuk jaringan lambat atau proxy. |

75 79 

76<h2 id="server-errors">80<h2 id="server-errors">

Details

38Fitur berkisar dari konteks yang selalu aktif yang Claude lihat setiap sesi, hingga kemampuan on-demand yang dapat Anda atau Claude panggil, hingga otomasi latar belakang yang berjalan pada acara tertentu. Tabel di bawah menunjukkan apa yang tersedia dan kapan masing-masing masuk akal.38Fitur berkisar dari konteks yang selalu aktif yang Claude lihat setiap sesi, hingga kemampuan on-demand yang dapat Anda atau Claude panggil, hingga otomasi latar belakang yang berjalan pada acara tertentu. Tabel di bawah menunjukkan apa yang tersedia dan kapan masing-masing masuk akal.

39 39 

40| Fitur | Apa yang dilakukannya | Kapan menggunakannya | Contoh |40| Fitur | Apa yang dilakukannya | Kapan menggunakannya | Contoh |

41| -------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |41| -------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |

42| **CLAUDE.md** | Konteks persisten dimuat setiap percakapan | Konvensi proyek, aturan "selalu lakukan X" | "Gunakan pnpm, bukan npm. Jalankan tes sebelum commit." |42| **CLAUDE.md** | Konteks persisten dimuat setiap percakapan | Konvensi proyek, aturan "selalu lakukan X" | "Gunakan pnpm, bukan npm. Jalankan tes sebelum commit." |

43| **Skill** | Instruksi, pengetahuan, dan alur kerja yang dapat digunakan Claude | Konten yang dapat digunakan kembali, dokumen referensi, tugas yang dapat diulang | `/deploy` menjalankan daftar periksa deployment Anda; skill dokumen API dengan pola endpoint |43| **Skill** | Instruksi, pengetahuan, dan alur kerja yang dapat digunakan Claude | Konten yang dapat digunakan kembali, dokumen referensi, tugas yang dapat diulang | `/deploy` menjalankan daftar periksa deployment Anda; skill dokumen API dengan pola endpoint |

44| **Subagent** | Konteks eksekusi terisolasi yang mengembalikan hasil ringkasan | Isolasi konteks, tugas paralel, pekerja khusus | Tugas penelitian yang membaca banyak file tetapi hanya mengembalikan temuan kunci |44| **Subagent** | Konteks eksekusi terisolasi yang mengembalikan hasil ringkasan | Isolasi konteks, tugas paralel, pekerja khusus | Tugas penelitian yang membaca banyak file tetapi hanya mengembalikan temuan kunci |


46| **[Code intelligence](/id/tools-reference#lsp-tool-behavior)** | Navigasi language-server dan diagnostik | Bahasa yang diketik, basis kode besar di mana grep lambat atau tidak presisi | Lompat ke definisi simbol daripada membaca seluruh file |46| **[Code intelligence](/id/tools-reference#lsp-tool-behavior)** | Navigasi language-server dan diagnostik | Bahasa yang diketik, basis kode besar di mana grep lambat atau tidak presisi | Lompat ke definisi simbol daripada membaca seluruh file |

47| **MCP** | Terhubung ke layanan eksternal | Data atau tindakan eksternal | Kueri database Anda, posting ke Slack, kontrol browser |47| **MCP** | Terhubung ke layanan eksternal | Data atau tindakan eksternal | Kueri database Anda, posting ke Slack, kontrol browser |

48| **Hook** | Skrip, permintaan HTTP, prompt, atau subagent yang dipicu oleh acara | Otomasi yang harus berjalan pada setiap acara yang cocok | Jalankan ESLint setelah setiap edit file |48| **Hook** | Skrip, permintaan HTTP, prompt, atau subagent yang dipicu oleh acara | Otomasi yang harus berjalan pada setiap acara yang cocok | Jalankan ESLint setelah setiap edit file |

49| **[Artifact](/id/artifacts)** | Publikasikan output sesi sebagai halaman web pribadi yang interaktif | Output yang ingin Anda lihat atau bagikan secara visual daripada sebagai teks terminal | Garis waktu insiden yang diperbarui saat Claude menyelidiki |

49 50 

50**[Plugins](/id/plugins)** adalah lapisan pengemasan. Plugin menggabungkan skills, hooks, subagents, dan MCP servers menjadi satu unit yang dapat diinstal. Plugin skills memiliki namespace (seperti `/my-plugin:review`) sehingga beberapa plugin dapat hidup berdampingan. Gunakan plugins ketika Anda ingin menggunakan kembali setup yang sama di beberapa repositori atau mendistribusikan ke orang lain melalui **[marketplace](/id/plugin-marketplaces)**.51**[Plugins](/id/plugins)** adalah lapisan pengemasan. Plugin menggabungkan skills, hooks, subagents, dan MCP servers menjadi satu unit yang dapat diinstal. Plugin skills memiliki namespace (seperti `/my-plugin:review`) sehingga beberapa plugin dapat hidup berdampingan. Gunakan plugins ketika Anda ingin menggunakan kembali setup yang sama di beberapa repositori atau mendistribusikan ke orang lain melalui **[marketplace](/id/plugin-marketplaces)**.

51 52 

fullscreen.md +2 −2

Details

44| :------------------------------------------------------ | :--------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |44| :------------------------------------------------------ | :--------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |

45| `Cmd+f` atau pencarian tmux untuk menemukan teks | `Ctrl+o` untuk mode transkrip, kemudian `/` untuk mencari atau `[` untuk menulis ke scrollback | [Cari dan tinjau percakapan](#search-and-review-the-conversation) |45| `Cmd+f` atau pencarian tmux untuk menemukan teks | `Ctrl+o` untuk mode transkrip, kemudian `/` untuk mencari atau `[` untuk menulis ke scrollback | [Cari dan tinjau percakapan](#search-and-review-the-conversation) |

46| Klik-dan-seret asli terminal untuk memilih dan menyalin | Pemilihan dalam aplikasi, menyalin secara otomatis saat pelepasan mouse | [Gunakan mouse](#use-the-mouse) |46| Klik-dan-seret asli terminal untuk memilih dan menyalin | Pemilihan dalam aplikasi, menyalin secara otomatis saat pelepasan mouse | [Gunakan mouse](#use-the-mouse) |

47| `Cmd`-klik untuk membuka URL | Klik URL | [Gunakan mouse](#use-the-mouse) |47| `Cmd`-klik untuk membuka URL | `Cmd`-klik di macOS, `Ctrl`-klik di tempat lain | [Gunakan mouse](#use-the-mouse) |

48 48 

49Jika penangkapan mouse mengganggu alur kerja Anda, Anda dapat [mematikannya](#keep-native-text-selection) sambil mempertahankan rendering bebas flicker.49Jika penangkapan mouse mengganggu alur kerja Anda, Anda dapat [mematikannya](#keep-native-text-selection) sambil mempertahankan rendering bebas flicker.

50 50 


57* **Klik di input prompt** untuk memposisikan kursor Anda di mana saja dalam teks yang Anda ketik.57* **Klik di input prompt** untuk memposisikan kursor Anda di mana saja dalam teks yang Anda ketik.

58* **Klik saran dalam daftar perintah `/` atau file `@`** untuk menerimanya. Mengarahkan kursor menyoroti baris di bawah kursor Anda.58* **Klik saran dalam daftar perintah `/` atau file `@`** untuk menerimanya. Mengarahkan kursor menyoroti baris di bawah kursor Anda.

59* **Klik hasil alat yang diciutkan** untuk memperluasnya dan melihat output lengkap. Klik lagi untuk menciutkan. Panggilan alat dan hasilnya berkembang bersama. Hanya pesan yang memiliki lebih banyak untuk ditampilkan yang dapat diklik.59* **Klik hasil alat yang diciutkan** untuk memperluasnya dan melihat output lengkap. Klik lagi untuk menciutkan. Panggilan alat dan hasilnya berkembang bersama. Hanya pesan yang memiliki lebih banyak untuk ditampilkan yang dapat diklik.

60* **Klik URL atau jalur file** untuk membukanya. Jalur file dalam output alat, seperti yang dicetak setelah Edit atau Write, terbuka di aplikasi default Anda. URL `http://` dan `https://` biasa terbuka di browser Anda. Di sebagian besar terminal ini menggantikan `Cmd`-klik atau `Ctrl`-klik asli, yang penangkapan mouse mencegat. Di terminal terintegrasi VS Code dan terminal berbasis xterm.js serupa, terus gunakan `Cmd`-klik. Claude Code menunda ke penanganan tautan terminal sendiri di sana untuk menghindari pembukaan tautan dua kali.60* **Tahan `Cmd` di macOS, atau `Ctrl` di Linux dan Windows, dan klik URL atau jalur file** untuk membukanya. Jalur file dalam output alat, seperti yang dicetak setelah Edit atau Write, terbuka di aplikasi default Anda. URL `http://` dan `https://` biasa terbuka di browser Anda. Mulai dari v2.1.181, klik biasa tanpa menahan `Cmd` atau `Ctrl` tidak lagi membuka tautan, sesuai dengan perilaku terminal asli. Di terminal terintegrasi VS Code dan terminal berbasis xterm.js serupa, Claude Code menunda ke penanganan tautan terminal sendiri, yang menggunakan gestur yang sama.

61* **Klik dan seret** untuk memilih teks di mana saja dalam percakapan. Klik ganda memilih kata, mencocokkan batas kata iTerm2 sehingga jalur file memilih sebagai satu unit. Klik tiga kali memilih baris.61* **Klik dan seret** untuk memilih teks di mana saja dalam percakapan. Klik ganda memilih kata, mencocokkan batas kata iTerm2 sehingga jalur file memilih sebagai satu unit. Klik tiga kali memilih baris.

62* **Gulir dengan roda mouse** untuk bergerak melalui percakapan.62* **Gulir dengan roda mouse** untuk bergerak melalui percakapan.

63 63 

glossary.md +8 −0

Details

44 44 

45Pelajari lebih lanjut: [How Claude Code works](/id/how-claude-code-works#the-agentic-loop)45Pelajari lebih lanjut: [How Claude Code works](/id/how-claude-code-works#the-agentic-loop)

46 46 

47<h3 id="artifact">

48 Artifact

49</h3>

50 

51Halaman web interaktif langsung yang Claude Code terbitkan dari sesi Anda ke URL pribadi di claude.ai, sehingga Anda dapat melihat output secara visual atau membagikannya di dalam organisasi Anda daripada membaca teks terminal. Halaman diperbarui di tempat ketika sesi menerbitkan ulang. Artifact yang Anda buat dari Claude Code muncul di galeri yang sama dengan artifact yang dibuat dalam percakapan claude.ai, tetapi berbagi mereka berhenti di organisasi Anda dan tidak dapat dibuat publik.

52 

53Pelajari lebih lanjut: [Share session output as artifacts](/id/artifacts)

54 

47<h3 id="auto-memory">55<h3 id="auto-memory">

48 Auto memory56 Auto memory

49</h3>57</h3>

headless.md +3 −1

Details

68 68 

69Jika Claude memulai [tugas Bash latar belakang](/id/tools-reference#bash-tool-behavior) selama jalankan `claude -p`, misalnya server dev atau build watch, tugas tersebut dihentikan sekitar lima detik setelah Claude mengembalikan hasil akhirnya dan stdin telah ditutup. Periode grace memungkinkan tugas yang selesai tepat setelah hasil masih memberikan outputnya. Sebelum v2.1.163, proses latar belakang yang tidak pernah keluar akan membuat invokasi `claude -p` tetap terbuka tanpa batas.69Jika Claude memulai [tugas Bash latar belakang](/id/tools-reference#bash-tool-behavior) selama jalankan `claude -p`, misalnya server dev atau build watch, tugas tersebut dihentikan sekitar lima detik setelah Claude mengembalikan hasil akhirnya dan stdin telah ditutup. Periode grace memungkinkan tugas yang selesai tepat setelah hasil masih memberikan outputnya. Sebelum v2.1.163, proses latar belakang yang tidak pernah keluar akan membuat invokasi `claude -p` tetap terbuka tanpa batas.

70 70 

71[Subagen](/id/sub-agents) latar belakang dan alur kerja dikecualikan dari grace lima detik karena hasil mereka adalah bagian dari output akhir, jadi `claude -p` menunggu mereka selesai. Dari v2.1.182, tunggu itu dibatasi pada sepuluh menit secara default sehingga agen latar belakang yang macet tidak dapat membuat proses tetap terbuka tanpa batas. Sesuaikan batas dengan [`CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS`](/id/env-vars), atau atur ke `0` untuk menunggu tanpa batas.

72 

71<h2 id="examples">73<h2 id="examples">

72 Contoh74 Contoh

73</h2>75</h2>


232Bendera `--allowedTools` menggunakan [sintaks aturan izin](/id/settings#permission-rule-syntax). Spasi di akhir ` *` memungkinkan pencocokan awalan, jadi `Bash(git diff *)` memungkinkan perintah apa pun yang dimulai dengan `git diff`. Spasi sebelum `*` penting: tanpanya, `Bash(git diff*)` juga akan cocok dengan `git diff-index`.234Bendera `--allowedTools` menggunakan [sintaks aturan izin](/id/settings#permission-rule-syntax). Spasi di akhir ` *` memungkinkan pencocokan awalan, jadi `Bash(git diff *)` memungkinkan perintah apa pun yang dimulai dengan `git diff`. Spasi sebelum `*` penting: tanpanya, `Bash(git diff*)` juga akan cocok dengan `git diff-index`.

233 235 

234<Note>236<Note>

235 [skills](/id/skills) yang dipanggil pengguna dan perintah kustom bekerja dalam mode `-p`: sertakan `/skill-name` dalam string prompt dan Claude Code memperluasnya sebelum menjalankan. Perintah bawaan yang membuka dialog interaktif, seperti `/config` dan `/login`, tidak tersedia dalam mode `-p`.237 [skills](/id/skills) yang dipanggil pengguna dan perintah kustom bekerja dalam mode `-p`: sertakan `/skill-name` dalam string prompt dan Claude Code memperluasnya sebelum menjalankan. Perintah bawaan yang membuka dialog interaktif, seperti `/login`, tidak tersedia dalam mode `-p`. {/* min-version: 2.1.181 */}Untuk mengubah pengaturan dari invokasi `-p`, berikan `key=value` ke `/config`, misalnya `/config thinking=false`.

236</Note>238</Note>

237 239 

238<h3 id="customize-the-system-prompt">240<h3 id="customize-the-system-prompt">

Details

92</h3>92</h3>

93 93 

94| Pintasan | Deskripsi | Catatan |94| Pintasan | Deskripsi | Catatan |

95| :---------- | :-------------------- | :---------------------------------------------------------------------- |95| :---------- | :-------------------- | :---------------------------------------------------------------------------------------------------- |

96| `/` di awal | Perintah atau skill | Lihat [perintah](#commands) dan [skills](/id/skills) |96| `/` di awal | Perintah atau skill | Lihat [perintah](#commands) dan [skills](/id/skills) |

97| `!` di awal | Mode Bash | Jalankan perintah secara langsung dan tambahkan output eksekusi ke sesi |97| `!` di awal | Mode Bash | Jalankan perintah secara langsung, tambahkan output eksekusi ke sesi, dan biarkan Claude meresponsnya |

98| `@` | Penyebutan jalur file | Picu pelengkapan otomatis jalur file |98| `@` | Penyebutan jalur file | Picu pelengkapan otomatis jalur file |

99 99 

100<h3 id="transcript-viewer">100<h3 id="transcript-viewer">


326* Keluar dengan `Escape`, `Backspace`, atau `Ctrl+U` pada prompt kosong326* Keluar dengan `Escape`, `Backspace`, atau `Ctrl+U` pada prompt kosong

327* Menempel teks yang dimulai dengan `!` ke prompt kosong memasuki mode shell secara otomatis, sesuai dengan perilaku `!` yang diketik327* Menempel teks yang dimulai dengan `!` ke prompt kosong memasuki mode shell secara otomatis, sesuai dengan perilaku `!` yang diketik

328 328 

329Sejak v2.1.186, Claude merespons output perintah secara otomatis setelah masuk ke transkrip, sehingga Anda dapat menjalankan `! npm test` dan mendapatkan penjelasan tentang kegagalan tanpa prompt kedua. Respons memiliki biaya yang sama dengan mengirim prompt normal. Untuk mengembalikan perilaku sebelumnya di mana output ditambahkan ke konteks tanpa respons, atur [`respondToBashCommands`](/id/settings#available-settings) ke `false` dalam `settings.json`. Sebelum v2.1.186, mode shell selalu menambahkan output ke konteks tanpa respons.

330 

329Ini berguna untuk operasi shell cepat sambil mempertahankan konteks percakapan.331Ini berguna untuk operasi shell cepat sambil mempertahankan konteks percakapan.

330 332 

331<h2 id="prompt-suggestions">333<h2 id="prompt-suggestions">

keybindings.md +5 −4

Details

347 Tindakan pengaturan347 Tindakan pengaturan

348</h3>348</h3>

349 349 

350Tindakan yang tersedia dalam konteks `Settings`:350Tindakan yang tersedia dalam konteks `Settings`. Tindakan `select:accept` dan `confirm:no` digunakan kembali dari konteks [Select](#select-actions) dan [Confirmation](#confirmation-actions) dengan perilaku khusus Settings: perubahan diterapkan ke setiap pengaturan segera setelah Anda mengubahnya, jadi Escape menutup panel dengan perubahan Anda yang sudah disimpan daripada menolak.

351 351 

352| Tindakan | Default | Deskripsi |352| Tindakan | Default | Deskripsi |

353| :---------------- | :------ | :------------------------------------------------------------------------------------- |353| :---------------- | :----------- | :----------------------------------------------------- |

354| `settings:search` | / | Masuk mode pencarian |354| `settings:search` | / | Masuk mode pencarian |

355| `settings:retry` | R | Coba muat ulang data penggunaan (saat terjadi kesalahan) |355| `settings:retry` | R | Coba muat ulang data penggunaan saat terjadi kesalahan |

356| `settings:close` | Enter | Simpan perubahan dan tutup panel konfigurasi. Escape membatalkan perubahan dan menutup |356| `select:accept` | Enter, Space | Ubah pengaturan yang dipilih atau buka submenu-nya |

357| `confirm:no` | Escape | Tutup panel. Perubahan sudah disimpan |

357 358 

358<h3 id="doctor-actions">359<h3 id="doctor-actions">

359 Tindakan dokter360 Tindakan dokter

managed-mcp.md +8 −1

Details

161| `deniedMcpServers` | Tidak ada server yang diblokir | Tidak ada server yang diblokir | Server yang cocok diblokir |161| `deniedMcpServers` | Tidak ada server yang diblokir | Tidak ada server yang diblokir | Server yang cocok diblokir |

162 162 

163<Warning>163<Warning>

164 Daftar izin yang hanya menggunakan entri `serverName` bukan kontrol keamanan. Nama adalah label yang ditetapkan pengguna saat menjalankan `claude mcp add` atau mengedit file konfigurasi, bukan server yang mendasar, jadi pengguna dapat memanggil server apa pun `github`. Untuk menerapkan server mana yang benar-benar berjalan, tambahkan entri `serverCommand` atau `serverUrl`.164 Entri `serverName`, dalam daftar apa pun, bukan kontrol keamanan. Nama adalah label yang ditetapkan pengguna saat menjalankan `claude mcp add` atau mengedit file konfigurasi, bukan server yang mendasar, jadi pengguna dapat memanggil server apa pun `github`. Untuk konektor claude.ai, nama adalah nama tampilan yang dikembalikan oleh claude.ai, yang dapat berubah. Untuk menerapkan server mana yang benar-benar berjalan, tambahkan entri `serverCommand` atau `serverUrl`.

165</Warning>165</Warning>

166 166 

167Validasi `serverName` berbeda antara dua daftar:

168 

169* {/* min-version: 2.1.182 */}Dalam `deniedMcpServers`, `serverName` menerima string non-kosong apa pun, jadi Anda dapat memblokir [konektor claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) berdasarkan nama tampilan mereka. Misalnya, `{ "serverName": "claude.ai Slack" }` memblokir konektor Slack. Lebih suka entri `serverUrl` ketika Anda memerlukan penolakan yang kuat terhadap penggantian nama, atau ketika nama konektor bertabrakan dan mendapatkan akhiran ` (N)`.

170* Dalam `allowedMcpServers`, `serverName` terbatas pada huruf, angka, tanda hubung, dan garis bawah. Gunakan `serverUrl` untuk daftar izin konektor claude.ai.

171 

172Untuk mematikan semua konektor claude.ai, lihat [`disableClaudeAiConnectors`](/id/mcp#disable-claude-ai-connectors).

173 

167<h3 id="how-a-server-is-evaluated">174<h3 id="how-a-server-is-evaluated">

168 Bagaimana server dievaluasi175 Bagaimana server dievaluasi

169</h3>176</h3>

mcp.md +39 −1

Details

554 * Autentikasi OAuth bekerja dengan server HTTP554 * Autentikasi OAuth bekerja dengan server HTTP

555</Tip>555</Tip>

556 556 

557<h3 id="authenticate-from-the-command-line">

558 Autentikasi dari baris perintah

559</h3>

560 

561Dari v2.1.186, `claude mcp login <name>` menjalankan alur OAuth server yang dikonfigurasi langsung dari shell Anda, sehingga Anda tidak perlu membuka panel `/mcp` di dalam sesi.

562 

563```bash theme={null}

564claude mcp login sentry

565```

566 

567Untuk menghapus kredensial yang disimpan nanti, jalankan `claude mcp logout <name>`.

568 

569Ketika Anda terhubung melalui SSH, tambahkan `--no-browser` sehingga perintah mencetak URL otorisasi alih-alih membuka browser. Buka URL di mesin lokal Anda, kemudian tempel URL pengalihan lengkap dari bilah alamat browser Anda kembali ke prompt. Perintah memerlukan terminal interaktif untuk langkah paste, jadi hubungkan dengan `ssh -t`.

570 

571```bash theme={null}

572claude mcp login sentry --no-browser

573```

574 

557<h3 id="use-a-fixed-oauth-callback-port">575<h3 id="use-a-fixed-oauth-callback-port">

558 Gunakan port callback OAuth tetap576 Gunakan port callback OAuth tetap

559</h3>577</h3>


852 870 

853Beberapa konektor yang dihosting Anthropic, seperti Microsoft 365, Gmail, dan Google Calendar, tidak mendukung OAuth lokal dari Claude Code karena penyedia identitas hulu hanya menerima URL pengalihan yang didaftarkan claude.ai. Mulai dari v2.1.162, mengautentikasi salah satu host ini di `/mcp` menampilkan pesan yang mengarahkan Anda untuk menghubungkannya di Settings → Connectors di claude.ai. Setelah terhubung di sana, konektor muncul di Claude Code secara otomatis.871Beberapa konektor yang dihosting Anthropic, seperti Microsoft 365, Gmail, dan Google Calendar, tidak mendukung OAuth lokal dari Claude Code karena penyedia identitas hulu hanya menerima URL pengalihan yang didaftarkan claude.ai. Mulai dari v2.1.162, mengautentikasi salah satu host ini di `/mcp` menampilkan pesan yang mengarahkan Anda untuk menghubungkannya di Settings → Connectors di claude.ai. Setelah terhubung di sana, konektor muncul di Claude Code secara otomatis.

854 872 

855Untuk menonaktifkan server MCP claude.ai di Claude Code, atur variabel lingkungan `ENABLE_CLAUDEAI_MCP_SERVERS` ke `false`:873<h3 id="disable-claude-ai-connectors">

874 Nonaktifkan konektor claude.ai

875</h3>

876 

877Untuk menonaktifkan server MCP claude.ai di Claude Code, atur [`disableClaudeAiConnectors`](/id/settings#available-settings) ke `true` dalam cakupan pengaturan apa pun:

878 

879```json theme={null}

880{

881 "disableClaudeAiConnectors": true

882}

883```

884 

885Pengaturan ini menggunakan semantik any-source-true: `true` dalam sumber pengaturan apa pun mengambil prioritas. File `.claude/settings.json` proyek yang diperiksa dapat mengeluarkan repositori dari konektor cloud, tetapi `false` tingkat proyek tidak dapat mengaktifkan kembali konektor yang telah dinonaktifkan oleh `true` tingkat pengguna atau kebijakan. Server yang dilewatkan secara eksplisit melalui `--mcp-config` tidak terpengaruh.

886 

887Anda juga dapat mengatur variabel lingkungan `ENABLE_CLAUDEAI_MCP_SERVERS` ke `false`, yang memiliki efek yang sama untuk sesi shell saat ini:

856 888 

857```bash theme={null}889```bash theme={null}

858ENABLE_CLAUDEAI_MCP_SERVERS=false claude890ENABLE_CLAUDEAI_MCP_SERVERS=false claude

859```891```

860 892 

893Untuk memblokir konektor claude.ai individual alih-alih semuanya, tambahkan mereka ke [`deniedMcpServers`](/id/managed-mcp) berdasarkan nama atau pola URL. Misalnya, entri `serverName` dari `"claude.ai Slack"` memblokir konektor Slack. Untuk mengalihkan konektor aktif atau nonaktif hanya untuk proyek saat ini, gunakan panel `/mcp`.

894 

895<Note>

896 Pengaturan sisi klien ini mengatur sesi Claude Code lokal. Dalam sesi [Claude Code di web](/id/claude-code-on-the-web), konektor claude.ai disediakan oleh host jarak jauh dan tiba sebagai entri `--mcp-config` eksplisit, jadi `disableClaudeAiConnectors` tidak berlaku di sana. URL konektor juga ditulis ulang melalui proxy sesi, jadi pola `serverUrl` `deniedMcpServers` yang menargetkan URL vendor tidak akan cocok. Kelola konektor mana yang dapat digunakan sesi cloud dari pengaturan organisasi claude.ai Anda.

897</Note>

898 

861<h2 id="use-claude-code-as-an-mcp-server">899<h2 id="use-claude-code-as-an-mcp-server">

862 Gunakan Claude Code sebagai server MCP900 Gunakan Claude Code sebagai server MCP

863</h2>901</h2>

Details

61 Server muncul dengan indikator status:61 Server muncul dengan indikator status:

62 62 

63 | Status | Arti |63 | Status | Arti |

64 | :----------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |64 | :--------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

65 | `✓ Connected` | Siap digunakan. Ini adalah apa yang seharusnya Anda lihat untuk `claude-code-docs` |65 | `✓ Connected` | Siap digunakan. Ini adalah apa yang seharusnya Anda lihat untuk `claude-code-docs` |

66 | `! Connected · tools fetch failed` | Server terhubung tetapi tidak dapat membuat daftar alatnya. Jalankan `claude mcp get <name>` untuk detail kesalahan |

66 | `! Needs authentication` | Server dapat dijangkau tetapi memerlukan masuk browser, atau token yang diteruskan dengan `--header`. Lihat [Terhubung ke server yang memerlukan masuk](#connect-a-server-that-requires-sign-in) |67 | `! Needs authentication` | Server dapat dijangkau tetapi memerlukan masuk browser, atau token yang diteruskan dengan `--header`. Lihat [Terhubung ke server yang memerlukan masuk](#connect-a-server-that-requires-sign-in) |

67 | `✗ Failed to connect` | Server tidak merespons. Lihat [Troubleshooting](#troubleshooting) |68 | `✗ Failed to connect` | Server tidak merespons. Lihat [Troubleshooting](#troubleshooting) |

68 | `✗ Connection error` | Upaya koneksi melempar kesalahan. Lihat [Troubleshooting](#troubleshooting) |69 | `✗ Connection error` | Upaya koneksi melempar kesalahan. Lihat [Troubleshooting](#troubleshooting) |

model-config.md +2 −0

Details

94 94 

95Ketika model aktif saat startup berasal dari pengaturan proyek atau yang dikelola daripada pilihan Anda sendiri, header startup menunjukkan file pengaturan mana yang menetapkannya. Jalankan `/model` untuk mengganti; pengaturan proyek atau yang dikelola diterapkan kembali pada peluncuran berikutnya.95Ketika model aktif saat startup berasal dari pengaturan proyek atau yang dikelola daripada pilihan Anda sendiri, header startup menunjukkan file pengaturan mana yang menetapkannya. Jalankan `/model` untuk mengganti; pengaturan proyek atau yang dikelola diterapkan kembali pada peluncuran berikutnya.

96 96 

97Ketika model yang diminta memiliki tanggal pensiun yang dijadwalkan atau secara otomatis dipetakan ulang ke versi yang lebih baru, Claude Code menampilkan peringatan yang menyebutkan model yang diminta. Sesi interaktif menampilkannya sebagai pemberitahuan startup. Dari v2.1.182, peringatan yang sama ditulis ke stderr dalam [mode non-interaktif](/id/headless) ketika menggunakan format output teks default. Pemeriksaan juga mencakup `model` yang ditetapkan dalam [frontmatter subagent](/id/sub-agents). Peringatan stderr ditekan untuk `--output-format json` dan `stream-json`; baca model aktual dari bidang `modelUsage` dari [pesan hasil](/id/headless#get-structured-output) sebagai gantinya.

98 

97Contoh penggunaan:99Contoh penggunaan:

98 100 

99```bash theme={null}101```bash theme={null}

Details

701 Acara penolakan API701 Acara penolakan API

702</h4>702</h4>

703 703 

704Dicatat saat permintaan API mengembalikan `stop_reason: "refusal"`. Penolakan tiba pada aliran respons yang berhasil daripada sebagai kesalahan HTTP, jadi acara `api_error` tidak terpicu untuk mereka. Acara ini memungkinkan Anda melacak frekuensi penolakan.704Dicatat saat permintaan API mengembalikan `stop_reason: "refusal"`. Penolakan tiba pada aliran respons yang berhasil daripada sebagai kesalahan HTTP, jadi acara `api_error` tidak terpicu untuk mereka. Acara ini memungkinkan Anda melacak frekuensi penolakan dan mengelompokkan penolakan berdasarkan atribut yang sama dengan `api_request` dan `api_error`.

705 705 

706**Nama Acara**: `claude_code.api_refusal`706**Nama Acara**: `claude_code.api_refusal`

707 707 


713* `event.sequence`: penghitung yang meningkat secara monoton untuk mengurutkan acara dalam sesi713* `event.sequence`: penghitung yang meningkat secara monoton untuk mengurutkan acara dalam sesi

714* `model`: Pengidentifikasi model dari permintaan714* `model`: Pengidentifikasi model dari permintaan

715* `request_id`: ID permintaan API Anthropic dari header `request-id` respons, seperti `"req_011..."`. Hadir hanya saat API mengembalikan satu.715* `request_id`: ID permintaan API Anthropic dari header `request-id` respons, seperti `"req_011..."`. Hadir hanya saat API mengembalikan satu.

716* `query_source`: Subsistem yang mengeluarkan permintaan, seperti `"repl_main_thread"`, `"compact"`, atau nama subagent. Lihat [`api_request`](#api-request-event) untuk definisi.

717* `speed`: Baik `"fast"` saat [Mode cepat](/id/fast-mode) aktif, atau `"normal"`

718* `attempt`: Nomor upaya retry. Upaya pertama adalah `1`.

719* `effort`: [Tingkat effort](/id/model-config#adjust-effort-level) yang diterapkan pada permintaan. Tidak ada saat model tidak mendukung effort.

720* `server_fallback_hop`: `true` saat fallback model server-side API sudah mencoba ulang penolakan ini pada model yang berbeda, jadi pengguna tidak melihat penolakan khusus ini. `false` saat permintaan berakhir dalam penolakan. Satu giliran dapat memancarkan acara hop `true` dan acara akhir `false` yang lebih baru saat model fallback juga menolak.

721* `has_category`: `true` saat respons API membawa `stop_details.category` dari `"cyber"`, `"bio"`, `"frontier_llm"`, atau `"reasoning_extraction"`. `false` saat respons tidak membawa kategori atau nilai di luar set itu. Tidak ada saat `server_fallback_hop` adalah `true`, karena blok hop tidak membawa `stop_details`.

722* `has_explanation`: `true` saat respons API membawa `stop_details.explanation`, sebaliknya `false`. Tidak ada saat `server_fallback_hop` adalah `true`.

723* `category`: Nilai `stop_details.category` dari respons API. Salah satu dari `"cyber"`, `"bio"`, `"frontier_llm"`, atau `"reasoning_extraction"`. Hanya ada saat `OTEL_LOG_TOOL_DETAILS=1` diatur dan `has_category` adalah `true`.

724* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Atribusi skill, plugin, agen, dan MCP untuk permintaan. Lihat [Penghitung biaya](#cost-counter) untuk definisi dan perilaku redaksi.

716 725 

717<h4 id="api-request-body-event">726<h4 id="api-request-body-event">

718 Acara badan permintaan API727 Acara badan permintaan API


1147* Konsumsi token yang tidak biasa1156* Konsumsi token yang tidak biasa

1148* Volume sesi tinggi dari pengguna tertentu1157* Volume sesi tinggi dari pengguna tertentu

1149 1158 

1150Semua metrik dapat disegmentasikan berdasarkan [atribut standar](#standard-attributes). Atribut `model` tersedia pada `claude_code.token.usage`, `claude_code.cost.usage`, dan dari v2.1.172, `claude_code.lines_of_code.count`. Rincian per-model dari commit hanya dapat didekati dengan menggabungkan terhadap metrik token atau biaya pada `session.id`, karena satu sesi dapat mencakup beberapa model.1159Semua metrik dapat disegmentasikan berdasarkan [atribut standar](#standard-attributes). Atribut `model` tersedia pada `claude_code.token.usage`, `claude_code.cost.usage`, dan {/* min-version: 2.1.172 */}dari v2.1.172, `claude_code.lines_of_code.count`. Rincian per-model dari commit hanya dapat didekati dengan menggabungkan terhadap metrik token atau biaya pada `session.id`, karena satu sesi dapat mencakup beberapa model.

1151 1160 

1152<h3 id="detect-retry-exhaustion">1161<h3 id="detect-retry-exhaustion">

1153 Deteksi kelelahan retry1162 Deteksi kelelahan retry


1155 1164 

1156Claude Code mencoba ulang permintaan API yang gagal secara internal dan hanya memancarkan acara `claude_code.api_error` tunggal setelah menyerah, jadi acara itu sendiri adalah sinyal terminal untuk permintaan tersebut. Upaya retry perantara tidak dicatat sebagai acara terpisah.1165Claude Code mencoba ulang permintaan API yang gagal secara internal dan hanya memancarkan acara `claude_code.api_error` tunggal setelah menyerah, jadi acara itu sendiri adalah sinyal terminal untuk permintaan tersebut. Upaya retry perantara tidak dicatat sebagai acara terpisah.

1157 1166 

1158Atribut `attempt` pada acara mencatat berapa banyak upaya yang dilakukan secara total. Nilai yang lebih besar dari `CLAUDE_CODE_MAX_RETRIES` (default `10`) menunjukkan permintaan menghabiskan semua retry pada kesalahan transien. Nilai yang lebih rendah menunjukkan kesalahan yang tidak dapat dicoba ulang seperti respons `400`.1167Atribut `attempt` pada acara mencatat berapa banyak upaya yang dilakukan secara total. Nilai yang lebih besar dari `CLAUDE_CODE_MAX_RETRIES` (default `10`, dibatasi pada `15`) menunjukkan permintaan menghabiskan semua retry pada kesalahan transien. Nilai yang lebih rendah menunjukkan kesalahan yang tidak dapat dicoba ulang seperti respons `400`.

1159 1168 

1160Untuk membedakan sesi yang pulih dari sesi yang terhenti, kelompokkan acara berdasarkan `session.id` dan periksa apakah acara `api_request` yang lebih baru ada setelah kesalahan.1169Untuk membedakan sesi yang pulih dari sesi yang terhenti, kelompokkan acara berdasarkan `session.id` dan periksa apakah acara `api_request` yang lebih baru ada setelah kesalahan.

1161 1170 

Details

117Claude Code memerlukan akses ke URL berikut. Izinkan URL ini dalam konfigurasi proxy dan aturan firewall Anda, terutama di lingkungan jaringan terkontainer atau terbatas.117Claude Code memerlukan akses ke URL berikut. Izinkan URL ini dalam konfigurasi proxy dan aturan firewall Anda, terutama di lingkungan jaringan terkontainer atau terbatas.

118 118 

119| URL | Diperlukan untuk |119| URL | Diperlukan untuk |

120| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- |120| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

121| `api.anthropic.com` | Permintaan Claude API |121| `api.anthropic.com` | Permintaan Claude API |

122| `claude.ai` | Autentikasi akun claude.ai |122| `claude.ai` | Autentikasi akun claude.ai |

123| `platform.claude.com` | Autentikasi akun Anthropic Console |123| `platform.claude.com` | Autentikasi akun Anthropic Console |

124| `downloads.claude.ai` | Unduhan plugin yang dapat dieksekusi; penginstal asli dan pembaruan otomatis asli |124| `downloads.claude.ai` | Unduhan plugin yang dapat dieksekusi; penginstal asli dan pembaruan otomatis asli |

125| `storage.googleapis.com` | {/* max-version: 2.1.115 */}Penginstal asli dan pembaruan otomatis asli pada versi sebelum 2.1.116 |125| `storage.googleapis.com` | {/* max-version: 2.1.115 */}Penginstal asli dan pembaruan otomatis asli pada versi sebelum 2.1.116 |

126| `bridge.claudeusercontent.com` | Jembatan WebSocket ekstensi [Claude di Chrome](/id/chrome) |126| `bridge.claudeusercontent.com` | Jembatan WebSocket ekstensi [Claude di Chrome](/id/chrome) |

127| `*.claudeusercontent.com` | Melihat [artifacts](/id/artifacts) di claude.ai. Penampil memuat konten setiap artifact dari subdomain yang disandbox dari asal ini. Diperlukan di browser penampil, bukan oleh CLI itu sendiri |

127| `raw.githubusercontent.com` | Umpan catatan perubahan untuk [`/release-notes`](/id/commands) dan catatan rilis yang ditampilkan setelah pembaruan; jumlah instalasi marketplace plugin |128| `raw.githubusercontent.com` | Umpan catatan perubahan untuk [`/release-notes`](/id/commands) dan catatan rilis yang ditampilkan setelah pembaruan; jumlah instalasi marketplace plugin |

128 129 

129Jika Anda menginstal Claude Code melalui npm atau mengelola distribusi biner Anda sendiri, pengguna akhir mungkin tidak memerlukan akses ke `downloads.claude.ai` atau `storage.googleapis.com`.130Jika Anda menginstal Claude Code melalui npm atau mengelola distribusi biner Anda sendiri, pengguna akhir mungkin tidak memerlukan akses ke `downloads.claude.ai` atau `storage.googleapis.com`.

Details

235* Memodifikasi infrastruktur bersama235* Memodifikasi infrastruktur bersama

236* Menghancurkan file secara tidak dapat dipulihkan yang ada sebelum sesi236* Menghancurkan file secara tidak dapat dipulihkan yang ada sebelum sesi

237* Force push, atau push langsung ke `main`237* Force push, atau push langsung ke `main`

238* {/* min-version: 2.1.182 */}`git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop`, atau `git stash clear`, yang pengklasifikasi asumsikan akan membuang perubahan yang belum dikomit

239* `git commit --amend` ketika commit di HEAD tidak dibuat dalam sesi ini

240* `terraform destroy`, `pulumi destroy`, `cdk destroy`, atau `terragrunt destroy`, dan menerapkan rencana yang menghancurkan sumber daya

238 241 

239**Diizinkan secara default**:242**Diizinkan secara default**:

240 243 

permissions.md +2 −2

Details

400Jenis konfigurasi berikut dimuat dari direktori `--add-dir`:400Jenis konfigurasi berikut dimuat dari direktori `--add-dir`:

401 401 

402| Konfigurasi | Dimuat dari `--add-dir` |402| Konfigurasi | Dimuat dari `--add-dir` |

403| :-------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- |403| :------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- |

404| [Skills](/id/skills) di `.claude/skills/` | Ya, dengan live reload |404| [Skills](/id/skills) di `.claude/skills/` | Ya, dengan live reload |

405| [Subagents](/id/sub-agents) di `.claude/agents/` | Ya |405| [Subagents](/id/sub-agents) di `.claude/agents/` | Ya |

406| Pengaturan plugin di `.claude/settings.json` | `enabledPlugins` dan `extraKnownMarketplaces` saja |406| [Settings](/id/settings) di `.claude/settings.json` dan `.claude/settings.local.json` | Kunci `enabledPlugins` dan `extraKnownMarketplaces` saja |

407| File [CLAUDE.md](/id/memory), `.claude/rules/`, dan `CLAUDE.local.md` | Hanya ketika `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1` diatur. `CLAUDE.local.md` juga memerlukan sumber pengaturan `local`, yang diaktifkan secara default |407| File [CLAUDE.md](/id/memory), `.claude/rules/`, dan `CLAUDE.local.md` | Hanya ketika `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1` diatur. `CLAUDE.local.md` juga memerlukan sumber pengaturan `local`, yang diaktifkan secara default |

408 408 

409Perintah dan output styles ditemukan dari direktori kerja saat ini dan induknya, direktori pengguna Anda di `~/.claude/`, dan pengaturan terkelola. Hooks dan kunci `settings.json` lainnya dimuat dari folder `.claude/` direktori kerja saat ini tanpa fallback direktori induk, bersama dengan `~/.claude/settings.json` pengguna Anda dan pengaturan terkelola. Untuk berbagi konfigurasi itu di seluruh proyek, gunakan salah satu pendekatan ini:409Perintah dan output styles ditemukan dari direktori kerja saat ini dan induknya, direktori pengguna Anda di `~/.claude/`, dan pengaturan terkelola. Hooks dan kunci `settings.json` lainnya dimuat dari folder `.claude/` direktori kerja saat ini tanpa fallback direktori induk, bersama dengan `~/.claude/settings.json` pengguna Anda dan pengaturan terkelola. Untuk berbagi konfigurasi itu di seluruh proyek, gunakan salah satu pendekatan ini:

Details

201 Entri plugin201 Entri plugin

202</h2>202</h2>

203 203 

204Setiap entri plugin dalam array `plugins` mendeskripsikan plugin dan di mana menemukannya. Anda dapat menyertakan field apa pun dari [skema manifest plugin](/id/plugins-reference#plugin-manifest-schema) (seperti `description`, `version`, `author`, `commands`, `hooks`, dll.), ditambah field khusus marketplace ini: `source`, `category`, `tags`, dan `strict`.204Setiap entri plugin dalam array `plugins` mendeskripsikan plugin dan di mana menemukannya. Anda dapat menyertakan field apa pun dari [skema manifest plugin](/id/plugins-reference#plugin-manifest-schema) (seperti `description`, `version`, `author`, `commands`, `hooks`, dll.), ditambah field khusus marketplace ini: `source`, `category`, `tags`, `strict`, dan `relevance`.

205 205 

206<h3 id="required-fields-1">206<h3 id="required-fields-1">

207 Field yang diperlukan207 Field yang diperlukan


231| `category` | string | Kategori plugin untuk organisasi |231| `category` | string | Kategori plugin untuk organisasi |

232| `tags` | array | Tag untuk kemudahan pencarian |232| `tags` | array | Tag untuk kemudahan pencarian |

233| `strict` | boolean | Mengontrol apakah `plugin.json` adalah otoritas untuk definisi komponen (default: true). Lihat [Strict mode](#strict-mode) di bawah. |233| `strict` | boolean | Mengontrol apakah `plugin.json` adalah otoritas untuk definisi komponen (default: true). Lihat [Strict mode](#strict-mode) di bawah. |

234| `relevance` | object | {/* min-version: 2.1.152 */}Sinyal yang memberi tahu Claude Code kapan harus menyarankan plugin ini kepada pengguna. Hanya berlaku untuk marketplace yang diizinkan administrator dalam pengaturan terkelola. Lihat [Recommend plugins for your org](/id/plugin-relevance). Memerlukan Claude Code v2.1.152 atau lebih baru. |

234| `defaultEnabled` | boolean | {/* min-version: 2.1.154 */}Apakah plugin diaktifkan setelah pemasangan (default: true). Atur ke `false` untuk memasang plugin yang dinonaktifkan sampai pengguna memilih untuk mengaktifkannya. Mengambil alih field yang sama di `plugin.json` plugin. Lihat [Default enablement](/id/plugins-reference#default-enablement). Memerlukan Claude Code v2.1.154 atau lebih baru. |235| `defaultEnabled` | boolean | {/* min-version: 2.1.154 */}Apakah plugin diaktifkan setelah pemasangan (default: true). Atur ke `false` untuk memasang plugin yang dinonaktifkan sampai pengguna memilih untuk mengaktifkannya. Mengambil alih field yang sama di `plugin.json` plugin. Lihat [Default enablement](/id/plugins-reference#default-enablement). Memerlukan Claude Code v2.1.154 atau lebih baru. |

235 236 

236**Field konfigurasi komponen:**237**Field konfigurasi komponen:**


269 Misalnya, marketplace yang dihosting di `acme-corp/plugin-catalog` (marketplace source) dapat mencantumkan plugin yang diambil dari `acme-corp/code-formatter` (plugin source). Marketplace source dan plugin source menunjuk ke repositori berbeda dan disematkan secara independen.270 Misalnya, marketplace yang dihosting di `acme-corp/plugin-catalog` (marketplace source) dapat mencantumkan plugin yang diambil dari `acme-corp/code-formatter` (plugin source). Marketplace source dan plugin source menunjuk ke repositori berbeda dan disematkan secara independen.

270</Note>271</Note>

271 272 

272Jenis sumber berbasis git di bawah ini adalah `github`, `url`, dan `git-subdir`. Ketika baik `ref` maupun `sha` diatur pada salah satu dari mereka, `sha` adalah pin yang efektif. Claude Code mengambil dan melakukan checkout pada commit yang disematkan secara langsung, sehingga instalasi berhasil bahkan jika branch atau tag yang dinamai oleh `ref` telah dihapus upstream, selama commit masih dapat dijangkau dari repositori.273Jenis sumber berbasis git di bawah ini adalah `github`, `url`, dan `git-subdir`. Ketika baik `ref` maupun `sha` diatur pada salah satu dari mereka, `sha` adalah pin yang efektif. Claude Code mengambil dan melakukan checkout pada commit yang disematkan secara langsung. Pada sebagian besar host git, termasuk GitHub, GitLab, dan Bitbucket, ini berarti instalasi berhasil bahkan jika branch atau tag yang dinamai oleh `ref` telah dihapus upstream, selama commit masih dapat dijangkau dari repositori. Beberapa server, seperti AWS CodeCommit, tidak mendukung pengambilan commit berdasarkan SHA. Di server tersebut `ref` masih harus ada dan commit yang disematkan harus dapat dijangkau darinya.

273 274 

274<h3 id="relative-paths">275<h3 id="relative-paths">

275 Jalur relatif276 Jalur relatif


507* **`${CLAUDE_PLUGIN_ROOT}`**: Gunakan variabel ini dalam hooks dan config MCP server untuk mereferensikan file dalam direktori instalasi plugin. Ini diperlukan karena plugin disalin ke lokasi cache saat dipasang. Untuk dependensi atau state yang harus bertahan pembaruan plugin, gunakan [`${CLAUDE_PLUGIN_DATA}`](/id/plugins-reference#persistent-data-directory) sebagai gantinya.508* **`${CLAUDE_PLUGIN_ROOT}`**: Gunakan variabel ini dalam hooks dan config MCP server untuk mereferensikan file dalam direktori instalasi plugin. Ini diperlukan karena plugin disalin ke lokasi cache saat dipasang. Untuk dependensi atau state yang harus bertahan pembaruan plugin, gunakan [`${CLAUDE_PLUGIN_DATA}`](/id/plugins-reference#persistent-data-directory) sebagai gantinya.

508* **`strict: false`**: Karena ini diatur ke false, plugin tidak memerlukan `plugin.json` sendiri. Entri marketplace mendefinisikan semuanya. Lihat [Strict mode](#strict-mode) di bawah.509* **`strict: false`**: Karena ini diatur ke false, plugin tidak memerlukan `plugin.json` sendiri. Entri marketplace mendefinisikan semuanya. Lihat [Strict mode](#strict-mode) di bawah.

509 510 

510Secara default, skills plugin dimuat dari direktori `skills/` di bawah `source`-nya, dan jalur apa pun yang tercantum di bawah `skills` menambah pemindaian itu. Pengecualiannya adalah sumber root marketplace seperti `source: "./"`, di mana beberapa entri plugin berbagi satu folder `skills/`. Dalam hal itu, mencantumkan subdirektori spesifik di bawah `skills` membuat daftar itu menjadi set lengkap untuk entri, dan direktori lain di bawah `skills/` tidak dimuat. Mencantumkan direktori `skills/` itu sendiri atau root plugin menjaga pemindaian penuh. Jika tidak ada jalur yang tercantum ada, pemindaian default berjalan sebagai gantinya.511Secara default, skills plugin dimuat dari direktori `skills/` di bawah `source`-nya. Jalur yang tercantum dalam field `skills` menambah pemindaian itu:

512 

513```json theme={null}

514"skills": ["./skills/", "./extra-skills/"]

515```

516 

517Ketika beberapa entri plugin berbagi satu folder `skills/` di root marketplace (`source: "./"`), cantumkan subdirektori spesifik sebagai gantinya sehingga setiap entri hanya memuat skills-nya sendiri:

518 

519```json theme={null}

520"source": "./",

521"skills": ["./skills/code-review", "./skills/docs"]

522```

523 

524Dengan sumber root marketplace, jalur yang tercantum adalah set lengkap untuk entri itu, dan direktori lain di folder `skills/` bersama tidak dimuat. Mencantumkan `./skills/` itu sendiri, atau root plugin, menjaga pemindaian penuh. Jika tidak ada jalur yang tercantum ada, pemindaian default berjalan sebagai gantinya.

511 525 

512<h3 id="strict-mode">526<h3 id="strict-mode">

513 Strict mode527 Strict mode


1078* Periksa bahwa direktori plugin berisi file yang diperlukan1092* Periksa bahwa direktori plugin berisi file yang diperlukan

1079* Untuk sumber GitHub, pastikan repositori publik atau Anda memiliki akses1093* Untuk sumber GitHub, pastikan repositori publik atau Anda memiliki akses

1080* Uji sumber plugin secara manual dengan mengklon/mengunduh1094* Uji sumber plugin secara manual dengan mengklon/mengunduh

1081* Jika sumber menentukan baik `ref` maupun `sha`, cabang atau tag upstream yang dihapus tidak memblokir instalasi. Jika instalasi masih gagal, konfirmasi commit yang ditentukan masih ada di repositori1095* Jika sumber menentukan baik `ref` maupun `sha`, cabang atau tag upstream yang dihapus tidak memblokir instalasi pada sebagian besar host git, termasuk GitHub, GitLab, dan Bitbucket. Pada server yang tidak mendukung pengambilan commit berdasarkan SHA, seperti AWS CodeCommit, `ref` masih harus ada dan commit yang ditentukan harus dapat dijangkau darinya. Jika instalasi masih gagal, konfirmasi commit yang ditentukan masih ada di repositori

1082 1096 

1083<h3 id="private-repository-authentication-fails">1097<h3 id="private-repository-authentication-fails">

1084 Autentikasi repositori pribadi gagal1098 Autentikasi repositori pribadi gagal

plugin-relevance.md +188 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Rekomendasikan plugins untuk organisasi Anda

6 

7> Tambahkan blok relevance ke entri plugin marketplace sehingga Claude Code menyarankannya ketika pekerjaan pengguna cocok.

8 

9Jika Anda mengoperasikan marketplace plugin untuk organisasi Anda, Anda dapat membuat Claude Code menyarankan plugin tertentu kepada pengguna berdasarkan apa yang sedang mereka kerjakan. Tambahkan blok `relevance` ke entri plugin di `marketplace.json`, kemudian daftarkan marketplace di managed settings. Ketika sesi pengguna cocok dengan salah satu sinyal yang dideklarasikan, Claude Code menampilkan saran instalasi untuk plugin tersebut.

10 

11Saran yang dideklarasikan marketplace bersifat opt-in per marketplace melalui [managed settings](/id/settings#settings-files). Tidak ada deklarasi `relevance` marketplace yang menghasilkan saran sampai administrator menambahkannya ke daftar allowlist, termasuk marketplace resmi Anthropic. Claude Code juga menyertakan satu saran bawaan yang independen dari daftar allowlist ini; tip tersebut dan semua tip yang dideklarasikan marketplace dinonaktifkan ketika [`spinnerTipsEnabled`](/id/settings#available-settings) diatur ke `false`.

12 

13{/* min-version: 2.1.152 */}Fitur ini memerlukan Claude Code v2.1.152 atau lebih baru. Klien yang lebih lama mengabaikan bidang `relevance`.

14 

15Halaman ini untuk operator marketplace dan administrator enterprise. Jika Anda mencari untuk menginstal plugins, lihat [Temukan dan instal plugins](/id/discover-plugins).

16 

17<h2 id="how-it-works">

18 Cara kerjanya

19</h2>

20 

21Setiap entri plugin di `marketplace.json` dapat membawa objek `relevance`. Objek ini menamai topik dan satu atau lebih sinyal. Sinyal adalah pola yang Claude Code uji terhadap sesi saat ini, seperti direktori kerja atau file yang telah dibaca Claude.

22 

23Pencocokan sinyal terjadi secara lokal di mesin pengguna. Pencocokan tidak menambah lalu lintas jaringan dan tidak melaporkan sinyal mana yang cocok, atau nilainya, ke Anthropic atau ke operator marketplace.

24 

25Ketika sinyal cocok dan plugin belum diinstal, Claude Code menampilkan plugin di tiga tempat:

26 

27* **Spinner tip**: pesan "Working with *topic*? Install the *plugin* plugin" dengan perintah `/plugin install` muncul di bawah spinner saat Claude merespons.

28* **Session-start suggestion**: {/* min-version: 2.1.153 */}jika sinyal `cwd` cocok dengan direktori kerja, notifikasi satu baris `plugin suggestion: <name>@<marketplace> · /plugin` muncul sebelum giliran pertama. Permukaan ini memerlukan Claude Code v2.1.153 atau lebih baru.

29* **`/plugin` Discover tab**: {/* min-version: 2.1.154 */}plugin disematkan ke bagian atas daftar Discover dengan anotasi seperti "suggested for this directory" atau "suggested for stripe commands". Permukaan ini memerlukan Claude Code v2.1.154 atau lebih baru.

30 

31Spinner tip dan notifikasi session-start adalah bagian dari sistem spinner-tips. Keduanya dinonaktifkan ketika pengguna atau proyek menetapkan `spinnerTipsEnabled` ke `false`, atau ketika `spinnerTipsOverride` kustom dikonfigurasi dengan `excludeDefault`. Pin tab Discover independen dari pengaturan tip.

32 

33Claude Code tidak pernah menginstal plugin secara otomatis. Pengguna selalu mengonfirmasi.

34 

35<h2 id="add-relevance-to-a-plugin-entry">

36 Tambahkan relevance ke entri plugin

37</h2>

38 

39Tambahkan objek `relevance` ke entri plugin di `marketplace.json` Anda. Contoh berikut mendeklarasikan bahwa plugin `terraform-helpers` relevan ketika Claude membaca file `.tf` atau ketika Claude menjalankan `terraform`:

40 

41```json theme={null}

42{

43 "name": "acme-corp-plugins",

44 "owner": { "name": "Acme Platform Team" },

45 "plugins": [

46 {

47 "name": "terraform-helpers",

48 "source": "./plugins/terraform-helpers",

49 "description": "Acme conventions and helpers for Terraform",

50 "relevance": {

51 "topic": "Terraform",

52 "signals": {

53 "cli": ["terraform"],

54 "filesRead": ["**/*.tf"]

55 }

56 }

57 }

58 ]

59}

60```

61 

62Plugin dengan blok `relevance` tetapi tanpa sinyal yang cocok berperilaku seperti entri marketplace lainnya. Plugin ini muncul di daftar Discover di posisi normalnya dan tidak pernah muncul sebagai spinner tip.

63 

64<h2 id="field-reference">

65 Referensi bidang

66</h2>

67 

68<h3 id="relevance">

69 `relevance`

70</h3>

71 

72| Bidang | Tipe | Deskripsi |

73| :-------- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

74| `topic` | string | Opsional. Frasa yang mengisi "Working with *topic*?" di spinner tip. Sering kali nama produk, misalnya `Stripe`. Gunakan domain seperti `design` ketika nama plugin tidak terbaca secara alami sebagai topik. Default ke nama plugin dengan setiap segmen tanda hubung dikapitalisasi. Notifikasi session-start tidak menggunakan nilai ini. Maksimal 64 karakter. |

75| `signals` | object | Matcher yang menentukan kapan plugin relevan. Setidaknya satu sinyal diperlukan agar plugin dapat disarankan. Lihat tabel di bawah. |

76 

77<h3 id="relevance-signals">

78 `relevance.signals`

79</h3>

80 

81| Bidang | Tipe | Deskripsi |

82| :------------- | :--------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

83| `cwd` | array of strings | {/* min-version: 2.1.153 */}Pola Glob yang dicocokkan dengan direktori kerja sesi. Dicocokkan sebagai jalur absolut dan, ketika berada di dalam repositori git, sebagai jalur relatif terhadap akar repositori. Garis miring dinormalisasi dan tidak peka huruf besar-kecil. Setiap pola cocok dengan direktori itu sendiri dan semuanya di bawahnya, jadi `infra`, `infra/`, dan `infra/**` berperilaku identik. Ini adalah satu-satunya sinyal yang dapat cocok pada awal sesi, sebelum giliran pertama. Maksimal 10 pola dengan 256 karakter masing-masing. |

84| `cli` | array of strings | Nama perintah dari perintah shell yang telah dijalankan Claude sesi ini, misalnya `["stripe"]`. Berlaku di setiap platform: perintah yang dijalankan di Windows melalui PowerShell atau Git Bash dicatat dengan cara yang sama. Claude Code mencatat satu nama perintah per invokasi alat shell: token pertama setelah penugasan variabel lingkungan apa pun dan `sudo`. Perintah gabungan hanya berkontribusi pada perintah terdepan mereka, jadi `cd infra && terraform plan` mencatat `cd`, bukan `terraform`. Kecocokan tepat. Maksimal 10 entri dengan 64 karakter masing-masing. |

85| `hosts` | array of strings | Nama host yang terlihat di URL `http://` atau `https://` dalam perintah Bash sesi ini, misalnya `["api.stripe.com"]`. Hanya nama host huruf kecil telanjang: tanpa skema, port, atau jalur. Kecocokan tepat tidak peka huruf besar-kecil. Maksimal 20 entri dengan 128 karakter masing-masing. |

86| `filesRead` | array of strings | {/* min-version: 2.1.153 */}Pola Glob yang dicocokkan dengan jalur file yang telah dibaca Claude sesi ini, misalnya `["**/*.tf"]`. Garis miring dinormalisasi dan tidak peka huruf besar-kecil. Maksimal 10 pola dengan 256 karakter masing-masing. |

87| `manifestDeps` | array of objects | Dependensi yang dideklarasikan dalam manifes paket yang telah dibaca Claude sesi ini. Setiap entri adalah `{ "file": "...", "pattern": "..." }`, di mana `file` adalah ekspresi reguler yang dicocokkan dengan jalur file manifes seperti yang dicatat dalam status sesi, biasanya jalur absolut, dan `pattern` adalah ekspresi reguler yang dicocokkan dengan konten file tersebut. Jangkar `file` di akhir, misalnya `[/\\\\]package\\.json$` dalam bentuk JSON-escaped, karena pola yang dimulai dengan jangkar tidak pernah cocok dengan jalur absolut. Jalur tidak dinormalisasi pemisah untuk sinyal ini, jadi jalur Windows menggunakan garis miring terbalik. File manifes yang lebih besar dari 512 KB dilewati. Kedua nilai adalah string sumber JavaScript `RegExp` paling banyak 256 karakter. `file` cocok tidak peka huruf besar-kecil. `pattern` peka huruf besar-kecil. Maksimal 10 entri. |

88 

89Sinyal `cli`, `hosts`, `filesRead`, dan `manifestDeps` memerlukan riwayat sesi, jadi mereka hanya dapat cocok pada spinner tip dan tab Discover. Hanya `cwd` yang dapat cocok pada awal sesi. Sinyal `filesRead` dan `manifestDeps` menguji status file yang dicatat sesi, yang juga mencakup file yang telah ditulis atau diedit Claude dan file memori `CLAUDE.md` yang dimuat otomatis.

90 

91Contoh berikut menggunakan `manifestDeps` untuk menyarankan plugin Stripe setelah Claude membaca `package.json` yang bergantung pada `stripe`. Pola `file` menggunakan `[/\\\\]` sehingga cocok dengan pemisah jalur garis miring dan garis miring terbalik, dan `\\.` sehingga titik adalah literal. Dalam JSON, setiap garis miring terbalik dalam ekspresi reguler ditulis dua kali.

92 

93```json theme={null}

94{

95 "name": "stripe-helpers",

96 "source": "./plugins/stripe-helpers",

97 "relevance": {

98 "topic": "Stripe",

99 "signals": {

100 "manifestDeps": [

101 {

102 "file": "[/\\\\]package\\.json$",

103 "pattern": "\"stripe\"\\s*:"

104 }

105 ]

106 }

107 }

108}

109```

110 

111<Note>

112 Bidang yang tidak dikenal di bawah `relevance` dan `relevance.signals` diabaikan pada waktu muat sehingga klien Claude Code yang lebih lama terus memuat marketplace Anda. Jalankan `claude plugin validate` untuk menampilkannya sebagai peringatan.

113</Note>

114 

115<h2 id="enable-suggestions-in-managed-settings">

116 Aktifkan saran di managed settings

117</h2>

118 

119Mendeklarasikan `relevance` di `marketplace.json` saja tidak cukup. Administrator harus mendaftarkan marketplace di [managed settings](/id/settings#settings-files) sebelum sarannya muncul kepada pengguna.

120 

121Tambahkan nama marketplace ke `pluginSuggestionMarketplaces`. Untuk marketplace apa pun selain marketplace resmi Anthropic, juga deklarasikan sumber marketplace di managed settings yang sama, baik sebagai entri nama tersebut di `extraKnownMarketplaces` atau sebagai entri di `strictKnownMarketplaces`. Nama yang didaftarkan diabaikan jika marketplace yang terdaftar di mesin berasal dari sumber yang berbeda. Ini mencegah sumber yang tidak terkait mendaftarkan di bawah nama yang didaftarkan untuk memiliki pluginnya disarankan di seluruh organisasi Anda.

122 

123`managed-settings.json` berikut mendaftarkan marketplace organisasi dari repositori GitHub dan mengaktifkan sarannya:

124 

125```json theme={null}

126{

127 "extraKnownMarketplaces": {

128 "acme-corp-plugins": {

129 "source": {

130 "source": "github",

131 "repo": "acme-corp/claude-plugins"

132 }

133 }

134 },

135 "pluginSuggestionMarketplaces": ["acme-corp-plugins"]

136}

137```

138 

139Marketplace resmi dikecualikan dari persyaratan deklarasi sumber karena namanya hanya dapat terdaftar dari sumber Anthropic resmi. Mendaftarkan nama saja sudah cukup:

140 

141```json theme={null}

142{

143 "pluginSuggestionMarketplaces": ["claude-plugins-official"]

144}

145```

146 

147Lihat [referensi pengaturan](/id/settings) untuk `pluginSuggestionMarketplaces` dan [`extraKnownMarketplaces`](/id/settings#extraknownmarketplaces) untuk detail konfigurasi lengkap.

148 

149<h2 id="what-the-user-sees">

150 Apa yang dilihat pengguna

151</h2>

152 

153Ketika sinyal cocok selama sesi, spinner tip berbunyi:

154 

155```text theme={null}

156Working with Terraform? Install the terraform-helpers plugin:

157/plugin install terraform-helpers@acme-corp-plugins

158```

159 

160Pada awal sesi, sinyal `cwd` yang cocok menampilkan notifikasi satu baris:

161 

162```text theme={null}

163plugin suggestion: terraform-helpers@acme-corp-plugins · /plugin

164```

165 

166Saran plugin tertentu muncul paling banyak sekali setiap tiga sesi di seluruh spinner tip dan notifikasi session-start digabungkan, dan tidak ada yang berulang setelah plugin diinstal. Notifikasi session-start juga berhenti muncul setelah saran telah ditampilkan dua kali.

167 

168{/* min-version: 2.1.154 */}Di tab `/plugin` Discover, plugin disematkan di atas hasil lainnya dengan anotasi yang menamai sinyal yang cocok, seperti `suggested for this directory` atau `suggested for terraform commands`. Tab Discover menyematkan plugin tertentu sekali; kunjungan kemudian mencantumkannya dalam urutan normal. Pin tab Discover memerlukan Claude Code v2.1.154 atau lebih baru. Pada v2.1.152 hanya spinner tip yang muncul; notifikasi session-start ditambahkan di v2.1.153.

169 

170<h2 id="validate-your-marketplace">

171 Validasi marketplace Anda

172</h2>

173 

174Jalankan `claude plugin validate` terhadap direktori marketplace Anda untuk memeriksa blok `relevance` sebelum menerbitkan:

175 

176```

177claude plugin validate ./my-marketplace

178```

179 

180Validator melaporkan kunci yang tidak dikenal di bawah `relevance` dan `relevance.signals` sebagai peringatan, menandai nilai `relevance` yang bukan objek, dan menolak entri `signals.hosts` yang menyertakan skema, port, atau jalur.

181 

182<h2 id="see-also">

183 Lihat juga

184</h2>

185 

186* [Buat dan distribusikan marketplace plugin](/id/plugin-marketplaces): bangun marketplace yang menghosting plugins Anda

187* [Rekomendasikan plugin Anda dari CLI Anda](/id/plugin-hints): minta pengguna dari CLI Anda sendiri alih-alih dari sinyal sesi Claude Code

188* [Pengaturan](/id/settings): referensi lengkap untuk `pluginSuggestionMarketplaces` dan `extraKnownMarketplaces`

Details

632Apakah jalur khusus menggantikan atau memperluas direktori default plugin tergantung pada field:632Apakah jalur khusus menggantikan atau memperluas direktori default plugin tergantung pada field:

633 633 

634* **Menggantikan default**: `commands`, `agents`, `outputStyles`, `experimental.themes`, `experimental.monitors`. Misalnya, saat manifest menentukan `commands`, direktori default `commands/` tidak dipindai. Untuk menyimpan default dan menambahkan lebih banyak, sertakan secara eksplisit: `"commands": ["./commands/", "./extras/"]`634* **Menggantikan default**: `commands`, `agents`, `outputStyles`, `experimental.themes`, `experimental.monitors`. Misalnya, saat manifest menentukan `commands`, direktori default `commands/` tidak dipindai. Untuk menyimpan default dan menambahkan lebih banyak, sertakan secara eksplisit: `"commands": ["./commands/", "./extras/"]`

635* **Menambah default**: `skills`. Direktori default `skills/` selalu dipindai, dan direktori yang tercantum di `skills` dimuat bersama dengannya. Pengecualian: untuk [entri marketplace yang `source`-nya diselesaikan ke root marketplace](/id/plugin-marketplaces#advanced-plugin-entries), mendeklarasikan subdirektori khusus menggantikan scan635* **Menambah default**: `skills`. Direktori default `skills/` selalu dipindai, dan direktori yang tercantum di `skills` dimuat bersama dengannya. Pengecualian: untuk [entri marketplace yang `source`-nya diselesaikan ke root marketplace](/id/plugin-marketplaces#advanced-plugin-entries), mendeklarasikan subdirektori khusus menggantikan scan default `skills/`

636* **Aturan penggabungan sendiri**: [hooks](#hooks), [MCP servers](#mcp-servers), dan [LSP servers](#lsp-servers). Lihat setiap bagian untuk cara beberapa sumber digabungkan636* **Aturan penggabungan sendiri**: [hooks](#hooks), [MCP servers](#mcp-servers), dan [LSP servers](#lsp-servers). Lihat setiap bagian untuk cara beberapa sumber digabungkan

637 637 

638Saat plugin memiliki folder default dan kunci manifest yang cocok, Claude Code v2.1.140 dan yang lebih baru menandai folder yang diabaikan di `/doctor`, `claude plugin list`, dan tampilan detail `/plugin`. Plugin masih dimuat menggunakan jalur manifest. Tidak ada peringatan yang ditampilkan saat kunci manifest menunjuk ke folder default, misalnya `"commands": ["./commands/deploy.md"]`, karena folder ditangani secara eksplisit dalam hal itu.638Saat plugin memiliki folder default dan kunci manifest yang cocok, Claude Code v2.1.140 dan yang lebih baru menandai folder yang diabaikan di `/doctor`, `claude plugin list`, dan tampilan detail `/plugin`. Plugin masih dimuat menggunakan jalur manifest. Tidak ada peringatan yang ditampilkan saat kunci manifest menunjuk ke folder default, misalnya `"commands": ["./commands/deploy.md"]`, karena folder ditangani secara eksplisit dalam hal itu.

prompt-library.md +1319 −0

Details

6 6 

7> Salin-tempel prompt untuk Claude Code, diberi tag berdasarkan tugas dan peran.7> Salin-tempel prompt untuk Claude Code, diberi tag berdasarkan tugas dan peran.

8 8 

9export const PromptLibrary = ({text = {}, labels = {}, tagLabels = {}, phaseLabels = {}, sourceLabels = {}, catLabels = {}}) => {

10 const RAW = useMemo(() => [{

11 id: 'get-oriented-in-a',

12 sdlc: 'discover',

13 cat: 'Onboard',

14 startN: 1,

15 roles: [],

16 prompt: 'give me an overview of this codebase: architecture, key directories, and how the pieces connect',

17 nextHref: '/en/memory',

18 src: 'workflows'

19 }, {

20 id: 'explain-unfamiliar-code',

21 sdlc: 'discover',

22 cat: 'Understand',

23 roles: [],

24 prompt: 'explain what {path} does and how data flows through it. write it up as {format}',

25 slots: {

26 path: 'src/scheduler/queue.ts',

27 format: 'an HTML page with a diagram, then open it in my browser'

28 },

29 nextHref: '/en/output-styles',

30 src: 'workflows'

31 }, {

32 id: 'find-where-something-happens',

33 sdlc: 'discover',

34 cat: 'Understand',

35 startN: 2,

36 roles: [],

37 prompt: 'where do we {behavior}?',

38 slots: {

39 behavior: 'validate uploaded file types'

40 },

41 src: 'workflows'

42 }, {

43 id: 'see-what-depends-on',

44 sdlc: 'discover',

45 cat: 'Understand',

46 roles: [],

47 prompt: 'what would break if I deleted {target}?',

48 slots: {

49 target: 'the retryWithBackoff helper'

50 },

51 src: 'workflows'

52 }, {

53 id: 'trace-how-code-evolved',

54 sdlc: 'discover',

55 cat: 'Understand',

56 roles: [],

57 prompt: 'look through the commit history of {path} and summarize how it evolved and why',

58 slots: {

59 path: 'internal/auth/session.go'

60 },

61 src: 'best-practices'

62 }, {

63 id: 'scope-a-change-before',

64 sdlc: 'discover',

65 cat: 'Understand',

66 roles: ['pm', 'design'],

67 prompt: 'which files would I need to touch to {change}?',

68 slots: {

69 change: 'add a dark mode toggle to settings'

70 },

71 src: 'teams'

72 }, {

73 id: 'ask-the-codebase-a',

74 sdlc: 'discover',

75 cat: 'Understand',

76 roles: ['pm'],

77 prompt: 'I am a {role}. walk me through what happens when a user {action}, from the UI down to the result',

78 slots: {

79 role: 'PM',

80 action: 'clicks Export to PDF'

81 },

82 nextHref: '/en/output-styles',

83 src: 'teams'

84 }, {

85 id: 'plan-a-multi-file',

86 sdlc: 'design',

87 cat: 'Plan',

88 roles: ['pm', 'design'],

89 prompt: 'plan how to refactor the {target} to {goal}. list the files you would change, but don\'t edit anything yet',

90 slots: {

91 target: 'payment module',

92 goal: 'support multiple currencies'

93 },

94 src: 'workflows'

95 }, {

96 id: 'draft-a-spec-by',

97 sdlc: 'design',

98 cat: 'Plan',

99 roles: ['pm'],

100 prompt: 'I want to build {feature}. interview me about implementation, UX, edge cases, and tradeoffs until we have covered everything, then write the spec to SPEC.md',

101 slots: {

102 feature: 'per-workspace rate limits'

103 },

104 nextHref: '/en/skills',

105 src: 'best-practices'

106 }, {

107 id: 'turn-a-meeting-into',

108 sdlc: 'design',

109 cat: 'Plan',

110 roles: ['pm'],

111 prompt: 'read {input} and write up the action items, then create a {tracker} ticket for each with acceptance criteria',

112 slots: {

113 input: '@meeting-notes.md',

114 tracker: 'Linear'

115 },

116 needs: 'tracker',

117 nextHref: '/en/skills',

118 src: 'teams'

119 }, {

120 id: 'map-edge-cases-before',

121 sdlc: 'design',

122 cat: 'Plan',

123 roles: ['design', 'pm'],

124 prompt: 'list the error states, empty states, and edge cases for {feature} that the design needs to cover',

125 slots: {

126 feature: 'the file upload flow'

127 },

128 src: 'teams'

129 }, {

130 id: 'turn-a-mockup-into',

131 sdlc: 'design',

132 cat: 'Prototype',

133 roles: ['design', 'pm', 'marketing'],

134 paste: 'mockup',

135 prompt: 'here is a mockup. build a working prototype I can click through, matching the layout and states shown',

136 src: 'teams'

137 }, {

138 id: 'implement-from-a-screenshot',

139 sdlc: 'design',

140 cat: 'Prototype',

141 roles: ['design'],

142 paste: 'design',

143 needs: 'browser',

144 prompt: 'implement this design, then take a screenshot of the result, compare it to the original, and fix any differences',

145 nextHref: '/en/goal',

146 src: 'best-practices'

147 }, {

148 id: 'follow-an-existing-pattern',

149 sdlc: 'build',

150 cat: 'Implement',

151 roles: [],

152 prompt: 'look at how {example} is implemented to understand the pattern, then build {new} the same way',

153 slots: {

154 example: 'the GitHub webhook handler',

155 new: 'a Stripe webhook handler'

156 },

157 nextHref: '/en/memory',

158 src: 'best-practices'

159 }, {

160 id: 'generate-docs-for-code',

161 sdlc: 'build',

162 cat: 'Implement',

163 roles: ['docs'],

164 prompt: 'find {scope} without {format} comments and add them, matching the style already used in the file',

165 slots: {

166 scope: 'the public functions in src/auth/',

167 format: 'JSDoc'

168 },

169 src: 'workflows'

170 }, {

171 id: 'add-a-small-well',

172 sdlc: 'build',

173 cat: 'Implement',

174 roles: [],

175 prompt: 'add a {endpoint} endpoint that returns {payload}',

176 slots: {

177 endpoint: '/health',

178 payload: 'the app version and uptime'

179 },

180 src: 'workflows'

181 }, {

182 id: 'build-a-small-internal',

183 sdlc: 'build',

184 cat: 'Implement',

185 roles: ['pm', 'design', 'marketing', 'docs'],

186 prompt: 'create a {tool} using HTML, CSS, and vanilla JavaScript, then open it in my browser',

187 slots: {

188 tool: 'drag-and-drop Kanban board with three columns'

189 },

190 src: 'teams'

191 }, {

192 id: 'work-an-issue-end',

193 sdlc: 'build',

194 cat: 'Implement',

195 roles: [],

196 prompt: 'read issue #{issue}, implement the fix, and run the tests',

197 slots: {

198 issue: '312'

199 },

200 needs: 'gh',

201 src: 'workflows'

202 }, {

203 id: 'find-and-update-copy',

204 sdlc: 'build',

205 cat: 'Implement',

206 roles: ['design', 'docs', 'marketing'],

207 prompt: 'find every place we say "{copy}" or a close variant, show me each one in context, then update them all to "{new}". leave tests and the changelog alone',

208 slots: {

209 copy: 'Sign up free',

210 new: 'Start free trial'

211 },

212 src: 'teams'

213 }, {

214 id: 'draft-from-past-examples',

215 sdlc: 'build',

216 cat: 'Implement',

217 roles: ['docs', 'marketing', 'pm'],

218 prompt: 'read the {examples} in {folder} to learn the structure and voice, then draft a new one for {topic}',

219 slots: {

220 examples: 'privacy impact assessments',

221 folder: 'legal/pia/',

222 topic: 'the new analytics integration'

223 },

224 nextHref: '/en/skills',

225 src: 'legal'

226 }, {

227 id: 'write-tests-run-them',

228 sdlc: 'build',

229 cat: 'Test',

230 startN: 4,

231 roles: [],

232 prompt: 'write tests for {path}, run them, and fix any failures',

233 slots: {

234 path: 'app/parsers/feed.py'

235 },

236 nextHref: '/en/memory',

237 src: 'workflows'

238 }, {

239 id: 'drive-implementation-from-tests',

240 sdlc: 'build',

241 cat: 'Test',

242 roles: [],

243 prompt: 'write tests for {feature} first, then implement it until they pass',

244 slots: {

245 feature: 'the password reset flow'

246 },

247 src: 'ebook'

248 }, {

249 id: 'fill-gaps-from-a',

250 sdlc: 'build',

251 cat: 'Test',

252 roles: [],

253 prompt: 'read {report} and add tests for the lowest-covered files until each is above {target}%',

254 slots: {

255 report: 'coverage/coverage-summary.json',

256 target: '80'

257 },

258 nextHref: '/en/goal',

259 src: 'workflows'

260 }, {

261 id: 'migrate-a-pattern-across',

262 sdlc: 'build',

263 cat: 'Refactor',

264 roles: [],

265 prompt: 'migrate everything from {from} to {to}: identify every place that needs to change, then make the changes',

266 slots: {

267 from: 'the old logging API',

268 to: 'the structured logger'

269 },

270 src: 'workflows'

271 }, {

272 id: 'port-code-between-languages',

273 sdlc: 'build',

274 cat: 'Refactor',

275 roles: [],

276 prompt: 'port {source} to {target}, keeping the same {keep}',

277 slots: {

278 source: 'this Python module',

279 target: 'Rust',

280 keep: 'public API and test behavior'

281 },

282 src: 'teams'

283 }, {

284 id: 'optimize-against-a-measurable',

285 sdlc: 'build',

286 cat: 'Refactor',

287 roles: ['data'],

288 prompt: 'optimize {target} to bring {metric} from {current} down to under {goal}',

289 slots: {

290 target: 'the search query',

291 metric: 'p95 latency',

292 current: '2s',

293 goal: '500ms'

294 },

295 nextHref: '/en/goal',

296 src: 'ebook'

297 }, {

298 id: 'fix-a-precise-visual',

299 sdlc: 'build',

300 cat: 'Refactor',

301 roles: ['design'],

302 prompt: 'the {element} extends {amount} beyond the {container} on {viewport}. fix it.',

303 slots: {

304 element: 'login button',

305 amount: '20px',

306 container: 'card border',

307 viewport: 'mobile'

308 },

309 nextHref: '/en/desktop#preview-your-app',

310 src: 'ebook'

311 }, {

312 id: 'review-your-changes-before',

313 sdlc: 'build',

314 cat: 'Review',

315 startN: 5,

316 roles: [],

317 prompt: 'review my uncommitted changes and flag anything that looks risky before I commit',

318 nextHref: '/en/commands',

319 src: 'workflows'

320 }, {

321 id: 'review-a-pull-request',

322 sdlc: 'build',

323 cat: 'Review',

324 roles: [],

325 prompt: 'review PR #{pr} and summarize what changed, then list any concerns',

326 slots: {

327 pr: '247'

328 },

329 needs: 'gh',

330 nextHref: '/en/code-review',

331 src: 'workflows'

332 }, {

333 id: 'review-infrastructure-changes-before',

334 sdlc: 'build',

335 cat: 'Review',

336 roles: ['security', 'ops'],

337 paste: 'plan',

338 prompt: 'here is my Terraform plan output. what is this going to do, and is anything here going to cause problems?',

339 src: 'teams'

340 }, {

341 id: 'run-a-security-review',

342 sdlc: 'build',

343 cat: 'Review',

344 roles: ['security'],

345 prompt: 'use a subagent to review {path} for security issues and report what it finds',

346 slots: {

347 path: 'src/api/'

348 },

349 nextHref: '/en/sub-agents',

350 src: 'best-practices'

351 }, {

352 id: 'review-content-before-sending',

353 sdlc: 'build',

354 cat: 'Review',

355 roles: ['marketing', 'docs'],

356 prompt: 'review {file} for {concerns} and list anything I should fix before it goes to {reviewer}',

357 slots: {

358 file: 'launch-post.md',

359 concerns: 'unsupported claims, missing attributions, and brand-guideline issues',

360 reviewer: 'legal'

361 },

362 nextHref: '/en/skills',

363 src: 'legal'

364 }, {

365 id: 'course-correct-a-wrong',

366 sdlc: 'build',

367 cat: 'Steer',

368 roles: [],

369 prompt: 'that is not right: {feedback}. try a different approach',

370 slots: {

371 feedback: 'the function signature needs to stay backward-compatible'

372 },

373 nextHref: '/en/checkpointing',

374 src: 'best-practices'

375 }, {

376 id: 'narrow-the-scope-of',

377 sdlc: 'build',

378 cat: 'Steer',

379 roles: [],

380 prompt: 'that is too much. keep only the changes to {scope} and undo your other edits',

381 slots: {

382 scope: 'the validation logic in src/forms/'

383 },

384 src: 'best-practices'

385 }, {

386 id: 'turn-a-correction-into',

387 sdlc: 'build',

388 cat: 'Steer',

389 roles: [],

390 prompt: 'you keep {mistake}. add a rule to CLAUDE.md so this stops happening',

391 slots: {

392 mistake: 'using default exports when this project uses named exports'

393 },

394 nextHref: '/en/memory',

395 src: 'best-practices'

396 }, {

397 id: 'resolve-merge-conflicts',

398 sdlc: 'ship',

399 cat: 'Git',

400 roles: [],

401 prompt: 'resolve the merge conflicts in this branch and explain what you kept from each side',

402 src: 'workflows'

403 }, {

404 id: 'commit-with-a-generated',

405 sdlc: 'ship',

406 cat: 'Git',

407 roles: [],

408 prompt: 'commit these changes with a message that summarizes what I did',

409 src: 'workflows'

410 }, {

411 id: 'open-a-pull-request',

412 sdlc: 'ship',

413 cat: 'Git',

414 roles: [],

415 prompt: 'find the {tracker} ticket about {topic} and open a PR that implements it',

416 slots: {

417 tracker: 'Linear',

418 topic: 'the login timeout'

419 },

420 needs: 'tracker',

421 src: 'workflows'

422 }, {

423 id: 'draft-release-notes-from',

424 sdlc: 'ship',

425 cat: 'Release',

426 roles: ['pm', 'docs', 'marketing'],

427 prompt: 'compare {from} to {to} and draft release notes grouped by feature, fix, and breaking change',

428 slots: {

429 from: 'v2.3.0',

430 to: 'v2.4.0'

431 },

432 nextHref: '/en/skills',

433 src: 'workflows'

434 }, {

435 id: 'write-a-ci-workflow',

436 sdlc: 'ship',

437 cat: 'Release',

438 roles: ['ops'],

439 prompt: 'write a GitHub Actions workflow that {steps} on every push to {branch}',

440 slots: {

441 steps: 'runs the tests and deploys to staging',

442 branch: 'main'

443 },

444 src: 'workflows'

445 }, {

446 id: 'find-and-fix-a',

447 sdlc: 'operate',

448 cat: 'Debug',

449 startN: 3,

450 roles: [],

451 prompt: 'the {test} test is failing, find out why and fix it',

452 slots: {

453 test: 'UserAuth'

454 },

455 src: 'workflows'

456 }, {

457 id: 'investigate-a-reported-error',

458 sdlc: 'operate',

459 cat: 'Debug',

460 roles: ['ops'],

461 prompt: 'users are seeing {symptom} on {where}. investigate and tell me what is going on',

462 slots: {

463 symptom: '500 errors',

464 where: '/api/settings'

465 },

466 nextHref: '/en/web-quickstart#pre-fill-sessions',

467 src: 'workflows'

468 }, {

469 id: 'fix-a-build-error',

470 sdlc: 'operate',

471 cat: 'Debug',

472 roles: ['ops'],

473 paste: 'error',

474 prompt: 'here is a build error. fix the root cause and verify the build succeeds',

475 src: 'best-practices'

476 }, {

477 id: 'investigate-a-production-incident',

478 sdlc: 'operate',

479 cat: 'Incident',

480 roles: ['ops', 'security'],

481 prompt: '{symptom}. check the logs, recent deploys, and config changes, then tell me the most likely cause',

482 slots: {

483 symptom: 'the checkout endpoint started returning 500s an hour ago'

484 },

485 nextHref: '/en/mcp',

486 src: 'workflows'

487 }, {

488 id: 'diagnose-from-a-console',

489 sdlc: 'operate',

490 cat: 'Incident',

491 roles: ['ops', 'data'],

492 paste: 'screenshot',

493 prompt: 'here is a screenshot of {console}. walk me through why {resource} is failing and give me the exact commands to fix it',

494 slots: {

495 console: 'the GCP Kubernetes dashboard',

496 resource: 'this pod'

497 },

498 src: 'teams'

499 }, {

500 id: 'query-logs-in-plain',

501 sdlc: 'operate',

502 cat: 'Incident',

503 roles: ['security', 'ops', 'data'],

504 prompt: 'show me all {events} for {scope} over {timeframe}. write the query, run it, and tell me what stands out',

505 slots: {

506 events: 'failed logins',

507 scope: 'the auth service',

508 timeframe: 'the past 24 hours'

509 },

510 needs: 'db',

511 src: 'cybersecurity'

512 }, {

513 id: 'analyze-a-data-file',

514 sdlc: 'operate',

515 cat: 'Data',

516 roles: ['data', 'pm', 'marketing'],

517 paste: 'csv',

518 prompt: 'read {file}, summarize the key patterns, and write the results to {output}',

519 slots: {

520 file: '@reports/q1-signups.csv',

521 output: 'an HTML page with charts, then open it in my browser'

522 },

523 nextHref: '/en/mcp',

524 src: 'teams'

525 }, {

526 id: 'generate-variations-from-performance',

527 sdlc: 'operate',

528 cat: 'Data',

529 roles: ['marketing', 'data'],

530 paste: 'csv',

531 prompt: 'read {file}, find the underperforming {items}, and generate {n} new variations that stay under {limit} characters',

532 slots: {

533 file: '@ads-performance.csv',

534 items: 'headlines',

535 n: '20',

536 limit: '90'

537 },

538 nextHref: '/en/mcp',

539 src: 'teams'

540 }, {

541 id: 'turn-a-recurring-task',

542 sdlc: 'operate',

543 cat: 'Automate',

544 roles: [],

545 prompt: 'create a /{name} skill for this project that {steps}',

546 slots: {

547 name: 'ship',

548 steps: 'runs the linter and tests, then drafts a commit message'

549 },

550 src: 'workflows'

551 }, {

552 id: 'add-a-hook-for',

553 sdlc: 'operate',

554 cat: 'Automate',

555 roles: [],

556 prompt: 'write a hook that {action} after every {event}',

557 slots: {

558 action: 'runs prettier',

559 event: 'edit to a .ts or .tsx file'

560 },

561 src: 'best-practices'

562 }, {

563 id: 'connect-a-tool-with',

564 sdlc: 'operate',

565 cat: 'Automate',

566 roles: [],

567 prompt: 'set up the {server} MCP server so you can read my {data} directly',

568 slots: {

569 server: 'Sentry',

570 data: 'error reports'

571 },

572 src: 'workflows'

573 }, {

574 id: 'capture-what-to-remember',

575 sdlc: 'operate',

576 cat: 'Automate',

577 roles: ['pm', 'docs'],

578 prompt: 'summarize what we did this session and suggest what to add to CLAUDE.md',

579 src: 'teams'

580 }], []);

581 const PROMPTS = useMemo(() => {

582 if (typeof window !== 'undefined') {

583 const rawIds = new Set(RAW.map(p => p.id));

584 RAW.forEach(p => {

585 if (!text[p.id]) console.warn('[prompt-library] no text[] entry for id:', p.id);

586 });

587 Object.keys(text).forEach(k => {

588 if (!rawIds.has(k)) console.warn('[prompt-library] orphaned text[] key:', k);

589 });

590 }

591 return RAW.map(p => ({

592 ...p,

593 title: p.id,

594 teaches: '',

595 ...text[p.id] || ({})

596 }));

597 }, [RAW, text]);

598 const L = labels;

599 const TL = k => tagLabels[k] || k;

600 const CAT_TAG = useMemo(() => ({

601 Onboard: 'understand',

602 Understand: 'understand',

603 Plan: 'plan',

604 Prototype: 'prototype',

605 Implement: 'build',

606 Test: 'test',

607 Refactor: 'refactor',

608 Review: 'review',

609 Steer: 'steer',

610 Git: 'git',

611 Release: 'release',

612 Debug: 'debug',

613 Incident: 'debug',

614 Data: 'data',

615 Automate: 'automate'

616 }), []);

617 const TAGS = useMemo(() => ['understand', 'plan', 'prototype', 'build', 'test', 'refactor', 'review', 'steer', 'debug', 'git', 'release', 'data', 'automate', 'pm', 'design', 'docs', 'marketing', 'security', 'ops'], []);

618 const tagsOf = p => [CAT_TAG[p.cat], ...p.roles || []];

619 const doc = useMemo(() => {

620 const p = typeof window !== 'undefined' ? window.location.pathname : '';

621 const base = p.startsWith('/docs/') ? '/docs' : '';

622 const m = p.slice(base.length).match(/^\/([a-z]{2}(?:-[A-Z]{2})?)\//);

623 const locale = m ? m[1] : 'en';

624 return href => {

625 if (!href || href[0] !== '/' || href[1] === '/') return href;

626 return base + (href.startsWith('/en/') ? '/' + locale + href.slice(3) : href);

627 };

628 }, []);

629 const linkify = s => {

630 const out = [];

631 let last = 0;

632 const re = /\[([^\]]+)\]\(([^)]+)\)/g;

633 for (let m; m = re.exec(s); ) {

634 if (m.index > last) out.push(s.slice(last, m.index));

635 out.push(<a key={m.index} href={doc(m[2])}>{m[1]}</a>);

636 last = re.lastIndex;

637 }

638 if (last < s.length) out.push(s.slice(last));

639 return out;

640 };

641 const codeify = s => s.split(/(`[^`]+`)/g).map((part, i) => part[0] === '`' ? <code key={i}>{part.slice(1, -1)}</code> : part);

642 const SOURCES = useMemo(() => ({

643 'workflows': '/en/common-workflows',

644 'teams': 'https://claude.com/blog/how-anthropic-teams-use-claude-code',

645 'legal': 'https://claude.com/blog/how-anthropic-uses-claude-legal',

646 'cybersecurity': 'https://claude.com/blog/how-anthropic-uses-claude-cybersecurity',

647 'best-practices': '/en/best-practices',

648 'ebook': 'https://resources.anthropic.com/hubfs/Scaling%20agentic%20coding%20across%20your%20organization.pdf'

649 }), []);

650 const [mounted, setMounted] = useState(false);

651 const [q, setQ] = useState('');

652 const [start, setStart] = useState(true);

653 const [sel, setSel] = useState(null);

654 const [openId, setOpenId] = useState(null);

655 const [copied, setCopied] = useState(null);

656 const [fills, setFills] = useState({});

657 const copyTimer = useRef(null);

658 useEffect(() => {

659 setMounted(true);

660 return () => clearTimeout(copyTimer.current);

661 }, []);

662 const setFill = (id, key, val) => setFills(f => ({

663 ...f,

664 [id + '.' + key]: val

665 }));

666 const fillOf = (p, key) => {

667 const v = fills[p.id + '.' + key];

668 return v !== undefined ? v : p.slots && p.slots[key] !== undefined ? p.slots[key] : '';

669 };

670 const assemble = p => p.prompt.replace(/\{(\w+)\}/g, (_, k) => fillOf(p, k) || p.slots && p.slots[k] || k);

671 const preview = p => p.prompt.replace(/\{(\w+)\}/g, (_, k) => p.slots && p.slots[k] || k);

672 const bodyText = p => preview(p) + ' ' + p.teaches.replace(/\[([^\]]+)\]\([^)]+\)/g, '$1') + ' ' + (p.next || '');

673 const widthFor = s => (s || '').length + 3 + 'ch';

674 const ql = q.trim().toLowerCase();

675 const toggleTag = k => {

676 setStart(false);

677 setSel(s => !ql && s === k ? null : k);

678 };

679 const clear = () => {

680 setStart(false);

681 setSel(null);

682 setQ('');

683 };

684 const results = useMemo(() => {

685 const list = PROMPTS.filter(p => {

686 if (ql) return p.title.toLowerCase().includes(ql) || bodyText(p).toLowerCase().includes(ql);

687 if (start) return !!p.startN;

688 if (sel) return tagsOf(p).includes(sel);

689 return true;

690 });

691 if (ql) return list;

692 if (start) return list.sort((a, b) => a.startN - b.startN);

693 if (sel) return list.sort((a, b) => (a.roles || []).length - (b.roles || []).length || (b.sdlc === 'operate') - (a.sdlc === 'operate'));

694 return list;

695 }, [PROMPTS, ql, start, sel]);

696 const matchSnippet = p => {

697 if (!ql || p.title.toLowerCase().includes(ql)) return null;

698 const txt = bodyText(p);

699 const at = txt.toLowerCase().indexOf(ql);

700 if (at < 0) return null;

701 const lo = Math.max(0, at - 30), hi = Math.min(txt.length, at + ql.length + 50);

702 return [lo > 0 ? '…' : '', txt.slice(lo, at), <mark key="m">{txt.slice(at, at + ql.length)}</mark>, txt.slice(at + ql.length, hi), hi < txt.length ? '…' : ''];

703 };

704 const grouped = useMemo(() => {

705 if (start && !q.trim()) return [];

706 const g = {};

707 for (const p of results) {

708 const key = p.sdlc + '|' + p.cat;

709 (g[key] = g[key] || ({

710 sdlc: p.sdlc,

711 cat: p.cat,

712 items: []

713 })).items.push(p);

714 }

715 return Object.values(g);

716 }, [results, start, q]);

717 const copy = async (str, id) => {

718 try {

719 await navigator.clipboard.writeText(str);

720 } catch {

721 const ta = document.createElement('textarea');

722 ta.value = str;

723 ta.setAttribute('readonly', '');

724 ta.style.position = 'fixed';

725 ta.style.opacity = '0';

726 document.body.appendChild(ta);

727 ta.select();

728 document.execCommand('copy');

729 document.body.removeChild(ta);

730 }

731 clearTimeout(copyTimer.current);

732 setCopied(id);

733 copyTimer.current = setTimeout(() => setCopied(null), 1600);

734 };

735 const promptBody = p => {

736 if (!p.slots) return <code>{p.prompt}</code>;

737 const parts = p.prompt.split(/(\{\w+\})/g);

738 return <code>

739 {parts.map((part, idx) => {

740 const m = part.match(/^\{(\w+)\}$/);

741 if (!m) return <span key={idx}>{part}</span>;

742 const k = m[1];

743 const val = fillOf(p, k);

744 return <input key={idx} type="text" className="pl-slot" value={val} placeholder={p.slots[k] || k} aria-label={k} style={{

745 width: widthFor(val || p.slots[k])

746 }} onChange={e => setFill(p.id, k, e.target.value)} onFocus={e => e.target.select()} onClick={e => e.stopPropagation()} />;

747 })}

748 </code>;

749 };

750 const card = p => {

751 const open = openId === p.id;

752 const srcHref = SOURCES[p.src];

753 const srcLabel = sourceLabels[p.src];

754 const snip = matchSnippet(p);

755 return <div key={p.id} className={'pl-card' + (open ? ' pl-open' : '')}>

756 <button type="button" className="pl-head" onClick={() => setOpenId(open ? null : p.id)} aria-expanded={open}>

757 <span className="pl-title">{p.title}</span>

758 {!!p.startN && <span className="pl-chip">{L.startHere} · {p.startN}</span>}

759 </button>

760 {snip ? <div className="pl-match">{snip}</div> : <code className="pl-prompt-preview">{preview(p)}</code>}

761 {open && <div className="pl-body">

762 <div className="pl-label">{p.slots ? L.fillAndCopy : L.copyThis}</div>

763 {p.needs && L.needs && L.needs[p.needs] && <div className="pl-hint pl-needs">

764 <span className="pl-needs-label">{L.needsLabel}</span> {linkify(L.needs[p.needs])}

765 </div>}

766 {p.paste && L.paste && L.paste[p.paste] && <div className="pl-hint pl-paste">{L.paste[p.paste]}</div>}

767 {p.slots && <div className="pl-hint">

768 {L.hintBefore} <span className="pl-hint-chip">{L.hintChip}</span> {L.hintAfter}

769 </div>}

770 <div className="pl-prompt-box">

771 <span className="pl-caret">{'❯'}</span>

772 {promptBody(p)}

773 <button type="button" className="pl-copy" onClick={() => copy(assemble(p), p.id)}>

774 {copied === p.id ? L.copied : L.copy}

775 </button>

776 </div>

777 <div className="pl-label">{L.whyWorks}</div>

778 <div className="pl-teaches">{linkify(p.teaches)}</div>

779 {p.nextHref && p.next && <div className="pl-next">

780 <span className="pl-next-label">{L.makeItStick}</span>

781 <a href={doc(p.nextHref)}>{codeify(p.next)} →</a>

782 </div>}

783 {srcLabel && <div className="pl-src">{L.from} {srcHref ? <a href={doc(srcHref)}>{srcLabel}</a> : srcLabel}</div>}

784 </div>}

785 </div>;

786 };

787 const STYLES = useMemo(() => `

788.pl {

789 --pl-accent: #D97757;

790 --pl-accent-bg: rgba(217,119,87,0.07);

791 --pl-bg: #fff;

792 --pl-surface: #FAFAF7;

793 --pl-border: #E8E6DC;

794 --pl-border-subtle: rgba(31,30,29,0.08);

795 --pl-text: #141413;

796 --pl-text-2: #5E5D59;

797 --pl-text-3: #73726C;

798 --pl-text-4: #9C9A92;

799 --pl-mono: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);

800 font-family: 'Anthropic Sans', -apple-system, BlinkMacSystemFont, sans-serif;

801 font-size: 16px; color: var(--pl-text); margin: 8px 0 32px;

802}

803.dark .pl {

804 --pl-bg: #1f1e1d;

805 --pl-surface: #262624;

806 --pl-border: #3d3d3a;

807 --pl-border-subtle: rgba(240,238,230,0.08);

808 --pl-text: #f0eee6;

809 --pl-text-2: #bfbdb4;

810 --pl-text-3: #91908a;

811 --pl-text-4: #73726c;

812}

813.pl *, .pl *::before, .pl *::after { box-sizing: border-box; }

814.pl button { font-family: inherit; cursor: pointer; }

815.pl a { color: var(--pl-accent); text-decoration: none; }

816.pl a:hover { text-decoration: underline; }

817 

818.pl-search {

819 display: flex; align-items: center; gap: 10px;

820 padding: 14px 18px; background: var(--pl-surface);

821 border: 1px solid var(--pl-border); border-radius: 12px;

822 margin-bottom: 14px;

823}

824.pl-search input {

825 flex: 1; border: none; outline: none; background: transparent;

826 font-size: 16px; color: var(--pl-text);

827}

828.pl-search input::placeholder { color: var(--pl-text-4); }

829 

830.pl-tags { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 18px; }

831.pl-tag {

832 padding: 7px 14px; border: 1px solid var(--pl-border); background: var(--pl-bg);

833 font-size: 14px; color: var(--pl-text-2); border-radius: 999px;

834}

835.pl-tag:hover { background: var(--pl-surface); }

836.pl-tag.pl-on { background: var(--pl-text); border-color: var(--pl-text); color: var(--pl-bg); }

837.pl-tag.pl-start { color: var(--pl-accent); font-weight: 500; }

838.pl-tag.pl-start.pl-on { background: var(--pl-accent); border-color: var(--pl-accent); color: #fff; }

839.pl-tags.pl-dim .pl-tag { opacity: 0.5; }

840.pl-tags.pl-dim .pl-tag:hover { opacity: 1; }

841.pl-sep { width: 1px; height: 22px; background: var(--pl-border); margin: 0 4px; }

842.pl-clear { border: none; background: none; font-size: 13px; color: var(--pl-text-4); padding: 4px 6px; }

843.pl-clear:hover { color: var(--pl-text-2); }

844.pl-count { margin-left: auto; font-size: 14px; color: var(--pl-text-4); }

845 

846.pl-group-h {

847 font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;

848 color: var(--pl-text-4); margin: 24px 0 12px;

849}

850.pl-group-h .pl-phase { color: var(--pl-text-3); }

851.pl-card {

852 border: 1px solid var(--pl-border-subtle); border-radius: 10px;

853 margin-bottom: 12px; background: var(--pl-bg); overflow: hidden;

854 padding: 14px 18px;

855}

856.pl-card.pl-open { border-color: var(--pl-border); background: var(--pl-surface); }

857.pl-head {

858 width: 100%; display: flex; align-items: baseline; gap: 12px;

859 border: none; background: transparent; text-align: left; padding: 0;

860}

861.pl-head:focus-visible { outline: 2px solid var(--pl-accent); outline-offset: 2px; border-radius: 6px; }

862.pl-title {

863 flex: 1; font-size: 17px; font-weight: 500; color: var(--pl-text);

864 white-space: nowrap; overflow: hidden; text-overflow: ellipsis;

865}

866.pl-prompt-preview {

867 display: block; font-family: var(--pl-mono); font-size: 13.5px; color: var(--pl-text-3);

868 margin-top: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;

869}

870.pl-chip {

871 font-size: 11px; letter-spacing: 0.05em; text-transform: uppercase;

872 padding: 3px 9px; border-radius: 999px; flex-shrink: 0;

873 background: var(--pl-accent-bg); color: var(--pl-accent);

874}

875 

876.pl-body { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--pl-border-subtle); }

877.pl-label {

878 font-size: 11.5px; letter-spacing: 0.08em; text-transform: uppercase;

879 color: var(--pl-text-4); margin: 12px 0 8px;

880}

881.pl-prompt-box {

882 display: flex; align-items: center; gap: 10px;

883 padding: 14px 16px; background: #141413; color: #f0eee6;

884 border-radius: 8px; font-family: var(--pl-mono); font-size: 15px;

885}

886.pl-caret { color: var(--pl-accent); flex-shrink: 0; }

887.pl-prompt-box code { flex: 1; background: none; padding: 0; color: inherit; white-space: pre-wrap; line-height: 1.9; }

888.pl-slot {

889 font-family: var(--pl-mono); font-size: inherit;

890 background: rgba(217,119,87,0.15); color: #f0eee6;

891 border: none; border-bottom: 1.5px dashed var(--pl-accent);

892 border-radius: 4px 4px 0 0; padding: 2px 6px; margin: 0 1px;

893 outline: none; min-width: 6ch; max-width: 100%;

894 box-sizing: content-box; cursor: text;

895}

896.pl-slot:hover { background: rgba(217,119,87,0.22); }

897.pl-slot:focus { background: rgba(217,119,87,0.28); border-bottom-style: solid; }

898.pl-slot::placeholder { color: rgba(240,238,230,0.4); font-style: italic; }

899.pl-hint { font-size: 14px; color: var(--pl-text-3); margin: 0 0 10px; }

900.pl-paste { color: var(--pl-text-2); }

901.pl-needs { color: var(--pl-text-2); }

902.pl-needs-label {

903 display: inline-block; font-size: 10.5px; letter-spacing: 0.06em;

904 text-transform: uppercase; padding: 2px 7px; margin-right: 6px;

905 border-radius: 4px; background: var(--pl-accent-bg); color: var(--pl-accent);

906}

907.pl-hint-chip {

908 font-family: var(--pl-mono); font-size: 0.92em;

909 background: var(--pl-accent-bg); color: var(--pl-accent);

910 border-bottom: 1.5px dashed var(--pl-accent);

911 border-radius: 3px 3px 0 0; padding: 1px 5px;

912}

913.pl-copy {

914 font-size: 12.5px; padding: 6px 12px; border-radius: 6px;

915 background: var(--pl-accent); color: #fff; border: none; flex-shrink: 0;

916}

917.pl-teaches { display: block; font-size: 15.5px; color: var(--pl-text-2); margin: 4px 0 0; line-height: 1.6; }

918.pl-match {

919 display: block; font-size: 13.5px; color: var(--pl-text-3);

920 margin-top: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;

921}

922.pl-match mark { background: var(--pl-accent-bg); color: var(--pl-text); padding: 1px 2px; border-radius: 3px; }

923.pl-next {

924 display: flex; align-items: baseline; gap: 10px;

925 margin: 14px 0 0; padding: 10px 12px;

926 background: var(--pl-accent-bg); border-radius: 8px; font-size: 14.5px;

927}

928.pl-next-label {

929 font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase;

930 color: var(--pl-accent); font-weight: 600; flex-shrink: 0;

931}

932.pl-src { display: block; font-size: 14px; color: var(--pl-text-4); margin: 14px 0 0; }

933 

934.pl-show-all {

935 display: block; width: 100%; padding: 14px; margin-top: 4px;

936 border: 1px dashed var(--pl-border); border-radius: 10px;

937 background: transparent; font-size: 15px; color: var(--pl-accent);

938 text-align: center;

939}

940.pl-show-all:hover { background: var(--pl-accent-bg); border-style: solid; }

941 

942.pl-empty {

943 padding: 32px; text-align: center; color: var(--pl-text-4);

944 border: 1px dashed var(--pl-border); border-radius: 10px;

945}

946`, []);

947 if (!mounted) return <div className="pl" style={{

948 minHeight: 480

949 }} />;

950 return <div className="pl">

951 <style>{STYLES}</style>

952 

953 <div className="pl-search">

954 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" style={{

955 color: 'var(--pl-text-4)'

956 }}>

957 <circle cx="11" cy="11" r="7" /><line x1="21" y1="21" x2="16.65" y2="16.65" />

958 </svg>

959 <input type="text" placeholder={L.search} value={q} onChange={e => {

960 setQ(e.target.value);

961 if (e.target.value) setStart(false);

962 }} aria-label={L.search} />

963 </div>

964 

965 <div className={'pl-tags' + (ql ? ' pl-dim' : '')}>

966 <button type="button" className={'pl-tag pl-start' + (!ql && start ? ' pl-on' : '')} onClick={() => {

967 setQ('');

968 setStart(!start);

969 if (!start) setSel(null);

970 }}>

971 ★ {L.startHere}

972 </button>

973 <span className="pl-sep" />

974 {TAGS.map(k => <button key={k} type="button" aria-pressed={!ql && sel === k} className={'pl-tag' + (!ql && sel === k ? ' pl-on' : '')} onClick={() => {

975 setQ('');

976 toggleTag(k);

977 }}>

978 {TL(k)}

979 </button>)}

980 {(start || sel || q) && <button type="button" className="pl-clear" onClick={clear}>{L.clear}</button>}

981 <span className="pl-count">{results.length} {results.length === 1 ? L.prompt : L.prompts}</span>

982 </div>

983 

984 {results.length === 0 ? <div className="pl-empty">

985 {L.noMatch} {ql ? <code>{q}</code> : null} <button type="button" className="pl-clear" onClick={clear}>{L.clear}</button>

986 </div> : !ql && start ? <div>

987 <div className="pl-group-h">{L.startHereHeader}</div>

988 {results.map(card)}

989 <button type="button" className="pl-show-all" onClick={clear}>

990 {L.showAll && L.showAll.replace('{n}', PROMPTS.length)} →

991 </button>

992 </div> : grouped.map(g => <div key={g.sdlc + '|' + g.cat}>

993 <div className="pl-group-h"><span className="pl-phase">{phaseLabels[g.sdlc] || g.sdlc}</span> · {catLabels[g.cat] || g.cat}</div>

994 {g.items.map(card)}

995 </div>)}

996 </div>;

997};

998 

9Ini adalah perpustakaan prompt untuk disalin ke Claude Code. Gunakan untuk mengeksplorasi cara kerja yang belum pernah Anda coba, atau ketika Anda tidak yakin harus mulai dari mana.999Ini adalah perpustakaan prompt untuk disalin ke Claude Code. Gunakan untuk mengeksplorasi cara kerja yang belum pernah Anda coba, atau ketika Anda tidak yakin harus mulai dari mana.

10 1000 

11Prompt dikumpulkan dari berbagai panduan Anthropic, termasuk [Common workflows](/id/common-workflows), [Best practices](/id/best-practices), dan [How Anthropic teams use Claude Code](https://claude.com/blog/how-anthropic-teams-use-claude-code). Ini adalah titik awal, bukan skrip. Buka **Why this works** di bawah prompt apa pun untuk melihat pola di baliknya sehingga Anda dapat menulis prompt Anda sendiri.1001Prompt dikumpulkan dari berbagai panduan Anthropic, termasuk [Common workflows](/id/common-workflows), [Best practices](/id/best-practices), dan [How Anthropic teams use Claude Code](https://claude.com/blog/how-anthropic-teams-use-claude-code). Ini adalah titik awal, bukan skrip. Buka **Why this works** di bawah prompt apa pun untuk melihat pola di baliknya sehingga Anda dapat menulis prompt Anda sendiri.

12 1002 

1003export const labels = {

1004 startHere: "Mulai dari sini",

1005 startHereHeader: "Lima prompt untuk dicoba terlebih dahulu",

1006 showAll: "Tampilkan semua {n} prompt",

1007 search: "Cari prompt…",

1008 clear: "Hapus",

1009 prompt: "prompt",

1010 prompts: "prompt",

1011 noMatch: "Tidak ada prompt yang cocok",

1012 fillAndCopy: "Isi dan salin",

1013 copyThis: "Salin prompt ini",

1014 hintBefore: "Ketik di",

1015 hintChip: "bidang yang disorot",

1016 hintAfter: "untuk menyesuaikan, lalu salin.",

1017 copy: "Salin",

1018 copied: "Disalin",

1019 whyWorks: "Mengapa ini berhasil",

1020 makeItStick: "Buat tetap berkesan",

1021 from: "Dari",

1022 paste: {

1023 mockup: "Tempel, seret, atau @-mention gambar mockup Anda, lalu kirim ini:",

1024 design: "Tempel, seret, atau @-mention gambar desain Anda, lalu kirim ini:",

1025 screenshot: "Tempel, seret, atau @-mention tangkapan layar Anda, lalu kirim ini:",

1026 plan: "Tempel output rencana Anda ke prompt terlebih dahulu, lalu kirim ini:",

1027 error: "Tempel output kesalahan ke prompt terlebih dahulu, lalu kirim ini:",

1028 csv: "Seret file Anda ke prompt, atau ganti jalur di bawah dengan @-mention milik Anda sendiri:"

1029 },

1030 needsLabel: "Membutuhkan",

1031 needs: {

1032 tracker: "pelacak masalah Anda ditambahkan sebagai [konektor claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) atau [server MCP](/id/mcp).",

1033 gh: "[gh CLI](https://cli.github.com) yang diautentikasi, atau GitHub ditambahkan sebagai [konektor claude.ai](/id/mcp#use-mcp-servers-from-claude-ai).",

1034 browser: "cara bagi Claude untuk merender dan mengambil tangkapan layar hasilnya. [Aplikasi Desktop](/id/desktop#preview-your-app) memiliki ini bawaan. Di terminal, instal [ekstensi Chrome](/id/chrome) atau server MCP [Playwright](/id/mcp).",

1035 db: "gudang data atau penyimpanan log Anda ditambahkan sebagai [konektor claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) atau [server MCP](/id/mcp)."

1036 }

1037};

1038 

1039export const tagLabels = {

1040 understand: "Pahami",

1041 plan: "Rencanakan",

1042 prototype: "Prototipe",

1043 build: "Bangun",

1044 test: "Uji",

1045 refactor: "Refaktor",

1046 review: "Tinjau",

1047 steer: "Kemudi",

1048 debug: "Debug",

1049 git: "Git",

1050 release: "Rilis",

1051 data: "Data",

1052 automate: "Otomatisasi",

1053 pm: "Produk",

1054 design: "Desain",

1055 docs: "Dokumen",

1056 marketing: "Pemasaran",

1057 security: "Keamanan",

1058 ops: "On-call"

1059};

1060 

1061export const phaseLabels = {

1062 discover: "Temukan",

1063 design: "Desain",

1064 build: "Bangun",

1065 ship: "Kirim",

1066 operate: "Operasikan"

1067};

1068 

1069export const sourceLabels = {

1070 workflows: "Common workflows",

1071 teams: "How Anthropic teams use Claude Code",

1072 legal: "How Anthropic uses Claude in Legal",

1073 cybersecurity: "How Anthropic uses Claude in Cybersecurity",

1074 "best-practices": "Best practices",

1075 ebook: "Scaling agentic coding guide"

1076};

1077 

1078export const catLabels = {

1079 Onboard: "Onboard",

1080 Understand: "Pahami",

1081 Plan: "Rencanakan",

1082 Prototype: "Prototipe",

1083 Implement: "Implementasikan",

1084 Test: "Uji",

1085 Refactor: "Refaktor",

1086 Review: "Tinjau",

1087 Steer: "Kemudi",

1088 Git: "Git",

1089 Release: "Rilis",

1090 Debug: "Debug",

1091 Incident: "Insiden",

1092 Data: "Data",

1093 Automate: "Otomatisasi"

1094};

1095 

1096export const text = {

1097 "get-oriented-in-a": {

1098 title: "Orientasi diri di repositori baru",

1099 teaches: "Jelaskan apa yang ingin Anda ketahui, bukan file mana yang harus dibaca. Claude mengeksplorasi proyek sendiri dan mengembalikan ringkasan tentang bagaimana semuanya cocok bersama.",

1100 next: "Jalankan `/init` untuk menyiapkan `CLAUDE.md` sehingga Claude mengingat ini setiap sesi"

1101 },

1102 "explain-unfamiliar-code": {

1103 title: "Jelaskan kode yang tidak familiar",

1104 teaches: "Sebutkan file dan katakan format apa yang Anda inginkan jawabannya. Tukar halaman HTML dengan diagram, poin-poin, atau apa pun yang sesuai dengan cara Anda belajar.",

1105 next: "Atur gaya output sehingga Claude selalu menjelaskan dalam format pilihan Anda"

1106 },

1107 "find-where-something-happens": {

1108 title: "Temukan di mana sesuatu terjadi",

1109 teaches: "Cari berdasarkan perilaku, bukan nama file. Pencarian bekerja bahkan ketika Anda tidak tahu apa nama file atau direktori mana yang ditempatinya."

1110 },

1111 "see-what-depends-on": {

1112 title: "Periksa apa yang rusak sebelum Anda menghapus",

1113 teaches: "Tanya sebelum Anda menghapus apa pun. Daftar pemanggil dan efek hilir memberi tahu Anda apakah Anda melihat pembersihan satu baris atau perubahan yang perlu Anda koordinasikan."

1114 },

1115 "trace-how-code-evolved": {

1116 title: "Lacak bagaimana kode berkembang",

1117 teaches: "Tunjuk riwayat komit ketika pertanyaannya adalah mengapa, bukan apa. Claude membaca log dan blame untuk versi kontrol apa pun yang Anda gunakan dan menjelaskan keputusan di balik implementasi saat ini."

1118 },

1119 "scope-a-change-before": {

1120 title: "Tentukan cakupan perubahan sebelum Anda mulai",

1121 teaches: "Ukur pekerjaan sebelum Anda berkomitmen pada roadmap. Daftar file memberi tahu Anda apakah Anda melihat satu komponen atau perubahan lintas-potong."

1122 },

1123 "ask-the-codebase-a": {

1124 title: "Tanyakan pertanyaan produk kepada basis kode",

1125 teaches: "Nyatakan peran Anda sehingga jawaban berada pada tingkat yang tepat. Claude menjelaskan apa yang sebenarnya dilakukan produk dari kode sumber, tanpa Anda perlu membacanya.",

1126 next: "Atur gaya output sehingga Claude selalu menyampaikan jawaban pada tingkat ini"

1127 },

1128 "plan-a-multi-file": {

1129 title: "Rencanakan perubahan multi-file sebelum menyentuh kode",

1130 teaches: "Menambahkan \"jangan edit dulu\" memisahkan eksplorasi dari perubahan, sehingga Anda melihat pendekatannya sebelum kode bergerak. Untuk membuat rencana-pertama menjadi default pada setiap prompt, tekan Shift+Tab untuk [plan mode](/id/permission-modes#analyze-before-you-edit-with-plan-mode)."

1131 },

1132 "draft-a-spec-by": {

1133 title: "Buat draf spesifikasi melalui wawancara",

1134 teaches: "Minta untuk diwawancarai alih-alih menulis spesifikasi sendiri. Claude mengajukan pertanyaan terstruktur kepada Anda sampai persyaratan lengkap, lalu menulis hasilnya ke file.",

1135 next: "Simpan pertanyaan wawancara Anda sebagai skill `/spec` sehingga setiap spesifikasi dimulai dengan cara yang sama"

1136 },

1137 "turn-a-meeting-into": {

1138 title: "Ubah pertemuan menjadi tiket",

1139 teaches: "Lewati langkah transkripsi. Claude menarik item tindakan dari input yang tidak terstruktur dan menulisnya langsung ke pelacak Anda melalui [MCP](/id/mcp), sehingga Anda meninjau tiket, bukan transkrip.",

1140 next: "Simpan ini sebagai skill `/tickets`"

1141 },

1142 "map-edge-cases-before": {

1143 title: "Petakan kasus tepi sebelum membangun",

1144 teaches: "Tanyakan apa yang hilang, bukan apa yang ada. Claude mencantumkan status kesalahan, status kosong, dan kasus tepi yang cenderung dilewatkan desain jalur bahagia."

1145 },

1146 "turn-a-mockup-into": {

1147 title: "Ubah mockup menjadi prototipe yang berfungsi",

1148 teaches: "Prototipe yang dapat diklik menjawab pertanyaan yang tidak dapat dijawab mockup statis. Serahkan kode yang berfungsi kepada teknik alih-alih menjelaskan interaksi dalam dokumen."

1149 },

1150 "implement-from-a-screenshot": {

1151 title: "Implementasikan dari tangkapan layar dan periksa sendiri",

1152 teaches: "Ini memberikan Claude loop verifikasi: ia merender, membandingkan dengan gambar sumber, dan mengulangi tanpa Anda menunjukkan setiap celah.",

1153 next: "Gunakan `/goal` untuk membuat Claude terus mengulangi sampai tangkapan layar cocok"

1154 },

1155 "follow-an-existing-pattern": {

1156 title: "Ikuti pola yang ada",

1157 teaches: "Tunjuk kode yang sudah Anda sukai. Tanpa referensi, Claude menggunakan praktik terbaik umum. Dengan satu, itu cocok dengan konvensi yang sebenarnya digunakan basis kode Anda.",

1158 next: "Minta Claude untuk menulis pola yang diikutinya ke `CLAUDE.md` sehingga sesi mendatang cocok tanpa referensi"

1159 },

1160 "add-a-small-well": {

1161 title: "Tambahkan fitur kecil yang terdefinisi dengan baik",

1162 teaches: "Nyatakan input dan output, bukan cara membangunnya. Claude menemukan di mana kode serupa berada dan menambahkan milik Anda di sampingnya."

1163 },

1164 "build-a-small-internal": {

1165 title: "Bangun alat internal kecil dari awal",

1166 teaches: "Anda tidak memerlukan proyek, kerangka kerja, atau langkah pembangunan. Jelaskan alat dan minta Claude untuk membukanya sehingga Anda melihatnya bekerja segera."

1167 },

1168 "work-an-issue-end": {

1169 title: "Kerjakan masalah dari awal hingga akhir",

1170 teaches: "Berikan nomor masalah, bukan ringkasan. Claude membaca tiket lengkap itu sendiri, sehingga persyaratan yang akan Anda lupakan untuk disebutkan muncul, dan itu memvalidasi perubahan sebelum melaporkan kembali."

1171 },

1172 "find-and-update-copy": {

1173 title: "Temukan dan perbarui salinan di seluruh basis kode",

1174 teaches: "Tanyakan varian dan katakan apa yang harus dilewati. Claude menemukan frasa yang akan dilewatkan pencarian literal dan meninggalkan fixture pengujian dan riwayat tidak tersentuh, sehingga Anda hanya meninjau salinan yang sebenarnya dilihat pengguna."

1175 },

1176 "draft-from-past-examples": {

1177 title: "Buat draf dokumen dari contoh masa lalu",

1178 teaches: "Tunjuk folder pekerjaan yang selesai alih-alih menjelaskan gaya Anda. Claude mempelajari struktur dan suara dari apa yang sudah Anda kirim, sehingga draf pertama terlihat seperti salah satu milik Anda.",

1179 next: "Simpan suara sebagai skill sehingga setiap draf dimulai di sana"

1180 },

1181 "write-tests-run-them": {

1182 title: "Tulis tes, jalankan, perbaiki kegagalan",

1183 teaches: "Minta untuk menulis, menjalankan, dan memperbaiki bersama-sama sehingga Claude mengulangi tanpa berhenti untuk instruksi.",

1184 next: "Jalankan `/init` sehingga Claude mempelajari perintah tes Anda secara otomatis"

1185 },

1186 "drive-implementation-from-tests": {

1187 title: "Dorong implementasi dari tes",

1188 teaches: "Pengembangan berbasis tes: tes mendefinisikan kapan pekerjaan selesai, dan Claude mengulangi implementasi sampai mereka lulus."

1189 },

1190 "fill-gaps-from-a": {

1191 title: "Isi celah dari laporan cakupan",

1192 teaches: "Tunjuk laporan cakupan alih-alih menebak apa yang tidak diuji. Claude membaca angka sebenarnya dan menulis tes untuk file yang paling membutuhkannya.",

1193 next: "Atur ini sebagai `/goal` sehingga Claude terus menulis tes sampai cakupan mencapai target"

1194 },

1195 "port-code-between-languages": {

1196 title: "Port kode ke bahasa lain",

1197 teaches: "Katakan apa yang harus dipertahankan, bukan hanya bahasa target. Menyebutkan API atau perilaku yang harus tetap sama memberikan Claude kontrak untuk memeriksa port."

1198 },

1199 "generate-docs-for-code": {

1200 title: "Hasilkan dokumen untuk kode yang tidak terdokumentasi",

1201 teaches: "Sebutkan cakupan dan format. Claude menemukan apa yang hilang dan cocok dengan gaya komentar yang sudah ada di file, sehingga dokumen baru terlihat seperti sisanya."

1202 },

1203 "migrate-a-pattern-across": {

1204 title: "Migrasikan pola di seluruh basis kode",

1205 teaches: "Jelaskan pola lama dan yang baru. Meminta Claude untuk mengidentifikasi setiap tempat terlebih dahulu berarti situs panggilan tercantum dalam respons, sehingga Anda dapat memeriksa tidak ada yang terlewat."

1206 },

1207 "optimize-against-a-measurable": {

1208 title: "Optimalkan terhadap target yang terukur",

1209 teaches: "Menyatakan metrik dan target memberikan Claude definisi yang jelas tentang selesai.",

1210 next: "Atur ini sebagai `/goal` sehingga Claude terus mengukur dan mengulangi sampai mencapai angka"

1211 },

1212 "fix-a-precise-visual": {

1213 title: "Perbaiki bug visual yang tepat",

1214 teaches: "Umpan balik visual yang tepat mendapat perbaikan yang tepat. Nyatakan elemen, pengukuran, dan viewport yang tepat.",

1215 next: "Tambahkan alat pratinjau sehingga Claude mengambil tangkapan layar dan memverifikasi perbaikan itu sendiri"

1216 },

1217 "review-your-changes-before": {

1218 title: "Tinjau perubahan Anda sebelum Anda berkomitmen",

1219 teaches: "Tangkap masalah saat masih murah untuk diperbaiki. Claude membaca file yang diubah sepenuhnya, bukan hanya baris diff, sehingga menemukan masalah yang ditinggalkan tinjauan diri cepat.",

1220 next: "Jalankan `/code-review` untuk pemeriksaan yang sama dalam satu perintah"

1221 },

1222 "review-a-pull-request": {

1223 title: "Tinjau permintaan tarik",

1224 teaches: "Claude meninjau dengan seluruh basis kode dalam konteks, bukan hanya diff. Ia membaca kode yang diubah dan apa yang dipanggilnya, sehingga menangkap masalah yang akan dilewatkan tinjauan hanya-diff.",

1225 next: "Aktifkan ini untuk setiap PR dengan Code Review"

1226 },

1227 "review-infrastructure-changes-before": {

1228 title: "Tinjau perubahan infrastruktur sebelum menerapkan",

1229 teaches: "Output rencana padat dan sulit dipindai. Menempelkannya memberi Anda ringkasan bahasa biasa tentang apa yang sebenarnya akan berubah sebelum Anda menerapkannya."

1230 },

1231 "run-a-security-review": {

1232 title: "Jalankan tinjauan keamanan dengan subagent",

1233 teaches: "[Subagent](/id/sub-agents) menjalankan audit dalam jendela konteksnya sendiri dan melaporkan kembali ringkasan, sehingga tinjauan keamanan yang panjang tidak mengisi sesi utama Anda. Subagent tujuan umum bawaan menangani ini tanpa penyiapan tambahan.",

1234 next: "Siapkan subagent tinjauan keamanan khusus yang dapat digunakan seluruh tim Anda"

1235 },

1236 "review-content-before-sending": {

1237 title: "Tangkap masalah sebelum tinjauan formal",

1238 teaches: "Dapatkan lintasan pertama sebelum manusia menghabiskan waktu untuk itu. Sebutkan kekhawatiran yang ingin Anda periksa sehingga tinjauan terfokus, lalu perbaiki apa yang ditemukannya dan kirim draf yang lebih bersih.",

1239 next: "Tangkap daftar periksa tinjauan Anda sebagai skill yang dapat dijalankan seluruh tim Anda"

1240 },

1241 "course-correct-a-wrong": {

1242 title: "Koreksi kursus pendekatan yang salah",

1243 teaches: "Sebutkan batasan yang dilewatkan Claude, bukan hanya bahwa itu salah. Alasan spesifik memberikan Claude batasan konkret untuk dipenuhi pada percobaan ulang, alih-alih menebak lagi.",

1244 next: "Tekan `Esc` dua kali untuk membuka menu rewind dan mengembalikan kode dan percakapan sehingga percobaan ulang dimulai bersih"

1245 },

1246 "narrow-the-scope-of": {

1247 title: "Persempit cakupan perubahan",

1248 teaches: "Ketika arahnya benar tetapi perubahan terlalu luas, minta Claude untuk menyimpan bagian darinya daripada membatalkan semuanya. Batas yang dinyatakan membuat perbaikan kecil dari menjadi refaktor."

1249 },

1250 "turn-a-correction-into": {

1251 title: "Ubah koreksi menjadi aturan",

1252 teaches: "Koreksi dalam obrolan tidak dibagikan dengan tim Anda. Aturan dalam [CLAUDE.md](/id/memory) proyek dibagikan setelah Anda berkomitmen, dan Claude membacanya di awal setiap sesi.",

1253 next: "Buka `/memory` untuk meninjau apa yang ditulis Claude"

1254 },

1255 "resolve-merge-conflicts": {

1256 title: "Selesaikan konflik penggabungan",

1257 teaches: "Katakan status apa yang Anda inginkan, bukan penanda mana yang harus disimpan. Meminta alasan membuat penggabungan dapat ditinjau alih-alih kotak hitam."

1258 },

1259 "commit-with-a-generated": {

1260 title: "Berkomitmen dengan pesan yang dihasilkan",

1261 teaches: "Biarkan Claude menurunkan pesan dari diff. Ini cocok dengan gaya komit yang ada di repositori Anda."

1262 },

1263 "open-a-pull-request": {

1264 title: "Buka permintaan tarik dari tiket",

1265 teaches: "Lewati pengalihan konteks antara pelacak, editor, dan GitHub. Satu prompt membaca spesifikasi, membuat perubahan, dan membuka PR."

1266 },

1267 "draft-release-notes-from": {

1268 title: "Buat draf catatan rilis dari riwayat git",

1269 teaches: "Berikan dua titik referensi dan struktur yang Anda inginkan. Claude membaca log komit di antara mereka dan membuat draf changelog yang dapat Anda edit.",

1270 next: "Simpan ini sebagai skill `/changelog`"

1271 },

1272 "write-a-ci-workflow": {

1273 title: "Tulis alur kerja CI",

1274 teaches: "Jelaskan kapan harus dijalankan dan apa yang harus dilakukan; YAML dihasilkan untuk Anda, cocok dengan perintah pembangunan dan pengujian proyek Anda."

1275 },

1276 "find-and-fix-a": {

1277 title: "Temukan dan perbaiki tes yang gagal",

1278 teaches: "Jelaskan gejala; Anda tidak perlu tahu file mana yang rusak. Claude menjalankan tes untuk melihat kegagalan, melacaknya ke sumber, dan memperbaikinya."

1279 },

1280 "investigate-a-reported-error": {

1281 title: "Selidiki kesalahan yang dilaporkan",

1282 teaches: "Jelaskan gejala dan lokasi; Claude membaca jalur kode yang relevan dan melacak kemungkinan penyebab. Tempel jejak tumpukan atau log jika Anda memilikinya.",

1283 next: "Letakkan deeplink dalam runbook Anda yang membuka Claude dengan prompt ini sudah diisi sebelumnya"

1284 },

1285 "fix-a-build-error": {

1286 title: "Perbaiki kesalahan pembangunan di akar",

1287 teaches: "Meminta penyebab akar dan verifikasi mencegah patch tingkat permukaan yang menekan kesalahan tanpa memperbaikinya."

1288 },

1289 "investigate-a-production-incident": {

1290 title: "Selidiki insiden produksi",

1291 teaches: "Daftar sumber bukti untuk berkorelasi, bukan langkah yang harus diambil. Claude membaca log, riwayat git, dan konfigurasi bersama untuk mempersempit penyebab.",

1292 next: "Hubungkan Sentry atau penyimpanan log Anda melalui MCP"

1293 },

1294 "query-logs-in-plain": {

1295 title: "Pertanyaan log dalam bahasa Inggris biasa",

1296 teaches: "Tanyakan pertanyaan alih-alih menulis SQL. Claude membangun kueri, menjalankannya terhadap log yang terhubung, dan menunjukkan kueri dan hasilnya sehingga Anda dapat memeriksa apa yang dijalankan."

1297 },

1298 "diagnose-from-a-console": {

1299 title: "Diagnosa dari tangkapan layar konsol",

1300 teaches: "Konsol cloud menunjukkan masalah tetapi bukan perintah untuk memperbaikinya. Claude membaca tangkapan layar dan menerjemahkan dasbor menjadi perintah kubectl, gcloud, atau aws untuk dijalankan."

1301 },

1302 "analyze-a-data-file": {

1303 title: "Analisis file data",

1304 teaches: "Pertanyaan sekali-jalan tidak memerlukan skrip sekali-jalan. Tunjuk file di folder proyek Anda dan Claude membacanya langsung, menemukan pola, dan menulis output di mana Anda minta.",

1305 next: "Hubungkan sumber data melalui MCP alih-alih mengekspor file"

1306 },

1307 "generate-variations-from-performance": {

1308 title: "Hasilkan variasi dari data kinerja",

1309 teaches: "Nyatakan batasan di awal sehingga generasi tetap dalam batas. Claude membaca metrik, memilih apa yang harus diganti, dan menghasilkan alternatif yang sesuai.",

1310 next: "Hubungkan platform iklan melalui MCP alih-alih mengekspor file"

1311 },

1312 "turn-a-recurring-task": {

1313 title: "Ubah tugas berulang menjadi skill",

1314 teaches: "Sebutkan langkah-langkah sekali; gunakan kembali sebagai perintah. Claude menulis [skill](/id/skills) yang dapat dijalankan siapa pun di tim Anda."

1315 },

1316 "add-a-hook-for": {

1317 title: "Tambahkan hook untuk perilaku berulang",

1318 teaches: "Hooks membuat perilaku otomatis alih-alih sesuatu yang harus Anda ingat untuk diminta. Jelaskan pemicu dan tindakan dan Claude menulis konfigurasi [hook](/id/hooks)."

1319 },

1320 "connect-a-tool-with": {

1321 title: "Hubungkan alat dengan MCP",

1322 teaches: "Hubungkan sumber sekali alih-alih menempel data setiap sesi. Setelah penyiapan [MCP](/id/mcp), Claude membaca dari alat secara langsung ketika Anda menanyakannya."

1323 },

1324 "capture-what-to-remember": {

1325 title: "Tangkap apa yang harus diingat untuk lain kali",

1326 teaches: "Tanya sebelum Anda lupa. Claude tahu apa yang harus dipikirkan sesi ini dan mengusulkan entri [CLAUDE.md](/id/memory) sehingga sesi berikutnya dimulai dengan konteks itu."

1327 }

1328};

1329 

1330<PromptLibrary text={text} labels={labels} tagLabels={tagLabels} phaseLabels={phaseLabels} sourceLabels={sourceLabels} catLabels={catLabels} />

1331 

13<h2 id="what-makes-these-prompts-work">1332<h2 id="what-makes-these-prompts-work">

14 Apa yang membuat prompt ini berhasil1333 Apa yang membuat prompt ini berhasil

15</h2>1334</h2>

Details

119 119 

120Dalam sesi terminal interaktif, indikator `/rc active` berada di footer di bawah kotak input saat koneksi aktif, dan disembunyikan jika terminal terlalu sempit untuk menampilkannya. Teks indikator adalah tautan ke sesi di claude.ai. Pilihnya dengan tombol panah bawah dan tekan Enter, atau jalankan `/remote-control` lagi, untuk membuka panel status dengan URL sesi dan kode QR yang dapat Anda gunakan untuk [terhubung dari perangkat lain](#connect-from-another-device).120Dalam sesi terminal interaktif, indikator `/rc active` berada di footer di bawah kotak input saat koneksi aktif, dan disembunyikan jika terminal terlalu sempit untuk menampilkannya. Teks indikator adalah tautan ke sesi di claude.ai. Pilihnya dengan tombol panah bawah dan tekan Enter, atau jalankan `/remote-control` lagi, untuk membuka panel status dengan URL sesi dan kode QR yang dapat Anda gunakan untuk [terhubung dari perangkat lain](#connect-from-another-device).

121 121 

122Jika koneksi gagal, indikator berubah menjadi merah dan menampilkan `/rc failed`. Pilihnya dengan tombol panah bawah dan tekan Enter untuk melihat alasan kegagalan dan opsi untuk menutupnya, atau jalankan `/remote-control` lagi untuk mencoba ulang.122Jika koneksi gagal, notifikasi muncul dengan alasan kegagalan dan indikator hilang dari footer. Jalankan `/remote-control` lagi untuk mencoba ulang.

123 123 

124<h3 id="connect-from-another-device">124<h3 id="connect-from-another-device">

125 Terhubung dari perangkat lain125 Terhubung dari perangkat lain


206* Di iOS, Focus modes dan notification summaries dapat menekan atau menunda push. Periksa Settings → Notifications → Claude.206* Di iOS, Focus modes dan notification summaries dapat menekan atau menunda push. Periksa Settings → Notifications → Claude.

207* Di Android, optimasi baterai yang agresif dapat menunda pengiriman. Kecualikan aplikasi Claude dari optimasi baterai di pengaturan sistem.207* Di Android, optimasi baterai yang agresif dapat menunda pengiriman. Kecualikan aplikasi Claude dari optimasi baterai di pengaturan sistem.

208 208 

209Claude Code melewatkan notifikasi push mobile saat Anda mengetik atau fokus pada terminal yang terhubung. {/* min-version: 2.1.181 */}Mulai dari v2.1.181, Anda dapat mengatur [`CLAUDE_CLIENT_PRESENCE_FILE`](/id/env-vars) ke jalur file penanda untuk memperluas ini ke kapan saja Anda berada di mesin, bahkan di jendela lain: notifikasi dilewatkan saat file ada. Konfigurasikan pendengar kunci layar atau alat serupa untuk membuat file saat layar Anda membuka kunci dan menghapusnya saat layar Anda terkunci.

210 

209<h2 id="limitations">211<h2 id="limitations">

210 Keterbatasan212 Keterbatasan

211</h2>213</h2>


214* **Proses lokal harus tetap berjalan**: Remote Control berjalan sebagai proses lokal. Jika Anda menutup terminal, keluar dari VS Code, atau menghentikan proses `claude`, sesi berakhir.216* **Proses lokal harus tetap berjalan**: Remote Control berjalan sebagai proses lokal. Jika Anda menutup terminal, keluar dari VS Code, atau menghentikan proses `claude`, sesi berakhir.

215* **Pemadaman jaringan yang diperpanjang**: jika mesin Anda aktif tetapi tidak dapat menjangkau jaringan selama lebih dari kira-kira 10 menit, sesi habis waktu dan proses keluar. Jalankan `claude remote-control` lagi untuk memulai sesi baru.217* **Pemadaman jaringan yang diperpanjang**: jika mesin Anda aktif tetapi tidak dapat menjangkau jaringan selama lebih dari kira-kira 10 menit, sesi habis waktu dan proses keluar. Jalankan `claude remote-control` lagi untuk memulai sesi baru.

216* **Ultraplan memutuskan Remote Control**: memulai sesi [ultraplan](/id/ultraplan) memutuskan sesi Remote Control aktif apa pun karena kedua fitur menempati antarmuka claude.ai/code dan hanya satu yang dapat terhubung pada satu waktu.218* **Ultraplan memutuskan Remote Control**: memulai sesi [ultraplan](/id/ultraplan) memutuskan sesi Remote Control aktif apa pun karena kedua fitur menempati antarmuka claude.ai/code dan hanya satu yang dapat terhubung pada satu waktu.

217* **Beberapa perintah hanya lokal**: perintah yang membuka pemilih interaktif di terminal, seperti `/plugin` atau `/resume`, hanya bekerja dari CLI lokal. Perintah yang menghasilkan output teks, termasuk `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap`, dan `/reload-plugins`, bekerja dari mobile dan web. {/* min-version: 2.1.166 */}Mulai dari v2.1.166, `/mcp` juga bekerja dari mobile dan web: ini mengembalikan ringkasan teks status server alih-alih membuka pemilih, dan menerima [subperintah](/id/commands#all-commands) yang sama `reconnect`, `enable`, dan `disable` seperti CLI lokal, dengan satu perbedaan: dari mobile dan web, `/mcp reconnect` tanpa nama server menghubungkan kembali setiap server yang gagal atau memerlukan autentikasi, sementara CLI lokal memerlukan nama server untuk `reconnect`.219* **Beberapa perintah hanya lokal**: perintah yang membuka pemilih interaktif di terminal, seperti `/plugin` atau `/resume`, hanya bekerja dari CLI lokal. Perintah berikut bekerja dari mobile dan web:

220 * Perintah output teks: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap`, `/reload-plugins`

221 * {/* min-version: 2.1.166 */}`/mcp`, dari v2.1.166: mengembalikan ringkasan teks status server alih-alih membuka pemilih, dan menerima [subperintah](/id/commands#all-commands) `reconnect`, `enable`, dan `disable`. Tidak seperti CLI lokal, `/mcp reconnect` tanpa nama server menghubungkan kembali setiap server yang gagal atau memerlukan autentikasi.

222 * {/* min-version: 2.1.181 */}`/config`, dari v2.1.181: teruskan `key=value` untuk menetapkan pengaturan, atau jalankan tanpa argumen untuk membuat daftar kunci yang dapat Anda atur.

218 223 

219<h2 id="troubleshooting">224<h2 id="troubleshooting">

220 Pemecahan Masalah225 Pemecahan Masalah

sandboxing.md +2 −0

Details

372* **Perintah gagal dengan kesalahan host-not-allowed**: banyak alat CLI perlu menjangkau host tertentu. Memberikan izin saat diminta menambahkan host ke daftar yang diizinkan sehingga alat berjalan di dalam sandbox di masa depan.372* **Perintah gagal dengan kesalahan host-not-allowed**: banyak alat CLI perlu menjangkau host tertentu. Memberikan izin saat diminta menambahkan host ke daftar yang diizinkan sehingga alat berjalan di dalam sandbox di masa depan.

373* **`jest` hang atau gagal**: `watchman` tidak kompatibel dengan sandbox. Jalankan `jest --no-watchman` sebagai gantinya.373* **`jest` hang atau gagal**: `watchman` tidak kompatibel dengan sandbox. Jalankan `jest --no-watchman` sebagai gantinya.

374* **Go-based CLIs gagal verifikasi TLS di macOS**: alat seperti `gh`, `gcloud`, dan `terraform` mungkin gagal verifikasi TLS di bawah Seatbelt. Daftar alat ini dalam `excludedCommands` untuk menjalankannya di luar sandbox. Jika Anda menggunakan `httpProxyPort` dengan proxy MITM dan CA khusus, atur [`enableWeakerNetworkIsolation`](/id/settings#sandbox-settings) ke `true` sebagai gantinya.374* **Go-based CLIs gagal verifikasi TLS di macOS**: alat seperti `gh`, `gcloud`, dan `terraform` mungkin gagal verifikasi TLS di bawah Seatbelt. Daftar alat ini dalam `excludedCommands` untuk menjalankannya di luar sandbox. Jika Anda menggunakan `httpProxyPort` dengan proxy MITM dan CA khusus, atur [`enableWeakerNetworkIsolation`](/id/settings#sandbox-settings) ke `true` sebagai gantinya.

375* **Perintah `open`, `osascript`, atau alur autentikasi berbasis browser gagal dengan kesalahan `-600` di macOS**: sandbox memblokir Apple Events secara default. Atur [`allowAppleEvents`](/id/settings#sandbox-settings) ke `true` dalam pengaturan pengguna, terkelola, atau CLI Anda untuk mengizinkannya. Pengaturan proyek diabaikan untuk kunci ini. Mengaktifkannya menghilangkan isolasi eksekusi kode, karena perintah sandboxed kemudian dapat meluncurkan aplikasi lain tanpa sandbox tanpa prompt pengguna dan mengirim perintah AppleScript ke aplikasi yang berjalan, tunduk pada prompt otomasi-persetujuan macOS (TCC). Alternatifnya, tambahkan perintah ke `excludedCommands` untuk menjalankannya di luar sandbox.

375* **Perintah `docker` gagal**: `docker` tidak kompatibel dengan sandbox. Tambahkan `docker *` ke `excludedCommands` untuk menjalankannya di luar sandbox.376* **Perintah `docker` gagal**: `docker` tidak kompatibel dengan sandbox. Tambahkan `docker *` ke `excludedCommands` untuk menjalankannya di luar sandbox.

376* **Bubblewrap gagal memulai di dalam container**: dalam container tanpa privilege, bubblewrap tidak dapat memasang filesystem `/proc` segar. Atur [`enableWeakerNestedSandbox`](/id/settings#sandbox-settings) ke `true` sehingga sandbox dalam bind-mount `/proc` yang ada dari container sebagai gantinya. Hanya gunakan pengaturan ini ketika container luar sudah menyediakan batas isolasi yang Anda butuhkan, karena mengekspos informasi proses ke perintah sandboxed yang mount `/proc` segar akan menyembunyikan.377* **Bubblewrap gagal memulai di dalam container**: dalam container tanpa privilege, bubblewrap tidak dapat memasang filesystem `/proc` segar. Atur [`enableWeakerNestedSandbox`](/id/settings#sandbox-settings) ke `true` sehingga sandbox dalam bind-mount `/proc` yang ada dari container sebagai gantinya. Hanya gunakan pengaturan ini ketika container luar sudah menyediakan batas isolasi yang Anda butuhkan, karena mengekspos informasi proses ke perintah sandboxed yang mount `/proc` segar akan menyembunyikan.

377* **Filter seccomp di Linux**: filter seccomp diperlukan untuk memblokir soket domain Unix. Tab Dependencies dalam `/sandbox` menunjukkan apakah tersedia. Jika hilang, jalankan `npm install -g @anthropic-ai/sandbox-runtime` untuk menginstal helper.378* **Filter seccomp di Linux**: filter seccomp diperlukan untuk memblokir soket domain Unix. Tab Dependencies dalam `/sandbox` menunjukkan apakah tersedia. Jika hilang, jalankan `npm install -g @anthropic-ai/sandbox-runtime` untuk menginstal helper.


396* **Eskalasi privilege melalui soket Unix**: konfigurasi `allowUnixSockets` dapat secara tidak sengaja memberikan akses ke layanan sistem yang kuat yang dapat menyebabkan bypass sandbox. Misalnya, mengizinkan akses ke `/var/run/docker.sock` secara efektif memberikan akses ke sistem host melalui soket Docker. Pertimbangkan dengan hati-hati soket Unix apa pun yang Anda izinkan melalui sandbox.397* **Eskalasi privilege melalui soket Unix**: konfigurasi `allowUnixSockets` dapat secara tidak sengaja memberikan akses ke layanan sistem yang kuat yang dapat menyebabkan bypass sandbox. Misalnya, mengizinkan akses ke `/var/run/docker.sock` secara efektif memberikan akses ke sistem host melalui soket Docker. Pertimbangkan dengan hati-hati soket Unix apa pun yang Anda izinkan melalui sandbox.

397* **Eskalasi izin filesystem**: izin penulisan filesystem yang terlalu luas dapat memungkinkan serangan eskalasi privilege. Mengizinkan penulisan ke direktori yang berisi executable dalam `$PATH`, direktori konfigurasi sistem, atau file konfigurasi shell pengguna seperti `.bashrc` atau `.zshrc` dapat menyebabkan eksekusi kode dalam konteks keamanan yang berbeda ketika pengguna lain atau proses sistem mengakses file ini.398* **Eskalasi izin filesystem**: izin penulisan filesystem yang terlalu luas dapat memungkinkan serangan eskalasi privilege. Mengizinkan penulisan ke direktori yang berisi executable dalam `$PATH`, direktori konfigurasi sistem, atau file konfigurasi shell pengguna seperti `.bashrc` atau `.zshrc` dapat menyebabkan eksekusi kode dalam konteks keamanan yang berbeda ketika pengguna lain atau proses sistem mengakses file ini.

398* **Kekuatan sandbox Linux**: implementasi Linux menyediakan isolasi filesystem dan jaringan yang kuat tetapi mencakup mode `enableWeakerNestedSandbox` yang memungkinkannya bekerja di dalam lingkungan Docker tanpa namespace istimewa, atau pada host Linux di mana user namespaces tanpa privilege dinonaktifkan oleh sysctl. Opsi ini secara konsiderabel melemahkan keamanan dan hanya boleh digunakan ketika isolasi tambahan sebaliknya diberlakukan.399* **Kekuatan sandbox Linux**: implementasi Linux menyediakan isolasi filesystem dan jaringan yang kuat tetapi mencakup mode `enableWeakerNestedSandbox` yang memungkinkannya bekerja di dalam lingkungan Docker tanpa namespace istimewa, atau pada host Linux di mana user namespaces tanpa privilege dinonaktifkan oleh sysctl. Opsi ini secara konsiderabel melemahkan keamanan dan hanya boleh digunakan ketika isolasi tambahan sebaliknya diberlakukan.

400* **Apple Events pada macOS**: sandbox macOS memblokir Apple Events secara default. Pengaturan `allowAppleEvents` menghapus pembatasan ini sehingga alat seperti `open` dan `osascript` berfungsi, tetapi menghilangkan isolasi eksekusi kode: perintah sandboxed dapat meluncurkan aplikasi lain tanpa sandbox tanpa prompt pengguna, dan dapat mengirim perintah AppleScript ke aplikasi yang sedang berjalan, tunduk pada prompt persetujuan otomasi macOS per-aplikasi (TCC). Ini hanya dihormati dari pengaturan pengguna, terkelola, atau CLI. Pengaturan proyek tidak dapat mengaktifkannya.

399* **File pengaturan dilindungi**: sandbox secara otomatis menolak akses tulis ke file `settings.json` Claude Code di setiap scope dan ke direktori pengaturan terkelola, sehingga perintah sandboxed tidak dapat memodifikasi kebijakan sendiri.401* **File pengaturan dilindungi**: sandbox secara otomatis menolak akses tulis ke file `settings.json` Claude Code di setiap scope dan ke direktori pengaturan terkelola, sehingga perintah sandboxed tidak dapat memodifikasi kebijakan sendiri.

400 402 

401<h3 id="platform-and-tool-compatibility">403<h3 id="platform-and-tool-compatibility">

settings.md +13 −6

Details

6 6 

7> Konfigurasikan Claude Code dengan pengaturan global dan tingkat proyek, serta variabel lingkungan.7> Konfigurasikan Claude Code dengan pengaturan global dan tingkat proyek, serta variabel lingkungan.

8 8 

9Claude Code menawarkan berbagai pengaturan untuk mengonfigurasi perilakunya sesuai kebutuhan Anda. Anda dapat mengonfigurasi Claude Code dengan menjalankan perintah `/config` saat menggunakan REPL interaktif, yang membuka antarmuka Pengaturan bertab di mana Anda dapat melihat informasi status dan memodifikasi opsi konfigurasi.9Claude Code menawarkan berbagai pengaturan untuk mengonfigurasi perilakunya sesuai kebutuhan Anda. Anda dapat mengonfigurasi Claude Code dengan menjalankan perintah `/config`, yang membuka antarmuka Pengaturan bertab di mana Anda dapat melihat informasi status dan memodifikasi opsi konfigurasi. {/* min-version: 2.1.181 */}Mulai dari v2.1.181, Anda dapat mengubah satu opsi tanpa membuka antarmuka dengan melewatkan `key=value` ke `/config`, misalnya `/config verbose=true`.

10 10 

11<h2 id="configuration-scopes">11<h2 id="configuration-scopes">

12 Cakupan konfigurasi12 Cakupan konfigurasi


234| `awaySummaryEnabled` | Tampilkan ringkasan sesi satu baris saat Anda kembali ke terminal setelah beberapa menit pergi. Atur ke `false` atau matikan Session recap di `/config` untuk menonaktifkan. Sama dengan [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/id/env-vars) | `true` |234| `awaySummaryEnabled` | Tampilkan ringkasan sesi satu baris saat Anda kembali ke terminal setelah beberapa menit pergi. Atur ke `false` atau matikan Session recap di `/config` untuk menonaktifkan. Sama dengan [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/id/env-vars) | `true` |

235| `awsAuthRefresh` | Skrip khusus yang memodifikasi direktori `.aws` (lihat [konfigurasi kredensial lanjutan](/id/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |235| `awsAuthRefresh` | Skrip khusus yang memodifikasi direktori `.aws` (lihat [konfigurasi kredensial lanjutan](/id/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |

236| `awsCredentialExport` | Skrip khusus yang menampilkan JSON dengan kredensial AWS (lihat [konfigurasi kredensial lanjutan](/id/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |236| `awsCredentialExport` | Skrip khusus yang menampilkan JSON dengan kredensial AWS (lihat [konfigurasi kredensial lanjutan](/id/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |

237| `axScreenReader` | {/* min-version: 2.1.181 */}Render output yang ramah screen-reader: teks datar tanpa border dekoratif atau animasi. Mode screen-reader selalu menggunakan renderer klasik, jadi pengaturan `tui` tidak berpengaruh saat aktif. Variabel lingkungan [`CLAUDE_AX_SCREEN_READER`](/id/env-vars) dan flag [`--ax-screen-reader`](/id/cli-reference#cli-flags) memiliki prioritas. Memerlukan Claude Code v2.1.181 atau lebih baru | `true` |

237| `blockedMarketplaces` | (Pengaturan yang dikelola saja) Daftar hitam sumber marketplace. Diterapkan pada penambahan marketplace dan instalasi plugin, pembaruan, penyegaran, dan auto-update, jadi marketplace yang ditambahkan sebelum kebijakan ditetapkan tidak dapat digunakan untuk mengambil plugin. Sumber yang diblokir diperiksa sebelum mengunduh, jadi mereka tidak pernah menyentuh sistem file. Lihat [Pembatasan marketplace yang dikelola](/id/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "untrusted/plugins" }]` |238| `blockedMarketplaces` | (Pengaturan yang dikelola saja) Daftar hitam sumber marketplace. Diterapkan pada penambahan marketplace dan instalasi plugin, pembaruan, penyegaran, dan auto-update, jadi marketplace yang ditambahkan sebelum kebijakan ditetapkan tidak dapat digunakan untuk mengambil plugin. Sumber yang diblokir diperiksa sebelum mengunduh, jadi mereka tidak pernah menyentuh sistem file. Lihat [Pembatasan marketplace yang dikelola](/id/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "untrusted/plugins" }]` |

238| `channelsEnabled` | (Pengaturan yang dikelola saja) Izinkan [channels](/id/channels) untuk organisasi. Pada paket Claude.ai Team dan Enterprise, channels diblokir saat ini tidak diatur atau `false`. Untuk akun [Anthropic Console](/id/authentication#claude-console-authentication) menggunakan autentikasi kunci API, channels diizinkan secara default kecuali organisasi Anda menggunakan pengaturan yang dikelola, dalam hal ini kunci ini harus diatur ke `true` | `true` |239| `channelsEnabled` | (Pengaturan yang dikelola saja) Izinkan [channels](/id/channels) untuk organisasi. Pada paket Claude.ai Team dan Enterprise, channels diblokir saat ini tidak diatur atau `false`. Untuk akun [Anthropic Console](/id/authentication#claude-console-authentication) menggunakan autentikasi kunci API, channels diizinkan secara default kecuali organisasi Anda menggunakan pengaturan yang dikelola, dalam hal ini kunci ini harus diatur ke `true` | `true` |

239| `claudeMd` | (Pengaturan yang dikelola saja) Instruksi gaya CLAUDE.md yang disuntikkan sebagai memori yang dikelola organisasi. Hanya dihormati saat diatur dalam pengaturan yang dikelola atau kebijakan dan diabaikan dalam pengaturan pengguna, proyek, dan lokal. Lihat [CLAUDE.md di seluruh organisasi](/id/memory#deploy-organization-wide-claude-md) | `"Always run make lint before committing."` |240| `claudeMd` | (Pengaturan yang dikelola saja) Instruksi gaya CLAUDE.md yang disuntikkan sebagai memori yang dikelola organisasi. Hanya dihormati saat diatur dalam pengaturan yang dikelola atau kebijakan dan diabaikan dalam pengaturan pengguna, proyek, dan lokal. Lihat [CLAUDE.md di seluruh organisasi](/id/memory#deploy-organization-wide-claude-md) | `"Always run make lint before committing."` |


244| `deniedMcpServers` | Saat diatur dalam managed-settings.json, daftar hitam MCP servers yang secara eksplisit diblokir. Berlaku untuk semua cakupan termasuk servers yang dikelola. Daftar hitam memiliki prioritas atas daftar putih. Lihat [Konfigurasi MCP yang Dikelola](/id/managed-mcp) | `[{ "serverName": "filesystem" }]` |245| `deniedMcpServers` | Saat diatur dalam managed-settings.json, daftar hitam MCP servers yang secara eksplisit diblokir. Berlaku untuk semua cakupan termasuk servers yang dikelola. Daftar hitam memiliki prioritas atas daftar putih. Lihat [Konfigurasi MCP yang Dikelola](/id/managed-mcp) | `[{ "serverName": "filesystem" }]` |

245| `disableAgentView` | Atur ke `true` untuk mematikan [background agents dan agent view](/id/agent-view): `claude agents`, `--bg`, `/background`, dan supervisor on-demand. Biasanya diatur dalam [pengaturan yang dikelola](/id/permissions#managed-settings). Setara dengan pengaturan `CLAUDE_CODE_DISABLE_AGENT_VIEW` ke `1` | `true` |246| `disableAgentView` | Atur ke `true` untuk mematikan [background agents dan agent view](/id/agent-view): `claude agents`, `--bg`, `/background`, dan supervisor on-demand. Biasanya diatur dalam [pengaturan yang dikelola](/id/permissions#managed-settings). Setara dengan pengaturan `CLAUDE_CODE_DISABLE_AGENT_VIEW` ke `1` | `true` |

246| `disableAllHooks` | Nonaktifkan semua [hooks](/id/hooks) dan [status line](/id/statusline) khusus apa pun | `true` |247| `disableAllHooks` | Nonaktifkan semua [hooks](/id/hooks) dan [status line](/id/statusline) khusus apa pun | `true` |

248| `disableArtifact` | Atur ke `true` untuk menonaktifkan tool [Artifact](/id/artifacts), yang menerbitkan output sesi sebagai halaman web pribadi di claude.ai. Setara dengan pengaturan `CLAUDE_CODE_DISABLE_ARTIFACT` ke `1` | `true` |

247| `disableAutoMode` | Atur ke `"disable"` untuk mencegah [mode otomatis](/id/permission-modes#eliminate-prompts-with-auto-mode) diaktifkan. Menghapus `auto` dari siklus `Shift+Tab` dan menolak `--permission-mode auto` saat startup. Paling berguna dalam [pengaturan yang dikelola](/id/permissions#managed-settings) di mana pengguna tidak dapat menimpanya | `"disable"` |249| `disableAutoMode` | Atur ke `"disable"` untuk mencegah [mode otomatis](/id/permission-modes#eliminate-prompts-with-auto-mode) diaktifkan. Menghapus `auto` dari siklus `Shift+Tab` dan menolak `--permission-mode auto` saat startup. Paling berguna dalam [pengaturan yang dikelola](/id/permissions#managed-settings) di mana pengguna tidak dapat menimpanya | `"disable"` |

248| `disableBundledSkills` | Atur ke `true` untuk menonaktifkan [skills](/id/skills) dan workflows yang dikirimkan dengan Claude Code: skills bundel dan workflows dihapus sepenuhnya, sementara perintah slash bawaan seperti `/init` tetap dapat diketik tetapi disembunyikan dari model. Skills dari plugins, `.claude/skills/`, dan `.claude/commands/` tidak terpengaruh. Setara dengan pengaturan `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` ke `1` | `true` |250| `disableBundledSkills` | Atur ke `true` untuk menonaktifkan [skills](/id/skills) dan workflows yang dikirimkan dengan Claude Code: skills bundel dan workflows dihapus sepenuhnya, sementara perintah slash bawaan seperti `/init` tetap dapat diketik tetapi disembunyikan dari model. Skills dari plugins, `.claude/skills/`, dan `.claude/commands/` tidak terpengaruh. Setara dengan pengaturan `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` ke `1` | `true` |

251| `disableClaudeAiConnectors` | {/* min-version: 2.1.182 */}Nonaktifkan [claude.ai MCP connectors](/id/mcp#use-mcp-servers-from-claude-ai) sehingga mereka tidak auto-fetched atau terhubung. Atur dalam cakupan pengaturan apa pun. `true` dalam sumber apa pun memiliki prioritas, jadi `.claude/settings.json` proyek yang diperiksa dapat memilih repositori dari konektor cloud, tetapi proyek-level `false` tidak dapat menimpa tingkat pengguna atau kebijakan `true`. Servers yang dilewatkan secara eksplisit melalui `--mcp-config` tidak terpengaruh. Untuk menolak konektor individual daripada semuanya, gunakan [`deniedMcpServers`](/id/managed-mcp). Memerlukan Claude Code v2.1.182 atau lebih baru | `true` |

249| `disableDeepLinkRegistration` | Atur ke `"disable"` untuk mencegah Claude Code mendaftarkan penanganan protokol `claude-cli://` dengan sistem operasi saat startup. [Deep links](/id/deep-links) memungkinkan tools eksternal membuka sesi Claude Code dengan prompt yang sudah diisi sebelumnya. Berguna di lingkungan di mana pendaftaran penanganan protokol dibatasi atau dikelola secara terpisah | `"disable"` |252| `disableDeepLinkRegistration` | Atur ke `"disable"` untuk mencegah Claude Code mendaftarkan penanganan protokol `claude-cli://` dengan sistem operasi saat startup. [Deep links](/id/deep-links) memungkinkan tools eksternal membuka sesi Claude Code dengan prompt yang sudah diisi sebelumnya. Berguna di lingkungan di mana pendaftaran penanganan protokol dibatasi atau dikelola secara terpisah | `"disable"` |

250| `disabledMcpjsonServers` | Daftar MCP servers spesifik dari file `.mcp.json` untuk menolak | `["filesystem"]` |253| `disabledMcpjsonServers` | Daftar MCP servers spesifik dari file `.mcp.json` untuk menolak | `["filesystem"]` |

251| `disableRemoteControl` | {/* min-version: 2.1.128 */}Nonaktifkan [Remote Control](/id/remote-control): memblokir `claude remote-control`, flag `--remote-control`, auto-start, dan toggle dalam sesi. Biasanya ditempatkan dalam [pengaturan yang dikelola](/id/permissions#managed-settings) untuk penegakan MDM per-perangkat, tetapi berfungsi dari cakupan apa pun. Memerlukan Claude Code v2.1.128 atau lebih baru | `true` |254| `disableRemoteControl` | {/* min-version: 2.1.128 */}Nonaktifkan [Remote Control](/id/remote-control): memblokir `claude remote-control`, flag `--remote-control`, auto-start, dan toggle dalam sesi. Biasanya ditempatkan dalam [pengaturan yang dikelola](/id/permissions#managed-settings) untuk penegakan MDM per-perangkat, tetapi berfungsi dari cakupan apa pun. Memerlukan Claude Code v2.1.128 atau lebih baru | `true` |


288| `preferredNotifChannel` | Metode untuk notifikasi task-complete dan permission-prompt: `"auto"`, `"terminal_bell"`, `"iterm2"`, `"iterm2_with_bell"`, `"kitty"`, `"ghostty"`, atau `"notifications_disabled"`. Default: `"auto"`, yang mengirim notifikasi desktop di iTerm2, Ghostty, dan Kitty dan tidak melakukan apa pun di terminal lain. Atur `"terminal_bell"` untuk membunyikan karakter bell di terminal apa pun. Muncul di `/config` sebagai **Notifications**. Lihat [Dapatkan terminal bell atau notifikasi](/id/terminal-config#get-a-terminal-bell-or-notification) | `"terminal_bell"` |291| `preferredNotifChannel` | Metode untuk notifikasi task-complete dan permission-prompt: `"auto"`, `"terminal_bell"`, `"iterm2"`, `"iterm2_with_bell"`, `"kitty"`, `"ghostty"`, atau `"notifications_disabled"`. Default: `"auto"`, yang mengirim notifikasi desktop di iTerm2, Ghostty, dan Kitty dan tidak melakukan apa pun di terminal lain. Atur `"terminal_bell"` untuk membunyikan karakter bell di terminal apa pun. Muncul di `/config` sebagai **Notifications**. Lihat [Dapatkan terminal bell atau notifikasi](/id/terminal-config#get-a-terminal-bell-or-notification) | `"terminal_bell"` |

289| `prefersReducedMotion` | Kurangi atau nonaktifkan animasi UI (spinners, shimmer, efek flash) untuk aksesibilitas | `true` |292| `prefersReducedMotion` | Kurangi atau nonaktifkan animasi UI (spinners, shimmer, efek flash) untuk aksesibilitas | `true` |

290| `prUrlTemplate` | Template URL untuk lencana PR yang ditampilkan di footer dan dalam ringkasan hasil tool. Mengganti `{host}`, `{owner}`, `{repo}`, `{number}`, dan `{url}` dari URL PR yang dilaporkan `gh`. Gunakan untuk mengarahkan tautan PR ke alat review kode internal daripada `github.com`. Tidak mempengaruhi autolinks `#123` dalam prosa Claude | `"https://reviews.example.com/{owner}/{repo}/pull/{number}"` |293| `prUrlTemplate` | Template URL untuk lencana PR yang ditampilkan di footer dan dalam ringkasan hasil tool. Mengganti `{host}`, `{owner}`, `{repo}`, `{number}`, dan `{url}` dari URL PR yang dilaporkan `gh`. Gunakan untuk mengarahkan tautan PR ke alat review kode internal daripada `github.com`. Tidak mempengaruhi autolinks `#123` dalam prosa Claude | `"https://reviews.example.com/{owner}/{repo}/pull/{number}"` |

294| `remoteControlAtStartup` | {/* min-version: 2.1.119 */}Hubungkan [Remote Control](/id/remote-control) secara otomatis saat setiap sesi interaktif dimulai, daripada menunggu `/remote-control`. Atur ke `true` untuk selalu auto-connect, `false` untuk tidak pernah auto-connect, atau biarkan tidak diatur untuk mengikuti default organisasi Anda. Muncul di `/config` sebagai **Enable Remote Control for all sessions**. Lihat [Enable Remote Control for all sessions](/id/remote-control#enable-remote-control-for-all-sessions) | `false` |

295| `respondToBashCommands` | {/* min-version: 2.1.186 */}Apakah Claude merespons setelah perintah shell input-box `!` berjalan. Atur ke `false` untuk menambahkan output perintah ke konteks tanpa respons. Default: `true`. Lihat [Shell mode with `!` prefix](/id/interactive-mode#shell-mode-with-prefix). Memerlukan Claude Code v2.1.186 atau lebih baru | `false` |

291| `requiredMaximumVersion` | Pengaturan yang dikelola saja. Versi Claude Code maksimum yang diizinkan untuk memulai. Jika versi yang sedang berjalan lebih baru, Claude Code keluar saat startup dan menginstruksikan pengguna untuk menginstal versi yang disetujui melalui metode yang disetujui organisasi; `claude install <version>` juga dapat berfungsi. Auto-updates latar belakang dan `claude update` melewati versi di atas batas, jadi instalasi dalam jangkauan tetap dalam jangkauan. `claude update`, `claude install`, dan `claude doctor` terus bekerja di atas batas sehingga pengguna dapat pulih. Versi yang mendahului pengaturan ini mengabaikannya | `"2.1.150"` |296| `requiredMaximumVersion` | Pengaturan yang dikelola saja. Versi Claude Code maksimum yang diizinkan untuk memulai. Jika versi yang sedang berjalan lebih baru, Claude Code keluar saat startup dan menginstruksikan pengguna untuk menginstal versi yang disetujui melalui metode yang disetujui organisasi; `claude install <version>` juga dapat berfungsi. Auto-updates latar belakang dan `claude update` melewati versi di atas batas, jadi instalasi dalam jangkauan tetap dalam jangkauan. `claude update`, `claude install`, dan `claude doctor` terus bekerja di atas batas sehingga pengguna dapat pulih. Versi yang mendahului pengaturan ini mengabaikannya | `"2.1.150"` |

292| `requiredMinimumVersion` | Pengaturan yang dikelola saja. Versi Claude Code minimum yang diperlukan untuk memulai. Jika versi yang sedang berjalan lebih lama, Claude Code keluar saat startup dan menginstruksikan pengguna untuk memperbarui melalui metode yang disetujui organisasi. `claude update`, `claude install`, dan `claude doctor` terus bekerja di bawah lantai sehingga pengguna dapat pulih. Berbeda dari `minimumVersion`, yang mencegah downgrade tetapi tidak pernah memblokir startup. Versi yang mendahului pengaturan ini mengabaikannya | `"2.1.150"` |297| `requiredMinimumVersion` | Pengaturan yang dikelola saja. Versi Claude Code minimum yang diperlukan untuk memulai. Jika versi yang sedang berjalan lebih lama, Claude Code keluar saat startup dan menginstruksikan pengguna untuk memperbarui melalui metode yang disetujui organisasi. `claude update`, `claude install`, dan `claude doctor` terus bekerja di bawah lantai sehingga pengguna dapat pulih. Berbeda dari `minimumVersion`, yang mencegah downgrade tetapi tidak pernah memblokir startup. Versi yang mendahului pengaturan ini mengabaikannya | `"2.1.150"` |

293| `respectGitignore` | Kontrol apakah pemilih file `@` menghormati pola `.gitignore`. Saat `true` (default), file yang cocok dengan pola `.gitignore` dikecualikan dari saran | `false` |298| `respectGitignore` | Kontrol apakah pemilih file `@` menghormati pola `.gitignore`. Saat `true` (default), file yang cocok dengan pola `.gitignore` dikecualikan dari saran | `false` |


305| `strictKnownMarketplaces` | (Pengaturan yang dikelola saja) Daftar putih sumber marketplace plugin. Tidak terdefinisi = tidak ada pembatasan, array kosong = lockdown. Diterapkan pada penambahan marketplace dan instalasi plugin, pembaruan, penyegaran, dan auto-update, jadi marketplace yang ditambahkan sebelum kebijakan ditetapkan tidak dapat digunakan untuk mengambil plugin. Lihat [Pembatasan marketplace yang dikelola](/id/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |310| `strictKnownMarketplaces` | (Pengaturan yang dikelola saja) Daftar putih sumber marketplace plugin. Tidak terdefinisi = tidak ada pembatasan, array kosong = lockdown. Diterapkan pada penambahan marketplace dan instalasi plugin, pembaruan, penyegaran, dan auto-update, jadi marketplace yang ditambahkan sebelum kebijakan ditetapkan tidak dapat digunakan untuk mengambil plugin. Lihat [Pembatasan marketplace yang dikelola](/id/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |

306| `strictPluginOnlyCustomization` | (Pengaturan yang dikelola saja) Blokir skills, agents, hooks, dan MCP servers dari sumber pengguna dan proyek, sehingga mereka hanya dapat berasal dari plugins atau pengaturan yang dikelola. `true` mengunci keempat permukaan; array mengunci hanya yang dinamai. Lihat [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | `["skills", "hooks"]` |311| `strictPluginOnlyCustomization` | (Pengaturan yang dikelola saja) Blokir skills, agents, hooks, dan MCP servers dari sumber pengguna dan proyek, sehingga mereka hanya dapat berasal dari plugins atau pengaturan yang dikelola. `true` mengunci keempat permukaan; array mengunci hanya yang dinamai. Lihat [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | `["skills", "hooks"]` |

307| `syntaxHighlightingDisabled` | Nonaktifkan syntax highlighting dalam diffs, code blocks, dan file previews | `true` |312| `syntaxHighlightingDisabled` | Nonaktifkan syntax highlighting dalam diffs, code blocks, dan file previews | `true` |

308| `teammateMode` | Bagaimana [rekan tim agent](/id/agent-teams) ditampilkan: `auto` (memilih panel terpisah di tmux atau iTerm2, dalam proses sebaliknya), `in-process`, atau `tmux` (panel terpisah menggunakan tmux atau iTerm2, dideteksi dari terminal Anda). `--teammate-mode` menimpa ini untuk satu sesi. Lihat [pilih mode tampilan](/id/agent-teams#choose-a-display-mode) | `"in-process"` |313| `teammateMode` | Bagaimana [rekan tim agent](/id/agent-teams) ditampilkan: `in-process` (default), `auto` (panel terpisah saat berjalan di dalam tmux atau iTerm2, dalam proses sebaliknya), `tmux` (panel terpisah menggunakan tmux atau iTerm2, dideteksi dari terminal Anda), atau {/* min-version: 2.1.186 */}`iterm2` (panel terpisah iTerm2 asli melalui CLI `it2`, ditambahkan dalam v2.1.186). Default berubah dari `auto` dalam v2.1.179. `--teammate-mode` menimpa ini untuk satu sesi. Lihat [pilih mode tampilan](/id/agent-teams#choose-a-display-mode) | `"auto"` |

309| `terminalProgressBarEnabled` | Tampilkan bilah kemajuan terminal di terminal yang didukung: ConEmu, Ghostty 1.2.0+, dan iTerm2 3.6.6+. Default: `true`. Muncul di `/config` sebagai **Terminal progress bar** | `false` |314| `terminalProgressBarEnabled` | Tampilkan bilah kemajuan terminal di terminal yang didukung: ConEmu, Ghostty 1.2.0+, dan iTerm2 3.6.6+. Default: `true`. Muncul di `/config` sebagai **Terminal progress bar** | `false` |

310| `theme` | {/* min-version: 2.1.119 */}Tema warna untuk antarmuka: `"auto"`, `"dark"`, `"light"`, `"dark-daltonized"`, `"light-daltonized"`, `"dark-ansi"`, `"light-ansi"`, atau referensi tema khusus seperti `"custom:<slug>"` atau `"custom:<plugin-name>:<slug>"`. Default: `"dark"`. Lihat [Buat tema khusus](/id/terminal-config#create-a-custom-theme). Muncul di `/config` sebagai **Theme** | `"dark"` |315| `theme` | {/* min-version: 2.1.119 */}Tema warna untuk antarmuka: `"auto"`, `"dark"`, `"light"`, `"dark-daltonized"`, `"light-daltonized"`, `"dark-ansi"`, `"light-ansi"`, atau referensi tema khusus seperti `"custom:<slug>"` atau `"custom:<plugin-name>:<slug>"`. Default: `"dark"`. Lihat [Buat tema khusus](/id/terminal-config#create-a-custom-theme). Muncul di `/config` sebagai **Theme** | `"dark"` |

311| `tui` | Renderer UI terminal. Gunakan `"fullscreen"` untuk renderer alt-screen bebas flicker dengan scrollback virtual. Gunakan `"default"` untuk renderer main-screen klasik. Atur melalui `/tui`. Anda juga dapat menetapkan variabel lingkungan [`CLAUDE_CODE_NO_FLICKER`](/id/env-vars) | `"fullscreen"` |316| `tui` | Renderer UI terminal. Gunakan `"fullscreen"` untuk renderer alt-screen bebas flicker dengan scrollback virtual. Gunakan `"default"` untuk renderer main-screen klasik. Atur melalui `/tui`. Anda juga dapat menetapkan variabel lingkungan [`CLAUDE_CODE_NO_FLICKER`](/id/env-vars) | `"fullscreen"` |


389Konfigurasikan perilaku sandboxing lanjutan. Sandboxing mengisolasi perintah bash dari sistem file dan jaringan Anda. Lihat [Sandboxing](/id/sandboxing) untuk detail.394Konfigurasikan perilaku sandboxing lanjutan. Sandboxing mengisolasi perintah bash dari sistem file dan jaringan Anda. Lihat [Sandboxing](/id/sandboxing) untuk detail.

390 395 

391| Kunci | Deskripsi | Contoh |396| Kunci | Deskripsi | Contoh |

392| :------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------- |397| :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :-------------------------------- |

393| `enabled` | Aktifkan bash sandboxing (macOS, Linux, dan WSL2). Default: false | `true` |398| `enabled` | Aktifkan bash sandboxing (macOS, Linux, dan WSL2). Default: false | `true` |

394| `failIfUnavailable` | Keluar dengan kesalahan saat startup jika `sandbox.enabled` adalah true tetapi sandbox tidak dapat dimulai (dependensi yang hilang atau platform yang tidak didukung). Saat false (default), peringatan ditampilkan dan perintah berjalan tanpa sandbox. Dimaksudkan untuk penyebaran pengaturan yang dikelola yang memerlukan sandboxing sebagai gerbang keras | `true` |399| `failIfUnavailable` | Keluar dengan kesalahan saat startup jika `sandbox.enabled` adalah true tetapi sandbox tidak dapat dimulai (dependensi yang hilang atau platform yang tidak didukung). Saat false (default), peringatan ditampilkan dan perintah berjalan tanpa sandbox. Dimaksudkan untuk penyebaran pengaturan yang dikelola yang memerlukan sandboxing sebagai gerbang keras | `true` |

395| `autoAllowBashIfSandboxed` | Secara otomatis menyetujui perintah bash saat sandboxed. Default: true | `true` |400| `autoAllowBashIfSandboxed` | Secara otomatis menyetujui perintah bash saat sandboxed. Default: true | `true` |


411| `network.socksProxyPort` | Port proxy SOCKS5 yang digunakan jika Anda ingin membawa proxy Anda sendiri. Jika tidak ditentukan, Claude akan menjalankan proxy-nya sendiri. | `8081` |416| `network.socksProxyPort` | Port proxy SOCKS5 yang digunakan jika Anda ingin membawa proxy Anda sendiri. Jika tidak ditentukan, Claude akan menjalankan proxy-nya sendiri. | `8081` |

412| `enableWeakerNestedSandbox` | Aktifkan sandbox yang lebih lemah untuk lingkungan Docker tanpa hak istimewa (Linux dan WSL2 saja). **Mengurangi keamanan.** Default: false | `true` |417| `enableWeakerNestedSandbox` | Aktifkan sandbox yang lebih lemah untuk lingkungan Docker tanpa hak istimewa (Linux dan WSL2 saja). **Mengurangi keamanan.** Default: false | `true` |

413| `enableWeakerNetworkIsolation` | (macOS saja) Izinkan akses ke layanan kepercayaan TLS sistem (`com.apple.trustd.agent`) dalam sandbox. Diperlukan untuk tools berbasis Go seperti `gh`, `gcloud`, dan `terraform` untuk memverifikasi sertifikat TLS saat menggunakan `httpProxyPort` dengan proxy MITM dan CA khusus. **Mengurangi keamanan** dengan membuka jalur eksfiltrasi data potensial. Default: false | `true` |418| `enableWeakerNetworkIsolation` | (macOS saja) Izinkan akses ke layanan kepercayaan TLS sistem (`com.apple.trustd.agent`) dalam sandbox. Diperlukan untuk tools berbasis Go seperti `gh`, `gcloud`, dan `terraform` untuk memverifikasi sertifikat TLS saat menggunakan `httpProxyPort` dengan proxy MITM dan CA khusus. **Mengurangi keamanan** dengan membuka jalur eksfiltrasi data potensial. Default: false | `true` |

419| `allowAppleEvents` | (macOS saja) Izinkan perintah sandboxed mengirim Apple Events. Diperlukan untuk `open`, `osascript`, dan tools yang membuka URL di browser, yang sebaliknya gagal dengan error `-600`. **Menghapus isolasi eksekusi kode.** Perintah sandboxed dapat meluncurkan aplikasi lain tanpa sandbox dengan tidak ada prompt pengguna; mereka juga dapat mengirim perintah AppleScript ke aplikasi yang sedang berjalan seperti Terminal, tunduk pada prompt persetujuan otomasi per-app macOS (TCC). Hanya dihormati dari pengaturan pengguna, yang dikelola, atau CLI, bukan dari pengaturan proyek. Default: false | `true` |

414| `bwrapPath` | (Pengaturan yang dikelola saja, Linux/WSL2) Jalur absolut ke binary bubblewrap (`bwrap`). Menimpa deteksi otomatis melalui `PATH`. Hanya dihormati dari [pengaturan yang dikelola](/id/settings#settings-precedence), bukan dari pengaturan pengguna atau proyek. Berguna saat `bwrap` diinstal di lokasi non-standar di lingkungan yang dikelola. | `/opt/admin/bwrap` |420| `bwrapPath` | (Pengaturan yang dikelola saja, Linux/WSL2) Jalur absolut ke binary bubblewrap (`bwrap`). Menimpa deteksi otomatis melalui `PATH`. Hanya dihormati dari [pengaturan yang dikelola](/id/settings#settings-precedence), bukan dari pengaturan pengguna atau proyek. Berguna saat `bwrap` diinstal di lokasi non-standar di lingkungan yang dikelola. | `/opt/admin/bwrap` |

415| `socatPath` | (Pengaturan yang dikelola saja, Linux/WSL2) Jalur absolut ke binary `socat` yang digunakan untuk proxy jaringan sandbox. Menimpa deteksi otomatis melalui `PATH`. Hanya dihormati dari pengaturan yang dikelola. | `/opt/admin/socat` |421| `socatPath` | (Pengaturan yang dikelola saja, Linux/WSL2) Jalur absolut ke binary `socat` yang digunakan untuk proxy jaringan sandbox. Menimpa deteksi otomatis melalui `PATH`. Hanya dihormati dari pengaturan yang dikelola. | `/opt/admin/socat` |

416 422 


467* Deskripsi pull request adalah teks biasa473* Deskripsi pull request adalah teks biasa

468 474 

469| Kunci | Deskripsi |475| Kunci | Deskripsi |

470| :------- | :---------------------------------------------------------------------------------------------- |476| :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

471| `commit` | Atribusi untuk komit git, termasuk trailer apa pun. String kosong menyembunyikan atribusi komit |477| `commit` | Atribusi untuk komit git, termasuk trailer apa pun. String kosong menyembunyikan atribusi komit |

472| `pr` | Atribusi untuk deskripsi pull request. String kosong menyembunyikan atribusi pull request |478| `pr` | Atribusi untuk deskripsi pull request. String kosong menyembunyikan atribusi pull request |

479| `sessionUrl` | Apakah akan menambahkan tautan sesi claude.ai sebagai trailer `Claude-Session` pada komit dan tautan dalam deskripsi pull request saat berjalan dari sesi web atau Remote Control. Default ke `true`. Atur ke `false` untuk menghilangkan tautan |

473 480 

474**Atribusi komit default:**481**Atribusi komit default:**

475 482 


497```504```

498 505 

499<Note>506<Note>

500 Pengaturan `attribution` memiliki prioritas atas pengaturan `includeCoAuthoredBy` yang usang. Untuk menyembunyikan semua atribusi, atur `commit` dan `pr` ke string kosong.507 Pengaturan `attribution` memiliki prioritas atas pengaturan `includeCoAuthoredBy` yang usang. Untuk menyembunyikan semua atribusi, atur `commit` dan `pr` ke string kosong dan `sessionUrl` ke `false`.

501</Note>508</Note>

502 509 

503<h3 id="file-suggestion-settings">510<h3 id="file-suggestion-settings">


678 685 

679Baris `Setting sources` mengonfirmasi sumber mana yang sedang dibaca. Ini tidak menunjukkan lapisan mana yang memasok setiap kunci individual. Tab **Config** dalam dialog yang sama adalah editor untuk set toggle tetap seperti tema dan output verbose, bukan tampilan konten `settings.json` Anda.686Baris `Setting sources` mengonfirmasi sumber mana yang sedang dibaca. Ini tidak menunjukkan lapisan mana yang memasok setiap kunci individual. Tab **Config** dalam dialog yang sama adalah editor untuk set toggle tetap seperti tema dan output verbose, bukan tampilan konten `settings.json` Anda.

680 687 

681Jika file pengaturan berisi kesalahan, seperti JSON tidak valid atau nilai yang gagal validasi, Claude Code menampilkan pemberitahuan masalah setup saat startup dan `/status` mencantumkan file yang terpengaruh. Jalankan `/doctor` untuk melihat detail untuk setiap kesalahan.688Jika file pengaturan berisi kesalahan, seperti JSON tidak valid atau nilai yang gagal validasi, `/status` mencantumkan file yang terpengaruh. Jalankan `/doctor` untuk melihat detail untuk setiap kesalahan.

682 689 

683<h3 id="key-points-about-the-configuration-system">690<h3 id="key-points-about-the-configuration-system">

684 Poin kunci tentang sistem konfigurasi691 Poin kunci tentang sistem konfigurasi

skills.md +37 −1

Details

173 173 

174Bendera `--add-dir` dan perintah `/add-dir` [memberikan akses file](/id/permissions#additional-directories-grant-file-access-not-configuration) daripada penemuan konfigurasi, tetapi skills adalah pengecualian: `.claude/skills/` dalam direktori yang ditambahkan dimuat secara otomatis. Pengecualian ini hanya berlaku untuk `--add-dir` dan `/add-dir`. Pengaturan `permissions.additionalDirectories` di `settings.json` memberikan akses file saja dan tidak memuat skills. Lihat [Deteksi perubahan langsung](#live-change-detection) untuk bagaimana edit diambil selama sesi.174Bendera `--add-dir` dan perintah `/add-dir` [memberikan akses file](/id/permissions#additional-directories-grant-file-access-not-configuration) daripada penemuan konfigurasi, tetapi skills adalah pengecualian: `.claude/skills/` dalam direktori yang ditambahkan dimuat secara otomatis. Pengecualian ini hanya berlaku untuk `--add-dir` dan `/add-dir`. Pengaturan `permissions.additionalDirectories` di `settings.json` memberikan akses file saja dan tidak memuat skills. Lihat [Deteksi perubahan langsung](#live-change-detection) untuk bagaimana edit diambil selama sesi.

175 175 

176Konfigurasi `.claude/` lainnya seperti subagents, perintah, dan gaya output tidak dimuat dari direktori tambahan. Lihat [tabel pengecualian](/id/permissions#additional-directories-grant-file-access-not-configuration) untuk daftar lengkap apa yang dimuat dan tidak dimuat, serta cara yang direkomendasikan untuk berbagi konfigurasi di seluruh proyek.176Konfigurasi `.claude/` lainnya seperti perintah dan gaya output tidak dimuat dari direktori tambahan. Lihat [tabel pengecualian](/id/permissions#additional-directories-grant-file-access-not-configuration) untuk daftar lengkap apa yang dimuat dan tidak dimuat, serta cara yang direkomendasikan untuk berbagi konfigurasi di seluruh proyek.

177 177 

178<Note>178<Note>

179 File CLAUDE.md dari direktori `--add-dir` tidak dimuat secara default. Untuk memuatnya, atur `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1`. Lihat [Muat dari direktori tambahan](/id/memory#load-from-additional-directories).179 File CLAUDE.md dari direktori `--add-dir` tidak dimuat secara default. Untuk memuatnya, atur `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1`. Lihat [Muat dari direktori tambahan](/id/memory#load-from-additional-directories).


632 632 

633Plugin skills tidak terpengaruh oleh `skillOverrides`. Kelola yang melalui `/plugin` sebagai gantinya.633Plugin skills tidak terpengaruh oleh `skillOverrides`. Kelola yang melalui `/plugin` sebagai gantinya.

634 634 

635<h2 id="evaluate-and-iterate-on-a-skill">

636 Evaluasi dan iterasi pada skill

637</h2>

638 

639Melihat skill terpicu memberi tahu Anda Claude menemukannya, bukan bahwa itu melakukan apa yang Anda maksudkan. Untuk mengetahui skill bekerja, ukur dua hal secara terpisah: apakah Claude menginvokasinya pada prompt yang seharusnya, dan apakah output cocok dengan apa yang Anda harapkan saat itu.

640 

641Pemeriksaan untuk keduanya adalah perbandingan baseline. Kumpulkan beberapa prompt realistis, jalankan masing-masing dalam sesi segar dengan skill tersedia dan lagi dengan itu [dinonaktifkan](#override-skill-visibility-from-settings), dan bandingkan hasilnya. Sesi segar penting karena konteks sisa dari penulisan skill akan menyembunyikan celah dalam instruksi tertulis.

642 

643<h3 id="run-evals-with-skill-creator">

644 Jalankan evals dengan skill-creator

645</h3>

646 

647Plugin [`skill-creator`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/skill-creator) mengotomatisasi loop perbandingan di dalam Claude Code. Instal dari marketplace resmi:

648 

649```text theme={null}

650/plugin install skill-creator@claude-plugins-official

651```

652 

653Jika Claude Code melaporkan bahwa plugin tidak ditemukan di marketplace apa pun, marketplace Anda hilang atau ketinggalan zaman. Jalankan `/plugin marketplace update claude-plugins-official` untuk menyegarkannya, atau `/plugin marketplace add anthropics/claude-plugins-official` jika Anda belum menambahkannya. Kemudian coba instal lagi.

654 

655Setelah menginstal, jalankan `/reload-plugins` untuk membuat skills plugin tersedia dalam sesi saat ini. Kemudian minta Claude untuk mengevaluasi skill yang ada, misalnya `evaluate my summarize-changes skill with skill-creator`. Plugin memandu Anda melalui penulisan kasus uji dan menjalankan loop:

656 

657* **Kasus uji**: menyimpan prompt, file input, dan perilaku yang diharapkan di `evals/evals.json` di dalam direktori skill

658* **Jalankan terisolasi**: menghasilkan [subagent](/id/sub-agents) per kasus uji sehingga setiap jalankan dimulai dengan konteks bersih, dan merekam jumlah token dan durasi

659* **Penilaian**: memeriksa setiap pernyataan terhadap output dan menulis lulus atau gagal dengan bukti ke `grading.json`

660* **Benchmark**: mengagregasi tingkat lulus, waktu, dan token untuk dengan-skill versus tanpa-skill ke `benchmark.json` sehingga Anda dapat membandingkan peningkatan tingkat lulus terhadap overhead token dan waktu

661* **Perbandingan versi**: menjalankan blind A/B antara dua versi skill sehingga Anda dapat mengonfirmasi edit adalah peningkatan sebelum melakukannya

662* **Penyesuaian deskripsi**: menghasilkan prompt should-trigger dan should-not-trigger, mengukur tingkat hit, dan mengusulkan edit deskripsi saat skill mengaktifkan pada permintaan yang salah

663* **Penampil ulasan**: membuka laporan HTML di mana Anda memeriksa setiap output dan merekam umpan balik kualitatif yang dibaca iterasi berikutnya

664 

665Untuk format file eval dan alur kerja iterasi lengkap, lihat [Mengevaluasi kualitas output skill](https://agentskills.io/skill-creation/evaluating-skills) di agentskills.io. Untuk latar belakang pada mode benchmark dan perbandingan, lihat [pengumuman skill-creator](https://claude.com/blog/improving-skill-creator-test-measure-and-refine-agent-skills).

666 

635<h2 id="share-skills">667<h2 id="share-skills">

636 Bagikan skills668 Bagikan skills

637</h2>669</h2>


8503. Coba rephrase permintaan Anda agar lebih cocok dengan deskripsi8823. Coba rephrase permintaan Anda agar lebih cocok dengan deskripsi

8514. Invokasinya secara langsung dengan `/skill-name` jika skill dapat diinvokasinya pengguna8834. Invokasinya secara langsung dengan `/skill-name` jika skill dapat diinvokasinya pengguna

852 884 

885Jika frontmatter YAML tidak terbentuk dengan baik, Claude Code memuat badan skill dengan metadata kosong, jadi `/skill-name` masih berfungsi tetapi Claude tidak memiliki `description` untuk dicocokkan. Jalankan dengan `--debug` untuk melihat kesalahan parse.

886 

853<h3 id="skill-triggers-too-often">887<h3 id="skill-triggers-too-often">

854 Skill terpicu terlalu sering888 Skill terpicu terlalu sering

855</h3>889</h3>


872</h2>906</h2>

873 907 

874* **[Debug konfigurasi Anda](/id/debug-your-config)**: diagnosis mengapa skill tidak muncul atau tidak terpicu908* **[Debug konfigurasi Anda](/id/debug-your-config)**: diagnosis mengapa skill tidak muncul atau tidak terpicu

909* **[Mengevaluasi kualitas output skill](https://agentskills.io/skill-creation/evaluating-skills)**: format file eval dan alur kerja iterasi di agentskills.io

910* **[Praktik terbaik penulisan skill](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices)**: panduan penulisan yang berlaku di seluruh produk Claude

875* **[Subagents](/id/sub-agents)**: delegasikan tugas ke agen khusus911* **[Subagents](/id/sub-agents)**: delegasikan tugas ke agen khusus

876* **[Plugins](/id/plugins)**: paket dan distribusikan skills dengan ekstensi lainnya912* **[Plugins](/id/plugins)**: paket dan distribusikan skills dengan ekstensi lainnya

877* **[Hooks](/id/hooks)**: otomatisasi workflow di sekitar peristiwa tool913* **[Hooks](/id/hooks)**: otomatisasi workflow di sekitar peristiwa tool

statusline.md +1 −1

Details

15* Bekerja di berbagai sesi dan perlu membedakannya15* Bekerja di berbagai sesi dan perlu membedakannya

16* Ingin cabang git dan status selalu terlihat16* Ingin cabang git dan status selalu terlihat

17 17 

18Claude Code juga dapat merender [lencana tautan footer](/id/settings#footer-link-badges): chip yang dapat diklik yang muncul di footer ketika regex yang dikonfigurasi cocok dengan teks dalam percakapan. Ini independen dari baris status dan tidak berinteraksi dengan skrip Anda; konfigurasikan dengan pengaturan [`footerLinksRegexes`](/id/settings#footer-link-badges) sebagai gantinya.18Baris status dirender di baris tersendiri di atas lencana footer bawaan dan tidak menggantikannya. Untuk menambahkan lencana tautan yang dapat diklik ke footer ketika ID muncul dalam percakapan, tanpa menulis skrip, konfigurasikan [`footerLinksRegexes`](/id/settings#footer-link-badges) sebagai gantinya.

19 19 

20Berikut adalah contoh [baris status multi-baris](#display-multiple-lines) yang menampilkan informasi git di baris pertama dan bilah konteks berkode warna di baris kedua.20Berikut adalah contoh [baris status multi-baris](#display-multiple-lines) yang menampilkan informasi git di baris pertama dan bilah konteks berkode warna di baris kedua.

21 21 

sub-agents.md +7 −12

Details

765Subagent dapat berjalan di foreground (blocking) atau background (concurrent):765Subagent dapat berjalan di foreground (blocking) atau background (concurrent):

766 766 

767* **Subagent foreground** memblokir percakapan utama sampai selesai. Prompt izin dilewatkan kepada Anda saat muncul.767* **Subagent foreground** memblokir percakapan utama sampai selesai. Prompt izin dilewatkan kepada Anda saat muncul.

768* **Subagent background** berjalan secara bersamaan sementara Anda terus bekerja. Mereka berjalan dengan izin yang sudah diberikan dalam sesi dan auto-deny setiap panggilan alat yang sebaliknya akan meminta. Jika subagent background perlu mengajukan pertanyaan klarifikasi, panggilan alat itu gagal tetapi subagent terus.768* **Subagent background** berjalan secara bersamaan sementara Anda terus bekerja. {/* min-version: 2.1.186 */}Mulai dari v2.1.186, ketika subagent background mencapai panggilan alat yang memerlukan izin, prompt muncul di sesi utama Anda dan menyebutkan subagent yang bertanya. Setujui untuk membiarkan subagent melanjutkan, atau tekan Esc untuk menolak panggilan alat itu saja tanpa menghentikan subagent. Sebelum v2.1.186, subagent background auto-deny setiap panggilan alat yang sebaliknya akan meminta.

769 

770Jika subagent background gagal karena izin yang hilang, Anda dapat memulai subagent foreground baru dengan tugas yang sama untuk mencoba lagi dengan prompt interaktif.

771 769 

772Claude memutuskan apakah akan menjalankan subagent di foreground atau background berdasarkan tugas. Anda juga dapat:770Claude memutuskan apakah akan menjalankan subagent di foreground atau background berdasarkan tugas. Anda juga dapat:

773 771 


776 774 

777Untuk menonaktifkan semua fungsionalitas background task, atur variabel lingkungan `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` ke `1`. Lihat [Environment variables](/id/env-vars).775Untuk menonaktifkan semua fungsionalitas background task, atur variabel lingkungan `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` ke `1`. Lihat [Environment variables](/id/env-vars).

778 776 

779Ketika [`CLAUDE_CODE_FORK_SUBAGENT`](#fork-the-current-conversation) diatur ke `1`, setiap spawn subagent berjalan di background terlepas dari bidang `background`. Fork masih menampilkan prompt izin di terminal Anda saat terjadi; subagent bernama auto-deny apa pun yang sebaliknya akan meminta, seperti dijelaskan di atas.777Ketika [`CLAUDE_CODE_FORK_SUBAGENT`](#fork-the-current-conversation) diatur ke `1`, setiap spawn subagent berjalan di background terlepas dari bidang `background`. Prompt izin dari subagent background ini muncul di sesi utama Anda seperti dijelaskan di atas.

780 778 

781<h3 id="common-patterns">779<h3 id="common-patterns">

782 Pola umum780 Pola umum


849 847 

850Subagent bersarang dikonfigurasi dengan cara yang sama seperti subagent tingkat atas dan diselesaikan dari [scope](#choose-the-subagent-scope) yang sama. Panel subagent di bawah input prompt menunjukkan pohon lengkap: setiap baris menampilkan hitungan `(+N)` keturunan, dan membuka baris menunjukkan anak langsung subagent itu dengan jalur kembali ke `main`. Tab Running dalam [`/agents`](#use-the-%2Fagents-command) mencantumkan subagent yang berjalan sebagai daftar datar.848Subagent bersarang dikonfigurasi dengan cara yang sama seperti subagent tingkat atas dan diselesaikan dari [scope](#choose-the-subagent-scope) yang sama. Panel subagent di bawah input prompt menunjukkan pohon lengkap: setiap baris menampilkan hitungan `(+N)` keturunan, dan membuka baris menunjukkan anak langsung subagent itu dengan jalur kembali ke `main`. Tab Running dalam [`/agents`](#use-the-%2Fagents-command) mencantumkan subagent yang berjalan sebagai daftar datar.

851 849 

852Kedalaman dihitung sebagai jumlah level subagent di bawah percakapan utama, terlepas dari apakah setiap level berjalan di [foreground atau background](#run-subagents-in-foreground-or-background):850Kedalaman dihitung sebagai jumlah level subagent di bawah percakapan utama, terlepas dari apakah setiap level berjalan di [foreground atau background](#run-subagents-in-foreground-or-background). Subagent pada kedalaman lima tidak menerima alat Agent dan tidak dapat menghasilkan lebih lanjut. Batasnya tetap dan tidak dapat dikonfigurasi.

853 

854* **Subagent foreground**: dapat menghasilkan pada kedalaman apa pun. Setiap level memblokir induknya sampai kembali, jadi rantai membatasi diri sendiri: percakapan utama menunggu seluruh rantai.

855* **Subagent background**: subagent background pada kedalaman lima tidak menerima alat Agent dan tidak dapat menghasilkan lebih lanjut. Batasnya tetap dan tidak dapat dikonfigurasi, dan ada untuk mencegah pohon bersamaan yang liar.

856 851 

857Untuk mencegah subagent tertentu menghasilkan yang lain, hilangkan `Agent` dari daftar [`tools`](#available-tools) atau tambahkan ke `disallowedTools`.852Untuk mencegah subagent tertentu menghasilkan yang lain, hilangkan `Agent` dari daftar [`tools`](#available-tools) atau tambahkan ke `disallowedTools`.

858 853 


888 883 

889Subagent yang dilanjutkan mempertahankan riwayat percakapan lengkap mereka, termasuk semua panggilan alat sebelumnya, hasil, dan penalaran. Subagent melanjutkan tepat di mana ia berhenti daripada memulai segar.884Subagent yang dilanjutkan mempertahankan riwayat percakapan lengkap mereka, termasuk semua panggilan alat sebelumnya, hasil, dan penalaran. Subagent melanjutkan tepat di mana ia berhenti daripada memulai segar.

890 885 

891Ketika subagent selesai, Claude menerima ID agennya. Agen bawaan Explore dan Plan adalah one-shot dan tidak mengembalikan ID agen, jadi mereka tidak dapat dilanjutkan; gunakan `general-purpose` atau subagent khusus ketika Anda perlu melanjutkan pekerjaan. Claude menggunakan alat `SendMessage` dengan ID agen sebagai bidang `to` untuk melanjutkannya. Alat `SendMessage` hanya tersedia ketika [tim agen](/id/agent-teams) diaktifkan melalui `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`.886Ketika subagent selesai, Claude menerima ID agennya. Agen bawaan Explore dan Plan adalah one-shot dan tidak mengembalikan ID agen, jadi mereka tidak dapat dilanjutkan; gunakan `general-purpose` atau subagent khusus ketika Anda perlu melanjutkan pekerjaan. Claude menggunakan alat `SendMessage` dengan ID agen sebagai bidang `to` untuk melanjutkannya. Alat `SendMessage` selalu tersedia untuk melanjutkan subagent berdasarkan ID atau nama agen. Pesan protokol tim terstruktur seperti `shutdown_request` dan `plan_approval_response` memerlukan [tim agen](/id/agent-teams) untuk diaktifkan.

892 887 

893Untuk melanjutkan subagent, minta Claude untuk melanjutkan pekerjaan sebelumnya:888Untuk melanjutkan subagent, minta Claude untuk melanjutkan pekerjaan sebelumnya:

894 889 


976Fork mewarisi segalanya yang dimiliki sesi utama pada saat spawn. Subagent bernama dimulai dari definisinya sendiri.971Fork mewarisi segalanya yang dimiliki sesi utama pada saat spawn. Subagent bernama dimulai dari definisinya sendiri.

977 972 

978| | Fork | Subagent bernama |973| | Fork | Subagent bernama |

979| :--------------------- | :----------------------------- | :-------------------------------------------------------------------------------------- |974| :--------------------- | :----------------------------- | :--------------------------------------------------------------------------------------------------------- |

980| Konteks | Riwayat percakapan lengkap | Konteks segar dengan prompt yang Anda lewatkan |975| Konteks | Riwayat percakapan lengkap | Konteks segar dengan prompt yang Anda lewatkan |

981| Prompt sistem dan alat | Sama dengan sesi utama | Dari file definisi subagent |976| Prompt sistem dan alat | Sama dengan sesi utama | Dari file definisi subagent |

982| Model | Sama dengan sesi utama | Dari bidang `model` subagent |977| Model | Sama dengan sesi utama | Dari bidang `model` subagent |

983| Izin | Prompt muncul di terminal Anda | [Pra-disetujui](#run-subagents-in-foreground-or-background) saat berjalan di background |978| Izin | Prompt muncul di terminal Anda | [Prompt muncul di sesi utama Anda](#run-subagents-in-foreground-or-background) saat berjalan di background |

984| Prompt cache | Dibagikan dengan sesi utama | Cache terpisah |979| Prompt cache | Dibagikan dengan sesi utama | Cache terpisah |

985 980 

986Karena prompt sistem fork dan definisi alat identik dengan induk, permintaan pertamanya menggunakan kembali cache prompt induk [prompt cache](/id/prompt-caching#subagents-and-the-cache). Ini membuat forking lebih murah daripada menelurkan subagent segar untuk tugas yang memerlukan konteks yang sama.981Karena prompt sistem fork dan definisi alat identik dengan induk, permintaan pertamanya menggunakan kembali [prompt cache](/id/prompt-caching#subagents-and-the-cache) induk. Ini membuat forking lebih murah daripada menelurkan subagent segar untuk tugas yang memerlukan konteks yang sama.

987 982 

988Ketika Claude menelurkan fork melalui alat Agent, Claude dapat melewatkan `isolation: "worktree"` sehingga edit file fork ditulis ke git worktree terpisah daripada checkout Anda.983Ketika Claude menelurkan fork melalui alat Agent, Claude dapat melewatkan `isolation: "worktree"` sehingga edit file fork ditulis ke git worktree terpisah daripada checkout Anda.

989 984 

Details

13| Tool | Deskripsi | Izin Diperlukan |13| Tool | Deskripsi | Izin Diperlukan |

14| :--------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------- |14| :--------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------- |

15| `Agent` | Menjalankan [subagent](/id/sub-agents) dengan jendela konteks sendiri untuk menangani tugas. Lihat [perilaku Agent tool](#agent-tool-behavior) | Tidak |15| `Agent` | Menjalankan [subagent](/id/sub-agents) dengan jendela konteks sendiri untuk menangani tugas. Lihat [perilaku Agent tool](#agent-tool-behavior) | Tidak |

16| `Artifact` | Menerbitkan file HTML atau Markdown sebagai [artifact](/id/artifacts): halaman interaktif pribadi di claude.ai yang dapat Anda bagikan dalam organisasi Anda. {/* plan-availability: feature=artifacts plans=team,enterprise providers=anthropic */}Memerlukan paket Team atau Enterprise dan autentikasi `/login`; lihat [Ketersediaan](/id/artifacts#availability) | Ya |

16| `AskUserQuestion` | Mengajukan pertanyaan pilihan ganda untuk mengumpulkan persyaratan atau memperjelas ambiguitas | Tidak |17| `AskUserQuestion` | Mengajukan pertanyaan pilihan ganda untuk mengumpulkan persyaratan atau memperjelas ambiguitas | Tidak |

17| `Bash` | Menjalankan perintah shell di lingkungan Anda. Lihat [perilaku Bash tool](#bash-tool-behavior) | Ya |18| `Bash` | Menjalankan perintah shell di lingkungan Anda. Lihat [perilaku Bash tool](#bash-tool-behavior) | Ya |

18| `CronCreate` | Menjadwalkan prompt berulang atau satu kali dalam sesi saat ini. Tugas bersifat session-scoped dan dipulihkan pada `--resume` atau `--continue` jika belum kadaluarsa. Lihat [tugas terjadwal](/id/scheduled-tasks) | Tidak |19| `CronCreate` | Menjadwalkan prompt berulang atau satu kali dalam sesi saat ini. Tugas bersifat session-scoped dan dipulihkan pada `--resume` atau `--continue` jika belum kadaluarsa. Lihat [tugas terjadwal](/id/scheduled-tasks) | Tidak |


35| `ReadMcpResourceTool` | Membaca resource MCP tertentu berdasarkan URI | Tidak |36| `ReadMcpResourceTool` | Membaca resource MCP tertentu berdasarkan URI | Tidak |

36| `RemoteTrigger` | Membuat, memperbarui, menjalankan, dan mencantumkan [Routines](/id/routines) di claude.ai. Mendukung perintah `/schedule`. {/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}Routines berada di claude.ai dan memerlukan paket Pro, Max, Team, atau Enterprise, jadi tool ini tidak dapat diakses dari Amazon Bedrock, Google Vertex AI, atau Microsoft Foundry | Tidak |37| `RemoteTrigger` | Membuat, memperbarui, menjalankan, dan mencantumkan [Routines](/id/routines) di claude.ai. Mendukung perintah `/schedule`. {/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}Routines berada di claude.ai dan memerlukan paket Pro, Max, Team, atau Enterprise, jadi tool ini tidak dapat diakses dari Amazon Bedrock, Google Vertex AI, atau Microsoft Foundry | Tidak |

37| `ScheduleWakeup` | Menjadwalkan ulang iterasi berikutnya dari [self-paced `/loop`](/id/scheduled-tasks#let-claude-choose-the-interval). Claude memanggil ini di akhir setiap iterasi untuk memilih kapan iterasi berikutnya berjalan, antara satu menit dan satu jam ke depan; Anda tidak memanggilnya secara langsung. Wakeup yang tertunda muncul dalam `session_crons` dalam [Stop hook input](/id/hooks#stop-input). {/* plan-availability: feature=loop-dynamic providers=anthropic */}Tidak tersedia di Amazon Bedrock, Google Vertex AI, atau Microsoft Foundry, di mana prompt `/loop` tanpa interval berjalan pada jadwal tetap | Tidak |38| `ScheduleWakeup` | Menjadwalkan ulang iterasi berikutnya dari [self-paced `/loop`](/id/scheduled-tasks#let-claude-choose-the-interval). Claude memanggil ini di akhir setiap iterasi untuk memilih kapan iterasi berikutnya berjalan, antara satu menit dan satu jam ke depan; Anda tidak memanggilnya secara langsung. Wakeup yang tertunda muncul dalam `session_crons` dalam [Stop hook input](/id/hooks#stop-input). {/* plan-availability: feature=loop-dynamic providers=anthropic */}Tidak tersedia di Amazon Bedrock, Google Vertex AI, atau Microsoft Foundry, di mana prompt `/loop` tanpa interval berjalan pada jadwal tetap | Tidak |

38| `SendMessage` | Mengirim pesan ke anggota [agent team](/id/agent-teams), atau [melanjutkan subagent](/id/sub-agents#resume-subagents) berdasarkan ID agennya. Subagent yang dihentikan secara otomatis melanjutkan di latar belakang. Hanya tersedia saat `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` diatur | Tidak |39| `SendMessage` | Mengirim pesan ke anggota [agent team](/id/agent-teams), atau [melanjutkan subagent](/id/sub-agents#resume-subagents) berdasarkan ID agennya. Subagent yang dihentikan secara otomatis melanjutkan di latar belakang. Pesan protokol tim terstruktur memerlukan agent teams | Tidak |

39| `ShareOnboardingGuide` | {/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}Mengunggah `ONBOARDING.md` dan mengembalikan tautan berbagi yang dapat dibuka rekan tim di Claude Code. Dipanggil dari `/team-onboarding` setelah panduan ditulis. Tersedia untuk pelanggan claude.ai pada paket Pro, Max, Team, dan Enterprise | Ya |40| `ShareOnboardingGuide` | {/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}Mengunggah `ONBOARDING.md` dan mengembalikan tautan berbagi yang dapat dibuka rekan tim di Claude Code. Dipanggil dari `/team-onboarding` setelah panduan ditulis. Tersedia untuk pelanggan claude.ai pada paket Pro, Max, Team, dan Enterprise | Ya |

40| `Skill` | Menjalankan [skill](/id/skills#control-who-invokes-a-skill) dalam percakapan utama | Ya |41| `Skill` | Menjalankan [skill](/id/skills#control-who-invokes-a-skill) dalam percakapan utama | Ya |

41| `TaskCreate` | Membuat tugas baru dalam daftar tugas | Tidak |42| `TaskCreate` | Membuat tugas baru dalam daftar tugas | Tidak |


102Meluncurkan subagent tidak sendiri meminta izin. Panggilan tool subagent sendiri diperiksa terhadap aturan izin Anda saat berjalan:103Meluncurkan subagent tidak sendiri meminta izin. Panggilan tool subagent sendiri diperiksa terhadap aturan izin Anda saat berjalan:

103 104 

104* **Subagent foreground** menampilkan prompt izin yang sama yang akan Anda lihat dalam percakapan utama, pada saat setiap panggilan tool terjadi.105* **Subagent foreground** menampilkan prompt izin yang sama yang akan Anda lihat dalam percakapan utama, pada saat setiap panggilan tool terjadi.

105* **Subagent background** tidak menampilkan prompt. Mereka berjalan dengan izin yang sudah diberikan dalam sesi dan secara otomatis menolak panggilan tool apa pun yang sebaliknya akan meminta. Setelah penolakan, subagent terus berjalan tanpa tool itu.106* **Subagent background** {/* min-version: 2.1.186 */}menampilkan prompt izin dalam sesi utama Anda sejak v2.1.186. Prompt menunjukkan subagent mana yang meminta, dan menekan Esc menolak panggilan tool itu saja tanpa menghentikan subagent. Sebelum v2.1.186, subagent background secara otomatis menolak panggilan tool apa pun yang sebaliknya akan meminta dan melanjutkan tanpa tool itu.

106 107 

107Untuk membatasi apa yang dapat dijangkau subagent sejak awal, persempit field `tools` nya, tinggalkan Bash dari daftar, atau atur aturan deny dalam pengaturan Anda, seperti yang dijelaskan dalam [Kontrol kemampuan subagent](/id/sub-agents#control-subagent-capabilities). Untuk lebih lanjut tentang memilih antara foreground dan background, lihat [Jalankan subagent di foreground atau background](/id/sub-agents#run-subagents-in-foreground-or-background).108Untuk membatasi apa yang dapat dijangkau subagent sejak awal, persempit field `tools` nya, tinggalkan Bash dari daftar, atau atur aturan deny dalam pengaturan Anda, seperti yang dijelaskan dalam [Kontrol kemampuan subagent](/id/sub-agents#control-subagent-capabilities). Untuk lebih lanjut tentang memilih antara foreground dan background, lihat [Jalankan subagent di foreground atau background](/id/sub-agents#run-subagents-in-foreground-or-background).

108 109 

ultrareview.md +16 −13

Details

12 12 

13Ultrareview adalah tinjauan kode yang mendalam yang berjalan di Claude Code pada infrastruktur web. Ketika Anda menjalankan `/code-review ultra`, Claude Code meluncurkan armada agen peninjau dalam sandbox jarak jauh untuk menemukan bug di cabang atau pull request Anda.13Ultrareview adalah tinjauan kode yang mendalam yang berjalan di Claude Code pada infrastruktur web. Ketika Anda menjalankan `/code-review ultra`, Claude Code meluncurkan armada agen peninjau dalam sandbox jarak jauh untuk menemukan bug di cabang atau pull request Anda.

14 14 

15Dibandingkan dengan `/review` lokal, ultrareview menawarkan:15Dibandingkan dengan `/code-review` lokal atau `/review`, ultrareview menawarkan:

16 16 

17* **Sinyal yang lebih tinggi**: setiap temuan yang dilaporkan secara independen direproduksi dan diverifikasi, sehingga hasil fokus pada bug nyata daripada saran gaya17* **Sinyal yang lebih tinggi**: setiap temuan yang dilaporkan secara independen direproduksi dan diverifikasi, sehingga hasil fokus pada bug nyata daripada saran gaya

18* **Cakupan yang lebih luas**: banyak agen peninjau menjelajahi perubahan secara paralel, yang mengungkap masalah yang mungkin terlewatkan oleh tinjauan satu kali18* **Cakupan yang lebih luas**: armada agen peninjau yang lebih besar menjelajahi perubahan secara paralel, yang mengungkap masalah yang mungkin terlewatkan oleh tinjauan upaya menengah lokal

19* **Tidak ada penggunaan sumber daya lokal**: tinjauan berjalan sepenuhnya dalam sandbox jarak jauh, sehingga terminal Anda tetap bebas untuk pekerjaan lain saat berjalan19* **Tidak ada penggunaan sumber daya lokal**: tinjauan berjalan sepenuhnya dalam sandbox jarak jauh, sehingga terminal Anda tetap bebas untuk pekerjaan lain saat berjalan

20 20 

21Ultrareview memerlukan autentikasi dengan akun Claude.ai karena berjalan di Claude Code pada infrastruktur web. Jika Anda masuk hanya dengan kunci API, jalankan `/login` dan autentikasi dengan Claude.ai terlebih dahulu. Ultrareview tidak tersedia saat menggunakan Claude Code dengan Amazon Bedrock, Google Cloud Vertex AI, atau Microsoft Foundry, dan tidak tersedia untuk organisasi yang telah mengaktifkan Zero Data Retention.21Ultrareview memerlukan autentikasi dengan akun Claude.ai karena berjalan di Claude Code pada infrastruktur web. Jika Anda masuk hanya dengan kunci API, jalankan `/login` dan autentikasi dengan Claude.ai terlebih dahulu. Ultrareview tidak tersedia saat menggunakan Claude Code dengan Amazon Bedrock, Google Cloud Vertex AI, atau Microsoft Foundry, dan tidak tersedia untuk organisasi yang telah mengaktifkan Zero Data Retention.


42 42 

43<Tip>43<Tip>

44 Jika repositori Anda terlalu besar untuk dibundel, Claude Code akan meminta Anda menggunakan mode PR sebagai gantinya. Dorong cabang Anda dan buka PR draft, kemudian jalankan `/code-review ultra <PR-number>`.44 Jika repositori Anda terlalu besar untuk dibundel, Claude Code akan meminta Anda menggunakan mode PR sebagai gantinya. Dorong cabang Anda dan buka PR draft, kemudian jalankan `/code-review ultra <PR-number>`.

45 

46 Jika diff pull request terlalu besar, Claude Code menolak tinjauan dengan petunjuk scoping sebelum pekerjaan tinjauan apa pun berjalan.

45</Tip>47</Tip>

46 48 

47Sebelum meluncurkan, Claude Code menampilkan dialog konfirmasi dengan cakupan tinjauan (termasuk jumlah file dan baris saat meninjau cabang), sisa run gratis Anda, dan perkiraan biaya. Setelah Anda mengonfirmasi, tinjauan berlanjut di latar belakang dan Anda dapat terus menggunakan sesi Anda. Perintah hanya berjalan ketika Anda memanggilnya dengan `/code-review ultra`; Claude tidak memulai ultrareview dengan sendirinya.49Sebelum meluncurkan, Claude Code menampilkan dialog konfirmasi dengan cakupan tinjauan (termasuk jumlah file dan baris saat meninjau cabang), sisa run gratis Anda, dan perkiraan biaya. Setelah Anda mengonfirmasi, tinjauan berlanjut di latar belakang dan Anda dapat terus menggunakan sesi Anda. Perintah hanya berjalan ketika Anda memanggilnya dengan `/code-review ultra`; Claude tidak memulai ultrareview dengan sendirinya.


95 97 

96Untuk tinjauan otomatis pada pull request GitHub, [Code Review](/id/code-review) terintegrasi dengan repositori Anda secara langsung dan memposting temuan sebagai komentar PR inline tanpa langkah CLI.98Untuk tinjauan otomatis pada pull request GitHub, [Code Review](/id/code-review) terintegrasi dengan repositori Anda secara langsung dan memposting temuan sebagai komentar PR inline tanpa langkah CLI.

97 99 

98<h2 id="how-ultrareview-compares-to-/review">100<h2 id="how-ultrareview-compares-to-/code-review-and-/review">

99 Bagaimana ultrareview dibandingkan dengan /review101 Bagaimana ultrareview dibandingkan dengan /code-review dan /review

100</h2>102</h2>

101 103 

102Kedua perintah meninjau kode, tetapi menargetkan tahap alur kerja yang berbeda.104Ketiga perintah meninjau kode, tetapi menargetkan tahap alur kerja yang berbeda.

103 105 

104| | `/review` | `/code-review ultra` |106| | `/code-review` | `/review <pr>` | `/code-review ultra` |

105| ------------- | ------------------------------------ | ------------------------------------------------------------------------------------- |107| ------------- | ----------------------------------- | ------------------------------------------ | ------------------------------------------------------------------------------------- |

106| Berjalan | secara lokal di sesi Anda | secara jarak jauh di sandbox cloud |108| Target | diff kerja Anda | permintaan tarik GitHub | diff kerja Anda atau permintaan tarik |

107| Kedalaman | tinjauan satu kali | armada multi-agen dengan verifikasi independen |109| Berjalan | secara lokal di sesi Anda | secara lokal di sesi Anda | secara jarak jauh di sandbox cloud |

108| Durasi | beberapa detik hingga beberapa menit | kira-kira 5 hingga 10 menit |110| Kedalaman | skala dengan argumen effort | mesin `/code-review` medium | armada multi-agen dengan verifikasi independen |

109| Biaya | dihitung terhadap penggunaan normal | run gratis, kemudian kira-kira \$5 hingga \$20 per tinjauan sebagai kredit penggunaan |111| Durasi | detik hingga beberapa menit | beberapa menit | kira-kira 5 hingga 10 menit |

110| Terbaik untuk | umpan balik cepat saat iterasi | kepercayaan pra-merge pada perubahan substansial |112| Biaya | dihitung terhadap penggunaan normal | dihitung terhadap penggunaan normal | run gratis, kemudian kira-kira \$5 hingga \$20 per tinjauan sebagai kredit penggunaan |

113| Terbaik untuk | umpan balik cepat saat iterasi | meninjau PR rekan kerja sebelum menyetujui | kepercayaan pra-merge pada perubahan substansial |

111 114 

112Gunakan `/review` untuk umpan balik cepat saat Anda bekerja. Gunakan `/code-review ultra` sebelum merge perubahan substansial ketika Anda menginginkan lintasan yang lebih dalam yang menangkap masalah yang mungkin terlewatkan oleh tinjauan tunggal.115Gunakan `/code-review` untuk umpan balik cepat saat Anda bekerja. Gunakan `/review <pr>` untuk melihat permintaan tarik dengan cara yang sama seperti sebelum menyetujuinya. Gunakan `/code-review ultra` sebelum merge perubahan substansial ketika Anda menginginkan lintasan yang lebih dalam yang menangkap masalah yang mungkin terlewatkan oleh tinjauan lokal.

113 116 

114<h2 id="related-resources">117<h2 id="related-resources">

115 Sumber daya terkait118 Sumber daya terkait

Details

34 <span className="digest-feature-pill">v2.1.172</span>34 <span className="digest-feature-pill">v2.1.172</span>

35 </div>35 </div>

36 36 

37 <p className="digest-feature-lede">Sub-agen sekarang dapat menjalankan sub-agen mereka sendiri. Panel subagen di bawah prompt menunjukkan pohon lengkap: setiap baris membawa hitungan keturunannya dan jalur kembali ke <code>main</code>. Sub-agen latar belakang dibatasi pada lima tingkat kedalaman untuk mencegah pohon bersamaan yang liar; rantai latar depan dapat menjalankan pada kedalaman apa pun dan membatasi diri sendiri.</p>37 <p className="digest-feature-lede">Sub-agen sekarang dapat menjalankan sub-agen mereka sendiri. Panel subagen di bawah prompt menunjukkan pohon lengkap: setiap baris membawa hitungan keturunannya dan jalur kembali ke <code>main</code>. Rantai sub-agen dibatasi pada lima tingkat kedalaman untuk mencegah pohon bersamaan yang liar.</p>

38 38 

39 <p className="digest-feature-try">Buka tampilan agen untuk menonton pohon bersarang saat pekerjaan menyebar:</p>39 <p className="digest-feature-try">Buka tampilan agen untuk menonton pohon bersarang saat pekerjaan menyebar:</p>

40 40 

workflows.md +3 −2

Details

105Tampilan kemajuan menunjukkan setiap fase dengan jumlah agen, total token, dan waktu yang telah berlalu. Footer mencantumkan kunci untuk setiap tindakan:105Tampilan kemajuan menunjukkan setiap fase dengan jumlah agen, total token, dan waktu yang telah berlalu. Footer mencantumkan kunci untuk setiap tindakan:

106 106 

107| Kunci | Tindakan |107| Kunci | Tindakan |

108| :--------------- | :------------------------------------------------------------------------------------------------------ |108| :--------------- | :-------------------------------------------------------------------------------------------------------------- |

109| `↑` / `↓` | Pilih fase atau agen |109| `↑` / `↓` | Pilih fase atau agen |

110| `Enter` atau `→` | Bor ke dalam fase yang dipilih, lalu ke agen untuk membaca prompt, panggilan alat terbaru, dan hasilnya |110| `Enter` atau `→` | Bor ke dalam fase yang dipilih, lalu ke agen untuk membaca prompt, panggilan alat terbaru, dan hasilnya |

111| `Esc` | Kembali satu level |111| `Esc` | Kembali satu level |

112| `j` / `k` | Gulir dalam detail agen ketika meluap |112| `j` / `k` | Gulir dalam detail agen ketika meluap |

113| `f` | {/* min-version: 2.1.186 */}Filter daftar agen di fase yang dipilih berdasarkan status. Tekan lagi untuk siklus |

113| `p` | Jeda atau lanjutkan run |114| `p` | Jeda atau lanjutkan run |

114| `x` | Hentikan agen yang dipilih, atau hentikan seluruh alur kerja ketika fokus ada di run |115| `x` | Hentikan agen yang dipilih, atau hentikan seluruh alur kerja ketika fokus ada di run |

115| `r` | Mulai ulang agen yang sedang berjalan yang dipilih |116| `r` | Mulai ulang agen yang sedang berjalan yang dipilih |


198 199 

199Tekan Enter untuk menyimpan. Alur kerja berjalan sebagai `/<name>` di sesi mendatang dari lokasi mana pun.200Tekan Enter untuk menyimpan. Alur kerja berjalan sebagai `/<name>` di sesi mendatang dari lokasi mana pun.

200 201 

201{/* min-version: 2.1.178 */}Mulai dari v2.1.178, menyimpan ke lokasi proyek menulis ke direktori `.claude/workflows/` terdekat yang sudah ada antara direktori kerja Anda dan akar repositori, atau ke akar repositori jika belum ada. Alur kerja proyek juga dimuat dari setiap `.claude/workflows/` di sepanjang jalur itu, dan ketika lebih dari satu mendefinisikan nama yang sama Claude Code menjalankan yang terdekat dengan direktori kerja.202{/* min-version: 2.1.178 */}Dalam monorepo dengan beberapa direktori `.claude/`, Anda dapat menyimpan alur kerja di samping paket yang mereka terapkan. Mulai dari v2.1.178, menyimpan ke lokasi proyek menulis ke direktori `.claude/workflows/` terdekat yang sudah ada antara direktori kerja Anda dan akar repositori, atau ke akar repositori jika belum ada. Alur kerja proyek juga dimuat dari setiap `.claude/workflows/` di sepanjang jalur itu, dan ketika lebih dari satu mendefinisikan nama yang sama Claude Code menjalankan yang terdekat dengan direktori kerja.

202 203 

203Jika alur kerja proyek dan alur kerja pribadi berbagi nama, yang proyek berjalan.204Jika alur kerja proyek dan alur kerja pribadi berbagi nama, yang proyek berjalan.

204 205 

Details

58Ketika ZDR diaktifkan untuk organisasi Claude Code di Claude for Enterprise, fitur-fitur tertentu yang memerlukan penyimpanan prompt atau completion secara otomatis dinonaktifkan di tingkat backend:58Ketika ZDR diaktifkan untuk organisasi Claude Code di Claude for Enterprise, fitur-fitur tertentu yang memerlukan penyimpanan prompt atau completion secara otomatis dinonaktifkan di tingkat backend:

59 59 

60| Fitur | Alasan |60| Fitur | Alasan |

61| ------------------------------------------------------------------ | ------------------------------------------------------------------- |61| ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------- |

62| [Claude Code di Web](/id/claude-code-on-the-web) | Memerlukan penyimpanan riwayat percakapan di sisi server. |62| [Claude Code di Web](/id/claude-code-on-the-web) | Memerlukan penyimpanan riwayat percakapan di sisi server. |

63| [Cloud sessions](/id/desktop#cloud-sessions) dari aplikasi Desktop | Memerlukan data sesi persisten yang mencakup prompt dan completion. |63| [Cloud sessions](/id/desktop#cloud-sessions) dari aplikasi Desktop | Memerlukan data sesi persisten yang mencakup prompt dan completion. |

64| [Artifacts](/id/artifacts) | Memerlukan penyimpanan konten halaman yang dipublikasikan di infrastruktur yang dioperasikan Anthropic. |

64| Pengiriman umpan balik (`/feedback`) | Mengirimkan umpan balik mengirimkan data percakapan ke Anthropic. |65| Pengiriman umpan balik (`/feedback`) | Mengirimkan umpan balik mengirimkan data percakapan ke Anthropic. |

65 66 

66Fitur-fitur ini diblokir di backend terlepas dari tampilan sisi klien. Jika Anda melihat fitur yang dinonaktifkan di terminal Claude Code selama startup, mencoba menggunakannya mengembalikan kesalahan yang menunjukkan kebijakan organisasi tidak memungkinkan tindakan tersebut.67Fitur-fitur ini diblokir di backend terlepas dari tampilan sisi klien. Jika Anda melihat fitur yang dinonaktifkan di terminal Claude Code selama startup, mencoba menggunakannya mengembalikan kesalahan yang menunjukkan kebijakan organisasi tidak memungkinkan tindakan tersebut.