SpyBara
Go Premium

Documentation 2026-10-29 23:57 UTC to 2026-10-30 23:01 UTC

90 files changed +4,612 −4,559. View all changes and history on the product overview
2026
Fri 30 23:01 Thu 29 23:57 Wed 28 23:57 Tue 27 22:59 Mon 26 22:57 Sun 25 23:58 Sat 24 22:59 Fri 23 22:59 Thu 22 22:58 Wed 21 23:02 Tue 20 23:00 Mon 19 23:58 Sat 17 23:57 Fri 16 22:59 Thu 15 23:58 Wed 14 22:58 Tue 13 23:57 Sun 11 23:57 Sat 10 23:01 Fri 9 23:02 Thu 8 22:58 Wed 7 23:59 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59
Details

77* **Python:** periksa message types dengan `isinstance()` terhadap classes yang diimpor dari `claude_agent_sdk` (misalnya, `isinstance(message, ResultMessage)`).77* **Python:** periksa message types dengan `isinstance()` terhadap classes yang diimpor dari `claude_agent_sdk` (misalnya, `isinstance(message, ResultMessage)`).

78* **TypeScript:** periksa field string `type` (misalnya, `message.type === "result"`). `AssistantMessage` dan `UserMessage` membungkus raw API message dalam field `.message`, jadi content blocks berada di `message.message.content`, bukan `message.content`.78* **TypeScript:** periksa field string `type` (misalnya, `message.type === "result"`). `AssistantMessage` dan `UserMessage` membungkus raw API message dalam field `.message`, jadi content blocks berada di `message.message.content`, bukan `message.content`.

79 79 

80> **Contoh: Periksa message types dan handle results**80> [accordion] Contoh: Periksa message types dan handle results

81>81>

82> ```python Python theme={null}82> ```python Python theme={null}

83> import asyncio83> import asyncio


273* **`PreCompact` hook:** Jalankan custom logic sebelum compaction terjadi, misalnya untuk archive full transcript. Hook menerima field `trigger` (`manual` atau `auto`). Lihat [hooks](https://code.claude.com/docs/id/agent-sdk/hooks.md).273* **`PreCompact` hook:** Jalankan custom logic sebelum compaction terjadi, misalnya untuk archive full transcript. Hook menerima field `trigger` (`manual` atau `auto`). Lihat [hooks](https://code.claude.com/docs/id/agent-sdk/hooks.md).

274* **Manual compaction:** Kirim `/compact` sebagai prompt string untuk trigger compaction on demand. Commands yang dikirim dengan cara ini adalah SDK inputs biasa. Lihat [dispatch commands by name](https://code.claude.com/docs/id/agent-sdk/skills.md#dispatch-commands-by-name).274* **Manual compaction:** Kirim `/compact` sebagai prompt string untuk trigger compaction on demand. Commands yang dikirim dengan cara ini adalah SDK inputs biasa. Lihat [dispatch commands by name](https://code.claude.com/docs/id/agent-sdk/skills.md#dispatch-commands-by-name).

275 275 

276> **Contoh: Summarization instructions dalam CLAUDE.md**276> [accordion] Contoh: Summarization instructions dalam CLAUDE.md

277>277>

278> Tambahkan section ke CLAUDE.md proyek Anda yang memberi tahu compactor apa yang dipertahankan. Nama header tidak special; gunakan label yang jelas apa pun.278> Tambahkan section ke CLAUDE.md proyek Anda yang memberi tahu compactor apa yang dipertahankan. Nama header tidak special; gunakan label yang jelas apa pun.

279>279>

Details

42 42 

43Contoh Python di halaman ini yang membuat permintaan HTTP menggunakan [httpx](https://www.python-httpx.org/). Tambahkan dengan package manager yang digunakan proyek Anda:43Contoh Python di halaman ini yang membuat permintaan HTTP menggunakan [httpx](https://www.python-httpx.org/). Tambahkan dengan package manager yang digunakan proyek Anda:

44 44 

45**Python (uv)**45> [tab] Python (uv)

46 46>

47```bash theme={null}47> ```bash theme={null}

48uv add httpx48> uv add httpx

49```49> ```

50 

51**Python (pip)**

52 50 

53```bash theme={null}51> [tab] Python (pip)

54pip install httpx52>

55```53> ```bash theme={null}

54> pip install httpx

55> ```

56 56 

57### Contoh alat cuaca57### Contoh alat cuaca

58 58 


198 198 

199Gabungkan potongan ini dengan definisi tool dan server dari [contoh tool cuaca](#weather-tool-example) dalam satu file, `weather.py` atau `weather.ts`, kemudian jalankan dari terminal Anda:199Gabungkan potongan ini dengan definisi tool dan server dari [contoh tool cuaca](#weather-tool-example) dalam satu file, `weather.py` atau `weather.ts`, kemudian jalankan dari terminal Anda:

200 200 

201**TypeScript**201> [tab] TypeScript

202 202>

203```bash theme={null}203> ```bash theme={null}

204npx tsx weather.ts204> npx tsx weather.ts

205```205> ```

206 

207**Python (uv)**

208 

209```bash theme={null}

210uv run weather.py

211```

212 

213**Python (pip)**

214 206 

215Aktifkan virtual environment tempat Anda menginstal SDK, lalu jalankan:207> [tab] Python (uv)

208>

209> ```bash theme={null}

210> uv run weather.py

211> ```

216 212 

217```bash theme={null}213> [tab] Python (pip)

218python weather.py214>

219```215> Aktifkan virtual environment tempat Anda menginstal SDK, lalu jalankan:

216>

217> ```bash theme={null}

218> python weather.py

219> ```

220 220 

221Claude memanggil `get_temperature` dan skrip mencetak jawaban satu baris dengan suhu saat ini di San Francisco.221Claude memanggil `get_temperature` dan skrip mencetak jawaban satu baris dengan suhu saat ini di San Francisco.

222 222 

Details

585>585>

586> Buka file utilitas Anda (`utils.py` atau `utils.ts`) di IDE atau editor Anda sebelum menjalankan skrip. Anda akan melihat file diperbarui secara real-time saat agen menambahkan komentar doc, kemudian kembali ke asli ketika Anda memilih untuk mengembalikan.586> Buka file utilitas Anda (`utils.py` atau `utils.ts`) di IDE atau editor Anda sebelum menjalankan skrip. Anda akan melihat file diperbarui secara real-time saat agen menambahkan komentar doc, kemudian kembali ke asli ketika Anda memilih untuk mengembalikan.

587 587 

588**Python**588> [tab] Python

589 589>

590```bash theme={null}590> ```bash theme={null}

591python try_checkpointing.py591> python try_checkpointing.py

592```592> ```

593 

594**TypeScript**

595 593 

596```bash theme={null}594> [tab] TypeScript

597npx tsx try_checkpointing.ts595>

598```596> ```bash theme={null}

597> npx tsx try_checkpointing.ts

598> ```

599 599 

600Anda akan melihat agen menambahkan komentar doc, kemudian prompt yang menanyakan apakah Anda ingin mengembalikan. Jika Anda memilih ya, file dipulihkan ke status aslinya.600Anda akan melihat agen menambahkan komentar doc, kemudian prompt yang menanyakan apakah Anda ingin mengembalikan. Jika Anda memilih ya, file dipulihkan ke status aslinya.

601 601 

agent-sdk/mcp.md +98 −98

Details

386 386 

387Gunakan field `env` untuk meneruskan kunci API, token, dan kredensial lainnya ke server MCP:387Gunakan field `env` untuk meneruskan kunci API, token, dan kredensial lainnya ke server MCP:

388 388 

389**Dalam kode**389> [tab] Dalam kode

390 390>

391```typescript TypeScript hidelines={1,-1} theme={null}391> ```typescript TypeScript hidelines={1,-1} theme={null}

392const _ = {392> const _ = {

393 options: {393> options: {

394 mcpServers: {394> mcpServers: {

395 "api-server": {395> "api-server": {

396 command: "npx",396> command: "npx",

397 args: ["-y", "@your-org/api-mcp-server"],397> args: ["-y", "@your-org/api-mcp-server"],

398 env: {398> env: {

399 API_KEY: process.env.API_KEY399> API_KEY: process.env.API_KEY

400 }400> }

401 }401> }

402 },402> },

403 allowedTools: ["mcp__api-server__*"]403> allowedTools: ["mcp__api-server__*"]

404 }404> }

405};405> };

406```406> ```

407 407>

408```python Python theme={null}408> ```python Python theme={null}

409options = ClaudeAgentOptions(409> options = ClaudeAgentOptions(

410 mcp_servers={410> mcp_servers={

411 "api-server": {411> "api-server": {

412 "command": "npx",412> "command": "npx",

413 "args": ["-y", "@your-org/api-mcp-server"],413> "args": ["-y", "@your-org/api-mcp-server"],

414 "env": {"API_KEY": os.environ["API_KEY"]},414> "env": {"API_KEY": os.environ["API_KEY"]},

415 }415> }

416 },416> },

417 allowed_tools=["mcp__api-server__*"],417> allowed_tools=["mcp__api-server__*"],

418)418> )

419```419> ```

420 420 

421**.mcp.json**421> [tab] .mcp.json

422 422>

423```json theme={null}423> ```json theme={null}

424{424> {

425 "mcpServers": {425> "mcpServers": {

426 "api-server": {426> "api-server": {

427 "command": "npx",427> "command": "npx",

428 "args": ["-y", "@your-org/api-mcp-server"],428> "args": ["-y", "@your-org/api-mcp-server"],

429 "env": {429> "env": {

430 "API_KEY": "${API_KEY}"430> "API_KEY": "${API_KEY}"

431 }431> }

432 }432> }

433 }433> }

434}434> }

435```435> ```

436 436>

437Sintaks `${API_KEY}` memperluas variabel lingkungan saat runtime.437> Sintaks `${API_KEY}` memperluas variabel lingkungan saat runtime.

438 438 

439### Header HTTP untuk server jarak jauh439### Header HTTP untuk server jarak jauh

440 440 

441Untuk server HTTP dan SSE, teruskan header autentikasi langsung dalam konfigurasi server:441Untuk server HTTP dan SSE, teruskan header autentikasi langsung dalam konfigurasi server:

442 442 

443**Dalam kode**443> [tab] Dalam kode

444 444>

445```typescript TypeScript hidelines={1,-1} theme={null}445> ```typescript TypeScript hidelines={1,-1} theme={null}

446const _ = {446> const _ = {

447 options: {447> options: {

448 mcpServers: {448> mcpServers: {

449 "secure-api": {449> "secure-api": {

450 type: "http",450> type: "http",

451 url: "https://api.example.com/mcp",451> url: "https://api.example.com/mcp",

452 headers: {452> headers: {

453 Authorization: `Bearer ${process.env.API_TOKEN}`453> Authorization: `Bearer ${process.env.API_TOKEN}`

454 }454> }

455 }455> }

456 },456> },

457 allowedTools: ["mcp__secure-api__*"]457> allowedTools: ["mcp__secure-api__*"]

458 }458> }

459};459> };

460```460> ```

461 461>

462```python Python theme={null}462> ```python Python theme={null}

463options = ClaudeAgentOptions(463> options = ClaudeAgentOptions(

464 mcp_servers={464> mcp_servers={

465 "secure-api": {465> "secure-api": {

466 "type": "http",466> "type": "http",

467 "url": "https://api.example.com/mcp",467> "url": "https://api.example.com/mcp",

468 "headers": {"Authorization": f"Bearer {os.environ['API_TOKEN']}"},468> "headers": {"Authorization": f"Bearer {os.environ['API_TOKEN']}"},

469 }469> }

470 },470> },

471 allowed_tools=["mcp__secure-api__*"],471> allowed_tools=["mcp__secure-api__*"],

472)472> )

473```473> ```

474 474 

475**.mcp.json**475> [tab] .mcp.json

476 476>

477```json theme={null}477> ```json theme={null}

478{478> {

479 "mcpServers": {479> "mcpServers": {

480 "secure-api": {480> "secure-api": {

481 "type": "http",481> "type": "http",

482 "url": "https://api.example.com/mcp",482> "url": "https://api.example.com/mcp",

483 "headers": {483> "headers": {

484 "Authorization": "Bearer ${API_TOKEN}"484> "Authorization": "Bearer ${API_TOKEN}"

485 }485> }

486 }486> }

487 }487> }

488}488> }

489```489> ```

490 490>

491Sintaks `${API_TOKEN}` memperluas variabel lingkungan saat runtime.491> Sintaks `${API_TOKEN}` memperluas variabel lingkungan saat runtime.

492 492 

493Untuk contoh kerja lengkap dari server jarak jauh yang diautentikasi dengan header, lihat [Daftar masalah dari repositori](#list-issues-from-a-repository).493Untuk contoh kerja lengkap dari server jarak jauh yang diautentikasi dengan header, lihat [Daftar masalah dari repositori](#list-issues-from-a-repository).

494 494 

Details

163 163 

164Anda dapat mengatur mode izin sekali saat memulai query, atau mengubahnya secara dinamis saat sesi aktif.164Anda dapat mengatur mode izin sekali saat memulai query, atau mengubahnya secara dinamis saat sesi aktif.

165 165 

166**Pada waktu query**166> [tab] Pada waktu query

167 167>

168Lewatkan `permission_mode` (Python) atau `permissionMode` (TypeScript) saat membuat query.168> Lewatkan `permission_mode` (Python) atau `permissionMode` (TypeScript) saat membuat query.

169 169>

170```python Python theme={null}170> ```python Python theme={null}

171import asyncio171> import asyncio

172from claude_agent_sdk import query, ClaudeAgentOptions172> from claude_agent_sdk import query, ClaudeAgentOptions

173 173>

174 174>

175async def main():175> async def main():

176 async for message in query(176> async for message in query(

177 prompt="Help me refactor this code",177> prompt="Help me refactor this code",

178 options=ClaudeAgentOptions(178> options=ClaudeAgentOptions(

179 permission_mode="default", # Set the mode here179> permission_mode="default", # Set the mode here

180 ),180> ),

181 ):181> ):

182 if hasattr(message, "result"):182> if hasattr(message, "result"):

183 print(message.result)183> print(message.result)

184 184>

185 185>

186asyncio.run(main())186> asyncio.run(main())

187```187> ```

188 188>

189```typescript TypeScript theme={null}189> ```typescript TypeScript theme={null}

190import { query } from "@anthropic-ai/claude-agent-sdk";190> import { query } from "@anthropic-ai/claude-agent-sdk";

191 191>

192async function main() {192> async function main() {

193 for await (const message of query({193> for await (const message of query({

194 prompt: "Help me refactor this code",194> prompt: "Help me refactor this code",

195 options: {195> options: {

196 permissionMode: "default" // Set the mode here196> permissionMode: "default" // Set the mode here

197 }197> }

198 })) {198> })) {

199 if ("result" in message) {199> if ("result" in message) {

200 console.log(message.result);200> console.log(message.result);

201 }201> }

202 }202> }

203}203> }

204 204>

205main();205> main();

206```206> ```

207 

208**Selama streaming**

209 

210Panggil `set_permission_mode()` (Python) atau `setPermissionMode()` (TypeScript) untuk mengubah mode di tengah sesi. Mode baru berlaku segera untuk semua permintaan tool berikutnya. Ini memungkinkan Anda untuk memulai dengan pembatasan dan melonggarkan izin seiring kepercayaan berkembang, misalnya beralih ke `acceptEdits` setelah meninjau pendekatan awal Claude.

211 

212```python Python theme={null}

213import asyncio

214from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

215 

216 

217async def main():

218 async with ClaudeSDKClient(

219 options=ClaudeAgentOptions(

220 permission_mode="default", # Start in default mode

221 )

222 ) as client:

223 await client.query("Help me refactor this code")

224 

225 # Change mode dynamically mid-session

226 await client.set_permission_mode("acceptEdits")

227 

228 # Process messages with the new permission mode

229 async for message in client.receive_response():

230 if hasattr(message, "result"):

231 print(message.result)

232 

233 

234asyncio.run(main())

235```

236 207 

237```typescript TypeScript theme={null}208> [tab] Selama streaming

238import { query } from "@anthropic-ai/claude-agent-sdk";209>

239 210> Panggil `set_permission_mode()` (Python) atau `setPermissionMode()` (TypeScript) untuk mengubah mode di tengah sesi. Mode baru berlaku segera untuk semua permintaan tool berikutnya. Ini memungkinkan Anda untuk memulai dengan pembatasan dan melonggarkan izin seiring kepercayaan berkembang, misalnya beralih ke `acceptEdits` setelah meninjau pendekatan awal Claude.

240async function main() {211>

241 const q = query({212> ```python Python theme={null}

242 prompt: "Help me refactor this code",213> import asyncio

243 options: {214> from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

244 permissionMode: "default" // Start in default mode215>

245 }216>

246 });217> async def main():

247 218> async with ClaudeSDKClient(

248 // Change mode dynamically mid-session219> options=ClaudeAgentOptions(

249 await q.setPermissionMode("acceptEdits");220> permission_mode="default", # Start in default mode

250 221> )

251 // Process messages with the new permission mode222> ) as client:

252 for await (const message of q) {223> await client.query("Help me refactor this code")

253 if ("result" in message) {224>

254 console.log(message.result);225> # Change mode dynamically mid-session

255 }226> await client.set_permission_mode("acceptEdits")

256 }227>

257}228> # Process messages with the new permission mode

258 229> async for message in client.receive_response():

259main();230> if hasattr(message, "result"):

260```231> print(message.result)

232>

233>

234> asyncio.run(main())

235> ```

236>

237> ```typescript TypeScript theme={null}

238> import { query } from "@anthropic-ai/claude-agent-sdk";

239>

240> async function main() {

241> const q = query({

242> prompt: "Help me refactor this code",

243> options: {

244> permissionMode: "default" // Start in default mode

245> }

246> });

247>

248> // Change mode dynamically mid-session

249> await q.setPermissionMode("acceptEdits");

250>

251> // Process messages with the new permission mode

252> for await (const message of q) {

253> if ("result" in message) {

254> console.log(message.result);

255> }

256> }

257> }

258>

259> main();

260> ```

261 261 

262### Detail mode262### Detail mode

263 263 

Details

36 36 

37Instal paket Agent SDK untuk bahasa Anda:37Instal paket Agent SDK untuk bahasa Anda:

38 38 

39**TypeScript (proyek baru)**39> [tab] TypeScript (proyek baru)

40 40>

41```bash theme={null}41> ```bash theme={null}

42npm init -y42> npm init -y

43npm pkg set type=module43> npm pkg set type=module

44npm install @anthropic-ai/claude-agent-sdk44> npm install @anthropic-ai/claude-agent-sdk

45npm install --save-dev tsx45> npm install --save-dev tsx

46```46> ```

47 47>

48Mengatur `"type": "module"` di `package.json` memungkinkan skrip agen Anda menggunakan `await` tingkat atas, dan [tsx](https://tsx.hirok.io) menjalankan file TypeScript secara langsung. npm mencetak `added N packages` ketika instalasi berhasil.48> Mengatur `"type": "module"` di `package.json` memungkinkan skrip agen Anda menggunakan `await` tingkat atas, dan [tsx](https://tsx.hirok.io) menjalankan file TypeScript secara langsung. npm mencetak `added N packages` ketika instalasi berhasil.

49 

50**TypeScript (proyek yang ada)**

51 

52```bash theme={null}

53npm install @anthropic-ai/claude-agent-sdk

54npm install --save-dev tsx

55```

56 

57[tsx](https://tsx.hirok.io) menjalankan file TypeScript secara langsung. Jika proyek Anda menggunakan CommonJS, beri nama skrip agen Anda `agent.mts` alih-alih `agent.ts`. Ekstensi `.mts` membuat tsx memperlakukan file sebagai modul ES, sehingga `await` tingkat atas berfungsi tanpa mengonversi seluruh proyek Anda ke modul ES. Gunakan `agent.mts` sebagai pengganti `agent.ts` dalam langkah buat dan jalankan nanti dalam panduan cepat ini.

58 

59**Python (uv)**

60 

61[Instal uv](https://docs.astral.sh/uv/), pengelola paket Python yang cepat yang menangani lingkungan virtual secara otomatis. Kemudian inisialisasi proyek dan tambahkan SDK:

62 

63```bash theme={null}

64uv init

65uv add claude-agent-sdk

66```

67 

68**Python (pip)**

69 

70Buat dan aktifkan lingkungan virtual, kemudian instal paket.

71 

72Di macOS atau Linux:

73 

74```bash theme={null}

75python3 -m venv .venv

76source .venv/bin/activate

77pip install claude-agent-sdk

78```

79 49 

80Di Windows:50> [tab] TypeScript (proyek yang ada)

51>

52> ```bash theme={null}

53> npm install @anthropic-ai/claude-agent-sdk

54> npm install --save-dev tsx

55> ```

56>

57> [tsx](https://tsx.hirok.io) menjalankan file TypeScript secara langsung. Jika proyek Anda menggunakan CommonJS, beri nama skrip agen Anda `agent.mts` alih-alih `agent.ts`. Ekstensi `.mts` membuat tsx memperlakukan file sebagai modul ES, sehingga `await` tingkat atas berfungsi tanpa mengonversi seluruh proyek Anda ke modul ES. Gunakan `agent.mts` sebagai pengganti `agent.ts` dalam langkah buat dan jalankan nanti dalam panduan cepat ini.

81 58 

82```powershell theme={null}59> [tab] Python (uv)

83py -m venv .venv60>

84.venv\Scripts\Activate.ps161> [Instal uv](https://docs.astral.sh/uv/), pengelola paket Python yang cepat yang menangani lingkungan virtual secara otomatis. Kemudian inisialisasi proyek dan tambahkan SDK:

85pip install claude-agent-sdk62>

86```63> ```bash theme={null}

64> uv init

65> uv add claude-agent-sdk

66> ```

87 67 

88Jika PowerShell memblokir `Activate.ps1` dengan kesalahan kebijakan eksekusi, jalankan `Set-ExecutionPolicy -Scope Process RemoteSigned` terlebih dahulu.68> [tab] Python (pip)

69>

70> Buat dan aktifkan lingkungan virtual, kemudian instal paket.

71>

72> Di macOS atau Linux:

73>

74> ```bash theme={null}

75> python3 -m venv .venv

76> source .venv/bin/activate

77> pip install claude-agent-sdk

78> ```

79>

80> Di Windows:

81>

82> ```powershell theme={null}

83> py -m venv .venv

84> .venv\Scripts\Activate.ps1

85> pip install claude-agent-sdk

86> ```

87>

88> Jika PowerShell memblokir `Activate.ps1` dengan kesalahan kebijakan eksekusi, jalankan `Set-ExecutionPolicy -Scope Process RemoteSigned` terlebih dahulu.

89 89 

90> [!NOTE]90> [!NOTE]

91>91>


98 98 

99Dapatkan kunci API dari [Claude Console](https://platform.claude.com/), kemudian atur sebagai variabel lingkungan di shell tempat Anda akan menjalankan agen Anda:99Dapatkan kunci API dari [Claude Console](https://platform.claude.com/), kemudian atur sebagai variabel lingkungan di shell tempat Anda akan menjalankan agen Anda:

100 100 

101**macOS / Linux**101> [tab] macOS / Linux

102 102>

103```bash theme={null}103> ```bash theme={null}

104export ANTHROPIC_API_KEY=your-api-key104> export ANTHROPIC_API_KEY=your-api-key

105```105> ```

106 

107**Windows (PowerShell)**

108 106 

109```powershell theme={null}107> [tab] Windows (PowerShell)

110$env:ANTHROPIC_API_KEY = "your-api-key"108>

111```109> ```powershell theme={null}

110> $env:ANTHROPIC_API_KEY = "your-api-key"

111> ```

112 112 

113SDK membaca kunci dari lingkungan proses yang menjalankan agen Anda; SDK tidak memuat file `.env` secara otomatis. Jika Anda menyimpan kunci di file `.env`, muat sendiri, misalnya dengan paket `dotenv`, sebelum memanggil SDK.113SDK membaca kunci dari lingkungan proses yang menjalankan agen Anda; SDK tidak memuat file `.env` secara otomatis. Jika Anda menyimpan kunci di file `.env`, muat sendiri, misalnya dengan paket `dotenv`, sebelum memanggil SDK.

114 114 


224 224 

225Agen Anda siap. Jalankan dengan perintah berikut:225Agen Anda siap. Jalankan dengan perintah berikut:

226 226 

227**TypeScript**227> [tab] TypeScript

228 228>

229```bash theme={null}229> ```bash theme={null}

230npx tsx agent.ts230> npx tsx agent.ts

231```231> ```

232 232>

233Jika Anda memberi nama skrip Anda `agent.mts`, jalankan `npx tsx agent.mts` sebagai gantinya.233> Jika Anda memberi nama skrip Anda `agent.mts`, jalankan `npx tsx agent.mts` sebagai gantinya.

234 

235**Python (uv)**

236 

237```bash theme={null}

238uv run agent.py

239```

240 

241**Python (pip)**

242 234 

243Dengan lingkungan virtual Anda masih diaktifkan:235> [tab] Python (uv)

236>

237> ```bash theme={null}

238> uv run agent.py

239> ```

244 240 

245```bash theme={null}241> [tab] Python (pip)

246python agent.py242>

247```243> Dengan lingkungan virtual Anda masih diaktifkan:

244>

245> ```bash theme={null}

246> python agent.py

247> ```

248 248 

249Saat bekerja, agen mencetak penalarannya dan setiap alat yang dipanggilnya, diakhiri dengan `Done: success`. Setelah menjalankan, periksa `utils.py`. Anda akan melihat kode defensif yang menangani daftar kosong dan pengguna null. Agen Anda secara mandiri:249Saat bekerja, agen mencetak penalarannya dan setiap alat yang dipanggilnya, diakhiri dengan `Done: success`. Setelah menjalankan, periksa `utils.py`. Anda akan melihat kode defensif yang menangani daftar kosong dan pengguna null. Agen Anda secara mandiri:

250 250 

Details

470 470 

471Setiap SDK menampilkan penolakan secara berbeda:471Setiap SDK menampilkan penolakan secara berbeda:

472 472 

473**TypeScript**473> [tab] TypeScript

474 474>

475SDK TypeScript melempar `Error` yang menyatakan aturan yang entri langgar. Misalnya, `skills: ["docs:*"]` melempar:475> SDK TypeScript melempar `Error` yang menyatakan aturan yang entri langgar. Misalnya, `skills: ["docs:*"]` melempar:

476 476>

477```text theme={null}477> ```text theme={null}

478Invalid skill name "docs:*": wildcard-suffix names are not allowed; list each skill by its exact name.478> Invalid skill name "docs:*": wildcard-suffix names are not allowed; list each skill by its exact name.

479```479> ```

480 480>

481Nama kosong melaporkan `Skill names must be non-empty strings.`481> Nama kosong melaporkan `Skill names must be non-empty strings.`

482 482>

483Sebelum TypeScript Agent SDK 0.3.221, SDK tidak menjalankan pemeriksaan ini.483> Sebelum TypeScript Agent SDK 0.3.221, SDK tidak menjalankan pemeriksaan ini.

484 

485**Python**

486 

487SDK Python menaikkan `ValueError` yang menyatakan aturan yang entri langgar. Misalnya, `skills=["docs:*"]` menaikkan:

488 

489```text theme={null}

490ValueError: Invalid skill name 'docs:*': wildcard-suffix names are not allowed; list each skill by its exact name.

491```

492 

493Nama kosong melaporkan `Skill names must be non-empty strings`.

494 484 

495Sebelum Python Agent SDK 0.2.129, SDK tidak menjalankan pemeriksaan ini.485> [tab] Python

486>

487> SDK Python menaikkan `ValueError` yang menyatakan aturan yang entri langgar. Misalnya, `skills=["docs:*"]` menaikkan:

488>

489> ```text theme={null}

490> ValueError: Invalid skill name 'docs:*': wildcard-suffix names are not allowed; list each skill by its exact name.

491> ```

492>

493> Nama kosong melaporkan `Skill names must be non-empty strings`.

494>

495> Sebelum Python Agent SDK 0.2.129, SDK tidak menjalankan pemeriksaan ini.

496 496 

497### Pemecahan masalah tambahan497### Pemecahan masalah tambahan

498 498 

Details

16 16 

17Pertimbangkan aplikasi resep di mana agen mencari web dan membawa kembali resep. Tanpa output terstruktur, Anda mendapatkan teks bentuk bebas yang perlu Anda parsing sendiri. Dengan output terstruktur, Anda menentukan bentuk yang Anda inginkan dan mendapatkan data yang diketik yang dapat Anda gunakan langsung di aplikasi Anda.17Pertimbangkan aplikasi resep di mana agen mencari web dan membawa kembali resep. Tanpa output terstruktur, Anda mendapatkan teks bentuk bebas yang perlu Anda parsing sendiri. Dengan output terstruktur, Anda menentukan bentuk yang Anda inginkan dan mendapatkan data yang diketik yang dapat Anda gunakan langsung di aplikasi Anda.

18 18 

19> **Tanpa output terstruktur**19> [accordion] Tanpa output terstruktur

20>20>

21> ```text theme={null}21> ```text theme={null}

22> Berikut adalah resep kue cokelat chip klasik!22> Berikut adalah resep kue cokelat chip klasik!


32>32>

33> Untuk menggunakan ini di aplikasi Anda, Anda perlu mengurai judul, mengonversi "15 menit" menjadi angka, memisahkan bahan dari instruksi, dan menangani pemformatan yang tidak konsisten di seluruh respons.33> Untuk menggunakan ini di aplikasi Anda, Anda perlu mengurai judul, mengonversi "15 menit" menjadi angka, memisahkan bahan dari instruksi, dan menangani pemformatan yang tidak konsisten di seluruh respons.

34 34 

35> **Dengan output terstruktur**35> [accordion] Dengan output terstruktur

36>36>

37> ```jsonc theme={null}37> ```jsonc theme={null}

38> {38> {

Details

225 225 

226Pembantu `ask_user` dan `askUser` dalam cuplikan berikut berdiri untuk UI prompt aplikasi Anda sendiri.226Pembantu `ask_user` dan `askUser` dalam cuplikan berikut berdiri untuk UI prompt aplikasi Anda sendiri.

227 227 

228**Setujui**228> [tab] Setujui

229 229>

230Pengguna menyetujui tindakan apa adanya. Teruskan `input` dari callback Anda tanpa perubahan dan alat dijalankan persis seperti yang diminta Claude.230> Pengguna menyetujui tindakan apa adanya. Teruskan `input` dari callback Anda tanpa perubahan dan alat dijalankan persis seperti yang diminta Claude.

231 231>

232```python Python theme={null}232> ```python Python theme={null}

233async def can_use_tool(tool_name, input_data, context):233> async def can_use_tool(tool_name, input_data, context):

234 print(f"Claude wants to use {tool_name}")234> print(f"Claude wants to use {tool_name}")

235 approved = await ask_user("Allow this action?")235> approved = await ask_user("Allow this action?")

236 236>

237 if approved:237> if approved:

238 return PermissionResultAllow(updated_input=input_data)238> return PermissionResultAllow(updated_input=input_data)

239 return PermissionResultDeny(message="User declined")239> return PermissionResultDeny(message="User declined")

240```240> ```

241 241>

242```typescript TypeScript theme={null}242> ```typescript TypeScript theme={null}

243canUseTool: async (toolName, input) => {243> canUseTool: async (toolName, input) => {

244 console.log(`Claude wants to use ${toolName}`);244> console.log(`Claude wants to use ${toolName}`);

245 const approved = await askUser("Allow this action?");245> const approved = await askUser("Allow this action?");

246 246>

247 if (approved) {247> if (approved) {

248 return { behavior: "allow", updatedInput: input };248> return { behavior: "allow", updatedInput: input };

249 }249> }

250 return { behavior: "deny", message: "User declined" };250> return { behavior: "deny", message: "User declined" };

251};251> };

252```252> ```

253 253 

254**Setujui dengan perubahan**254> [tab] Setujui dengan perubahan

255 255>

256Pengguna menyetujui tetapi ingin memodifikasi permintaan terlebih dahulu. Anda dapat mengubah input sebelum alat dijalankan. Claude melihat hasilnya tetapi tidak diberitahu Anda mengubah apa pun. Berguna untuk sanitasi parameter, menambahkan batasan, atau membatasi akses.256> Pengguna menyetujui tetapi ingin memodifikasi permintaan terlebih dahulu. Anda dapat mengubah input sebelum alat dijalankan. Claude melihat hasilnya tetapi tidak diberitahu Anda mengubah apa pun. Berguna untuk sanitasi parameter, menambahkan batasan, atau membatasi akses.

257 257>

258```python Python theme={null}258> ```python Python theme={null}

259async def can_use_tool(tool_name, input_data, context):259> async def can_use_tool(tool_name, input_data, context):

260 if tool_name == "Bash":260> if tool_name == "Bash":

261 # Pengguna menyetujui, tetapi batasi semua perintah ke sandbox261> # Pengguna menyetujui, tetapi batasi semua perintah ke sandbox

262 sandboxed_input = {**input_data}262> sandboxed_input = {**input_data}

263 sandboxed_input["command"] = input_data["command"].replace(263> sandboxed_input["command"] = input_data["command"].replace(

264 "/tmp", "/tmp/sandbox"264> "/tmp", "/tmp/sandbox"

265 )265> )

266 return PermissionResultAllow(updated_input=sandboxed_input)266> return PermissionResultAllow(updated_input=sandboxed_input)

267 return PermissionResultAllow(updated_input=input_data)267> return PermissionResultAllow(updated_input=input_data)

268```268> ```

269 269>

270```typescript TypeScript theme={null}270> ```typescript TypeScript theme={null}

271canUseTool: async (toolName, input) => {271> canUseTool: async (toolName, input) => {

272 if (toolName === "Bash") {272> if (toolName === "Bash") {

273 // Pengguna menyetujui, tetapi batasi semua perintah ke sandbox273> // Pengguna menyetujui, tetapi batasi semua perintah ke sandbox

274 const sandboxedInput = {274> const sandboxedInput = {

275 ...input,275> ...input,

276 command: input.command.replace("/tmp", "/tmp/sandbox")276> command: input.command.replace("/tmp", "/tmp/sandbox")

277 };277> };

278 return { behavior: "allow", updatedInput: sandboxedInput };278> return { behavior: "allow", updatedInput: sandboxedInput };

279 }279> }

280 return { behavior: "allow", updatedInput: input };280> return { behavior: "allow", updatedInput: input };

281};281> };

282```282> ```

283 283 

284**Setujui dan ingat**284> [tab] Setujui dan ingat

285 285>

286Pengguna menyetujui dan tidak ingin ditanya lagi untuk jenis panggilan ini. Argumen callback ketiga membawa `suggestions`, sebuah array entri [`PermissionUpdate`](https://code.claude.com/docs/id/agent-sdk/typescript#permissionupdate) yang sudah jadi. Kembalikan satu di `updatedPermissions` untuk menerapkannya. Saran dengan tujuan `localSettings` menulis aturan ke `.claude/settings.local.json` sehingga sesi mendatang melewati prompt untuk panggilan yang cocok.286> Pengguna menyetujui dan tidak ingin ditanya lagi untuk jenis panggilan ini. Argumen callback ketiga membawa `suggestions`, sebuah array entri [`PermissionUpdate`](https://code.claude.com/docs/id/agent-sdk/typescript#permissionupdate) yang sudah jadi. Kembalikan satu di `updatedPermissions` untuk menerapkannya. Saran dengan tujuan `localSettings` menulis aturan ke `.claude/settings.local.json` sehingga sesi mendatang melewati prompt untuk panggilan yang cocok.

287 287>

288Di TypeScript, lewati pilihan selalu-izinkan untuk permintaan yang opsinya membawa [`suppressAlwaysAllowRule: true`](https://code.claude.com/docs/id/agent-sdk/typescript#canusetool). Petunjuk memerlukan Agent SDK v0.3.268 atau lebih baru, dan `context` Python tidak membawanya.288> Di TypeScript, lewati pilihan selalu-izinkan untuk permintaan yang opsinya membawa [`suppressAlwaysAllowRule: true`](https://code.claude.com/docs/id/agent-sdk/typescript#canusetool). Petunjuk memerlukan Agent SDK v0.3.268 atau lebih baru, dan `context` Python tidak membawanya.

289 289>

290Contoh Python memerlukan `claude-agent-sdk` 0.1.80 atau lebih baru.290> Contoh Python memerlukan `claude-agent-sdk` 0.1.80 atau lebih baru.

291 291>

292```python Python theme={null}292> ```python Python theme={null}

293async def can_use_tool(tool_name, input_data, context):293> async def can_use_tool(tool_name, input_data, context):

294 choice = await ask_user(f"Allow {tool_name}?", ["once", "always", "no"])294> choice = await ask_user(f"Allow {tool_name}?", ["once", "always", "no"])

295 295>

296 if choice == "always":296> if choice == "always":

297 persist = [297> persist = [

298 s for s in context.suggestions if s.destination == "localSettings"298> s for s in context.suggestions if s.destination == "localSettings"

299 ]299> ]

300 return PermissionResultAllow(300> return PermissionResultAllow(

301 updated_input=input_data, updated_permissions=persist301> updated_input=input_data, updated_permissions=persist

302 )302> )

303 if choice == "once":303> if choice == "once":

304 return PermissionResultAllow(updated_input=input_data)304> return PermissionResultAllow(updated_input=input_data)

305 return PermissionResultDeny(message="User declined")305> return PermissionResultDeny(message="User declined")

306```306> ```

307 307>

308```typescript TypeScript theme={null}308> ```typescript TypeScript theme={null}

309canUseTool: async (toolName, input, { suggestions = [] }) => {309> canUseTool: async (toolName, input, { suggestions = [] }) => {

310 const choice = await askUser(`Allow ${toolName}?`, ["once", "always", "no"]);310> const choice = await askUser(`Allow ${toolName}?`, ["once", "always", "no"]);

311 311>

312 if (choice === "always") {312> if (choice === "always") {

313 const persist = suggestions.filter(313> const persist = suggestions.filter(

314 (s) => s.destination === "localSettings"314> (s) => s.destination === "localSettings"

315 );315> );

316 return {316> return {

317 behavior: "allow",317> behavior: "allow",

318 updatedInput: input,318> updatedInput: input,

319 updatedPermissions: persist319> updatedPermissions: persist

320 };320> };

321 }321> }

322 if (choice === "once") {322> if (choice === "once") {

323 return { behavior: "allow", updatedInput: input };323> return { behavior: "allow", updatedInput: input };

324 }324> }

325 return { behavior: "deny", message: "User declined" };325> return { behavior: "deny", message: "User declined" };

326};326> };

327```327> ```

328 328 

329**Tolak**329> [tab] Tolak

330 330>

331Pengguna tidak menginginkan tindakan ini terjadi. Blokir alat dan berikan pesan yang menjelaskan alasannya. Claude melihat pesan ini dan mungkin mencoba pendekatan yang berbeda.331> Pengguna tidak menginginkan tindakan ini terjadi. Blokir alat dan berikan pesan yang menjelaskan alasannya. Claude melihat pesan ini dan mungkin mencoba pendekatan yang berbeda.

332 332>

333```python Python theme={null}333> ```python Python theme={null}

334async def can_use_tool(tool_name, input_data, context):334> async def can_use_tool(tool_name, input_data, context):

335 approved = await ask_user(f"Allow {tool_name}?")335> approved = await ask_user(f"Allow {tool_name}?")

336 336>

337 if not approved:337> if not approved:

338 return PermissionResultDeny(message="User rejected this action")338> return PermissionResultDeny(message="User rejected this action")

339 return PermissionResultAllow(updated_input=input_data)339> return PermissionResultAllow(updated_input=input_data)

340```340> ```

341 341>

342```typescript TypeScript theme={null}342> ```typescript TypeScript theme={null}

343canUseTool: async (toolName, input) => {343> canUseTool: async (toolName, input) => {

344 const approved = await askUser(`Allow ${toolName}?`);344> const approved = await askUser(`Allow ${toolName}?`);

345 345>

346 if (!approved) {346> if (!approved) {

347 return {347> return {

348 behavior: "deny",348> behavior: "deny",

349 message: "User rejected this action"349> message: "User rejected this action"

350 };350> };

351 }351> }

352 return { behavior: "allow", updatedInput: input };352> return { behavior: "allow", updatedInput: input };

353};353> };

354```354> ```

355 355 

356**Sarankan alternatif**356> [tab] Sarankan alternatif

357 357>

358Pengguna tidak menginginkan tindakan spesifik ini, tetapi memiliki ide yang berbeda. Blokir alat dan sertakan panduan dalam pesan Anda. Claude akan membaca ini dan memutuskan cara melanjutkan berdasarkan umpan balik Anda.358> Pengguna tidak menginginkan tindakan spesifik ini, tetapi memiliki ide yang berbeda. Blokir alat dan sertakan panduan dalam pesan Anda. Claude akan membaca ini dan memutuskan cara melanjutkan berdasarkan umpan balik Anda.

359 359>

360```python Python theme={null}360> ```python Python theme={null}

361async def can_use_tool(tool_name, input_data, context):361> async def can_use_tool(tool_name, input_data, context):

362 if tool_name == "Bash" and "rm" in input_data.get("command", ""):362> if tool_name == "Bash" and "rm" in input_data.get("command", ""):

363 # Pengguna tidak ingin menghapus, sarankan pengarsipan sebagai gantinya363> # Pengguna tidak ingin menghapus, sarankan pengarsipan sebagai gantinya

364 return PermissionResultDeny(364> return PermissionResultDeny(

365 message="User doesn't want to delete files. They asked if you could compress them into an archive instead."365> message="User doesn't want to delete files. They asked if you could compress them into an archive instead."

366 )366> )

367 return PermissionResultAllow(updated_input=input_data)367> return PermissionResultAllow(updated_input=input_data)

368```368> ```

369 369>

370```typescript TypeScript theme={null}370> ```typescript TypeScript theme={null}

371canUseTool: async (toolName, input) => {371> canUseTool: async (toolName, input) => {

372 if (toolName === "Bash" && input.command.includes("rm")) {372> if (toolName === "Bash" && input.command.includes("rm")) {

373 // Pengguna tidak ingin menghapus, sarankan pengarsipan sebagai gantinya373> // Pengguna tidak ingin menghapus, sarankan pengarsipan sebagai gantinya

374 return {374> return {

375 behavior: "deny",375> behavior: "deny",

376 message:376> message:

377 "User doesn't want to delete files. They asked if you could compress them into an archive instead."377> "User doesn't want to delete files. They asked if you could compress them into an archive instead."

378 };378> };

379 }379> }

380 return { behavior: "allow", updatedInput: input };380> return { behavior: "allow", updatedInput: input };

381};381> };

382```382> ```

383 383 

384**Alihkan sepenuhnya**384> [tab] Alihkan sepenuhnya

385 385>

386Untuk perubahan arah yang lengkap (bukan hanya dorongan), gunakan [input streaming](https://code.claude.com/docs/id/agent-sdk/streaming-vs-single-mode.md) untuk mengirim Claude instruksi baru secara langsung. Ini melewati permintaan alat saat ini dan memberikan Claude instruksi yang sepenuhnya baru untuk diikuti.386> Untuk perubahan arah yang lengkap (bukan hanya dorongan), gunakan [input streaming](https://code.claude.com/docs/id/agent-sdk/streaming-vs-single-mode.md) untuk mengirim Claude instruksi baru secara langsung. Ini melewati permintaan alat saat ini dan memberikan Claude instruksi yang sepenuhnya baru untuk diikuti.

387 387 

388## Menangani pertanyaan klarifikasi388## Menangani pertanyaan klarifikasi

389 389 

agents.md +1 −1

Details

13| [Subagents](https://code.claude.com/docs/id/sub-agents.md) | Pekerja delegasi di dalam satu sesi yang melakukan tugas sampingan dalam konteks mereka sendiri dan mengembalikan ringkasan | Tugas sampingan akan membanjiri percakapan utama Anda dengan hasil pencarian, log, atau konten file yang tidak akan Anda referensikan lagi |13| [Subagents](https://code.claude.com/docs/id/sub-agents.md) | Pekerja delegasi di dalam satu sesi yang melakukan tugas sampingan dalam konteks mereka sendiri dan mengembalikan ringkasan | Tugas sampingan akan membanjiri percakapan utama Anda dengan hasil pencarian, log, atau konten file yang tidak akan Anda referensikan lagi |

14| [Agent view](https://code.claude.com/docs/id/agent-view.md) | Satu layar untuk mengirim dan memantau sesi yang berjalan di latar belakang, dibuka dengan `claude agents`. Pratinjau penelitian | Anda memiliki beberapa tugas independen dan ingin menyerahkannya, memeriksa status sekilas, dan hanya melangkah ketika salah satunya membutuhkan Anda |14| [Agent view](https://code.claude.com/docs/id/agent-view.md) | Satu layar untuk mengirim dan memantau sesi yang berjalan di latar belakang, dibuka dengan `claude agents`. Pratinjau penelitian | Anda memiliki beberapa tugas independen dan ingin menyerahkannya, memeriksa status sekilas, dan hanya melangkah ketika salah satunya membutuhkan Anda |

15| [Agent teams](https://code.claude.com/docs/id/agent-teams.md) | Beberapa sesi terkoordinasi dengan daftar tugas bersama dan pesan antar-agen, dikelola oleh pemimpin. Eksperimental dan dinonaktifkan secara default | Anda ingin Claude membagi proyek menjadi beberapa bagian, menugaskannya, dan menjaga pekerja tetap tersinkronisasi |15| [Agent teams](https://code.claude.com/docs/id/agent-teams.md) | Beberapa sesi terkoordinasi dengan daftar tugas bersama dan pesan antar-agen, dikelola oleh pemimpin. Eksperimental dan dinonaktifkan secara default | Anda ingin Claude membagi proyek menjadi beberapa bagian, menugaskannya, dan menjaga pekerja tetap tersinkronisasi |

16| [Projects](https://code.claude.com/docs/id/claude-projects.md) | Satu percakapan berkelanjutan di claude.ai/code atau di aplikasi desktop. Claude memulai sesi paralel yang disebut threads, di cloud atau, ketika Anda meminta, di komputer Anda melalui Remote Control, memberikan masing-masing instruksi proyek, dan menunjukkan kepada Anda mana yang membutuhkan Anda. Beta publik di Pro dan Max | Pekerjaan mencakup banyak tugas selama berhari-hari atau berminggu-minggu, harus terus berjalan ketika mesin Anda mati, dan Anda lebih suka mendeskripsikannya sekali daripada mengirim dan melacak setiap sesi |16| [Projects](https://code.claude.com/docs/id/claude-projects.md) | Satu percakapan berkelanjutan di claude.ai/code atau di aplikasi desktop. Claude memulai sesi paralel yang disebut threads, di cloud atau, ketika Anda meminta, di komputer Anda melalui Remote Control. Claude memberikan masing-masing instruksi proyek dan menunjukkan kepada Anda mana yang membutuhkan Anda. Beta publik di Pro, Max, dan Ultra | Pekerjaan mencakup banyak tugas selama berhari-hari atau berminggu-minggu, harus terus berjalan ketika mesin Anda mati, dan Anda lebih suka mendeskripsikannya sekali daripada mengirim dan melacak setiap sesi |

17| [Dynamic workflows](https://code.claude.com/docs/id/workflows.md) | Skrip yang menjalankan banyak subagents dan memeriksa silang hasil mereka, untuk pekerjaan yang terlalu besar untuk dikoordinasikan satu putaran sekaligus atau yang memerlukan lebih dari satu kali lintasan | Tugas terlalu besar untuk segelintir subagents, atau Anda ingin temuan diverifikasi satu sama lain: audit seluruh codebase, migrasi 500 file, penelitian yang diperiksa silang, atau rencana yang disusun dari beberapa sudut |17| [Dynamic workflows](https://code.claude.com/docs/id/workflows.md) | Skrip yang menjalankan banyak subagents dan memeriksa silang hasil mereka, untuk pekerjaan yang terlalu besar untuk dikoordinasikan satu putaran sekaligus atau yang memerlukan lebih dari satu kali lintasan | Tugas terlalu besar untuk segelintir subagents, atau Anda ingin temuan diverifikasi satu sama lain: audit seluruh codebase, migrasi 500 file, penelitian yang diperiksa silang, atau rencana yang disusun dari beberapa sudut |

18 18 

19Dalam setiap pendekatan, pekerja adalah sesi Claude. Untuk melibatkan alat yang berbeda, paparkan ke Claude sebagai [MCP server](https://code.claude.com/docs/id/mcp.md).19Dalam setiap pendekatan, pekerja adalah sesi Claude. Untuk melibatkan alat yang berbeda, paparkan ke Claude sebagai [MCP server](https://code.claude.com/docs/id/mcp.md).

artifacts.md +4 −4

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> Artifacts tersedia di paket Pro, Max, Team, dan Enterprise dan memerlukan sesi yang masuk dengan [`/login`](https://code.claude.com/docs/id/setup#authenticate). Lihat [Availability](#availability) untuk rangkaian lengkap persyaratan.11> Artifacts tersedia di paket Pro, Max, Ultra, Team, dan Enterprise dan memerlukan sesi yang masuk dengan [`/login`](https://code.claude.com/docs/id/setup#authenticate). Lihat [Availability](#availability) untuk rangkaian lengkap persyaratan.

12 12 

13Sebuah [artifact](https://claude.com/features/artifacts) adalah halaman web interaktif langsung yang Claude Code publikasikan 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 orang lain melihatnya juga.13Sebuah [artifact](https://claude.com/features/artifacts) adalah halaman web interaktif langsung yang Claude Code publikasikan 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 orang lain melihatnya juga.

14 14 


197 197 

198## Tarik data langsung dengan konektor MCP198## Tarik data langsung dengan konektor MCP

199 199 

200Sebuah artifact dapat memanggil [konektor MCP](https://code.claude.com/docs/id/mcp.md#use-mcp-servers-from-claude-ai) setiap kali seseorang melihatnya, sehingga halaman menampilkan data terkini daripada snapshot dari sesi yang membangunnya. Panggilan konektor dari artifact tersedia di paket Pro, Max, Team, dan Enterprise dan memerlukan Claude Code v2.1.209 atau lebih baru. Pada versi sebelumnya, Claude menerbitkan halaman dengan data apa pun yang dikumpulkan sesi saat membangunnya.200Sebuah artifact dapat memanggil [konektor MCP](https://code.claude.com/docs/id/mcp.md#use-mcp-servers-from-claude-ai) setiap kali seseorang melihatnya, sehingga halaman menampilkan data terkini daripada snapshot dari sesi yang membangunnya. Panggilan konektor dari artifact tersedia di paket Pro, Max, Ultra, Team, dan Enterprise dan memerlukan Claude Code v2.1.209 atau lebih baru. Pada versi sebelumnya, Claude menerbitkan halaman dengan data apa pun yang dikumpulkan sesi saat membangunnya.

201 201 

202Untuk membuat halaman yang didukung konektor, namai konektor dan data yang Anda inginkan dalam prompt Anda:202Untuk membuat halaman yang didukung konektor, namai konektor dan data yang Anda inginkan dalam prompt Anda:

203 203 


314 314 

315> [!NOTE]315> [!NOTE]

316>316>

317> Template sedang dalam beta. Mereka aktif secara default pada paket Pro, Max, dan Team. Pada paket Enterprise, Owner [mengaktifkan setiap template](https://support.claude.com/en/articles/16994751-artifacts-admin-guide-for-team-and-enterprise-plans) di bawah **Organization settings > Artifacts**. Jika organisasi Anda menonaktifkan template Slides, `/slides` tidak muncul; jika menonaktifkan template Design, `/design` tidak membuat draf desain. Kedua perintah memerlukan Claude Code v2.1.265 atau lebih baru dan sesi di mana [artefak tersedia](#availability).317> Template sedang dalam beta. Mereka aktif secara default pada paket Pro, Max, Ultra, dan Team. Pada paket Enterprise, Owner [mengaktifkan setiap template](https://support.claude.com/en/articles/16994751-artifacts-admin-guide-for-team-and-enterprise-plans) di bawah **Organization settings > Artifacts**. Jika organisasi Anda menonaktifkan template Slides, `/slides` tidak muncul; jika menonaktifkan template Design, `/design` tidak membuat draf desain. Kedua perintah memerlukan Claude Code v2.1.265 atau lebih baru dan sesi di mana [artifact tersedia](#availability).

318 318 

319### Buat slide deck319### Buat slide deck

320 320 


368 368 

369| Persyaratan | Tersedia ketika |369| Persyaratan | Tersedia ketika |

370| :- | :- |370| :- | :- |

371| Paket | Pro, Max, Team, atau Enterprise. Pada paket Pro dan Max, artifacts bersifat pribadi untuk Anda sampai Anda membagikannya, dan tidak ada manajemen admin yang berlaku. Pada paket Team dan Enterprise, artifacts diaktifkan secara default, dan Pemilik dapat [mengaturnya untuk organisasi](#manage-artifacts-for-your-organization) di pengaturan admin claude.ai. |371| Paket | Pro, Max, Ultra, Team, atau Enterprise. Pada paket Pro, Max, dan Ultra, artifacts bersifat pribadi untuk Anda sampai Anda membagikannya, dan tidak ada manajemen admin yang berlaku. Pada paket Team dan Enterprise, artifacts diaktifkan secara default, dan Owner dapat [mematikannya untuk organisasi](#manage-artifacts-for-your-organization) di pengaturan admin claude.ai. |

372| Autentikasi | Sesi didukung oleh akun claude.ai: masuk dengan `/login` di CLI atau aplikasi desktop. Sesi Claude Tag tidak memerlukan langkah masuk. Sesi menggunakan kunci API, [gateway token](https://code.claude.com/docs/id/llm-gateway), atau kredensial penyedia cloud tidak dapat menerbitkan. |372| Autentikasi | Sesi didukung oleh akun claude.ai: masuk dengan `/login` di CLI atau aplikasi desktop. Sesi Claude Tag tidak memerlukan langkah masuk. Sesi menggunakan kunci API, [gateway token](https://code.claude.com/docs/id/llm-gateway), atau kredensial penyedia cloud tidak dapat menerbitkan. |

373| Penyedia model | Anthropic API. Tidak tersedia di [Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/id/google-vertex-ai.md), atau [Microsoft Foundry](https://code.claude.com/docs/id/microsoft-foundry.md). |373| Penyedia model | Anthropic API. Tidak tersedia di [Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/id/google-vertex-ai.md), atau [Microsoft Foundry](https://code.claude.com/docs/id/microsoft-foundry.md). |

374| Kebijakan organisasi | Kunci enkripsi yang dikelola pelanggan (CMEK), HIPAA, dan [Zero Data Retention](https://code.claude.com/docs/id/zero-data-retention.md) tidak diaktifkan untuk organisasi. |374| Kebijakan organisasi | Kunci enkripsi yang dikelola pelanggan (CMEK), HIPAA, dan [Zero Data Retention](https://code.claude.com/docs/id/zero-data-retention.md) tidak diaktifkan untuk organisasi. |

authentication.md +21 −21

Details

23 23 

24Anda dapat melakukan autentikasi dengan salah satu jenis akun berikut:24Anda dapat melakukan autentikasi dengan salah satu jenis akun berikut:

25 25 

26* **Langganan Claude Pro atau Max**: masuk dengan akun claude.ai Anda. Berlangganan di [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).26* **Langganan Claude Pro, Max, atau Ultra**: masuk dengan akun claude.ai Anda. Berlangganan di [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).

27* **Claude for Teams atau Enterprise**: masuk dengan akun claude.ai yang diundang oleh admin tim Anda.27* **Claude for Teams atau Enterprise**: masuk dengan akun claude.ai yang diundang oleh admin tim Anda.

28* **Claude Console**: masuk dengan kredensial Console Anda. Admin Anda harus telah [mengundang Anda](#claude-console-authentication) terlebih dahulu. Anda dapat masuk dengan atau tanpa [membuat kunci API](#sign-in-without-an-api-key).28* **Claude Console**: masuk dengan kredensial Console Anda. Admin Anda harus telah [mengundang Anda](#claude-console-authentication) terlebih dahulu. Anda dapat masuk dengan atau tanpa [membuat kunci API](#sign-in-without-an-api-key).

29* **Penyedia cloud**: jika organisasi Anda menggunakan [Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/id/google-vertex-ai.md), atau [Microsoft Foundry](https://code.claude.com/docs/id/microsoft-foundry.md), atur variabel lingkungan yang diperlukan sebelum menjalankan `claude`, atau pilih **3rd-party platform** di prompt login, yang meluncurkan wizard pengaturan interaktif untuk Bedrock dan Vertex AI. Tidak diperlukan login browser.29* **Penyedia cloud**: jika organisasi Anda menggunakan [Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/id/google-vertex-ai.md), atau [Microsoft Foundry](https://code.claude.com/docs/id/microsoft-foundry.md), atur variabel lingkungan yang diperlukan sebelum menjalankan `claude`, atau pilih **3rd-party platform** di prompt login, yang meluncurkan wizard pengaturan interaktif untuk Bedrock dan Vertex AI. Tidak diperlukan login browser.


2534. Output skrip [`apiKeyHelper`](https://code.claude.com/docs/id/settings-reference#apikeyhelper). Gunakan ini untuk kredensial dinamis atau berputar, seperti token berumur pendek yang diambil dari vault.2534. Output skrip [`apiKeyHelper`](https://code.claude.com/docs/id/settings-reference#apikeyhelper). Gunakan ini untuk kredensial dinamis atau berputar, seperti token berumur pendek yang diambil dari vault.

2545. Variabel lingkungan `CLAUDE_CODE_OAUTH_TOKEN`. Token OAuth berumur panjang yang dihasilkan oleh [`claude setup-token`](#generate-a-long-lived-token). Gunakan ini untuk pipeline CI dan skrip di mana login browser tidak tersedia. Jika Anda menjalankan `/login` saat variabel diatur, Claude Code beralih sesi saat ini ke login baru, tetapi membaca variabel lagi di setiap sesi baru sampai Anda menghapusnya dari profil shell atau blok `env` dari [file pengaturan](https://code.claude.com/docs/id/settings.md).2545. Variabel lingkungan `CLAUDE_CODE_OAUTH_TOKEN`. Token OAuth berumur panjang yang dihasilkan oleh [`claude setup-token`](#generate-a-long-lived-token). Gunakan ini untuk pipeline CI dan skrip di mana login browser tidak tersedia. Jika Anda menjalankan `/login` saat variabel diatur, Claude Code beralih sesi saat ini ke login baru, tetapi membaca variabel lagi di setiap sesi baru sampai Anda menghapusnya dari profil shell atau blok `env` dari [file pengaturan](https://code.claude.com/docs/id/settings.md).

2556. Kredensial profil Anthropic dan federasi, kredensial yang digunakan CLI `ant` dan Workload Identity Federation. Profil yang ditulis `ant auth login` hanya menempati peringkat di sini ketika Anda menamakannya di `ANTHROPIC_PROFILE`; jika tidak, itu menempati peringkat di bawah `/login`. Lihat [Profil Anthropic dan kredensial federasi](#anthropic-profiles-and-federation-credentials).2556. Kredensial profil Anthropic dan federasi, kredensial yang digunakan CLI `ant` dan Workload Identity Federation. Profil yang ditulis `ant auth login` hanya menempati peringkat di sini ketika Anda menamakannya di `ANTHROPIC_PROFILE`; jika tidak, itu menempati peringkat di bawah `/login`. Lihat [Profil Anthropic dan kredensial federasi](#anthropic-profiles-and-federation-credentials).

2567. Kredensial OAuth langganan dari `/login`. Ini adalah default untuk pengguna Claude Pro, Max, Team, dan Enterprise.2567. Kredensial OAuth langganan dari `/login`. Ini adalah default untuk pengguna Claude Pro, Max, Ultra, Team, dan Enterprise.

257 257 

258Sesi [gateway aplikasi Claude](https://code.claude.com/docs/id/claude-apps-gateway) yang sudah masuk berada di luar daftar ini: ini adalah pemilihan penyedia seperti Amazon Bedrock atau Agent Platform Google Cloud, dan itu mengungguli mereka. Ketika sesi gateway ada, CLI melakukan autentikasi dengan token gateway bahkan jika `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, atau `CLAUDE_CODE_USE_FOUNDRY` diatur, dan sumber kredensial di atas seperti token bearer, kunci API, `apiKeyHelper`, dan profil tidak digunakan.258Sesi [gateway aplikasi Claude](https://code.claude.com/docs/id/claude-apps-gateway) yang sudah masuk berada di luar daftar ini: ini adalah pemilihan penyedia seperti Amazon Bedrock atau Agent Platform Google Cloud, dan itu mengungguli mereka. Ketika sesi gateway ada, CLI melakukan autentikasi dengan token gateway bahkan jika `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, atau `CLAUDE_CODE_USE_FOUNDRY` diatur, dan sumber kredensial di atas seperti token bearer, kunci API, `apiKeyHelper`, dan profil tidak digunakan.

259 259 


300 300 

301Perintah membuka alur otorisasi browser yang sama seperti `/login`, dan token dicetak ke terminal setelah Anda menyetujui akses di browser. Itu tidak menyimpan token di mana pun; salin dan atur sebagai variabel lingkungan `CLAUDE_CODE_OAUTH_TOKEN` di mana pun Anda ingin melakukan autentikasi:301Perintah membuka alur otorisasi browser yang sama seperti `/login`, dan token dicetak ke terminal setelah Anda menyetujui akses di browser. Itu tidak menyimpan token di mana pun; salin dan atur sebagai variabel lingkungan `CLAUDE_CODE_OAUTH_TOKEN` di mana pun Anda ingin melakukan autentikasi:

302 302 

303**macOS, Linux, WSL**303> [tab] macOS, Linux, WSL

304 304>

305```bash theme={null}305> ```bash theme={null}

306export CLAUDE_CODE_OAUTH_TOKEN=your-token306> export CLAUDE_CODE_OAUTH_TOKEN=your-token

307```307> ```

308 308 

309**Windows PowerShell**309> [tab] Windows PowerShell

310 310>

311```powershell theme={null}311> ```powershell theme={null}

312$env:CLAUDE_CODE_OAUTH_TOKEN = "your-token"312> $env:CLAUDE_CODE_OAUTH_TOKEN = "your-token"

313```313> ```

314 314 

315**Windows CMD**315> [tab] Windows CMD

316 316>

317```batch theme={null}317> ```batch theme={null}

318set CLAUDE_CODE_OAUTH_TOKEN=your-token318> set CLAUDE_CODE_OAUTH_TOKEN=your-token

319```319> ```

320 320 

321Token ini melakukan autentikasi dengan langganan Claude Anda dan memerlukan paket Pro, Max, Team, atau Enterprise. Itu hanya dapat membuat permintaan model, jadi itu tidak dapat membuat sesi [Remote Control](https://code.claude.com/docs/id/remote-control.md) atau mengambil [konektor claude.ai](https://code.claude.com/docs/id/mcp.md#use-mcp-servers-from-claude-ai). Server MCP yang Anda konfigurasi secara lokal masih berfungsi.321Token ini melakukan autentikasi dengan langganan Claude Anda dan memerlukan paket Pro, Max, Ultra, Team, atau Enterprise. Itu hanya dapat membuat permintaan model, jadi itu tidak dapat membuat sesi [Remote Control](https://code.claude.com/docs/id/remote-control.md) atau mengambil [konektor claude.ai](https://code.claude.com/docs/id/mcp.md#use-mcp-servers-from-claude-ai). Server MCP yang Anda konfigurasi secara lokal masih berfungsi.

322 322 

323[Mode bare](https://code.claude.com/docs/id/headless.md#start-faster-with-bare-mode) tidak membaca `CLAUDE_CODE_OAUTH_TOKEN`. Jika skrip Anda melewatkan `--bare`, lakukan autentikasi dengan `ANTHROPIC_API_KEY` atau `apiKeyHelper` sebagai gantinya.323[Mode bare](https://code.claude.com/docs/id/headless.md#start-faster-with-bare-mode) tidak membaca `CLAUDE_CODE_OAUTH_TOKEN`. Jika skrip Anda melewatkan `--bare`, lakukan autentikasi dengan `ANTHROPIC_API_KEY` atau `apiKeyHelper` sebagai gantinya.

Details

43 43 

44## Mengapa pemberitahuan muncul44## Mengapa pemberitahuan muncul

45 45 

46[Tinjauan classifier sisi server](https://code.claude.com/docs/id/permission-modes.md#server-side-classifier-review) mencantumkan sesi mana yang meminta server untuk pemeriksaan classifier. Paket Pro, Max, dan Team tidak pernah menampilkan pemberitahuan. Ketika muncul, penyebab umum adalah:46Pada paket Pro, Max, Ultra, atau Team, Anda tidak pernah melihat pemberitahuan ini. Untuk mengetahui sesi mana yang meminta server untuk pemeriksaan pengklasifikasi, lihat [Tinjauan pengklasifikasi sisi server](https://code.claude.com/docs/id/permission-modes.md#server-side-classifier-review). Jika Anda melihat pemberitahuan ini, periksa penyebab umum berikut:

47 47 

48* **Gateway LLM atau proxy berada di jalur**: yang menghapus atau menulis ulang header permintaan, menghilangkan bidang permintaan yang tidak dikenalinya, atau mengedit respons. Server kemudian tidak pernah menerima permintaan untuk pemeriksaan, atau Claude Code tidak pernah menerima hasilnya. Ketika konfigurasi Anda atau respons mengidentifikasi gateway, pemberitahuan menamakannya.48* **Gateway LLM atau proxy berada di jalur**: yang menghapus atau menulis ulang header permintaan, menghilangkan bidang permintaan yang tidak dikenalinya, atau mengedit respons. Server kemudian tidak pernah menerima permintaan untuk pemeriksaan, atau Claude Code tidak pernah menerima hasilnya. Ketika konfigurasi Anda atau respons mengidentifikasi gateway, pemberitahuan menamakannya.

49* **Pemeriksaan sisi server belum mencapai platform, wilayah, atau kredensial Anda**: apakah platform atau wilayah melakukannya tergantung pada peluncuran platform tersebut. Jika Anda melihat pemberitahuan tanpa gateway atau proxy di jalur dan terus muncul, ini kemungkinan penyebabnya. Untuk mengonfirmasi, hubungi dukungan atau admin perusahaan Anda, atau laporkan dengan `/feedback`.49* **Pemeriksaan sisi server belum mencapai platform, wilayah, atau kredensial Anda**: apakah platform atau wilayah melakukannya tergantung pada peluncuran platform tersebut. Jika Anda melihat pemberitahuan tanpa gateway atau proxy di jalur dan terus muncul, ini kemungkinan penyebabnya. Untuk mengonfirmasi, hubungi dukungan atau admin perusahaan Anda, atau laporkan dengan `/feedback`.

Details

161 161 

162> [!NOTE]162> [!NOTE]

163>163>

164> `/auto-mode-setup` tersedia pada paket Pro, Max, Team, dan Enterprise serta dengan kunci API Claude Console. Pada paket Pro, Max, atau Team, Anda memerlukan v2.1.228 atau yang lebih baru, atau v2.1.233 atau yang lebih baru di Windows native. Pada paket Enterprise atau dengan kunci API Claude Console, Anda memerlukan v2.1.283 atau yang lebih baru. Jika perintah ini tidak tersedia di sesi Anda, lihat [`/auto-mode-setup` mengembalikan "Unknown command"](#auto-mode-setup-returns-unknown-command).164> `/auto-mode-setup` tersedia pada paket Pro, Max, Ultra, Team, dan Enterprise serta dengan kunci API Claude Console. Pada paket Pro, Max, Ultra, atau Team, Anda memerlukan v2.1.228 atau yang lebih baru, atau v2.1.233 atau yang lebih baru di Windows native. Pada paket Enterprise atau dengan kunci API Claude Console, Anda memerlukan v2.1.283 atau yang lebih baru. Jika perintah ini tidak tersedia di sesi Anda, lihat [`/auto-mode-setup` mengembalikan "Unknown command"](#auto-mode-setup-returns-unknown-command).

165 165 

166### Apa yang dibaca oleh `/auto-mode-setup`166### Apa yang dibaca oleh `/auto-mode-setup`

167 167 

Details

489 489 

490Dengan window 1M token pada sebagian besar model saat ini dan compaction di dekat batas atasnya, Anda jarang akan kehabisan konteks. Namun, Anda tetap dapat *membayar* untuk konteks yang tidak Anda butuhkan. Setiap permintaan mengirim seluruh percakapan, sehingga sesi yang telah mengumpulkan tiga tugas yang tidak terkait akan membaca ulang ketiganya pada setiap giliran tugas keempat. Biaya itu [didiskon selama cache masih hangat](https://code.claude.com/docs/id/costs.md#why-usage-climbs-in-a-long-session) dan dikenakan harga penuh setelah cache kedaluwarsa.490Dengan window 1M token pada sebagian besar model saat ini dan compaction di dekat batas atasnya, Anda jarang akan kehabisan konteks. Namun, Anda tetap dapat *membayar* untuk konteks yang tidak Anda butuhkan. Setiap permintaan mengirim seluruh percakapan, sehingga sesi yang telah mengumpulkan tiga tugas yang tidak terkait akan membaca ulang ketiganya pada setiap giliran tugas keempat. Biaya itu [didiskon selama cache masih hangat](https://code.claude.com/docs/id/costs.md#why-usage-climbs-in-a-long-session) dan dikenakan harga penuh setelah cache kedaluwarsa.

491 491 

492[`/usage`](https://code.claude.com/docs/id/costs) adalah tempat pertama untuk melihat. Pada Pro, Max, Team, dan Enterprise, perintah ini merinci penggunaan Anda berdasarkan skill, subagent, plugin, dan server MCP. Perintah ini juga menandai pola seperti konteks panjang atau cache miss yang sering setelah salah satunya melewati 10% penggunaan Anda. Dari sana, perbaikan yang biasa:492[`/usage`](https://code.claude.com/docs/id/costs) adalah tempat pertama untuk melihat. Pada Pro, Max, Ultra, Team, dan Enterprise, perintah ini merinci penggunaan Anda berdasarkan skill, subagent, plugin, dan server MCP. Perintah ini juga menandai pola seperti konteks panjang atau cache miss yang sering setelah salah satunya melewati 10% penggunaan Anda. Dari sana, perbaikan yang biasa:

493 493 

494* `/clear` di antara tugas yang tidak terkait. Tidak ada biayanya, dan artinya tugas berikutnya tidak terus membayar riwayat tugas sebelumnya. `/clear oauth-migration` memberi nama sesi yang Anda tinggalkan, sehingga Anda dapat kembali ke sesi itu nanti.494* `/clear` di antara tugas yang tidak terkait. Tidak ada biayanya, dan artinya tugas berikutnya tidak terus membayar riwayat tugas sebelumnya. `/clear oauth-migration` memberi nama sesi yang Anda tinggalkan, sehingga Anda dapat kembali ke sesi itu nanti.

495* `/compact` dengan fokus, seperti `/compact keep the API changes and the test commands`. Pada sesi panjang, `/compact` sendiri merupakan permintaan besar, karena membaca seluruh percakapan untuk meringkasnya, terlebih lagi setelah cache kedaluwarsa.495* `/compact` dengan fokus, seperti `/compact keep the API changes and the test commands`. Pada sesi panjang, `/compact` sendiri merupakan permintaan besar, karena membaca seluruh percakapan untuk meringkasnya, terlebih lagi setelah cache kedaluwarsa.

channels.md +189 −189

Details

24 24 

25Setiap channel yang didukung adalah plugin yang memerlukan [Bun](https://bun.sh). Untuk demo langsung dari alur plugin sebelum menghubungkan platform nyata, coba [mulai cepat fakechat](#quickstart).25Setiap channel yang didukung adalah plugin yang memerlukan [Bun](https://bun.sh). Untuk demo langsung dari alur plugin sebelum menghubungkan platform nyata, coba [mulai cepat fakechat](#quickstart).

26 26 

27**Telegram**27> [tab] Telegram

28 

29Lihat [sumber plugin Telegram](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/telegram) lengkap.

30 

31**1. Buat bot Telegram**

32 

33Buka [BotFather](https://t.me/BotFather) di Telegram dan kirim `/newbot`. Berikan nama tampilan dan nama pengguna unik yang diakhiri dengan `bot`. Salin token yang dikembalikan BotFather.

34 

35**2. Instal plugin**

36 

37Mulai Claude Code dengan menjalankan `claude` di terminal Anda, lalu masukkan ini di prompt-nya:

38 

39```

40/plugin install telegram@claude-plugins-official

41```

42 

43Jika instalasi gagal, cocokkan pesan yang dilaporkan Claude Code:

44 

45* `Marketplace "claude-plugins-official" not found`: tambahkan marketplace dengan `/plugin marketplace add anthropics/claude-plugins-official`, kemudian coba ulang instalasi.

46* `Plugin "<name>" not found in marketplace "claude-plugins-official"`: salinan lokal katalog marketplace Anda mungkin sudah usang. Perbarui dengan `/plugin marketplace update claude-plugins-official`, kemudian coba ulang instalasi. Jika percobaan ulang menampilkan pesan yang sama, lihat [Plugin tidak ditemukan di marketplace](https://code.claude.com/docs/id/plugins/troubleshooting.md#plugin-not-found-in-marketplace).

47 

48Ketika instalasi meminta cakupan instalasi, pilih opsi cakupan pengguna sehingga plugin tersedia di semua proyek Anda. Periksa ringkasan instalasi: jika melaporkan `Run /reload-plugins to apply.`, lihat [Terapkan perubahan plugin tanpa memulai ulang](https://code.claude.com/docs/id/plugins/cli-reference.md#reload-plugins) untuk membuat perintah konfigurasi plugin tersedia.

49 

50**3. Konfigurasikan token Anda**

51 

52Jalankan perintah konfigurasi dengan token dari BotFather:

53 

54```

55/telegram:configure <token>

56```

57 

58Ini menyimpannya ke `~/.claude/channels/telegram/.env`. Anda juga dapat mengatur `TELEGRAM_BOT_TOKEN` di lingkungan shell Anda sebelum meluncurkan Claude Code.

59 

60**4. Mulai ulang dengan channels diaktifkan**

61 

62Keluar dari Claude Code dan mulai ulang dengan flag channel. Ini memulai plugin Telegram, yang mulai polling untuk pesan dari bot Anda:

63 

64```bash theme={null}

65claude --channels plugin:telegram@claude-plugins-official

66```

67 

68**5. Pasangkan akun Anda**

69 

70Buka Telegram dan kirim pesan apa pun ke bot Anda. Bot membalas dengan kode pemasangan.

71 

72> [!NOTE]

73>28>

74> Jika bot Anda tidak merespons, pastikan Claude Code berjalan dengan `--channels` dari langkah sebelumnya. Bot hanya dapat membalas saat channel aktif.29> Lihat [sumber plugin Telegram](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/telegram) lengkap.

75 

76Kembali di Claude Code, jalankan:

77 

78```

79/telegram:access pair <code>

80```

81 

82Kemudian kunci akses sehingga hanya akun Anda yang dapat mengirim pesan:

83 

84```

85/telegram:access policy allowlist

86```

87 

88**Discord**

89 

90Lihat [sumber plugin Discord](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/discord) lengkap.

91 

92**1. Buat bot Discord**

93 

94Buka [Portal Pengembang Discord](https://discord.com/developers/applications), klik **New Application**, dan beri nama. Di bagian **Bot**, buat nama pengguna, kemudian klik **Reset Token** dan salin token.

95 

96**2. Aktifkan Message Content Intent**

97 

98Di pengaturan bot Anda, gulir ke **Privileged Gateway Intents** dan aktifkan **Message Content Intent**.

99 

100**3. Undang bot ke server Anda**

101 

102Buka **OAuth2 > URL Generator**. Pilih scope `bot` dan aktifkan izin ini:

103 

104* View Channels

105* Send Messages

106* Send Messages in Threads

107* Read Message History

108* Attach Files

109* Add Reactions

110 

111Buka URL yang dihasilkan untuk menambahkan bot ke server Anda.

112 

113**4. Instal plugin**

114 

115Mulai Claude Code dengan menjalankan `claude` di terminal Anda, lalu masukkan ini di prompt-nya:

116 

117```

118/plugin install discord@claude-plugins-official

119```

120 

121Jika instalasi gagal, cocokkan pesan yang dilaporkan Claude Code:

122 

123* `Marketplace "claude-plugins-official" not found`: tambahkan marketplace dengan `/plugin marketplace add anthropics/claude-plugins-official`, kemudian coba ulang instalasi.

124* `Plugin "<name>" not found in marketplace "claude-plugins-official"`: salinan lokal katalog marketplace Anda mungkin sudah usang. Perbarui dengan `/plugin marketplace update claude-plugins-official`, kemudian coba ulang instalasi. Jika percobaan ulang menampilkan pesan yang sama, lihat [Plugin tidak ditemukan di marketplace](https://code.claude.com/docs/id/plugins/troubleshooting.md#plugin-not-found-in-marketplace).

125 

126Ketika instalasi meminta cakupan instalasi, pilih opsi cakupan pengguna sehingga plugin tersedia di semua proyek Anda. Periksa ringkasan instalasi: jika melaporkan `Run /reload-plugins to apply.`, lihat [Terapkan perubahan plugin tanpa memulai ulang](https://code.claude.com/docs/id/plugins/cli-reference.md#reload-plugins) untuk membuat perintah konfigurasi plugin tersedia.

127 

128**5. Konfigurasikan token Anda**

129 

130Jalankan perintah konfigurasi dengan token bot yang Anda salin:

131 

132```

133/discord:configure <token>

134```

135 

136Ini menyimpannya ke `~/.claude/channels/discord/.env`. Anda juga dapat mengatur `DISCORD_BOT_TOKEN` di lingkungan shell Anda sebelum meluncurkan Claude Code.

137 

138**6. Mulai ulang dengan channels diaktifkan**

139 

140Keluar dari Claude Code dan mulai ulang dengan flag channel. Ini menghubungkan plugin Discord sehingga bot Anda dapat menerima dan merespons pesan:

141 

142```bash theme={null}

143claude --channels plugin:discord@claude-plugins-official

144```

145 

146**7. Pasangkan akun Anda**

147 

148DM bot Anda di Discord. Bot membalas dengan kode pemasangan.

149 

150> [!NOTE]

151>30>

152> Jika bot Anda tidak merespons, pastikan Claude Code berjalan dengan `--channels` dari langkah sebelumnya. Bot hanya dapat membalas saat channel aktif.31> **1. Buat bot Telegram**

153 

154Kembali di Claude Code, jalankan:

155 

156```

157/discord:access pair <code>

158```

159 

160Kemudian kunci akses sehingga hanya akun Anda yang dapat mengirim pesan:

161 

162```

163/discord:access policy allowlist

164```

165 

166**iMessage**

167 

168Lihat [sumber plugin iMessage](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/imessage) lengkap.

169 

170Channel iMessage membaca database Messages Anda secara langsung dan mengirim balasan melalui AppleScript. Ini memerlukan macOS dan tidak memerlukan token bot atau layanan eksternal.

171 

172**1. Berikan Full Disk Access**

173 

174Database Messages di `~/Library/Messages/chat.db` dilindungi oleh macOS. Pertama kali server membacanya, macOS meminta akses: klik **Allow**. Permintaan tersebut menyebutkan aplikasi mana pun yang meluncurkan Bun, seperti Terminal, iTerm, atau IDE Anda.

175 

176Jika permintaan tidak muncul atau Anda mengklik Don't Allow, berikan akses secara manual di bawah **System Settings > Privacy & Security > Full Disk Access** dan tambahkan terminal Anda. Tanpa ini, server keluar segera dengan `authorization denied`.

177 

178**2. Instal plugin**

179 

180Mulai Claude Code dengan menjalankan `claude` di terminal Anda, lalu masukkan ini di prompt-nya:

181 

182```

183/plugin install imessage@claude-plugins-official

184```

185 

186Jika instalasi gagal, cocokkan pesan yang dilaporkan Claude Code:

187 

188* `Marketplace "claude-plugins-official" not found`: tambahkan marketplace dengan `/plugin marketplace add anthropics/claude-plugins-official`, kemudian coba ulang instalasi.

189* `Plugin "<name>" not found in marketplace "claude-plugins-official"`: salinan lokal katalog marketplace Anda mungkin sudah usang. Perbarui dengan `/plugin marketplace update claude-plugins-official`, kemudian coba ulang instalasi. Jika percobaan ulang menampilkan pesan yang sama, lihat [Plugin tidak ditemukan di marketplace](https://code.claude.com/docs/id/plugins/troubleshooting.md#plugin-not-found-in-marketplace).

190 

191Ketika instalasi meminta cakupan instalasi, pilih opsi cakupan pengguna sehingga plugin tersedia di semua proyek Anda.

192 

193Jika ringkasan instalasi melaporkan `Run /reload-plugins to apply.`, Anda tidak perlu bertindak di sini, karena memulai ulang di langkah berikutnya akan memuat plugin.

194 

195**3. Mulai ulang dengan channels diaktifkan**

196 

197Keluar dari Claude Code dan mulai ulang dengan flag channel:

198 

199```bash theme={null}

200claude --channels plugin:imessage@claude-plugins-official

201```

202 

203**4. Kirim pesan ke diri sendiri**

204 

205Buka Messages di perangkat apa pun yang masuk ke Apple ID Anda dan kirim pesan ke diri sendiri. Pesan tersebut mencapai Claude segera: obrolan mandiri melewati kontrol akses tanpa pengaturan.

206 

207> [!NOTE]

208>32>

209> Balasan pertama yang Claude kirim memicu permintaan Automation macOS yang menanyakan apakah terminal Anda dapat mengontrol Messages. Klik **OK**.33> Buka [BotFather](https://t.me/BotFather) di Telegram dan kirim `/newbot`. Berikan nama tampilan dan nama pengguna unik yang diakhiri dengan `bot`. Salin token yang dikembalikan BotFather.

210 34>

211**5. Izinkan pengirim lain**35> **2. Instal plugin**

212 36>

213Secara default, hanya pesan Anda sendiri yang diteruskan. Untuk membiarkan kontak lain mencapai Claude, tambahkan handle mereka:37> Mulai Claude Code dengan menjalankan `claude` di terminal Anda, lalu masukkan ini di prompt-nya:

38>

39> ```

40> /plugin install telegram@claude-plugins-official

41> ```

42>

43> Jika instalasi gagal, cocokkan pesan yang dilaporkan Claude Code:

44>

45> * `Marketplace "claude-plugins-official" not found`: tambahkan marketplace dengan `/plugin marketplace add anthropics/claude-plugins-official`, kemudian coba ulang instalasi.

46> * `Plugin "<name>" not found in marketplace "claude-plugins-official"`: salinan lokal katalog marketplace Anda mungkin sudah usang. Perbarui dengan `/plugin marketplace update claude-plugins-official`, kemudian coba ulang instalasi. Jika percobaan ulang menampilkan pesan yang sama, lihat [Plugin tidak ditemukan di marketplace](https://code.claude.com/docs/id/plugins/troubleshooting.md#plugin-not-found-in-marketplace).

47>

48> Ketika instalasi meminta cakupan instalasi, pilih opsi cakupan pengguna sehingga plugin tersedia di semua proyek Anda. Periksa ringkasan instalasi: jika melaporkan `Run /reload-plugins to apply.`, lihat [Terapkan perubahan plugin tanpa memulai ulang](https://code.claude.com/docs/id/plugins/cli-reference.md#reload-plugins) untuk membuat perintah konfigurasi plugin tersedia.

49>

50> **3. Konfigurasikan token Anda**

51>

52> Jalankan perintah konfigurasi dengan token dari BotFather:

53>

54> ```

55> /telegram:configure <token>

56> ```

57>

58> Ini menyimpannya ke `~/.claude/channels/telegram/.env`. Anda juga dapat mengatur `TELEGRAM_BOT_TOKEN` di lingkungan shell Anda sebelum meluncurkan Claude Code.

59>

60> **4. Mulai ulang dengan channels diaktifkan**

61>

62> Keluar dari Claude Code dan mulai ulang dengan flag channel. Ini memulai plugin Telegram, yang mulai polling untuk pesan dari bot Anda:

63>

64> ```bash theme={null}

65> claude --channels plugin:telegram@claude-plugins-official

66> ```

67>

68> **5. Pasangkan akun Anda**

69>

70> Buka Telegram dan kirim pesan apa pun ke bot Anda. Bot membalas dengan kode pemasangan.

71>

72> > [!NOTE]

73> >

74> > Jika bot Anda tidak merespons, pastikan Claude Code berjalan dengan `--channels` dari langkah sebelumnya. Bot hanya dapat membalas saat channel aktif.

75>

76> Kembali di Claude Code, jalankan:

77>

78> ```

79> /telegram:access pair <code>

80> ```

81>

82> Kemudian kunci akses sehingga hanya akun Anda yang dapat mengirim pesan:

83>

84> ```

85> /telegram:access policy allowlist

86> ```

214 87 

215```88> [tab] Discord

216/imessage:access allow +1555123456789>

217```90> Lihat [sumber plugin Discord](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/discord) lengkap.

91>

92> **1. Buat bot Discord**

93>

94> Buka [Portal Pengembang Discord](https://discord.com/developers/applications), klik **New Application**, dan beri nama. Di bagian **Bot**, buat nama pengguna, kemudian klik **Reset Token** dan salin token.

95>

96> **2. Aktifkan Message Content Intent**

97>

98> Di pengaturan bot Anda, gulir ke **Privileged Gateway Intents** dan aktifkan **Message Content Intent**.

99>

100> **3. Undang bot ke server Anda**

101>

102> Buka **OAuth2 > URL Generator**. Pilih scope `bot` dan aktifkan izin ini:

103>

104> * View Channels

105> * Send Messages

106> * Send Messages in Threads

107> * Read Message History

108> * Attach Files

109> * Add Reactions

110>

111> Buka URL yang dihasilkan untuk menambahkan bot ke server Anda.

112>

113> **4. Instal plugin**

114>

115> Mulai Claude Code dengan menjalankan `claude` di terminal Anda, lalu masukkan ini di prompt-nya:

116>

117> ```

118> /plugin install discord@claude-plugins-official

119> ```

120>

121> Jika instalasi gagal, cocokkan pesan yang dilaporkan Claude Code:

122>

123> * `Marketplace "claude-plugins-official" not found`: tambahkan marketplace dengan `/plugin marketplace add anthropics/claude-plugins-official`, kemudian coba ulang instalasi.

124> * `Plugin "<name>" not found in marketplace "claude-plugins-official"`: salinan lokal katalog marketplace Anda mungkin sudah usang. Perbarui dengan `/plugin marketplace update claude-plugins-official`, kemudian coba ulang instalasi. Jika percobaan ulang menampilkan pesan yang sama, lihat [Plugin tidak ditemukan di marketplace](https://code.claude.com/docs/id/plugins/troubleshooting.md#plugin-not-found-in-marketplace).

125>

126> Ketika instalasi meminta cakupan instalasi, pilih opsi cakupan pengguna sehingga plugin tersedia di semua proyek Anda. Periksa ringkasan instalasi: jika melaporkan `Run /reload-plugins to apply.`, lihat [Terapkan perubahan plugin tanpa memulai ulang](https://code.claude.com/docs/id/plugins/cli-reference.md#reload-plugins) untuk membuat perintah konfigurasi plugin tersedia.

127>

128> **5. Konfigurasikan token Anda**

129>

130> Jalankan perintah konfigurasi dengan token bot yang Anda salin:

131>

132> ```

133> /discord:configure <token>

134> ```

135>

136> Ini menyimpannya ke `~/.claude/channels/discord/.env`. Anda juga dapat mengatur `DISCORD_BOT_TOKEN` di lingkungan shell Anda sebelum meluncurkan Claude Code.

137>

138> **6. Mulai ulang dengan channels diaktifkan**

139>

140> Keluar dari Claude Code dan mulai ulang dengan flag channel. Ini menghubungkan plugin Discord sehingga bot Anda dapat menerima dan merespons pesan:

141>

142> ```bash theme={null}

143> claude --channels plugin:discord@claude-plugins-official

144> ```

145>

146> **7. Pasangkan akun Anda**

147>

148> DM bot Anda di Discord. Bot membalas dengan kode pemasangan.

149>

150> > [!NOTE]

151> >

152> > Jika bot Anda tidak merespons, pastikan Claude Code berjalan dengan `--channels` dari langkah sebelumnya. Bot hanya dapat membalas saat channel aktif.

153>

154> Kembali di Claude Code, jalankan:

155>

156> ```

157> /discord:access pair <code>

158> ```

159>

160> Kemudian kunci akses sehingga hanya akun Anda yang dapat mengirim pesan:

161>

162> ```

163> /discord:access policy allowlist

164> ```

218 165 

219Handle adalah nomor telepon dalam format `+country` atau email Apple ID seperti `user@example.com`.166> [tab] iMessage

167>

168> Lihat [sumber plugin iMessage](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/imessage) lengkap.

169>

170> Channel iMessage membaca database Messages Anda secara langsung dan mengirim balasan melalui AppleScript. Ini memerlukan macOS dan tidak memerlukan token bot atau layanan eksternal.

171>

172> **1. Berikan Full Disk Access**

173>

174> Database Messages di `~/Library/Messages/chat.db` dilindungi oleh macOS. Pertama kali server membacanya, macOS meminta akses: klik **Allow**. Permintaan tersebut menyebutkan aplikasi mana pun yang meluncurkan Bun, seperti Terminal, iTerm, atau IDE Anda.

175>

176> Jika permintaan tidak muncul atau Anda mengklik Don't Allow, berikan akses secara manual di bawah **System Settings > Privacy & Security > Full Disk Access** dan tambahkan terminal Anda. Tanpa ini, server keluar segera dengan `authorization denied`.

177>

178> **2. Instal plugin**

179>

180> Mulai Claude Code dengan menjalankan `claude` di terminal Anda, lalu masukkan ini di prompt-nya:

181>

182> ```

183> /plugin install imessage@claude-plugins-official

184> ```

185>

186> Jika instalasi gagal, cocokkan pesan yang dilaporkan Claude Code:

187>

188> * `Marketplace "claude-plugins-official" not found`: tambahkan marketplace dengan `/plugin marketplace add anthropics/claude-plugins-official`, kemudian coba ulang instalasi.

189> * `Plugin "<name>" not found in marketplace "claude-plugins-official"`: salinan lokal katalog marketplace Anda mungkin sudah usang. Perbarui dengan `/plugin marketplace update claude-plugins-official`, kemudian coba ulang instalasi. Jika percobaan ulang menampilkan pesan yang sama, lihat [Plugin tidak ditemukan di marketplace](https://code.claude.com/docs/id/plugins/troubleshooting.md#plugin-not-found-in-marketplace).

190>

191> Ketika instalasi meminta cakupan instalasi, pilih opsi cakupan pengguna sehingga plugin tersedia di semua proyek Anda.

192>

193> Jika ringkasan instalasi melaporkan `Run /reload-plugins to apply.`, Anda tidak perlu bertindak di sini, karena memulai ulang di langkah berikutnya akan memuat plugin.

194>

195> **3. Mulai ulang dengan channels diaktifkan**

196>

197> Keluar dari Claude Code dan mulai ulang dengan flag channel:

198>

199> ```bash theme={null}

200> claude --channels plugin:imessage@claude-plugins-official

201> ```

202>

203> **4. Kirim pesan ke diri sendiri**

204>

205> Buka Messages di perangkat apa pun yang masuk ke Apple ID Anda dan kirim pesan ke diri sendiri. Pesan tersebut mencapai Claude segera: obrolan mandiri melewati kontrol akses tanpa pengaturan.

206>

207> > [!NOTE]

208> >

209> > Balasan pertama yang Claude kirim memicu permintaan Automation macOS yang menanyakan apakah terminal Anda dapat mengontrol Messages. Klik **OK**.

210>

211> **5. Izinkan pengirim lain**

212>

213> Secara default, hanya pesan Anda sendiri yang diteruskan. Untuk membiarkan kontak lain mencapai Claude, tambahkan handle mereka:

214>

215> ```

216> /imessage:access allow +15551234567

217> ```

218>

219> Handle adalah nomor telepon dalam format `+country` atau email Apple ID seperti `user@example.com`.

220 220 

221## Quickstart221## Quickstart

222 222 


308| `channelsEnabled` | Master switch. Harus `true` agar channel apa pun dapat mengirimkan pesan. Memblokir semua channels termasuk bendera pengembangan saat dimatikan. Lihat [Aktifkan channels untuk organisasi Anda](#enable-channels-for-your-organization). | claude.ai Tim dan Enterprise: channels diblokir. Console: channels diizinkan kecuali organisasi Anda menerapkan pengaturan terkelola, dalam hal ini channels diblokir sampai kunci ini diatur |308| `channelsEnabled` | Master switch. Harus `true` agar channel apa pun dapat mengirimkan pesan. Memblokir semua channels termasuk bendera pengembangan saat dimatikan. Lihat [Aktifkan channels untuk organisasi Anda](#enable-channels-for-your-organization). | claude.ai Tim dan Enterprise: channels diblokir. Console: channels diizinkan kecuali organisasi Anda menerapkan pengaturan terkelola, dalam hal ini channels diblokir sampai kunci ini diatur |

309| `allowedChannelPlugins` | Plugin mana yang dapat mendaftar setelah channels diaktifkan. Menggantikan daftar yang dipertahankan Anthropic saat diatur. | Daftar default Anthropic berlaku |309| `allowedChannelPlugins` | Plugin mana yang dapat mendaftar setelah channels diaktifkan. Menggantikan daftar yang dipertahankan Anthropic saat diatur. | Daftar default Anthropic berlaku |

310 310 

311Pengguna Pro dan Max tanpa organisasi melewati pemeriksaan ini sepenuhnya: channels tersedia dan pengguna memilih per sesi dengan `--channels`.311Pengguna Pro, Max, dan Ultra tanpa organisasi melewati pemeriksaan ini sepenuhnya: channels tersedia dan pengguna memilih per sesi dengan `--channels`.

312 312 

313### Aktifkan channels untuk organisasi Anda313### Aktifkan channels untuk organisasi Anda

314 314 

chrome.md +1 −1

Details

39* [Google Chrome](https://www.google.com/chrome/), [Microsoft Edge](https://www.microsoft.com/edge), atau browser berbasis Chromium lainnya seperti Brave, Arc, Vivaldi, atau Opera39* [Google Chrome](https://www.google.com/chrome/), [Microsoft Edge](https://www.microsoft.com/edge), atau browser berbasis Chromium lainnya seperti Brave, Arc, Vivaldi, atau Opera

40* Ekstensi [Claude in Chrome](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn) versi 1.0.36 atau lebih tinggi, tersedia di Chrome Web Store40* Ekstensi [Claude in Chrome](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn) versi 1.0.36 atau lebih tinggi, tersedia di Chrome Web Store

41* [Claude Code](https://code.claude.com/docs/id/quickstart.md#step-1-install-claude-code)41* [Claude Code](https://code.claude.com/docs/id/quickstart.md#step-1-install-claude-code)

42* Paket Anthropic langsung (Pro, Max, Team, atau Enterprise)42* Paket Anthropic langsung (Pro, Max, Ultra, Team, atau Enterprise)

43 43 

44Di organisasi Enterprise yang mengaktifkan HIPAA, Claude in Chrome nonaktif secara default, dan seorang [Owner](https://code.claude.com/docs/id/server-managed-settings.md#access-control) dapat mengaktifkannya di [**Organization settings > Claude in Chrome**](https://claude.ai/admin-settings/browser-extension). Business Associate Agreement (BAA) Anda dengan Anthropic tidak mencakup data yang dikirim ke situs pihak ketiga melalui Claude in Chrome. Lihat [Implementation Guide](https://trust.anthropic.com/resources?s=l1wrssd9hsbi4gak0tp5a6\&name=%5Banthropic%5D-hipaa-ready-offering-implementation-guide) untuk daftar Eligible Services.44Di organisasi Enterprise yang mengaktifkan HIPAA, Claude in Chrome nonaktif secara default, dan seorang [Owner](https://code.claude.com/docs/id/server-managed-settings.md#access-control) dapat mengaktifkannya di [**Organization settings > Claude in Chrome**](https://claude.ai/admin-settings/browser-extension). Business Associate Agreement (BAA) Anda dengan Anthropic tidak mencakup data yang dikirim ke situs pihak ketiga melalui Claude in Chrome. Lihat [Implementation Guide](https://trust.anthropic.com/resources?s=l1wrssd9hsbi4gak0tp5a6\&name=%5Banthropic%5D-hipaa-ready-offering-implementation-guide) untuk daftar Eligible Services.

45 45 

Details

325 325 

326**7. Terapkan**326**7. Terapkan**

327 327 

328**ECS Fargate**328> [tab] ECS Fargate

329 329>

330Buat kluster dan grup log untuk stderr gateway, yang membawa acara audit dan log operasional. Retensi adalah panggilan terpisah, dan tanpa satu CloudWatch menyimpan log selamanya; selaraskan 90 hari dengan kebijakan retensi audit Anda:330> Buat kluster dan grup log untuk stderr gateway, yang membawa acara audit dan log operasional. Retensi adalah panggilan terpisah, dan tanpa satu CloudWatch menyimpan log selamanya; selaraskan 90 hari dengan kebijakan retensi audit Anda:

331 331>

332```bash theme={null}332> ```bash theme={null}

333aws ecs create-cluster --cluster-name claude-gateway333> aws ecs create-cluster --cluster-name claude-gateway

334aws logs create-log-group --log-group-name /ecs/claude-gateway334> aws logs create-log-group --log-group-name /ecs/claude-gateway

335aws logs put-retention-policy --log-group-name /ecs/claude-gateway \335> aws logs put-retention-policy --log-group-name /ecs/claude-gateway \

336 --retention-in-days 90336> --retention-in-days 90

337```337> ```

338 338>

339Tulis definisi tugas. Peran tugas membawa izin Bedrock dan peran eksekusi menyuntikkan rahasia; gunakan ARN rahasia dari langkah Secrets Manager:339> Tulis definisi tugas. Peran tugas membawa izin Bedrock dan peran eksekusi menyuntikkan rahasia; gunakan ARN rahasia dari langkah Secrets Manager:

340 340>

341```json claude-gateway-task.json theme={null}341> ```json claude-gateway-task.json theme={null}

342{342> {

343 "family": "claude-gateway",343> "family": "claude-gateway",

344 "networkMode": "awsvpc",344> "networkMode": "awsvpc",

345 "requiresCompatibilities": ["FARGATE"],345> "requiresCompatibilities": ["FARGATE"],

346 "cpu": "1024",346> "cpu": "1024",

347 "memory": "2048",347> "memory": "2048",

348 "runtimePlatform": { "cpuArchitecture": "X86_64", "operatingSystemFamily": "LINUX" },348> "runtimePlatform": { "cpuArchitecture": "X86_64", "operatingSystemFamily": "LINUX" },

349 "executionRoleArn": "arn:aws:iam::<account-id>:role/claude-gateway-execution",349> "executionRoleArn": "arn:aws:iam::<account-id>:role/claude-gateway-execution",

350 "taskRoleArn": "arn:aws:iam::<account-id>:role/claude-gateway-task",350> "taskRoleArn": "arn:aws:iam::<account-id>:role/claude-gateway-task",

351 "containerDefinitions": [351> "containerDefinitions": [

352 {352> {

353 "name": "gateway",353> "name": "gateway",

354 "image": "<account-id>.dkr.ecr.<region>.amazonaws.com/claude-gateway:<version>",354> "image": "<account-id>.dkr.ecr.<region>.amazonaws.com/claude-gateway:<version>",

355 "portMappings": [{ "containerPort": 8080 }],355> "portMappings": [{ "containerPort": 8080 }],

356 "secrets": [356> "secrets": [

357 { "name": "GATEWAY_JWT_SECRET", "valueFrom": "<gateway-jwt-secret ARN>" },357> { "name": "GATEWAY_JWT_SECRET", "valueFrom": "<gateway-jwt-secret ARN>" },

358 { "name": "OIDC_CLIENT_SECRET", "valueFrom": "<gateway-oidc-client-secret ARN>" },358> { "name": "OIDC_CLIENT_SECRET", "valueFrom": "<gateway-oidc-client-secret ARN>" },

359 { "name": "GATEWAY_POSTGRES_URL", "valueFrom": "<gateway-postgres-url ARN>" }359> { "name": "GATEWAY_POSTGRES_URL", "valueFrom": "<gateway-postgres-url ARN>" }

360 ],360> ],

361 "logConfiguration": {361> "logConfiguration": {

362 "logDriver": "awslogs",362> "logDriver": "awslogs",

363 "options": {363> "options": {

364 "awslogs-group": "/ecs/claude-gateway",364> "awslogs-group": "/ecs/claude-gateway",

365 "awslogs-region": "<region>",365> "awslogs-region": "<region>",

366 "awslogs-stream-prefix": "gateway"366> "awslogs-stream-prefix": "gateway"

367 }367> }

368 }368> }

369 }369> }

370 ]370> ]

371}371> }

372```372> ```

373 373>

374Daftarkan:374> Daftarkan:

375 375>

376```bash theme={null}376> ```bash theme={null}

377aws ecs register-task-definition --cli-input-json file://claude-gateway-task.json377> aws ecs register-task-definition --cli-input-json file://claude-gateway-task.json

378```378> ```

379 379>

380Letakkan ALB internal di depan dengan grup target yang memeriksa kesehatan gateway. `--ip-address-type ipv4` penting: ALB dual-stack internal menerbitkan catatan AAAA jangkauan publik, yang ditolak oleh pemeriksaan jaringan pribadi `/login`:380> Letakkan ALB internal di depan dengan grup target yang memeriksa kesehatan gateway. `--ip-address-type ipv4` penting: ALB dual-stack internal menerbitkan catatan AAAA jangkauan publik, yang ditolak oleh pemeriksaan jaringan pribadi `/login`:

381 381>

382```bash theme={null}382> ```bash theme={null}

383ALB_ARN="$(aws elbv2 create-load-balancer --name claude-gateway \383> ALB_ARN="$(aws elbv2 create-load-balancer --name claude-gateway \

384 --scheme internal --type application --ip-address-type ipv4 \384> --scheme internal --type application --ip-address-type ipv4 \

385 --subnets $PRIVATE_SUBNETS --security-groups "$ALB_SG" \385> --subnets $PRIVATE_SUBNETS --security-groups "$ALB_SG" \

386 --query 'LoadBalancers[0].LoadBalancerArn' --output text)"386> --query 'LoadBalancers[0].LoadBalancerArn' --output text)"

387 387>

388TG_ARN="$(aws elbv2 create-target-group --name claude-gateway \388> TG_ARN="$(aws elbv2 create-target-group --name claude-gateway \

389 --protocol HTTP --port 8080 --vpc-id "$VPC_ID" --target-type ip \389> --protocol HTTP --port 8080 --vpc-id "$VPC_ID" --target-type ip \

390 --health-check-path /readyz \390> --health-check-path /readyz \

391 --query 'TargetGroups[0].TargetGroupArn' --output text)"391> --query 'TargetGroups[0].TargetGroupArn' --output text)"

392```392> ```

393 393>

394Tambahkan pendengar HTTPS. `--ssl-policy` menyematkan lantai TLS modern, karena menghilangkannya kembali ke default `ELBSecurityPolicy-2016-08` warisan, yang masih menerima TLS 1.0/1.1.394> Tambahkan pendengar HTTPS. `--ssl-policy` menyematkan lantai TLS modern, karena menghilangkannya kembali ke default `ELBSecurityPolicy-2016-08` warisan, yang masih menerima TLS 1.0/1.1.

395 395>

396ALB menutup koneksi setelah 60 detik tanpa data secara default. Ping keepalive gateway menjaga aliran di dalam default itu, jadi menaikkan timeout menambah margin di atas kecepatan ping; baris [Troubleshooting](#troubleshooting) pada aliran yang dijatuhkan mencakup mekanisme dan gateway yang lebih lama. Perintah di bawah menambahkan pendengar dan menaikkan timeout:396> ALB menutup koneksi setelah 60 detik tanpa data secara default. Ping keepalive gateway menjaga aliran di dalam default itu, jadi menaikkan timeout menambah margin di atas kecepatan ping; baris [Troubleshooting](#troubleshooting) pada aliran yang dijatuhkan mencakup mekanisme dan gateway yang lebih lama. Perintah di bawah menambahkan pendengar dan menaikkan timeout:

397 397>

398```bash theme={null}398> ```bash theme={null}

399aws elbv2 create-listener --load-balancer-arn "$ALB_ARN" \399> aws elbv2 create-listener --load-balancer-arn "$ALB_ARN" \

400 --protocol HTTPS --port 443 \400> --protocol HTTPS --port 443 \

401 --ssl-policy ELBSecurityPolicy-TLS13-1-2-2021-06 \401> --ssl-policy ELBSecurityPolicy-TLS13-1-2-2021-06 \

402 --certificates CertificateArn=<your-acm-certificate-arn> \402> --certificates CertificateArn=<your-acm-certificate-arn> \

403 --default-actions Type=forward,TargetGroupArn="$TG_ARN"403> --default-actions Type=forward,TargetGroupArn="$TG_ARN"

404 404>

405aws elbv2 modify-load-balancer-attributes --load-balancer-arn "$ALB_ARN" \405> aws elbv2 modify-load-balancer-attributes --load-balancer-arn "$ALB_ARN" \

406 --attributes Key=idle_timeout.timeout_seconds,Value=3600406> --attributes Key=idle_timeout.timeout_seconds,Value=3600

407```407> ```

408 408>

409Buat layanan. Pemutus sirkuit deployment menggulung deployment yang tugasnya terus gagal, dari gambar buruk atau konfigurasi yang tidak dapat boot, kembali ke status stabil terakhir daripada meluncurkan tugas yang gagal selamanya:409> Buat layanan. Pemutus sirkuit deployment menggulung deployment yang tugasnya terus gagal, dari gambar buruk atau konfigurasi yang tidak dapat boot, kembali ke status stabil terakhir daripada meluncurkan tugas yang gagal selamanya:

410 410>

411```bash theme={null}411> ```bash theme={null}

412aws ecs create-service --cluster claude-gateway --service-name claude-gateway \412> aws ecs create-service --cluster claude-gateway --service-name claude-gateway \

413 --task-definition claude-gateway --desired-count 1 --launch-type FARGATE \413> --task-definition claude-gateway --desired-count 1 --launch-type FARGATE \

414 --deployment-configuration "deploymentCircuitBreaker={enable=true,rollback=true}" \414> --deployment-configuration "deploymentCircuitBreaker={enable=true,rollback=true}" \

415 --health-check-grace-period-seconds 60 \415> --health-check-grace-period-seconds 60 \

416 --network-configuration "awsvpcConfiguration={subnets=[$(echo $PRIVATE_SUBNETS | tr ' ' ',')],securityGroups=[$GW_SG],assignPublicIp=DISABLED}" \416> --network-configuration "awsvpcConfiguration={subnets=[$(echo $PRIVATE_SUBNETS | tr ' ' ',')],securityGroups=[$GW_SG],assignPublicIp=DISABLED}" \

417 --load-balancers "targetGroupArn=$TG_ARN,containerName=gateway,containerPort=8080"417> --load-balancers "targetGroupArn=$TG_ARN,containerName=gateway,containerPort=8080"

418```418> ```

419 419>

420Periode ketenangan 60 detik memberi tugas dingin waktu untuk menarik gambar, terhubung ke toko, dan menjawab pemeriksaan kesehatan pertamanya sebelum ECS mulai menghitung kegagalan terhadap deployment.420> Periode ketenangan 60 detik memberi tugas dingin waktu untuk menarik gambar, terhubung ke toko, dan menjawab pemeriksaan kesehatan pertamanya sebelum ECS mulai menghitung kegagalan terhadap deployment.

421 421>

422Pemeriksaan kesehatan grup target di `GET /readyz` memverifikasi toko dapat dijangkau, jadi tugas yang tidak dapat mencapai Postgres tidak pernah memasuki rotasi. Untuk menjaga tugas melewati pemeriksaan melalui pemadaman database singkat seperti failover RDS, atur `store.readiness_grace_seconds` seperti yang dijelaskan dalam [Perilaku Pemadaman](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#outage-behavior), yang juga mencakup alternatif `/healthz`.422> Pemeriksaan kesehatan grup target di `GET /readyz` memverifikasi toko dapat dijangkau, jadi tugas yang tidak dapat mencapai Postgres tidak pernah memasuki rotasi. Untuk menjaga tugas melewati pemeriksaan melalui pemadaman database singkat seperti failover RDS, atur `store.readiness_grace_seconds` seperti yang dijelaskan dalam [Perilaku Pemadaman](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#outage-behavior), yang juga mencakup alternatif `/healthz`.

423 423>

424Tugas berjalan di subnet pribadi tanpa IP publik, jadi semua egress (ke Bedrock, IdP Anda, Secrets Manager, ECR, dan CloudWatch Logs) melalui gateway NAT. Untuk menjaga lalu lintas Bedrock dari jalur publik, buat endpoint VPC antarmuka `bedrock-runtime` dan arahkan `base_url` upstream ke sana, seperti yang ditunjukkan dalam [referensi upstream Bedrock](https://code.claude.com/docs/id/claude-apps-gateway-config.md#amazon-bedrock); IdP masih memerlukan egress internet.424> Tugas berjalan di subnet pribadi tanpa IP publik, jadi semua egress (ke Bedrock, IdP Anda, Secrets Manager, ECR, dan CloudWatch Logs) melalui gateway NAT. Untuk menjaga lalu lintas Bedrock dari jalur publik, buat endpoint VPC antarmuka `bedrock-runtime` dan arahkan `base_url` upstream ke sana, seperti yang ditunjukkan dalam [referensi upstream Bedrock](https://code.claude.com/docs/id/claude-apps-gateway-config.md#amazon-bedrock); IdP masih memerlukan egress internet.

425 425>

426Selesaikan dengan memberikan pengembang nama host yang dapat diselesaikan secara pribadi: di zona hosted pribadi Route 53, alias nama DNS internal gateway ke ALB, dan atur `listen.public_url` ke nama host itu. Nama `*.elb.amazonaws.com` ALB sendiri diselesaikan ke alamat pribadi di ALB internal, tetapi tidak dapat membawa sertifikat ACM Anda, jadi gunakan nama Anda sendiri.426> Selesaikan dengan memberikan pengembang nama host yang dapat diselesaikan secara pribadi: di zona hosted pribadi Route 53, alias nama DNS internal gateway ke ALB, dan atur `listen.public_url` ke nama host itu. Nama `*.elb.amazonaws.com` ALB sendiri diselesaikan ke alamat pribadi di ALB internal, tetapi tidak dapat membawa sertifikat ACM Anda, jadi gunakan nama Anda sendiri.

427 427>

428Perbarui URI pengalihan otorisasi klien OAuth ke `<public_url>/oauth/callback` sebelum sign-in pertama. Setelah mengubah `public_url`, bangun kembali dan dorong gambar di bawah tag baru, daftarkan revisi definisi tugas baru, dan terapkan kembali. Di ECS pengaturan hidup dalam `gateway.yaml` tertanam gambar, dan gateway membangun asal publik hanya dari pengaturan itu, mengabaikan `X-Forwarded-Host` dan `X-Forwarded-Proto`. `X-Forwarded-For` dihormati untuk IP klien hanya ketika `listen.trusted_proxies` diatur.428> Perbarui URI pengalihan otorisasi klien OAuth ke `<public_url>/oauth/callback` sebelum sign-in pertama. Setelah mengubah `public_url`, bangun kembali dan dorong gambar di bawah tag baru, daftarkan revisi definisi tugas baru, dan terapkan kembali. Di ECS pengaturan hidup dalam `gateway.yaml` tertanam gambar, dan gateway membangun asal publik hanya dari pengaturan itu, mengabaikan `X-Forwarded-Host` dan `X-Forwarded-Proto`. `X-Forwarded-For` dihormati untuk IP klien hanya ketika `listen.trusted_proxies` diatur.

429 

430**EKS**

431 

432Trek ini memerlukan `kubectl` dan `eksctl` terinstal secara lokal, dan kluster EKS yang ada dengan penyedia OIDC IAM dan AWS Load Balancer Controller terinstal. Kluster harus berada di `$VPC_ID` sehingga pod dapat mencapai endpoint pribadi RDS, dan grup keamanan `claude-gateway-db` harus mengakui grup keamanan pod atau node kluster sebagai pengganti `$GW_SG`.

433 

434Di EKS gateway mendapatkan kredensial Bedrock melalui IRSA daripada peran ECS. Kebijakan kepercayaan `ecs-tasks.amazonaws.com` dari langkah IAM tidak berlaku di sini; IRSA memerlukan peran yang kebijakan kepercayaannya berfederasi pada penyedia OIDC kluster, dibatasi pada `system:serviceaccount:claude-gateway:gateway`. `eksctl create iamserviceaccount` membuat peran itu, melampirkan kebijakan, dan memberi anotasi akun layanan Kubernetes dengan ARN peran dalam satu langkah. Ubah dua dokumen kebijakan dari langkah IAM menjadi kebijakan terkelola yang dapat dilampirkan:

435 

436```bash theme={null}

437BEDROCK_POLICY_ARN="$(aws iam create-policy --policy-name claude-gateway-bedrock-invoke \

438 --policy-document file://bedrock-invoke.json --query Policy.Arn --output text)"

439SECRETS_POLICY_ARN="$(aws iam create-policy --policy-name claude-gateway-secrets-read \

440 --policy-document file://secrets-read.json --query Policy.Arn --output text)"

441 

442kubectl create namespace claude-gateway

443eksctl create iamserviceaccount --cluster <your-cluster> --region "$AWS_REGION" \

444 --namespace claude-gateway --name gateway --role-name claude-gateway \

445 --attach-policy-arn "$BEDROCK_POLICY_ARN" \

446 --attach-policy-arn "$SECRETS_POLICY_ARN" \

447 --approve

448```

449 

450Kebijakan rahasia diperlukan hanya ketika pod membaca Secrets Manager sendiri, seperti yang dilakukan penyedia AWS driver Secrets Store CSI menggunakan akun layanan pod pemasangan; lepaskan jika Anda membuat Kubernetes Secrets dengan cara lain. Penyedia memerlukan kedua tindakan kebijakan: ia memanggil `DescribeSecret` ketika merekonsiliasi rahasia yang diputar, jadi hibah `GetSecretValue`-only memasang pada deploy pertama tetapi berhenti mengambil rotasi.

451 

452Terapkan gateway sebagai Deployment standar plus Service dan Ingress, seperti yang dijelaskan dalam [deployment Kubernetes](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#kubernetes), dengan:

453 

454* `serviceAccountName: gateway`

455* `gateway.yaml` dipasang dari ConfigMap dan rahasia dipasang di `/secrets`

456* probe kesiapan menunjuk ke `GET /readyz`

457 

458Untuk front end, Ingress yang dikelola AWS Load Balancer Controller menyediakan ALB internal. Beri anotasi dengan:

459 

460* `alb.ingress.kubernetes.io/scheme: internal` dan `alb.ingress.kubernetes.io/target-type: ip`

461* `alb.ingress.kubernetes.io/ip-address-type: ipv4`, jadi tidak ada catatan AAAA jangkauan publik yang diterbitkan yang dapat ditolak oleh [pemeriksaan jaringan pribadi](https://code.claude.com/docs/id/claude-apps-gateway#prerequisites) `/login`

462* `alb.ingress.kubernetes.io/inbound-cidrs: <your-corporate-cidr>`, jadi grup keamanan frontend yang dikelola pengontrol mengakui hanya jaringan perusahaan Anda sebagai pengganti default `0.0.0.0/0`-nya

463* `alb.ingress.kubernetes.io/certificate-arn` dengan sertifikat ACM

464* `alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06`, jadi pendengar tidak kembali ke kebijakan default warisan yang menerima TLS 1.0 dan 1.1

465* `alb.ingress.kubernetes.io/load-balancer-attributes: idle_timeout.timeout_seconds=3600`, margin di atas keepalive streaming gateway; lihat [Troubleshooting](#troubleshooting)

466 429 

467Dengan IRSA, AWS SDK membaca token akun layanan yang diproyeksikan dan menukarnya dengan AWS STS, jadi pod tidak pernah memerlukan layanan metadata instans EC2; NetworkPolicy egress dapat memblokir `169.254.169.254` untuk pod gateway. Masalah batas hop node dalam [Troubleshooting](#troubleshooting) di bawah berlaku hanya untuk kluster yang melewati IRSA dan mengandalkan peran instans node.430> [tab] EKS

431>

432> Trek ini memerlukan `kubectl` dan `eksctl` terinstal secara lokal, dan kluster EKS yang ada dengan penyedia OIDC IAM dan AWS Load Balancer Controller terinstal. Kluster harus berada di `$VPC_ID` sehingga pod dapat mencapai endpoint pribadi RDS, dan grup keamanan `claude-gateway-db` harus mengakui grup keamanan pod atau node kluster sebagai pengganti `$GW_SG`.

433>

434> Di EKS gateway mendapatkan kredensial Bedrock melalui IRSA daripada peran ECS. Kebijakan kepercayaan `ecs-tasks.amazonaws.com` dari langkah IAM tidak berlaku di sini; IRSA memerlukan peran yang kebijakan kepercayaannya berfederasi pada penyedia OIDC kluster, dibatasi pada `system:serviceaccount:claude-gateway:gateway`. `eksctl create iamserviceaccount` membuat peran itu, melampirkan kebijakan, dan memberi anotasi akun layanan Kubernetes dengan ARN peran dalam satu langkah. Ubah dua dokumen kebijakan dari langkah IAM menjadi kebijakan terkelola yang dapat dilampirkan:

435>

436> ```bash theme={null}

437> BEDROCK_POLICY_ARN="$(aws iam create-policy --policy-name claude-gateway-bedrock-invoke \

438> --policy-document file://bedrock-invoke.json --query Policy.Arn --output text)"

439> SECRETS_POLICY_ARN="$(aws iam create-policy --policy-name claude-gateway-secrets-read \

440> --policy-document file://secrets-read.json --query Policy.Arn --output text)"

441>

442> kubectl create namespace claude-gateway

443> eksctl create iamserviceaccount --cluster <your-cluster> --region "$AWS_REGION" \

444> --namespace claude-gateway --name gateway --role-name claude-gateway \

445> --attach-policy-arn "$BEDROCK_POLICY_ARN" \

446> --attach-policy-arn "$SECRETS_POLICY_ARN" \

447> --approve

448> ```

449>

450> Kebijakan rahasia diperlukan hanya ketika pod membaca Secrets Manager sendiri, seperti yang dilakukan penyedia AWS driver Secrets Store CSI menggunakan akun layanan pod pemasangan; lepaskan jika Anda membuat Kubernetes Secrets dengan cara lain. Penyedia memerlukan kedua tindakan kebijakan: ia memanggil `DescribeSecret` ketika merekonsiliasi rahasia yang diputar, jadi hibah `GetSecretValue`-only memasang pada deploy pertama tetapi berhenti mengambil rotasi.

451>

452> Terapkan gateway sebagai Deployment standar plus Service dan Ingress, seperti yang dijelaskan dalam [deployment Kubernetes](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#kubernetes), dengan:

453>

454> * `serviceAccountName: gateway`

455> * `gateway.yaml` dipasang dari ConfigMap dan rahasia dipasang di `/secrets`

456> * probe kesiapan menunjuk ke `GET /readyz`

457>

458> Untuk front end, Ingress yang dikelola AWS Load Balancer Controller menyediakan ALB internal. Beri anotasi dengan:

459>

460> * `alb.ingress.kubernetes.io/scheme: internal` dan `alb.ingress.kubernetes.io/target-type: ip`

461> * `alb.ingress.kubernetes.io/ip-address-type: ipv4`, jadi tidak ada catatan AAAA jangkauan publik yang diterbitkan yang dapat ditolak oleh [pemeriksaan jaringan pribadi](https://code.claude.com/docs/id/claude-apps-gateway#prerequisites) `/login`

462> * `alb.ingress.kubernetes.io/inbound-cidrs: <your-corporate-cidr>`, jadi grup keamanan frontend yang dikelola pengontrol mengakui hanya jaringan perusahaan Anda sebagai pengganti default `0.0.0.0/0`-nya

463> * `alb.ingress.kubernetes.io/certificate-arn` dengan sertifikat ACM

464> * `alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06`, jadi pendengar tidak kembali ke kebijakan default warisan yang menerima TLS 1.0 dan 1.1

465> * `alb.ingress.kubernetes.io/load-balancer-attributes: idle_timeout.timeout_seconds=3600`, margin di atas keepalive streaming gateway; lihat [Troubleshooting](#troubleshooting)

466>

467> Dengan IRSA, AWS SDK membaca token akun layanan yang diproyeksikan dan menukarnya dengan AWS STS, jadi pod tidak pernah memerlukan layanan metadata instans EC2; NetworkPolicy egress dapat memblokir `169.254.169.254` untuk pod gateway. Masalah batas hop node dalam [Troubleshooting](#troubleshooting) di bawah berlaku hanya untuk kluster yang melewati IRSA dan mengandalkan peran instans node.

468 468 

469**8. Dorong URL gateway ke mesin pengembang**469**8. Dorong URL gateway ke mesin pengembang**

470 470 

Details

203 203 

204**7. Terapkan**204**7. Terapkan**

205 205 

206**Cloud Run**206> [tab] Cloud Run

207 

208Perintah di bawah menyebarkan untuk produksi di belakang load balancer internal.

209 

210```bash theme={null}

211gcloud run deploy claude-gateway \

212 --image="${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>" \

213 --region="$REGION" \

214 --service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \

215 --min-instances=1 \

216 --max-instances=8 \

217 --timeout=3600 \

218 --ingress=internal \

219 --network="$VPC" --subnet=cc-gateway-subnet --vpc-egress=private-ranges-only \

220 --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest,GATEWAY_JWT_SECRET=gateway-jwt-secret:latest,OIDC_CLIENT_SECRET=gateway-oidc-client-secret:latest,GATEWAY_POSTGRES_URL=gateway-postgres-url:latest \

221 --no-invoker-iam-check

222```

223 

224Egress VPC langsung, melalui `--network`, `--subnet`, dan `--vpc-egress=private-ranges-only`, memungkinkan layanan menjangkau IP pribadi Cloud SQL secara langsung. Egress publik ke endpoint Agent Platform milik Google Cloud dan `accounts.google.com` langsung ke internet daripada melalui VPC, jadi Cloud NAT tidak diperlukan.

225 

226> [!NOTE]

227>207>

228> Setiap instans memegang hingga [`store.max_connections`](https://code.claude.com/docs/id/claude-apps-gateway-config#store) koneksi Postgres, lima secara default. Gunakan [Menentukan ukuran pool koneksi](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#size-the-connection-pool) untuk memeriksa `--max-instances=8` terhadap koneksi yang tersisa di database Anda untuk gateway, dan sertakan instans tambahan yang dimulai oleh rolling update.208> Perintah di bawah menyebarkan untuk produksi di belakang load balancer internal.

229 209>

230Pemeriksaan IAM invoker harus terbuka atau dinonaktifkan. Gateway menjalankan OIDC-nya sendiri dan kliennya tidak membawa token GCP, jadi pemeriksaan invoker Cloud Run harus mengakui permintaan yang tidak diautentikasi. Autentikasi OIDC gateway mengautentikasi permintaan setelah mencapai kontainer, dengan `allowed_email_domains` membatasi domain mana yang dapat masuk.210> ```bash theme={null}

231 211> gcloud run deploy claude-gateway \

232Dua bendera mengakui permintaan yang tidak diautentikasi:212> --image="${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>" \

233 213> --region="$REGION" \

234* `--no-invoker-iam-check`: menonaktifkan pemeriksaan tanpa ikatan `allUsers` untuk dikelola, dan bekerja di bawah Domain Restricted Sharing214> --service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \

235* `--allow-unauthenticated`: memberikan peran `run.invoker` kepada `allUsers`; gunakan jika organisasi Anda tidak memungkinkan `--no-invoker-iam-check`215> --min-instances=1 \

236 216> --max-instances=8 \

237Pembatasan ingress melalui `--ingress` adalah lapisan terpisah dan independen dari pemeriksaan invoker; tetap atur untuk membatasi layanan ke jaringan perusahaan Anda.217> --timeout=3600 \

238 218> --ingress=internal \

239Secara default URL Cloud Run `*.run.app` diselesaikan ke alamat publik, yang pemeriksaan [jaringan pribadi](https://code.claude.com/docs/id/claude-apps-gateway#prerequisites) `/login` menolak. Dua topologi memberikan pengembang nama host yang dapat diselesaikan secara pribadi, dan Cloud Run tidak menyediakan keduanya untuk Anda:219> --network="$VPC" --subnet=cc-gateway-subnet --vpc-egress=private-ranges-only \

240 220> --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest,GATEWAY_JWT_SECRET=gateway-jwt-secret:latest,OIDC_CLIENT_SECRET=gateway-oidc-client-secret:latest,GATEWAY_POSTGRES_URL=gateway-postgres-url:latest \

241* **Internal Application Load Balancer**, topologi yang diasumsikan oleh `gateway.yaml` di halaman ini: sediakan Internal Application Load Balancer di depan layanan dengan nama DNS internal dan sertifikat, dan atur `listen.public_url` ke nama host itu. Pengaturan ingress `internal` sudah mengizinkan lalu lintas dari Internal Application Load Balancer; `internal-and-cloud-load-balancing` juga mengizinkan External Application Load Balancer, yang alamat publiknya ditolak oleh pemeriksaan jaringan pribadi `/login`, sehingga tidak ada topologi di halaman ini yang membutuhkannya.221> --no-invoker-iam-check

242* **Ingress internal saja tanpa load balancer**: biarkan perintah deploy apa adanya dan biarkan `listen.public_url` sebagai URL `*.run.app`, default dalam [aset referensi](#terraform-reference) di bawah. Agar `*.run.app` diselesaikan secara pribadi, tim jaringan Anda harus sudah mengoperasikan endpoint Private Service Connect untuk Google APIs, zona DNS pribadi Cloud yang menyelesaikan `*.run.app` ke dalamnya, dan perutean on-premises ke endpoint itu.222> ```

243 223>

244[Panduan jaringan pribadi Google untuk Cloud Run](https://cloud.google.com/run/docs/securing/private-networking) mencakup infrastruktur yang kedua opsi butuhkan. Verifikasi sign-in setelah gateway melayani pada nama host pribadi; sampai saat itu, konfirmasi kontainer boot dari lognya di Cloud Run.224> Egress VPC langsung, melalui `--network`, `--subnet`, dan `--vpc-egress=private-ranges-only`, memungkinkan layanan menjangkau IP pribadi Cloud SQL secara langsung. Egress publik ke endpoint Agent Platform milik Google Cloud dan `accounts.google.com` langsung ke internet daripada melalui VPC, jadi Cloud NAT tidak diperlukan.

245 225>

246Perbarui URI pengalihan otorisasi klien OAuth ke `<public_url>/oauth/callback` sebelum sign-in pertama. Terapkan ulang setelah mengubah `public_url`, karena gateway membangun asal publiknya hanya dari pengaturan itu dan mengabaikan `X-Forwarded-Host` dan `X-Forwarded-Proto`. `X-Forwarded-For` dihormati untuk IP klien hanya ketika `listen.trusted_proxies` diatur.226> > [!NOTE]

247 227> >

248**GKE**228> > Setiap instans memegang hingga [`store.max_connections`](https://code.claude.com/docs/id/claude-apps-gateway-config#store) koneksi Postgres, lima secara default. Gunakan [Menentukan ukuran pool koneksi](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#size-the-connection-pool) untuk memeriksa `--max-instances=8` terhadap koneksi yang tersisa di database Anda untuk gateway, dan sertakan instans tambahan yang dimulai oleh rolling update.

249 229>

250Kluster harus berada di `$VPC` yang dibuat dalam langkah Cloud SQL sehingga pod dapat menjangkau IP pribadi database; peering VPC saja tidak berfungsi, karena IP pribadi Cloud SQL itu sendiri adalah jaringan yang di-peer dan peering tidak transitif. Untuk membuat kluster baru di VPC itu, teruskan `--network="$VPC" --subnetwork=cc-gateway-subnet` ke `gcloud container clusters create`.230> Pemeriksaan IAM invoker harus terbuka atau dinonaktifkan. Gateway menjalankan OIDC-nya sendiri dan kliennya tidak membawa token GCP, jadi pemeriksaan invoker Cloud Run harus mengakui permintaan yang tidak diautentikasi. Autentikasi OIDC gateway mengautentikasi permintaan setelah mencapai kontainer, dengan `allowed_email_domains` membatasi domain mana yang dapat masuk.

251 231>

252Aktifkan Workload Identity di kluster dan pool node-nya, kemudian ikat service account Google ke service account Kubernetes sehingga pod mewarisi kredensialnya:232> Dua bendera mengakui permintaan yang tidak diautentikasi:

253 233>

254```bash theme={null}234> * `--no-invoker-iam-check`: menonaktifkan pemeriksaan tanpa ikatan `allUsers` untuk dikelola, dan bekerja di bawah Domain Restricted Sharing

255gcloud container clusters update <cluster> --region="$REGION" \235> * `--allow-unauthenticated`: memberikan peran `run.invoker` kepada `allUsers`; gunakan jika organisasi Anda tidak memungkinkan `--no-invoker-iam-check`

256 --workload-pool="${PROJECT_ID}.svc.id.goog"236>

257# On a Standard cluster, existing node pools also need GKE_METADATA;237> Pembatasan ingress melalui `--ingress` adalah lapisan terpisah dan independen dari pemeriksaan invoker; tetap atur untuk membatasi layanan ke jaringan perusahaan Anda.

258# Autopilot enables this by default.238>

259gcloud container node-pools update <pool> --cluster=<cluster> \239> Secara default URL Cloud Run `*.run.app` diselesaikan ke alamat publik, yang pemeriksaan [jaringan pribadi](https://code.claude.com/docs/id/claude-apps-gateway#prerequisites) `/login` menolak. Dua topologi memberikan pengembang nama host yang dapat diselesaikan secara pribadi, dan Cloud Run tidak menyediakan keduanya untuk Anda:

260 --region="$REGION" --workload-metadata=GKE_METADATA240>

261 241> * **Internal Application Load Balancer**, topologi yang diasumsikan oleh `gateway.yaml` di halaman ini: sediakan Internal Application Load Balancer di depan layanan dengan nama DNS internal dan sertifikat, dan atur `listen.public_url` ke nama host itu. Pengaturan ingress `internal` sudah mengizinkan lalu lintas dari Internal Application Load Balancer; `internal-and-cloud-load-balancing` juga mengizinkan External Application Load Balancer, yang alamat publiknya ditolak oleh pemeriksaan jaringan pribadi `/login`, sehingga tidak ada topologi di halaman ini yang membutuhkannya.

262kubectl create namespace claude-gateway242> * **Ingress internal saja tanpa load balancer**: biarkan perintah deploy apa adanya dan biarkan `listen.public_url` sebagai URL `*.run.app`, default dalam [aset referensi](#terraform-reference) di bawah. Agar `*.run.app` diselesaikan secara pribadi, tim jaringan Anda harus sudah mengoperasikan endpoint Private Service Connect untuk Google APIs, zona DNS pribadi Cloud yang menyelesaikan `*.run.app` ke dalamnya, dan perutean on-premises ke endpoint itu.

263kubectl create serviceaccount gateway -n claude-gateway243>

264 244> [Panduan jaringan pribadi Google untuk Cloud Run](https://cloud.google.com/run/docs/securing/private-networking) mencakup infrastruktur yang kedua opsi butuhkan. Verifikasi sign-in setelah gateway melayani pada nama host pribadi; sampai saat itu, konfirmasi kontainer boot dari lognya di Cloud Run.

265gcloud iam service-accounts add-iam-policy-binding \245>

266 "claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \246> Perbarui URI pengalihan otorisasi klien OAuth ke `<public_url>/oauth/callback` sebelum sign-in pertama. Terapkan ulang setelah mengubah `public_url`, karena gateway membangun asal publiknya hanya dari pengaturan itu dan mengabaikan `X-Forwarded-Host` dan `X-Forwarded-Proto`. `X-Forwarded-For` dihormati untuk IP klien hanya ketika `listen.trusted_proxies` diatur.

267 --role roles/iam.workloadIdentityUser \

268 --member "serviceAccount:${PROJECT_ID}.svc.id.goog[claude-gateway/gateway]"

269 

270kubectl annotate serviceaccount gateway -n claude-gateway \

271 iam.gke.io/gcp-service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"

272```

273 

274Terapkan gateway sebagai Deployment standar ditambah Service dan Ingress internal, kelas `gce-internal`, seperti dijelaskan dalam [penyebaran Kubernetes](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#kubernetes), dengan:

275 

276* `serviceAccountName: gateway`

277* driver CSI Secret Manager memasang rahasia di `/secrets`

278* probe kesiapan menunjuk ke `GET /readyz`

279 

280Lampirkan BackendConfig dengan `timeoutSec` yang ditingkatkan ke Service gateway: layanan backend load balancer di belakang GKE Ingress default ke timeout 30 detik, yang memotong respons streaming panjang.

281 

282Jangan terapkan NetworkPolicy egress yang memblokir `169.254.169.254` di kluster Workload Identity; pod harus menjangkau server metadata untuk kredensial. [Penjaga SSRF](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#threat-model-summary) gateway yang tertanam adalah pertahanan di sana.

283 247 

284Gateway mencatat peringatan boot bahwa endpoint metadata dapat dijangkau dan menyarankan menerapkan NetworkPolicy egress. Di bawah Workload Identity peringatan itu diharapkan, karena pod membutuhkan endpoint.248> [tab] GKE

249>

250> Kluster harus berada di `$VPC` yang dibuat dalam langkah Cloud SQL sehingga pod dapat menjangkau IP pribadi database; peering VPC saja tidak berfungsi, karena IP pribadi Cloud SQL itu sendiri adalah jaringan yang di-peer dan peering tidak transitif. Untuk membuat kluster baru di VPC itu, teruskan `--network="$VPC" --subnetwork=cc-gateway-subnet` ke `gcloud container clusters create`.

251>

252> Aktifkan Workload Identity di kluster dan pool node-nya, kemudian ikat service account Google ke service account Kubernetes sehingga pod mewarisi kredensialnya:

253>

254> ```bash theme={null}

255> gcloud container clusters update <cluster> --region="$REGION" \

256> --workload-pool="${PROJECT_ID}.svc.id.goog"

257> # On a Standard cluster, existing node pools also need GKE_METADATA;

258> # Autopilot enables this by default.

259> gcloud container node-pools update <pool> --cluster=<cluster> \

260> --region="$REGION" --workload-metadata=GKE_METADATA

261>

262> kubectl create namespace claude-gateway

263> kubectl create serviceaccount gateway -n claude-gateway

264>

265> gcloud iam service-accounts add-iam-policy-binding \

266> "claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \

267> --role roles/iam.workloadIdentityUser \

268> --member "serviceAccount:${PROJECT_ID}.svc.id.goog[claude-gateway/gateway]"

269>

270> kubectl annotate serviceaccount gateway -n claude-gateway \

271> iam.gke.io/gcp-service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"

272> ```

273>

274> Terapkan gateway sebagai Deployment standar ditambah Service dan Ingress internal, kelas `gce-internal`, seperti dijelaskan dalam [penyebaran Kubernetes](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#kubernetes), dengan:

275>

276> * `serviceAccountName: gateway`

277> * driver CSI Secret Manager memasang rahasia di `/secrets`

278> * probe kesiapan menunjuk ke `GET /readyz`

279>

280> Lampirkan BackendConfig dengan `timeoutSec` yang ditingkatkan ke Service gateway: layanan backend load balancer di belakang GKE Ingress default ke timeout 30 detik, yang memotong respons streaming panjang.

281>

282> Jangan terapkan NetworkPolicy egress yang memblokir `169.254.169.254` di kluster Workload Identity; pod harus menjangkau server metadata untuk kredensial. [Penjaga SSRF](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#threat-model-summary) gateway yang tertanam adalah pertahanan di sana.

283>

284> Gateway mencatat peringatan boot bahwa endpoint metadata dapat dijangkau dan menyarankan menerapkan NetworkPolicy egress. Di bawah Workload Identity peringatan itu diharapkan, karena pod membutuhkan endpoint.

285 285 

286**8. Dorong URL gateway ke mesin pengembang**286**8. Dorong URL gateway ke mesin pengembang**

287 287 

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> Sesi cloud tersedia pada paket Pro, Max, dan Team, serta untuk pengguna Enterprise dengan kursi premium atau kursi Chat + Claude Code. Jika [peran kustom](https://support.claude.com/en/articles/13930452) mengatur akses Anda, Anda juga memerlukan peran dengan izin sesi cloud untuk memulai sesi pada infrastruktur Anthropic dari browser, aplikasi, atau terminal. Minta Owner untuk menambahkannya ke salah satu peran Anda di [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).11> Sesi cloud tersedia pada paket Pro, Max, Ultra, dan Team, serta untuk pengguna Enterprise dengan kursi premium atau kursi Chat + Claude Code. Jika [peran kustom](https://support.claude.com/en/articles/13930452) mengatur akses Anda, Anda juga memerlukan peran dengan izin sesi cloud untuk memulai sesi pada infrastruktur Anthropic dari browser, aplikasi, atau terminal. Minta Owner untuk menambahkannya ke salah satu peran Anda di [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).

12 12 

13Sesi cloud adalah sesi Claude Code yang berjalan pada infrastruktur cloud alih-alih pada mesin Anda. Secara default, sesi berjalan pada infrastruktur yang dikelola Anthropic, atau pada [lingkungan self-hosted](https://code.claude.com/docs/id/self-hosted-environments) organisasi Anda saat dialihkan ke sana. Sesi terus berjalan setelah Anda menutup laptop, dan Anda dapat memeriksanya atau mengarahkannya dari perangkat apa pun. Sesi ini dihitung dalam batas penggunaan paket Anda bersama dengan penggunaan Claude dan Claude Code Anda lainnya, dan tidak ada biaya terpisah untuk VM cloud.13Sesi cloud adalah sesi Claude Code yang berjalan pada infrastruktur cloud alih-alih pada mesin Anda. Secara default, sesi berjalan pada infrastruktur yang dikelola Anthropic, atau pada [lingkungan self-hosted](https://code.claude.com/docs/id/self-hosted-environments) organisasi Anda saat dialihkan ke sana. Sesi terus berjalan setelah Anda menutup laptop, dan Anda dapat memeriksanya atau mengarahkannya dari perangkat apa pun. Sesi ini dihitung dalam batas penggunaan paket Anda bersama dengan penggunaan Claude dan Claude Code Anda lainnya, dan tidak ada biaya terpisah untuk VM cloud.

14 14 


342* **Nama Anda**: nama tampilan akun Anda terlihat oleh semua penerima dengan akses342* **Nama Anda**: nama tampilan akun Anda terlihat oleh semua penerima dengan akses

343* **Sesi Slack**: sesi [Claude in Slack](https://code.claude.com/docs/id/slack.md) secara otomatis dibagikan dengan visibilitas Team343* **Sesi Slack**: sesi [Claude in Slack](https://code.claude.com/docs/id/slack.md) secara otomatis dibagikan dengan visibilitas Team

344 344 

345#### Bagikan dari akun Max atau Pro345#### Bagikan dari akun Max, Ultra, atau Pro

346 

347Berbagi berfungsi sebagai berikut untuk akun Max dan Pro:

348 346 

349* **Opsi visibilitas**: **Private** dan **Public**. Visibilitas Public membuat sesi terlihat oleh pengguna mana pun yang masuk ke claude.ai347* **Opsi visibilitas**: **Private** dan **Public**. Visibilitas Public membuat sesi terlihat oleh pengguna mana pun yang masuk ke claude.ai

350* **Akses repositori**: verifikasi tidak diaktifkan secara default348* **Akses repositori**: verifikasi tidak diaktifkan secara default

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> Projects sedang dalam beta publik di paket Pro dan Max dan diluncurkan secara bertahap. Peluncuran dimulai dengan akun yang telah menggunakan [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) dan tidak memiliki projects yang ada di claude.ai chat atau Cowork. Projects belum ditawarkan di paket Team atau Enterprise.11> Projects sedang dalam beta publik di paket Pro, Max, dan Ultra dan diluncurkan secara bertahap. Peluncuran dimulai dengan akun yang telah menggunakan [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) dan tidak memiliki projects yang ada di claude.ai chat atau Cowork. Projects belum ditawarkan di paket Team atau Enterprise.

12>12>

13> Jika **Projects** tidak muncul di sidebar di [claude.ai/code](https://claude.ai/code) atau di tab Code dari [aplikasi desktop](https://code.claude.com/docs/id/desktop.md), periksa di bawah **More** di sana. Jika di sana juga tidak ada, peluncuran belum mencapai akun Anda. Anda dapat [bergabung dengan daftar tunggu](https://claude.com/form/projects), dan lihat [Jalankan agent secara paralel](https://code.claude.com/docs/id/agents.md) untuk apa yang dapat Anda gunakan sementara itu.13> Jika **Projects** tidak muncul di sidebar di [claude.ai/code](https://claude.ai/code) atau di tab Code dari [aplikasi desktop](https://code.claude.com/docs/id/desktop.md), periksa di bawah **More** di sana. Jika di sana juga tidak ada, peluncuran belum mencapai akun Anda. Anda dapat [bergabung dengan daftar tunggu](https://claude.com/form/projects), dan lihat [Jalankan agent secara paralel](https://code.claude.com/docs/id/agents.md) untuk apa yang dapat Anda gunakan sementara itu.

14 14 


78 78 

79Sebelum Anda membuat project, periksa paket Anda, setup GitHub Anda, dan apa yang dibutuhkan pekerjaan untuk dijangkau:79Sebelum Anda membuat project, periksa paket Anda, setup GitHub Anda, dan apa yang dibutuhkan pekerjaan untuk dijangkau:

80 80 

81* **Paket**: Anda berada di Pro atau Max, dan **Projects** ditampilkan di sidebar Anda, secara langsung atau di bawah **More**. Pilih **Projects** dan periksa bahwa itu menawarkan **New project** atau **Get started**.81* **Paket**: Anda berada di Pro, Max, atau Ultra, dan **Projects** ditampilkan di sidebar Anda, secara langsung atau di bawah **More**. Pilih **Projects** dan periksa bahwa itu menawarkan **New project** atau **Get started**.

82* **GitHub, jika project akan bekerja pada kode**: kode Anda ada di github.com daripada GitHub Enterprise Server, GitLab, atau Bitbucket, akun GitHub yang terhubung memiliki akses push ke kode, dan Claude GitHub App terinstal di atasnya. Jika Anda menghubungkan GitHub dengan [`/web-setup`](https://code.claude.com/docs/id/web-quickstart#connect-from-your-terminal), token itu memungkinkan sesi cloud lain Anda menjangkau repositori tetapi tidak cukup untuk thread project, yang membutuhkan Claude GitHub App. [Atur akses GitHub](#set-up-github-access) memiliki langkah-langkahnya.82* **GitHub, jika project akan bekerja pada kode**: kode Anda ada di github.com daripada GitHub Enterprise Server, GitLab, atau Bitbucket, akun GitHub yang terhubung memiliki akses push ke kode, dan Claude GitHub App terinstal di atasnya. Jika Anda menghubungkan GitHub dengan [`/web-setup`](https://code.claude.com/docs/id/web-quickstart#connect-from-your-terminal), token itu memungkinkan sesi cloud lain Anda menjangkau repositori tetapi tidak cukup untuk thread project, yang membutuhkan Claude GitHub App. [Atur akses GitHub](#set-up-github-access) memiliki langkah-langkahnya.

83* **Akses jaringan, rahasia, dan alat**: untuk thread cloud, ini berasal dari [cloud environment](#choose-an-environment-for-threads) project. Environment default sudah menjangkau [registri paket umum](https://code.claude.com/docs/id/cloud-environments.md#default-allowed-domains), jadi periksa ini hanya jika pekerjaan membutuhkan domain lain, rahasia, atau alat yang tidak terinstal sebelumnya. Jika pekerjaan membutuhkan server MCP, periksa bahwa itu ditampilkan sebagai terhubung di [konektor claude.ai](https://claude.ai/customize/connectors) Anda.83* **Akses jaringan, rahasia, dan alat**: untuk thread cloud, ini berasal dari [cloud environment](#choose-an-environment-for-threads) project. Environment default sudah menjangkau [registri paket umum](https://code.claude.com/docs/id/cloud-environments.md#default-allowed-domains), jadi periksa ini hanya jika pekerjaan membutuhkan domain lain, rahasia, atau alat yang tidak terinstal sebelumnya. Jika pekerjaan membutuhkan server MCP, periksa bahwa itu ditampilkan sebagai terhubung di [konektor claude.ai](https://claude.ai/customize/connectors) Anda.

84 84 


421 421 

422Buka **Usage** di **Project settings** untuk melihat penggunaan token berdasarkan thread dan model, dan berapa banyak yang masuk ke percakapan project. Untuk menurunkannya:422Buka **Usage** di **Project settings** untuk melihat penggunaan token berdasarkan thread dan model, dan berapa banyak yang masuk ke percakapan project. Untuk menurunkannya:

423 423 

424* Follow-up yang dirutekan ke thread yang telah idle lebih lama dari [cache lifetime](https://code.claude.com/docs/id/prompt-caching.md#cache-lifetime), satu jam di Pro dan Max dalam batas paket Anda, membaca ulang seluruh percakapan thread sebelum melakukan apa pun. Untuk pekerjaan baru, meminta Claude untuk memulai thread segar dapat menggunakan lebih sedikit daripada menghidupkan kembali yang lama dan besar.424* Di Pro, Max, dan Ultra dalam batas paket Anda, [cache lifetime](https://code.claude.com/docs/id/prompt-caching.md#cache-lifetime) adalah satu jam. Thread yang telah idle lebih lama dari itu membaca ulang seluruh percakapannya sebelum melakukan apa pun ketika follow-up mencapainya. Untuk pekerjaan baru, minta Claude untuk memulai thread segar, yang dapat menggunakan lebih sedikit daripada menghidupkan kembali thread lama yang besar.

425* Untuk pekerjaan yang tidak membutuhkan model terbesar, [pilih model yang lebih kecil atau effort level yang lebih rendah](#choose-models-and-let-claude-manage-context) untuk thread, percakapan, atau keduanya.425* Untuk pekerjaan yang tidak membutuhkan model terbesar, [pilih model yang lebih kecil atau effort level yang lebih rendah](#choose-models-and-let-claude-manage-context) untuk thread, percakapan, atau keduanya.

426* Minta Claude dalam percakapan project untuk menjalankan lebih sedikit thread sekaligus, atau untuk menjawab pertanyaan kecil sendiri alih-alih memulai thread.426* Minta Claude dalam percakapan project untuk menjalankan lebih sedikit thread sekaligus, atau untuk menjawab pertanyaan kecil sendiri alih-alih memulai thread.

427 427 


429 429 

430Beberapa fitur Claude Code memungkinkan lebih dari satu sesi bekerja pada waktu yang sama, jadi menjalankan pekerjaan secara paralel bukan dengan sendirinya apa yang dimaksudkan project. Dalam project, Claude memulai dan melacak sesi alih-alih Anda, dan masing-masing dimulai dari instruksi yang sama. Inilah cara setiap fitur tetangga terhubung ke project:430Beberapa fitur Claude Code memungkinkan lebih dari satu sesi bekerja pada waktu yang sama, jadi menjalankan pekerjaan secara paralel bukan dengan sendirinya apa yang dimaksudkan project. Dalam project, Claude memulai dan melacak sesi alih-alih Anda, dan masing-masing dimulai dari instruksi yang sama. Inilah cara setiap fitur tetangga terhubung ke project:

431 431 

432* **Claude Tag**: [Claude Tag](https://claude.com/docs/claude-tag/overview) adalah Claude di saluran Slack tim Anda, di paket Team dan Enterprise. Siapa pun di saluran dapat memberikan pekerjaan, semua orang di saluran melihat dan mengarahkannya, dan itu menggunakan koneksi yang disiapkan admin untuk saluran itu. Project adalah milik Anda sendiri: Anda satu-satunya yang mengirim pekerjaan atau melihat thread-nya, itu menggunakan akses GitHub dan connectors Anda sendiri, dan itu di Pro dan Max. [Bagaimana Claude Tag berbeda dari Cowork dan Claude Code](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) memiliki perbandingan berdampingan.432* **Claude Tag**: [Claude Tag](https://claude.com/docs/claude-tag/overview) adalah Claude di saluran Slack tim Anda, di paket Team dan Enterprise. Siapa pun di saluran dapat memberikan pekerjaan, semua orang di saluran melihat dan mengarahkannya, dan itu menggunakan koneksi yang disiapkan admin untuk saluran itu.

433 

434 Project tersedia di Pro, Max, dan Ultra. Project adalah milik Anda sendiri: Anda satu-satunya yang mengirim pekerjaan atau melihat thread-nya, dan project menggunakan akses GitHub dan konektor Anda sendiri. [Bagaimana Claude Tag berbeda dari Cowork dan Claude Code](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) memiliki perbandingan berdampingan.

433* **Cloud sessions**: setiap thread adalah [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) kecuali Anda meminta Claude untuk menjalankannya di mesin Anda. Bagaimanapun, Claude memulai dan melacaknya alih-alih Anda. Anda juga dapat membawa pekerjaan dari sesi cloud yang Anda mulai sendiri ke dalam project: pilih [**Continue in project**](#start-from-an-existing-cloud-session) di menu sidebar sesi tersebut.435* **Cloud sessions**: setiap thread adalah [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) kecuali Anda meminta Claude untuk menjalankannya di mesin Anda. Bagaimanapun, Claude memulai dan melacaknya alih-alih Anda. Anda juga dapat membawa pekerjaan dari sesi cloud yang Anda mulai sendiri ke dalam project: pilih [**Continue in project**](#start-from-an-existing-cloud-session) di menu sidebar sesi tersebut.

434* **Scheduled tasks**: ketika Anda meminta pekerjaan terjadwal dalam project, Claude membuat [tugas terjadwal cloud](https://code.claude.com/docs/id/routines.md) yang berjalan sebagai thread dalam project itu dan muncul di tab **Scheduled tasks**-nya. Tugas terjadwal yang Anda buat di luar project terus bekerja sendiri.436* **Scheduled tasks**: ketika Anda meminta pekerjaan terjadwal dalam project, Claude membuat [tugas terjadwal cloud](https://code.claude.com/docs/id/routines.md) yang berjalan sebagai thread dalam project itu dan muncul di tab **Scheduled tasks**-nya. Tugas terjadwal yang Anda buat di luar project terus bekerja sendiri.

435* **Remote Control**: [Remote Control](https://code.claude.com/docs/id/remote-control.md) menghubungkan claude.ai ke sesi Claude Code yang berjalan di mesin Anda. Ketika Anda meminta Claude dalam project untuk menjalankan thread di komputer Anda, project [menggunakan Remote Control untuk melakukannya](#run-a-thread-on-your-own-computer).437* **Remote Control**: [Remote Control](https://code.claude.com/docs/id/remote-control.md) menghubungkan claude.ai ke sesi Claude Code yang berjalan di mesin Anda. Ketika Anda meminta Claude dalam project untuk menjalankan thread di komputer Anda, project [menggunakan Remote Control untuk melakukannya](#run-a-thread-on-your-own-computer).

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> Lingkungan cloud berlaku untuk [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md), yang tersedia pada paket Pro, Max, dan Team, serta untuk pengguna Enterprise dengan [kursi premium atau kursi Chat + Claude Code](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan).11> Lingkungan cloud berlaku untuk [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md), yang tersedia pada paket Pro, Max, Ultra, dan Team, serta untuk pengguna Enterprise dengan [kursi premium atau kursi Chat + Claude Code](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan).

12 12 

13Setiap [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) berjalan di lingkungan cloud. Anda dapat mengonfigurasi lingkungan untuk mengizinkan atau menolak [akses jaringan](#access-levels), [menetapkan environment variable](#set-environment-variables) untuk sesi, menyimpan [rahasia jaringan](#add-network-secrets) yang digunakan sesi tanpa melihatnya, dan menjalankan [skrip setup](#setup-scripts) sebelum Claude mulai bekerja.13Setiap [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) berjalan di lingkungan cloud. Anda dapat mengonfigurasi lingkungan untuk mengizinkan atau menolak [akses jaringan](#access-levels), [menetapkan environment variable](#set-environment-variables) untuk sesi, menyimpan [rahasia jaringan](#add-network-secrets) yang digunakan sesi tanpa melihatnya, dan menjalankan [skrip setup](#setup-scripts) sebelum Claude mulai bekerja.

14 14 


32Jika Anda belum memiliki lingkungan, onboarding menyiapkan lingkungan **Default**. Caranya tergantung di mana Anda melakukan onboarding:32Jika Anda belum memiliki lingkungan, onboarding menyiapkan lingkungan **Default**. Caranya tergantung di mana Anda melakukan onboarding:

33 33 

34* **Alur CLI seperti `/web-setup`**: membuat **Default** untuk Anda34* **Alur CLI seperti `/web-setup`**: membuat **Default** untuk Anda

35* **Onboarding web pada Pro dan Max**: membuat **Default** untuk Anda35* **Onboarding web pada Pro, Max, dan Ultra**: Anda mendapatkan **Default** secara otomatis

36* **Onboarding web pada Team dan Enterprise**: menampilkan formulir **Buat lingkungan cloud pertama Anda** kecuali Owner telah mengaktifkan [Pengaturan cepat](https://code.claude.com/docs/id/claude-code-on-the-web.md#quick-setup-for-team-and-enterprise); pertahankan default formulir dan klik **Buat & selesai** untuk mendapatkan lingkungan **Default** yang sama36* **Onboarding web pada Team dan Enterprise**: menampilkan formulir **Buat lingkungan cloud pertama Anda** kecuali Owner telah mengaktifkan [Pengaturan cepat](https://code.claude.com/docs/id/claude-code-on-the-web.md#quick-setup-for-team-and-enterprise); pertahankan default formulir dan klik **Buat & selesai** untuk mendapatkan lingkungan **Default** yang sama

37 37 

38**Default** tidak membawa konfigurasi apa pun:38**Default** tidak membawa konfigurasi apa pun:


93 93 

94Rahasia jaringan adalah kunci API atau token yang Anda simpan di lingkungan cloud sehingga Claude dapat memanggil API itu dari sesi apa pun di lingkungan tanpa melihat kunci. Proxy agent Anthropic menambahkan kunci ke permintaan untuk host yang Anda cantumkan, setelah setiap permintaan meninggalkan VM sesi, sehingga kunci itu sendiri tetap berada di luar VM.94Rahasia jaringan adalah kunci API atau token yang Anda simpan di lingkungan cloud sehingga Claude dapat memanggil API itu dari sesi apa pun di lingkungan tanpa melihat kunci. Proxy agent Anthropic menambahkan kunci ke permintaan untuk host yang Anda cantumkan, setelah setiap permintaan meninggalkan VM sesi, sehingga kunci itu sendiri tetap berada di luar VM.

95 95 

96Rahasia jaringan tersedia pada paket Pro, Max, Team, dan Enterprise. Untuk memeriksa apakah Anda dapat menambahkannya sendiri, lihat [Persyaratan](#requirements).96Rahasia jaringan tersedia pada paket Pro, Max, Ultra, Team, dan Enterprise. Untuk memeriksa apakah Anda dapat menambahkannya sendiri, lihat [Persyaratan](#requirements).

97 97 

98#### Persyaratan98#### Persyaratan

99 99 


552 552 

553Dengan akses jaringan **Trusted**, sesi dapat menjangkau domain berikut secara default. Domain yang ditandai dengan `*` menunjukkan pencocokan subdomain wildcard, jadi `*.gcr.io` memungkinkan subdomain apa pun dari `gcr.io`.553Dengan akses jaringan **Trusted**, sesi dapat menjangkau domain berikut secara default. Domain yang ditandai dengan `*` menunjukkan pencocokan subdomain wildcard, jadi `*.gcr.io` memungkinkan subdomain apa pun dari `gcr.io`.

554 554 

555> **Layanan Anthropic**555> [accordion] Layanan Anthropic

556>556>

557> * api.anthropic.com557> * api.anthropic.com

558> * docs.claude.com558> * docs.claude.com


564> * anthropic.com564> * anthropic.com

565> * [www.anthropic.com](http://www.anthropic.com)565> * [www.anthropic.com](http://www.anthropic.com)

566 566 

567> **Kontrol versi**567> [accordion] Kontrol versi

568>568>

569> * github.com569> * github.com

570> * [www.github.com](http://www.github.com)570> * [www.github.com](http://www.github.com)


585> * [www.bitbucket.org](http://www.bitbucket.org)585> * [www.bitbucket.org](http://www.bitbucket.org)

586> * api.bitbucket.org586> * api.bitbucket.org

587 587 

588> **Registri kontainer**588> [accordion] Registri kontainer

589>589>

590> * registry-1.docker.io590> * registry-1.docker.io

591> * auth.docker.io591> * auth.docker.io


602> * \*.data.mcr.microsoft.com602> * \*.data.mcr.microsoft.com

603> * public.ecr.aws603> * public.ecr.aws

604 604 

605> **Platform cloud**605> [accordion] Platform cloud

606>606>

607> * cloud.google.com607> * cloud.google.com

608> * accounts.google.com608> * accounts.google.com


633> * yum.oracle.com633> * yum.oracle.com

634> * \*.r2.cloudflarestorage.com634> * \*.r2.cloudflarestorage.com

635 635 

636> **Manajer paket JavaScript dan Node**636> [accordion] Manajer paket JavaScript dan Node

637>637>

638> * registry.npmjs.org638> * registry.npmjs.org

639> * [www.npmjs.com](http://www.npmjs.com)639> * [www.npmjs.com](http://www.npmjs.com)


645> * jsr.io645> * jsr.io

646> * npm.jsr.io646> * npm.jsr.io

647 647 

648> **Manajer paket Python**648> [accordion] Manajer paket Python

649>649>

650> * pypi.org650> * pypi.org

651> * [www.pypi.org](http://www.pypi.org)651> * [www.pypi.org](http://www.pypi.org)


656> * pypa.io656> * pypa.io

657> * [www.pypa.io](http://www.pypa.io)657> * [www.pypa.io](http://www.pypa.io)

658 658 

659> **Manajer paket Ruby**659> [accordion] Manajer paket Ruby

660>660>

661> * rubygems.org661> * rubygems.org

662> * [www.rubygems.org](http://www.rubygems.org)662> * [www.rubygems.org](http://www.rubygems.org)


671> * rvm.io671> * rvm.io

672> * get.rvm.io672> * get.rvm.io

673 673 

674> **Manajer paket Rust**674> [accordion] Manajer paket Rust

675>675>

676> * crates.io676> * crates.io

677> * [www.crates.io](http://www.crates.io)677> * [www.crates.io](http://www.crates.io)


681> * static.rust-lang.org681> * static.rust-lang.org

682> * [www.rust-lang.org](http://www.rust-lang.org)682> * [www.rust-lang.org](http://www.rust-lang.org)

683 683 

684> **Manajer paket Go**684> [accordion] Manajer paket Go

685>685>

686> * proxy.golang.org686> * proxy.golang.org

687> * sum.golang.org687> * sum.golang.org


691> * goproxy.io691> * goproxy.io

692> * pkg.go.dev692> * pkg.go.dev

693 693 

694> **Manajer paket JVM**694> [accordion] Manajer paket JVM

695>695>

696> * maven.org696> * maven.org

697> * repo.maven.org697> * repo.maven.org


710> * spring.io710> * spring.io

711> * repo.spring.io711> * repo.spring.io

712 712 

713> **Manajer paket lainnya**713> [accordion] Manajer paket lainnya

714>714>

715> * packagist.org (PHP Composer)715> * packagist.org (PHP Composer)

716> * [www.packagist.org](http://www.packagist.org)716> * [www.packagist.org](http://www.packagist.org)


736> * swift.org736> * swift.org

737> * [www.swift.org](http://www.swift.org)737> * [www.swift.org](http://www.swift.org)

738 738 

739> **Distribusi Linux**739> [accordion] Distribusi Linux

740>740>

741> * archive.ubuntu.com741> * archive.ubuntu.com

742> * security.ubuntu.com742> * security.ubuntu.com


748> * [www.launchpad.net](http://www.launchpad.net)748> * [www.launchpad.net](http://www.launchpad.net)

749> * \*.nixos.org749> * \*.nixos.org

750 750 

751> **Alat pengembangan dan platform**751> [accordion] Alat pengembangan dan platform

752>752>

753> * dl.k8s.io (Kubernetes)753> * dl.k8s.io (Kubernetes)

754> * pkgs.k8s.io754> * pkgs.k8s.io


780> * pkg.stainless.com780> * pkg.stainless.com

781> * binaries.prisma.sh781> * binaries.prisma.sh

782 782 

783> **Layanan cloud dan monitoring**783> [accordion] Layanan cloud dan monitoring

784>784>

785> * http-intake.logs.datadoghq.com785> * http-intake.logs.datadoghq.com

786> * \*.datadoghq.com786> * \*.datadoghq.com

787> * \*.datadoghq.eu787> * \*.datadoghq.eu

788> * api.honeycomb.io788> * api.honeycomb.io

789 789 

790> **Pengiriman konten dan mirror**790> [accordion] Pengiriman konten dan mirror

791>791>

792> * sourceforge.net792> * sourceforge.net

793> * \*.sourceforge.net793> * \*.sourceforge.net


796> * fonts.googleapis.com796> * fonts.googleapis.com

797> * fonts.gstatic.com797> * fonts.gstatic.com

798 798 

799> **Skema dan konfigurasi**799> [accordion] Skema dan konfigurasi

800>800>

801> * json-schema.org801> * json-schema.org

802> * [www.json-schema.org](http://www.json-schema.org)802> * [www.json-schema.org](http://www.json-schema.org)

803> * json.schemastore.org803> * json.schemastore.org

804> * [www.schemastore.org](http://www.schemastore.org)804> * [www.schemastore.org](http://www.schemastore.org)

805 805 

806> **Model Context Protocol**806> [accordion] Model Context Protocol

807>807>

808> * \*.modelcontextprotocol.io808> * \*.modelcontextprotocol.io

809 809 

code-review.md +5 −5

Details

32 32 

33Pilih halaman sesuai dengan apa yang perlu Anda lakukan:33Pilih halaman sesuai dengan apa yang perlu Anda lakukan:

34 34 

35> **[Siapkan Code Review](https://code.claude.com/docs/id/code-review-setup.md)**35> [card] [Siapkan Code Review](https://code.claude.com/docs/id/code-review-setup.md)

36>36>

37> Periksa persyaratan, pasang Claude GitHub App, dan pilih repositori, tingkat review, serta kapan review berjalan37> Periksa persyaratan, pasang Claude GitHub App, dan pilih repositori, tingkat review, serta kapan review berjalan

38 38 

39> **[Sesuaikan Code Review](https://code.claude.com/docs/id/code-review-customize.md)**39> [card] [Sesuaikan Code Review](https://code.claude.com/docs/id/code-review-customize.md)

40>40>

41> Sesuaikan apa yang ditandai dengan file `REVIEW.md` dan `CLAUDE.md` di repositori Anda41> Sesuaikan apa yang ditandai dengan file `REVIEW.md` dan `CLAUDE.md` di repositori Anda

42 42 

43> **[Baca dan minta review pada pull request](https://code.claude.com/docs/id/code-review-pull-requests.md)**43> [card] [Baca dan minta review pada pull request](https://code.claude.com/docs/id/code-review-pull-requests.md)

44>44>

45> Baca temuan beserta tingkat keparahannya, dan minta review lain dengan komentar45> Baca temuan beserta tingkat keparahannya, dan minta review lain dengan komentar

46 46 

47> **[Pemecahan masalah Code Review](https://code.claude.com/docs/id/code-review-troubleshooting.md)**47> [card] [Pemecahan masalah Code Review](https://code.claude.com/docs/id/code-review-troubleshooting.md)

48>48>

49> Perbaiki review yang tidak dimulai, gagal, atau dilewati karena anggaran49> Perbaiki review yang tidak dimulai, gagal, atau dilewati karena anggaran

50 50 

51> **[Biaya dan penggunaan Code Review](https://code.claude.com/docs/id/code-review-costs.md)**51> [card] [Biaya dan penggunaan Code Review](https://code.claude.com/docs/id/code-review-costs.md)

52>52>

53> Lihat cara review ditagih, perkirakan pengeluaran, tetapkan batas pengeluaran bulanan, dan lacak aktivitas review53> Lihat cara review ditagih, perkirakan pengeluaran, tetapkan batas pengeluaran bulanan, dan lacak aktivitas review

54 54 

commands.md +5 −5

Details

55| `/artifact-capabilities` | **[Skill](https://code.claude.com/docs/id/skills.md#bundled-skills).** Muat referensi untuk kemampuan runtime yang dapat digunakan [artifact](https://code.claude.com/docs/id/artifacts.md) yang dipublikasikan, seperti [memanggil konektor Anda](https://code.claude.com/docs/id/artifacts.md#pull-live-data-with-mcp-connectors) atau [menawarkan unduhan file](https://code.claude.com/docs/id/artifacts.md#offer-a-file-download), termasuk yang dimiliki akun Anda. Claude biasanya memuatnya dengan sendirinya sebelum membangun halaman yang menggunakan salah satu. Tersedia di mana [artifact](https://code.claude.com/docs/id/artifacts.md#availability) tersedia |55| `/artifact-capabilities` | **[Skill](https://code.claude.com/docs/id/skills.md#bundled-skills).** Muat referensi untuk kemampuan runtime yang dapat digunakan [artifact](https://code.claude.com/docs/id/artifacts.md) yang dipublikasikan, seperti [memanggil konektor Anda](https://code.claude.com/docs/id/artifacts.md#pull-live-data-with-mcp-connectors) atau [menawarkan unduhan file](https://code.claude.com/docs/id/artifacts.md#offer-a-file-download), termasuk yang dimiliki akun Anda. Claude biasanya memuatnya dengan sendirinya sebelum membangun halaman yang menggunakan salah satu. Tersedia di mana [artifact](https://code.claude.com/docs/id/artifacts.md#availability) tersedia |

56| `/artifact-diagramming` | **[Skill](https://code.claude.com/docs/id/skills.md#bundled-skills).** Muat panduan diagram untuk diikuti Claude dalam [artifact](https://code.claude.com/docs/id/artifacts.md): kapan diagram membantu, apa yang harus digambar, dan cara menulis SVG inline yang tetap terbaca dalam tema terang dan gelap. Memerlukan Claude Code v2.1.221 atau lebih baru |56| `/artifact-diagramming` | **[Skill](https://code.claude.com/docs/id/skills.md#bundled-skills).** Muat panduan diagram untuk diikuti Claude dalam [artifact](https://code.claude.com/docs/id/artifacts.md): kapan diagram membantu, apa yang harus digambar, dan cara menulis SVG inline yang tetap terbaca dalam tema terang dan gelap. Memerlukan Claude Code v2.1.221 atau lebih baru |

57| `/artifacts` | Daftar [artifact](https://code.claude.com/docs/id/artifacts.md#find-an-artifact-again) yang Anda miliki atau yang dibagikan dengan Anda, kemudian lampirkan satu ke sesi, buka di browser Anda, atau salin tautannya. Tersedia di mana [artifact](https://code.claude.com/docs/id/artifacts.md#availability) tersedia |57| `/artifacts` | Daftar [artifact](https://code.claude.com/docs/id/artifacts.md#find-an-artifact-again) yang Anda miliki atau yang dibagikan dengan Anda, kemudian lampirkan satu ke sesi, buka di browser Anda, atau salin tautannya. Tersedia di mana [artifact](https://code.claude.com/docs/id/artifacts.md#availability) tersedia |

58| `/auto-mode-setup` | [Buat entri `autoMode.environment`](https://code.claude.com/docs/id/auto-mode-config#generate-environment-entries) dari proyek dan sesi terbaru Anda, kemudian tinjau draf dan simpan ke pengaturan pengguna Anda. Pada paket Pro, Max, atau Team, memerlukan Claude Code v2.1.228 atau lebih baru, atau v2.1.233 atau lebih baru di Windows asli. Pada paket Enterprise atau dengan kunci API Claude Console, memerlukan v2.1.283 atau lebih baru. Jika perintah tidak ada, lihat [`/auto-mode-setup` mengembalikan "Unknown command"](https://code.claude.com/docs/id/auto-mode-config#auto-mode-setup-returns-unknown-command) |58| `/auto-mode-setup` | [Buat entri `autoMode.environment`](https://code.claude.com/docs/id/auto-mode-config#generate-environment-entries) dari proyek dan sesi terbaru Anda, kemudian tinjau draf dan simpan ke pengaturan pengguna Anda. Pada paket Pro, Max, Ultra, atau Team, memerlukan Claude Code v2.1.228 atau lebih baru, atau v2.1.233 atau lebih baru di Windows asli. Pada paket Enterprise atau dengan kunci API Claude Console, memerlukan v2.1.283 atau lebih baru. Jika perintah tidak ada, lihat [`/auto-mode-setup` mengembalikan "Unknown command"](https://code.claude.com/docs/id/auto-mode-config#auto-mode-setup-returns-unknown-command) |

59| `/autocompact [auto\|<tokens>]` | Atur jendela auto-compact: seberapa penuh context window sebelum Claude Code melakukan compaction otomatis. Berikan ukuran seperti `500k`, atau `auto` untuk kembali ke jendela yang disesuaikan untuk model Anda. Claude Code menyimpan nilai ke pengaturan pengguna dan menerapkannya ke sesi saat ini. Lihat [Atur jendela auto-compact](https://code.claude.com/docs/id/model-config.md#set-the-auto-compact-window) untuk nilai yang diterima dan apa yang menimpanya. Tanpa argumen, membuka dialog yang menunjukkan jendela saat ini. Memerlukan Claude Code v2.1.221 atau lebih baru |59| `/autocompact [auto\|<tokens>]` | Atur jendela auto-compact: seberapa penuh context window sebelum Claude Code melakukan compaction otomatis. Berikan ukuran seperti `500k`, atau `auto` untuk kembali ke jendela yang disesuaikan untuk model Anda. Claude Code menyimpan nilai ke pengaturan pengguna dan menerapkannya ke sesi saat ini. Lihat [Atur jendela auto-compact](https://code.claude.com/docs/id/model-config.md#set-the-auto-compact-window) untuk nilai yang diterima dan apa yang menimpanya. Tanpa argumen, membuka dialog yang menunjukkan jendela saat ini. Memerlukan Claude Code v2.1.221 atau lebih baru |

60| `/autofix-pr [prompt]` | Spawn [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md#auto-fix-pull-requests) yang memantau PR branch saat ini dan mendorong perbaikan ketika CI gagal atau pengulas meninggalkan komentar. Mendeteksi PR terbuka dari branch yang Anda checkout dengan `gh pr view`; untuk memantau PR berbeda, checkout branch-nya terlebih dahulu. Secara default sesi cloud diberitahu untuk memperbaiki setiap kegagalan CI dan komentar ulasan; berikan prompt untuk memberikan instruksi berbeda, misalnya `/autofix-pr only fix lint and type errors`. Memerlukan CLI `gh` dan akses ke [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) |60| `/autofix-pr [prompt]` | Spawn [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md#auto-fix-pull-requests) yang memantau PR branch saat ini dan mendorong perbaikan ketika CI gagal atau pengulas meninggalkan komentar. Mendeteksi PR terbuka dari branch yang Anda checkout dengan `gh pr view`; untuk memantau PR berbeda, checkout branch-nya terlebih dahulu. Secara default sesi cloud diberitahu untuk memperbaiki setiap kegagalan CI dan komentar ulasan; berikan prompt untuk memberikan instruksi berbeda, misalnya `/autofix-pr only fix lint and type errors`. Memerlukan CLI `gh` dan akses ke [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) |

61| `/background [prompt]` | Lepaskan sesi saat ini untuk berjalan sebagai [agent latar belakang](https://code.claude.com/docs/id/agent-view.md) dan bebaskan terminal ini. Berikan prompt untuk mengirim satu instruksi lagi sebelum melepaskan. Pantau sesi dengan `claude agents`. Untuk menyalin percakapan ke sesi latar belakang baru sementara sesi ini terus berjalan, gunakan `/fork`. Alias: `/bg` |61| `/background [prompt]` | Lepaskan sesi saat ini untuk berjalan sebagai [agent latar belakang](https://code.claude.com/docs/id/agent-view.md) dan bebaskan terminal ini. Berikan prompt untuk mengirim satu instruksi lagi sebelum melepaskan. Pantau sesi dengan `claude agents`. Untuk menyalin percakapan ke sesi latar belakang baru sementara sesi ini terus berjalan, gunakan `/fork`. Alias: `/bg` |


120| `/plugin-authoring` | Muat referensi yang digunakan Claude untuk [menulis mod](https://code.claude.com/docs/id/plugins/mods/create.md#ask-claude-for-a-mod). Claude dapat memuatnya dengan sendirinya ketika Anda meminta mod. Ini adalah skill dari [plugin bawaan](https://code.claude.com/docs/id/plugins/mods/overview.md#mods-built-into-claude-code), yang dapat Anda matikan di `/plugin`. Memerlukan Claude Code v2.1.287 atau lebih baru |120| `/plugin-authoring` | Muat referensi yang digunakan Claude untuk [menulis mod](https://code.claude.com/docs/id/plugins/mods/create.md#ask-claude-for-a-mod). Claude dapat memuatnya dengan sendirinya ketika Anda meminta mod. Ini adalah skill dari [plugin bawaan](https://code.claude.com/docs/id/plugins/mods/overview.md#mods-built-into-claude-code), yang dapat Anda matikan di `/plugin`. Memerlukan Claude Code v2.1.287 atau lebih baru |

121| `/powerup` | Temukan fitur Claude Code melalui pelajaran interaktif cepat dengan demo animasi |121| `/powerup` | Temukan fitur Claude Code melalui pelajaran interaktif cepat dengan demo animasi |

122| `/pr-comments [PR]` | Dihapus di v2.1.91. Minta Claude secara langsung untuk melihat komentar pull request sebagai gantinya. Pada versi sebelumnya, mengambil dan menampilkan komentar dari pull request GitHub; secara otomatis mendeteksi PR untuk branch saat ini, atau berikan URL atau nomor PR. Memerlukan CLI `gh` |122| `/pr-comments [PR]` | Dihapus di v2.1.91. Minta Claude secara langsung untuk melihat komentar pull request sebagai gantinya. Pada versi sebelumnya, mengambil dan menampilkan komentar dari pull request GitHub; secara otomatis mendeteksi PR untuk branch saat ini, atau berikan URL atau nomor PR. Memerlukan CLI `gh` |

123| `/privacy-settings` | Lihat dan perbarui pengaturan privasi Anda. Hanya tersedia untuk pelanggan paket Pro dan Max |123| `/privacy-settings` | Lihat dan perbarui pengaturan privasi Anda. Hanya tersedia untuk pelanggan paket Pro, Max, dan Ultra |

124| `/radio` | Buka radio lo-fi Claude FM di browser Anda. Mencetak URL aliran ketika tidak ada browser yang tersedia |124| `/radio` | Buka radio lo-fi Claude FM di browser Anda. Mencetak URL aliran ketika tidak ada browser yang tersedia |

125| `/rate-limit-options` | Tampilkan cara untuk terus bekerja ketika batas penggunaan claude.ai memblokir permintaan: tunggu dan [lanjutkan secara otomatis ketika batas direset](https://code.claude.com/docs/id/interactive-mode.md#wait-for-a-usage-limit-to-reset), tambahkan [kredit penggunaan](https://code.claude.com/docs/id/costs.md#add-usage-credits-to-your-subscription), atau tingkatkan paket Anda. Claude Code juga dapat membuka menu ini dengan sendirinya ketika Anda mencapai batas di terminal Anda sendiri. Lihat [Matikan lanjutan otomatis](https://code.claude.com/docs/id/interactive-mode.md#turn-automatic-continue-off). Memerlukan langganan claude.ai. Baris tunggu-dan-lanjutkan memerlukan Claude Code v2.1.234 atau lebih baru |125| `/rate-limit-options` | Tampilkan cara untuk terus bekerja ketika batas penggunaan claude.ai memblokir permintaan: tunggu dan [lanjutkan secara otomatis ketika batas direset](https://code.claude.com/docs/id/interactive-mode.md#wait-for-a-usage-limit-to-reset), tambahkan [kredit penggunaan](https://code.claude.com/docs/id/costs.md#add-usage-credits-to-your-subscription), atau tingkatkan paket Anda. Claude Code juga dapat membuka menu ini dengan sendirinya ketika Anda mencapai batas di terminal Anda sendiri. Lihat [Matikan lanjutan otomatis](https://code.claude.com/docs/id/interactive-mode.md#turn-automatic-continue-off). Memerlukan langganan claude.ai. Baris tunggu-dan-lanjutkan memerlukan Claude Code v2.1.234 atau lebih baru |

126| `/recap` | Hasilkan ringkasan satu baris dari sesi saat ini sesuai permintaan. Lihat [Ringkasan sesi](https://code.claude.com/docs/id/interactive-mode.md#session-recap) untuk ringkasan otomatis yang muncul setelah Anda pergi |126| `/recap` | Hasilkan ringkasan satu baris dari sesi saat ini sesuai permintaan. Lihat [Ringkasan sesi](https://code.claude.com/docs/id/interactive-mode.md#session-recap) untuk ringkasan otomatis yang muncul setelah Anda pergi |


130| `/remote-control` | Buat sesi ini tersedia untuk [Remote Control](https://code.claude.com/docs/id/remote-control.md) dari claude.ai. Menjalankannya saat keluar mencetak bahwa Remote Control memerlukan langganan claude.ai dan memberi tahu Anda cara masuk. Alias: `/rc` |130| `/remote-control` | Buat sesi ini tersedia untuk [Remote Control](https://code.claude.com/docs/id/remote-control.md) dari claude.ai. Menjalankannya saat keluar mencetak bahwa Remote Control memerlukan langganan claude.ai dan memberi tahu Anda cara masuk. Alias: `/rc` |

131| `/remote-env` | Pilih [lingkungan cloud](https://code.claude.com/docs/id/cloud-environments.md#select-an-environment-from-the-cli) default untuk sesi cloud yang Anda mulai dari CLI |131| `/remote-env` | Pilih [lingkungan cloud](https://code.claude.com/docs/id/cloud-environments.md#select-an-environment-from-the-cli) default untuk sesi cloud yang Anda mulai dari CLI |

132| `/rename [name]` | Ganti nama sesi saat ini dan tampilkan nama di bilah prompt. Tanpa nama, auto-generate dari riwayat percakapan. Juga tersedia dalam mode non-interaktif (`-p`). Dari setiap surface penggantian nama, termasuk claude.ai dan aplikasi desktop, Claude Code mengganti karakter kontrol dan tidak terlihat dalam nama baru dengan spasi dan membatasi nama pada 200 karakter. Jika nama kosong setelah karakter tidak terlihat dihapus, Claude Code menolaknya dan menunjukkan `That name is empty once invisible characters are removed. Usage: /rename <name>`. Penggantian karakter dan batas panjang memerlukan Claude Code v2.1.221 atau lebih baru |132| `/rename [name]` | Ganti nama sesi saat ini dan tampilkan nama di bilah prompt. Tanpa nama, auto-generate dari riwayat percakapan. Juga tersedia dalam mode non-interaktif (`-p`). Dari setiap surface penggantian nama, termasuk claude.ai dan aplikasi desktop, Claude Code mengganti karakter kontrol dan tidak terlihat dalam nama baru dengan spasi dan membatasi nama pada 200 karakter. Jika nama kosong setelah karakter tidak terlihat dihapus, Claude Code menolaknya dan menunjukkan `That name is empty once invisible characters are removed. Usage: /rename <name>`. Penggantian karakter dan batas panjang memerlukan Claude Code v2.1.221 atau lebih baru |

133| `/restart` | Mulai ulang Claude Code dan lanjutkan sesi ini, yang menerapkan pembaruan yang telah terpasang. Jalankan ketika footer menawarkannya setelah pembaruan terpasang. Memerlukan paket Pro atau Max dan instalasi native di macOS atau Linux, bukan WSL. Memerlukan Claude Code v2.1.288 atau lebih baru. Alias: `/update` |133| `/restart` | Mulai ulang Claude Code dan lanjutkan sesi ini, yang menerapkan pembaruan yang telah terpasang. Jalankan ketika footer menawarkannya setelah pembaruan terpasang. Memerlukan paket Pro, Max, atau Ultra dan instalasi native di macOS atau Linux, bukan WSL. Memerlukan Claude Code v2.1.288 atau lebih baru. Alias: `/update` |

134| `/resume [session]` | Lanjutkan percakapan berdasarkan ID atau nama, atau buka pemilih sesi. [Sesi latar belakang](https://code.claude.com/docs/id/agent-view.md) muncul di pemilih ditandai dengan `bg`. Melanjutkan satu yang masih berjalan, dari pemilih atau berdasarkan ID atau nama, [membuka sesi itu](https://code.claude.com/docs/id/sessions.md#resume-a-running-background-session): percakapan saat ini Anda pindah ke latar belakang dan terminal ini melampirkan ke yang berjalan. Tekan `←` pada prompt kosong untuk kembali ke tampilan agent, yang juga mencantumkan percakapan yang Anda tinggalkan. Sebelum v2.1.285, Claude Code menolak dan memberi tahu Anda untuk membuka sesi dengan `claude attach` atau menghentikannya terlebih dahulu. Alias: `/continue` |134| `/resume [session]` | Lanjutkan percakapan berdasarkan ID atau nama, atau buka pemilih sesi. [Sesi latar belakang](https://code.claude.com/docs/id/agent-view.md) muncul di pemilih ditandai dengan `bg`. Melanjutkan satu yang masih berjalan, dari pemilih atau berdasarkan ID atau nama, [membuka sesi itu](https://code.claude.com/docs/id/sessions.md#resume-a-running-background-session): percakapan saat ini Anda pindah ke latar belakang dan terminal ini melampirkan ke yang berjalan. Tekan `←` pada prompt kosong untuk kembali ke tampilan agent, yang juga mencantumkan percakapan yang Anda tinggalkan. Sebelum v2.1.285, Claude Code menolak dan memberi tahu Anda untuk membuka sesi dengan `claude attach` atau menghentikannya terlebih dahulu. Alias: `/continue` |

135| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | Alias dari [`/code-review`](https://code.claude.com/docs/id/code-review-local): meninjau diff saat ini, atau nomor PR, branch, atau jalur yang Anda berikan, seperti `/review 1234`, dan mengambil tingkat effort dan flag yang sama. Tanpa level yang diberikan, tinjauan menggunakan kembali level `low` hingga `max` terakhir yang Anda ketik; lihat [Tinjau secara lokal dengan `/code-review`](https://code.claude.com/docs/id/code-review-local) untuk aturan yang tepat. Untuk tinjauan cloud mendalam, gunakan [`/code-review ultra`](https://code.claude.com/docs/id/ultrareview). Sebelum v2.1.223, `/review` adalah perintah terpisah yang menjalankan tinjauan read-only satu lintasan dari pull request GitHub berdasarkan nomor, mencantumkan PR terbuka untuk dipilih saat dijalankan tanpa argumen; dari v2.1.186 hingga v2.1.201, itu menjalankan mesin multi-agent yang sama seperti `/code-review medium` |135| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | Alias dari [`/code-review`](https://code.claude.com/docs/id/code-review-local): meninjau diff saat ini, atau nomor PR, branch, atau jalur yang Anda berikan, seperti `/review 1234`, dan mengambil tingkat effort dan flag yang sama. Tanpa level yang diberikan, tinjauan menggunakan kembali level `low` hingga `max` terakhir yang Anda ketik; lihat [Tinjau secara lokal dengan `/code-review`](https://code.claude.com/docs/id/code-review-local) untuk aturan yang tepat. Untuk tinjauan cloud mendalam, gunakan [`/code-review ultra`](https://code.claude.com/docs/id/ultrareview). Sebelum v2.1.223, `/review` adalah perintah terpisah yang menjalankan tinjauan read-only satu lintasan dari pull request GitHub berdasarkan nomor, mencantumkan PR terbuka untuk dipilih saat dijalankan tanpa argumen; dari v2.1.186 hingga v2.1.201, itu menjalankan mesin multi-agent yang sama seperti `/code-review medium` |

136| `/rewind` | Putar ulang percakapan dan/atau kode ke titik sebelumnya, atau ringkas dari pesan yang dipilih. Lihat [checkpointing](https://code.claude.com/docs/id/checkpointing.md). Alias: `/checkpoint`, `/undo` |136| `/rewind` | Putar ulang percakapan dan/atau kode ke titik sebelumnya, atau ringkas dari pesan yang dipilih. Lihat [checkpointing](https://code.claude.com/docs/id/checkpointing.md). Alias: `/checkpoint`, `/undo` |


159| `/theme` | Ubah tema warna. Mencakup opsi `auto` yang cocok dengan latar belakang terang atau gelap terminal Anda, varian terang dan gelap, tema yang dapat diakses buta warna (daltonized), tema ANSI yang menggunakan palet warna terminal Anda, dan [tema kustom](https://code.claude.com/docs/id/terminal-config.md#create-a-custom-theme) apa pun dari `~/.claude/themes/` atau plugin. Pilih **New custom theme…** untuk membuat satu |159| `/theme` | Ubah tema warna. Mencakup opsi `auto` yang cocok dengan latar belakang terang atau gelap terminal Anda, varian terang dan gelap, tema yang dapat diakses buta warna (daltonized), tema ANSI yang menggunakan palet warna terminal Anda, dan [tema kustom](https://code.claude.com/docs/id/terminal-config.md#create-a-custom-theme) apa pun dari `~/.claude/themes/` atau plugin. Pilih **New custom theme…** untuk membuat satu |

160| `/tui [default\|fullscreen]` | Atur renderer UI terminal dan luncurkan ulang ke dalamnya dengan percakapan Anda tetap utuh. `fullscreen` mengaktifkan [renderer alt-screen bebas flicker](https://code.claude.com/docs/id/fullscreen.md). Tanpa argumen, mencetak renderer aktif |160| `/tui [default\|fullscreen]` | Atur renderer UI terminal dan luncurkan ulang ke dalamnya dengan percakapan Anda tetap utuh. `fullscreen` mengaktifkan [renderer alt-screen bebas flicker](https://code.claude.com/docs/id/fullscreen.md). Tanpa argumen, mencetak renderer aktif |

161| `/ultraplan <prompt>` | Dihapus. Gunakan [plan mode](https://code.claude.com/docs/id/permission-modes.md#analyze-before-you-edit-with-plan-mode) sebagai gantinya. Sebelumnya mengirim tugas perencanaan ke [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) untuk ditinjau di browser Anda |161| `/ultraplan <prompt>` | Dihapus. Gunakan [plan mode](https://code.claude.com/docs/id/permission-modes.md#analyze-before-you-edit-with-plan-mode) sebagai gantinya. Sebelumnya mengirim tugas perencanaan ke [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) untuk ditinjau di browser Anda |

162| `/ultrareview [PR or branch]` | Jalankan code review mendalam multi-agent dalam sandbox cloud dengan [ultrareview](https://code.claude.com/docs/id/ultrareview.md). Berikan referensi PR untuk meninjau pull request itu, atau branch dasar atau commit untuk mengubah basis perbandingan. Invokasi yang disukai adalah `/code-review ultra`, dan `/ultrareview` adalah alias. Mencakup 3 eksekusi gratis di Pro dan Max, kemudian memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |162| `/ultrareview [PR or branch]` | Jalankan code review mendalam multi-agent dalam sandbox cloud dengan [ultrareview](https://code.claude.com/docs/id/ultrareview.md). Berikan referensi PR untuk meninjau pull request itu, atau branch dasar atau commit untuk mengubah basis perbandingan. Invokasi yang disukai adalah `/code-review ultra`, dan `/ultrareview` adalah alias. Mencakup 3 eksekusi gratis di Pro, Max, dan Ultra, kemudian memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

163| `/update-config [request]` | **[Skill](https://code.claude.com/docs/id/skills.md#bundled-skills).** Jelaskan perubahan pengaturan, seperti mengizinkan perintah, menetapkan environment variable, atau menambahkan [hook](https://code.claude.com/docs/id/hooks.md), dan Claude mengedit file [`settings.json`](https://code.claude.com/docs/id/settings) yang cocok. Untuk opsi seperti tema dan model, gunakan `/config` sebagai gantinya |163| `/update-config [request]` | **[Skill](https://code.claude.com/docs/id/skills.md#bundled-skills).** Jelaskan perubahan pengaturan, seperti mengizinkan perintah, menetapkan environment variable, atau menambahkan [hook](https://code.claude.com/docs/id/hooks.md), dan Claude mengedit file [`settings.json`](https://code.claude.com/docs/id/settings) yang cocok. Untuk opsi seperti tema dan model, gunakan `/config` sebagai gantinya |

164| `/upgrade` | Buka halaman upgrade di browser Anda untuk beralih ke tingkat paket yang lebih tinggi. Ketika browser gagal membuka, perintah menampilkan prompt masuk tanpa mencetak URL |164| `/upgrade` | Buka halaman upgrade di browser Anda untuk beralih ke tingkat paket yang lebih tinggi. Ketika browser gagal membuka, perintah menampilkan prompt masuk tanpa mencetak URL |

165| `/usage` | Tampilkan biaya sesi, batas penggunaan paket, dan statistik aktivitas. Pada paket Pro, Max, Team, atau Enterprise, mencakup [rincian apa yang dihitung terhadap batas paket Anda](https://code.claude.com/docs/id/costs.md#plan-usage-breakdown). `/cost` dan `/stats` adalah alias |165| `/usage` | Tampilkan biaya sesi, batas penggunaan paket, dan statistik aktivitas. Pada paket Pro, Max, Ultra, Team, atau Enterprise, mencakup [rincian apa yang dihitung terhadap batas paket Anda](https://code.claude.com/docs/id/costs.md#plan-usage-breakdown). `/cost` dan `/stats` adalah alias |

166| `/usage-credits` | Konfigurasi kredit penggunaan, atau minta dari admin Anda, ketika Anda mencapai batas. Membuka [pengaturan penagihan kredit penggunaan](https://code.claude.com/docs/id/costs.md#add-usage-credits-to-your-subscription) Anda di browser, kecuali anggota Team dan Enterprise tanpa akses penagihan malah mengirim permintaan kredit penggunaan ke admin mereka dari CLI, setelah mengonfirmasi dalam dialog bahwa permintaan memberi tahu admin mereka. Ketika tidak ada browser yang dapat membuka halaman penagihan, misalnya melalui SSH, perintah mencetak URL untuk dikunjungi sebagai gantinya; ini memerlukan Claude Code v2.1.205 atau lebih baru, dan versi sebelumnya tidak menunjukkan apa pun dalam kasus itu. Sebelumnya `/extra-usage` |166| `/usage-credits` | Konfigurasi kredit penggunaan, atau minta dari admin Anda, ketika Anda mencapai batas. Membuka [pengaturan penagihan kredit penggunaan](https://code.claude.com/docs/id/costs.md#add-usage-credits-to-your-subscription) Anda di browser, kecuali anggota Team dan Enterprise tanpa akses penagihan malah mengirim permintaan kredit penggunaan ke admin mereka dari CLI, setelah mengonfirmasi dalam dialog bahwa permintaan memberi tahu admin mereka. Ketika tidak ada browser yang dapat membuka halaman penagihan, misalnya melalui SSH, perintah mencetak URL untuk dikunjungi sebagai gantinya; ini memerlukan Claude Code v2.1.205 atau lebih baru, dan versi sebelumnya tidak menunjukkan apa pun dalam kasus itu. Sebelumnya `/extra-usage` |

167| `/verify` | **[Skill](https://code.claude.com/docs/id/skills.md#bundled-skills).** Konfirmasi perubahan kode melakukan apa yang seharusnya dengan mem-build aplikasi proyek Anda, menjalankannya, dan mengamati hasilnya, daripada mengandalkan tes atau pemeriksaan tipe. Lihat [Jalankan dan verifikasi aplikasi Anda](https://code.claude.com/docs/id/skills.md#run-and-verify-your-app) |167| `/verify` | **[Skill](https://code.claude.com/docs/id/skills.md#bundled-skills).** Konfirmasi perubahan kode melakukan apa yang seharusnya dengan mem-build aplikasi proyek Anda, menjalankannya, dan mengamati hasilnya, daripada mengandalkan tes atau pemeriksaan tipe. Lihat [Jalankan dan verifikasi aplikasi Anda](https://code.claude.com/docs/id/skills.md#run-and-verify-your-app) |

168| `/vim` | Dihapus di v2.1.92. Untuk beralih antara mode pengeditan Vim dan Normal, gunakan `/config` → Editor mode |168| `/vim` | Dihapus di v2.1.92. Untuk beralih antara mode pengeditan Vim dan Normal, gunakan `/config` → Editor mode |

Details

500 500 

501## Langkah berikutnya501## Langkah berikutnya

502 502 

503> **[Best practices](https://code.claude.com/docs/id/best-practices.md)**503> [card] [Best practices](https://code.claude.com/docs/id/best-practices.md)

504>504>

505> Pola untuk mendapatkan hasil maksimal dari Claude Code505> Pola untuk mendapatkan hasil maksimal dari Claude Code

506 506 

507> **[Kelola sesi](https://code.claude.com/docs/id/sessions.md)**507> [card] [Kelola sesi](https://code.claude.com/docs/id/sessions.md)

508>508>

509> Lanjutkan, beri nama, dan cabang percakapan509> Lanjutkan, beri nama, dan cabang percakapan

510 510 

511> **[Worktrees](https://code.claude.com/docs/id/worktrees.md)**511> [card] [Worktrees](https://code.claude.com/docs/id/worktrees.md)

512>512>

513> Jalankan sesi paralel terisolasi513> Jalankan sesi paralel terisolasi

514 514 

515> **[Perluas Claude Code](https://code.claude.com/docs/id/features-overview.md)**515> [card] [Perluas Claude Code](https://code.claude.com/docs/id/features-overview.md)

516>516>

517> Tambahkan skills, hooks, MCP, subagents, dan plugins517> Tambahkan skills, hooks, MCP, subagents, dan plugins

communications-kit.md +104 −104

Details

33 33 

34Gunakan ini sebagai pesan peluncuran organisasi standar Anda. Ini mencakup apa itu Claude Code, memberikan jalur instalasi dua menit, memberikan pembaca satu tugas konkret untuk dicoba, dan menjawab "ke mana kode saya pergi?" sebelum ada yang harus bertanya.34Gunakan ini sebagai pesan peluncuran organisasi standar Anda. Ini mencakup apa itu Claude Code, memberikan jalur instalasi dua menit, memberikan pembaca satu tugas konkret untuk dicoba, dan menjawab "ke mana kode saya pergi?" sebelum ada yang harus bertanya.

35 35 

36**Email**36> [tab] Email

37 37>

38```text theme={null}38> ```text theme={null}

39Subject: Claude Code aktif untuk [Engineering / tim Anda]39> Subject: Claude Code aktif untuk [Engineering / tim Anda]

40 40>

41Tim,41> Tim,

42 42>

43Mulai hari ini Anda memiliki akses ke Claude Code, agent pengkodean AI yang berjalan di43> Mulai hari ini Anda memiliki akses ke Claude Code, agent pengkodean AI yang berjalan di

44terminal Anda, membaca basis kode aktual Anda, dan menyelesaikan tugas nyata dari awal hingga akhir:44> terminal Anda, membaca basis kode aktual Anda, dan menyelesaikan tugas nyata dari awal hingga akhir:

45debugging, refactor, tes, PR. Ini bukan autocomplete dan bukan jendela chat. Ini mengedit file45> debugging, refactor, tes, PR. Ini bukan autocomplete dan bukan jendela chat. Ini mengedit file

46dan menjalankan perintah Anda.46> dan menjalankan perintah Anda.

47 47>

48Mulai berjalan dalam dua menit:48> Mulai berjalan dalam dua menit:

49 49>

50 curl -fsSL https://claude.ai/install.sh | bash50> curl -fsSL https://claude.ai/install.sh | bash

51 cd <your-repo>51> cd <your-repo>

52 claude52> claude

53 53>

54Kemudian jalankan /init sekali. Claude membaca proyek Anda dan menulis CLAUDE.md dengan54> Kemudian jalankan /init sekali. Claude membaca proyek Anda dan menulis CLAUDE.md dengan

55perintah build dan konvensi Anda, sehingga Anda berhenti menjelaskan ulang dasar-dasarnya.55> perintah build dan konvensi Anda, sehingga Anda berhenti menjelaskan ulang dasar-dasarnya.

56 56>

57Kemudian coba salah satu dari ini di repo yang sudah Anda gunakan:57> Kemudian coba salah satu dari ini di repo yang sudah Anda gunakan:

58 58>

59 - "Tes di [file] tidak stabil. Cari tahu mengapa dan perbaiki"59> - "Tes di [file] tidak stabil. Cari tahu mengapa dan perbaiki"

60 - "Jelaskan kepada saya bagaimana [module] menangani [X]"60> - "Jelaskan kepada saya bagaimana [module] menangani [X]"

61 - "Lihat diff kerja saya dan beri tahu saya apa yang berisiko sebelum saya push"61> - "Lihat diff kerja saya dan beri tahu saya apa yang berisiko sebelum saya push"

62 62>

63Ke mana kode Anda pergi: Claude Code berjalan di terminal Anda dan berbicara langsung63> Ke mana kode Anda pergi: Claude Code berjalan di terminal Anda dan berbicara langsung

64ke API Anthropic. Pada paket Team atau Enterprise kami, Anthropic tidak menggunakan64> ke API Anthropic. Pada paket Team atau Enterprise kami, Anthropic tidak menggunakan

65kode atau prompt Anda untuk melatih modelnya.65> kode atau prompt Anda untuk melatih modelnya.

66Detail: https://code.claude.com/docs/en/data-usage66> Detail: https://code.claude.com/docs/en/data-usage

67 https://code.claude.com/docs/en/security67> https://code.claude.com/docs/en/security

68 68>

69Ke mana harus pergi dengan pertanyaan: #claude-code. [Nama pemilik] mengawasi69> Ke mana harus pergi dengan pertanyaan: #claude-code. [Nama pemilik] mengawasi

70minggu ini.70> minggu ini.

71 71>

72- [Nama]72> - [Nama]

73 73>

74P.S. Lebih suka editor Anda? Ada ekstensi VS Code dan plugin JetBrains.74> P.S. Lebih suka editor Anda? Ada ekstensi VS Code dan plugin JetBrains.

75Agent yang sama, tidak perlu terminal.75> Agent yang sama, tidak perlu terminal.

76```76> ```

77 

78**Slack atau Teams**

79 

80```markdown theme={null}

81🚀 *Claude Code aktif untuk [tim]*

82 

83Agent pengkodean AI, berjalan di terminal Anda, membaca repo Anda, melakukan pekerjaan nyata:

84bug, refactor, tes, PR.

85 

86`curl -fsSL https://claude.ai/install.sh | bash` → `cd your-repo` → `claude`

87 

88*Hal pertama yang harus dicoba* → jalankan `/init`, kemudian: "tes di [file] tidak stabil,

89cari tahu mengapa dan perbaiki."

90 

91🔒 Berjalan di terminal Anda, berbicara langsung ke API Anthropic. Pada paket Team atau

92Enterprise kami, kode dan prompt Anda tidak digunakan untuk melatih model.

93Penggunaan data → https://code.claude.com/docs/en/data-usage

94 

95📚 Mulai cepat · VS Code · Kursus gratis 1 jam

96 https://code.claude.com/docs/en/quickstart

97 https://code.claude.com/docs/en/vs-code

98 https://academy.claude.com/courses/claude-code-in-action

99 77 

100Pertanyaan → utas ini. [Pemilik] sedang mengerjakan.78> [tab] Slack atau Teams

101```79>

80> ```markdown theme={null}

81> 🚀 *Claude Code aktif untuk [tim]*

82>

83> Agent pengkodean AI, berjalan di terminal Anda, membaca repo Anda, melakukan pekerjaan nyata:

84> bug, refactor, tes, PR.

85>

86> `curl -fsSL https://claude.ai/install.sh | bash` → `cd your-repo` → `claude`

87>

88> *Hal pertama yang harus dicoba* → jalankan `/init`, kemudian: "tes di [file] tidak stabil,

89> cari tahu mengapa dan perbaiki."

90>

91> 🔒 Berjalan di terminal Anda, berbicara langsung ke API Anthropic. Pada paket Team atau

92> Enterprise kami, kode dan prompt Anda tidak digunakan untuk melatih model.

93> Penggunaan data → https://code.claude.com/docs/en/data-usage

94>

95> 📚 Mulai cepat · VS Code · Kursus gratis 1 jam

96> https://code.claude.com/docs/en/quickstart

97> https://code.claude.com/docs/en/vs-code

98> https://academy.claude.com/courses/claude-code-in-action

99>

100> Pertanyaan → utas ini. [Pemilik] sedang mengerjakan.

101> ```

102 102 

103### Varian sponsor eksekutif103### Varian sponsor eksekutif

104 104 


106 106 

107Versi ini sengaja dikurangi menjadi satu permintaan: instal dan jalankan pada satu tugas nyata. Pekerjaan eksekutif adalah membuat permintaan mendarat; pengumuman standar dan `#claude-code` menangani caranya.107Versi ini sengaja dikurangi menjadi satu permintaan: instal dan jalankan pada satu tugas nyata. Pekerjaan eksekutif adalah membuat permintaan mendarat; pengumuman standar dan `#claude-code` menangani caranya.

108 108 

109**Email**109> [tab] Email

110 110>

111```text theme={null}111> ```text theme={null}

112Subject: Satu hal yang ingin saya coba oleh setiap engineer minggu ini112> Subject: Satu hal yang ingin saya coba oleh setiap engineer minggu ini

113 113>

114Tim,114> Tim,

115 115>

116Kami telah mengaktifkan Claude Code untuk semua engineering. Ini adalah agen AI116> Kami telah mengaktifkan Claude Code untuk semua engineering. Ini adalah agen AI

117yang bekerja langsung di terminal Anda, pada basis kode aktual Anda, dan hasil awal dari117> yang bekerja langsung di terminal Anda, pada basis kode aktual Anda, dan hasil awal dari

118tim yang sudah menggunakannya cukup kuat sehingga saya ingin semua orang menggunakannya minggu ini.118> tim yang sudah menggunakannya cukup kuat sehingga saya ingin semua orang menggunakannya minggu ini.

119 119>

120Saya meminta sepuluh menit:120> Saya meminta sepuluh menit:

121 121>

122 curl -fsSL https://claude.ai/install.sh | bash122> curl -fsSL https://claude.ai/install.sh | bash

123 cd <your-repo>123> cd <your-repo>

124 claude124> claude

125 125>

126Kemudian berikan satu tugas nyata: bug yang telah Anda tunda, atau "jelaskan kepada saya126> Kemudian berikan satu tugas nyata: bug yang telah Anda tunda, atau "jelaskan kepada saya

127bagaimana [module] bekerja."127> bagaimana [module] bekerja."

128 128>

129Itu adalah seluruh permintaan. [Nama pemilik] dan tim ada di #claude-code untuk129> Itu adalah seluruh permintaan. [Nama pemilik] dan tim ada di #claude-code untuk

130apa pun yang Anda alami di sepanjang jalan.130> apa pun yang Anda alami di sepanjang jalan.

131 131>

132- [Nama Eksekutif]132> - [Nama Eksekutif]

133 [Judul]133> [Judul]

134```134> ```

135 

136**Slack atau Teams**

137 

138```markdown theme={null}

139📣 *Dari [Nama Eksekutif]: satu hal untuk dicoba minggu ini*

140 

141Kami telah mengaktifkan *Claude Code* untuk semua engineering. Hasil awal cukup

142kuat sehingga saya meminta semua orang untuk memberikan sepuluh menit pada pekerjaan nyata minggu ini.

143 

144`curl -fsSL https://claude.ai/install.sh | bash` → `cd your-repo` →

145`claude` → berikan satu tugas nyata.

146 135 

147Itu saja. Pertanyaan → #claude-code.136> [tab] Slack atau Teams

148```137>

138> ```markdown theme={null}

139> 📣 *Dari [Nama Eksekutif]: satu hal untuk dicoba minggu ini*

140>

141> Kami telah mengaktifkan *Claude Code* untuk semua engineering. Hasil awal cukup

142> kuat sehingga saya meminta semua orang untuk memberikan sepuluh menit pada pekerjaan nyata minggu ini.

143>

144> `curl -fsSL https://claude.ai/install.sh | bash` → `cd your-repo` →

145> `claude` → berikan satu tugas nyata.

146>

147> Itu saja. Pertanyaan → #claude-code.

148> ```

149 149 

150### Varian grup pilot150### Varian grup pilot

151 151 

computer-use.md +2 −2

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> Computer use adalah research preview di macOS yang memerlukan paket Pro atau Max. Tidak tersedia di paket Team atau Enterprise. Memerlukan sesi interaktif, jadi tidak tersedia dalam mode non-interaktif dengan flag `-p`.11> Computer use adalah research preview di macOS yang memerlukan paket Pro, Max, atau Ultra. Tidak tersedia di paket Team atau Enterprise. Memerlukan sesi interaktif, jadi tidak tersedia dalam mode non-interaktif dengan flag `-p`.

12 12 

13Computer use memungkinkan Claude membuka aplikasi, mengontrol layar Anda, dan bekerja di mesin Anda seperti yang Anda lakukan. Dari CLI, Claude dapat mengompilasi aplikasi Swift, meluncurkannya, mengklik setiap tombol, dan mengambil screenshot hasilnya, semuanya dalam percakapan yang sama di mana Claude menulis kodenya.13Computer use memungkinkan Claude membuka aplikasi, mengontrol layar Anda, dan bekerja di mesin Anda seperti yang Anda lakukan. Dari CLI, Claude dapat mengompilasi aplikasi Swift, meluncurkannya, mengklik setiap tombol, dan mengambil screenshot hasilnya, semuanya dalam percakapan yang sama di mana Claude menulis kodenya.

14 14 


198Server hanya muncul pada setup yang memenuhi syarat. Periksa bahwa:198Server hanya muncul pada setup yang memenuhi syarat. Periksa bahwa:

199 199 

200* Anda berada di macOS. Computer use di CLI tidak tersedia di Linux atau Windows. Di Windows, gunakan [computer use di Desktop](https://code.claude.com/docs/id/desktop.md#let-claude-use-your-computer) sebagai gantinya.200* Anda berada di macOS. Computer use di CLI tidak tersedia di Linux atau Windows. Di Windows, gunakan [computer use di Desktop](https://code.claude.com/docs/id/desktop.md#let-claude-use-your-computer) sebagai gantinya.

201* Anda berada di paket Pro atau Max. Jalankan `/status` untuk mengonfirmasi langganan Anda.201* Anda berada di paket Pro, Max, atau Ultra. Jalankan `/status` untuk mengonfirmasi langganan Anda.

202* Anda diautentikasi melalui claude.ai. Computer use tidak tersedia dengan penyedia pihak ketiga seperti Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. Jika Anda mengakses Claude secara eksklusif melalui penyedia pihak ketiga, Anda memerlukan akun claude.ai terpisah untuk menggunakan fitur ini.202* Anda diautentikasi melalui claude.ai. Computer use tidak tersedia dengan penyedia pihak ketiga seperti Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. Jika Anda mengakses Claude secara eksklusif melalui penyedia pihak ketiga, Anda memerlukan akun claude.ai terpisah untuk menggunakan fitur ini.

203* Anda berada dalam sesi interaktif. Computer use tidak tersedia dalam mode non-interaktif dengan flag `-p`.203* Anda berada dalam sesi interaktif. Computer use tidak tersedia dalam mode non-interaktif dengan flag `-p`.

204 204 

costs.md +50 −50

Details

6 6 

7> Lacak penggunaan token, tetapkan batas pengeluaran tim, dan kurangi biaya Claude Code dengan manajemen konteks, pemilihan model, pengaturan pemikiran yang diperluas, dan hook prapemrosesan.7> Lacak penggunaan token, tetapkan batas pengeluaran tim, dan kurangi biaya Claude Code dengan manajemen konteks, pemilihan model, pengaturan pemikiran yang diperluas, dan hook prapemrosesan.

8 8 

9Claude Code mengenakan biaya berdasarkan konsumsi token API. Untuk harga paket langganan (Pro, Max, Team, Enterprise), lihat [claude.com/pricing](https://claude.com/pricing). Biaya per pengembang bervariasi luas berdasarkan pemilihan model, ukuran basis kode, dan pola penggunaan seperti menjalankan beberapa instans atau otomasi.9Claude Code mengenakan biaya berdasarkan konsumsi token API. Untuk harga paket langganan (Pro, Max, Ultra, Team, Enterprise), lihat [claude.com/pricing](https://claude.com/pricing). Biaya per pengembang bervariasi luas berdasarkan pemilihan model, ukuran codebase, dan pola penggunaan seperti menjalankan beberapa instans atau otomasi.

10 10 

11Di seluruh penyebaran perusahaan, biaya rata-rata adalah sekitar \$13 per pengembang per hari aktif dan \$150-250 per pengembang per bulan, dengan biaya tetap di bawah \$30 per hari aktif untuk 90% pengguna. Untuk memperkirakan pengeluaran untuk tim Anda sendiri, mulai dengan kelompok pilot kecil dan gunakan alat pelacakan di bawah untuk membangun baseline sebelum peluncuran yang lebih luas.11Di seluruh penyebaran perusahaan, biaya rata-rata adalah sekitar \$13 per pengembang per hari aktif dan \$150-250 per pengembang per bulan, dengan biaya tetap di bawah \$30 per hari aktif untuk 90% pengguna. Untuk memperkirakan pengeluaran untuk tim Anda sendiri, mulai dengan kelompok pilot kecil dan gunakan alat pelacakan di bawah untuk membangun baseline sebelum peluncuran yang lebih luas.

12 12 


18 18 

19> [!NOTE]19> [!NOTE]

20>20>

21> Blok Session dalam `/usage` menampilkan penggunaan token API dan dimaksudkan untuk pengguna API. Pelanggan Claude Max dan Pro memiliki penggunaan yang disertakan dalam langganan mereka, jadi angka biaya sesi tidak relevan untuk tujuan penagihan. Pelanggan melihat bilah penggunaan paket, statistik aktivitas, dan rincian penggunaan di layar yang sama.21> Blok Session dalam `/usage` menampilkan penggunaan token API dan dimaksudkan untuk pengguna API. Pelanggan Claude Pro, Max, dan Ultra memiliki penggunaan yang disertakan dalam langganan mereka, jadi angka biaya sesi tidak relevan untuk tujuan penagihan. Pelanggan melihat bilah penggunaan paket, statistik aktivitas, dan rincian penggunaan di layar yang sama.

22 22 

23Blok Session di bagian atas `/usage` menampilkan statistik penggunaan token terperinci untuk sesi Anda saat ini. Claude Code menghitung angka dolar secara lokal dari jumlah token dengan harga daftar, kecuali tabel [`modelPricing`](https://code.claude.com/docs/id/settings-reference#modelpricing) berlaku. Administrator menetapkan satu dalam pengaturan terkelola organisasi Anda sehingga angka menggunakan tarif kontrak Anda, dan sementara tabel berlaku, baris `Total cost` membawa catatan `at your organization's configured rates`. Angka ini adalah perkiraan, jadi untuk penagihan yang berwenang, lihat halaman Penggunaan di [Claude Console](https://platform.claude.com/usage).23Blok Session di bagian atas `/usage` menampilkan statistik penggunaan token terperinci untuk sesi Anda saat ini. Claude Code menghitung angka dolar secara lokal dari jumlah token dengan harga daftar, kecuali tabel [`modelPricing`](https://code.claude.com/docs/id/settings-reference#modelpricing) berlaku. Administrator menetapkan satu dalam pengaturan terkelola organisasi Anda sehingga angka menggunakan tarif kontrak Anda, dan sementara tabel berlaku, baris `Total cost` membawa catatan `at your organization's configured rates`. Angka ini adalah perkiraan, jadi untuk penagihan yang berwenang, lihat halaman Penggunaan di [Claude Console](https://platform.claude.com/usage).

24 24 


55 55 

56#### Rincian penggunaan paket56#### Rincian penggunaan paket

57 57 

58Pada paket Pro, Max, Team, atau Enterprise, `/usage` juga menampilkan rincian tentang apa yang diperhitungkan terhadap batas paket Anda, disertai rekomendasi:58Pada paket Pro, Max, Ultra, Team, atau Enterprise, `/usage` juga menampilkan rincian tentang apa yang diperhitungkan terhadap batas paket Anda, disertai rekomendasi:

59 59 

60* **Attribution**: penggunaan terbaru yang dikaitkan dengan skills, subagents, plugins, dan server MCP individual, masing-masing ditampilkan sebagai persentase dari total. Bagian server MCP hanya menghitung permintaan yang menggunakan salah satu hasil tool-nya. Sebelum v2.1.222, setelah satu panggilan ke server MCP, Claude Code mengatribusikan setiap permintaan berikutnya ke server tersebut, melebih-lebihkan bagiannya.60* **Attribution**: penggunaan terbaru yang dikaitkan dengan skills, subagents, plugins, dan server MCP individual, masing-masing ditampilkan sebagai persentase dari total. Bagian server MCP hanya menghitung permintaan yang menggunakan salah satu hasil tool-nya. Sebelum v2.1.222, setelah satu panggilan ke server MCP, Claude Code mengatribusikan setiap permintaan berikutnya ke server tersebut, melebih-lebihkan bagiannya.

61* **Recommendations**: perubahan yang disarankan, satu per baris. Setiap baris diawali dengan bagian dari penggunaan terbaru Anda, minimal 10%, seperti pada `25% Trim ~/code/api/CLAUDE.md · 49k tokens per request`.61* **Recommendations**: perubahan yang disarankan, satu per baris. Setiap baris diawali dengan bagian dari penggunaan terbaru Anda, minimal 10%, seperti pada `25% Trim ~/code/api/CLAUDE.md · 49k tokens per request`.


92 92 

93`/usage` juga menampilkan baris kredit penggunaan saat [kredit penggunaan](#add-usage-credits-to-your-subscription) aktif. Apa yang ditampilkan baris tergantung pada paket Anda:93`/usage` juga menampilkan baris kredit penggunaan saat [kredit penggunaan](#add-usage-credits-to-your-subscription) aktif. Apa yang ditampilkan baris tergantung pada paket Anda:

94 94 

95* **Pro dan Max**: pengeluaran Anda untuk bulan saat ini, diukur terhadap batas pengeluaran bulanan Anda ketika Anda telah menetapkan satu. Ketika Anda belum menetapkan batas, baris menampilkan `Unlimited` dan tidak ada angka pengeluaran.95* **Pro, Max, dan Ultra**: pengeluaran Anda untuk bulan saat ini, diukur terhadap batas pengeluaran bulanan Anda ketika Anda telah menetapkan satu. Ketika Anda belum menetapkan batas, baris menampilkan `Unlimited` dan tidak ada angka pengeluaran.

96* **Team dan Enterprise**: pengeluaran Anda sendiri untuk bulan saat ini, diukur terhadap [batas yang ditetapkan organisasi Anda](#claude-for-teams-and-enterprise) yang berlaku untuk Anda. Batas yang mencakup seluruh organisasi tidak muncul dalam baris. Ketika Anda tidak memiliki batas Anda sendiri, baris menampilkan pengeluaran Anda tanpa batas di sampingnya. Sementara kredit penggunaan dimatikan untuk Anda, `/usage` tidak menampilkan baris kredit penggunaan.96* **Team dan Enterprise**: pengeluaran Anda sendiri untuk bulan saat ini, diukur terhadap [batas yang ditetapkan organisasi Anda](#claude-for-teams-and-enterprise) yang berlaku untuk Anda. Batas yang mencakup seluruh organisasi tidak muncul dalam baris. Ketika Anda tidak memiliki batas Anda sendiri, baris menampilkan pengeluaran Anda tanpa batas di sampingnya. Sementara kredit penggunaan dimatikan untuk Anda, `/usage` tidak menampilkan baris kredit penggunaan.

97 97 

98Ketika Anda memiliki batas pengeluaran, baris muncul segera setelah kredit penggunaan aktif dan menampilkan 0% sampai Anda pertama kali menghabiskan kredit penggunaan. Sebelum v2.1.236, `/usage` menampilkan baris hanya pada paket Pro dan Max, dan baris dengan batas pengeluaran tetap tersembunyi sampai Anda telah menghabiskan sesuatu.98Ketika Anda memiliki batas pengeluaran, baris muncul segera setelah kredit penggunaan aktif dan menampilkan 0% sampai Anda pertama kali menghabiskan kredit penggunaan. Sebelum v2.1.236, `/usage` menampilkan baris hanya pada paket Pro, Max, dan Ultra, dan baris dengan batas pengeluaran tetap tersembunyi sampai Anda telah menghabiskan sesuatu.

99 99 

100#### Ketika permintaan penggunaan gagal100#### Ketika permintaan penggunaan gagal

101 101 


130 130 

131| Peran Anda | Apa yang dilakukan `/usage-credits` |131| Peran Anda | Apa yang dilakukan `/usage-credits` |

132| :- | :- |132| :- | :- |

133| Pelanggan Pro atau Max | Membuka [**Settings > Usage**](https://claude.ai/settings/usage) di claude.ai di browser. Di bagian **Usage credits** Anda dapat mengaktifkan atau menonaktifkan kredit penggunaan dan memeriksa saldo kredit, pengeluaran bulan ini, dan batas pengeluaran bulanan Anda |133| Pelanggan Pro, Max, atau Ultra | Membuka [**Settings > Usage**](https://claude.ai/settings/usage) di claude.ai di browser. Di bagian **Usage credits** Anda dapat mengaktifkan atau menonaktifkan kredit penggunaan dan memeriksa saldo kredit, pengeluaran bulan ini, dan batas pengeluaran bulanan Anda |

134| Anggota Team atau Enterprise dengan akses penagihan | Membuka pengaturan penggunaan organisasi Anda, [**Organization settings > Usage**](https://claude.ai/admin-settings/usage), di browser |134| Anggota Team atau Enterprise dengan akses penagihan | Membuka pengaturan penggunaan organisasi Anda, [**Organization settings > Usage**](https://claude.ai/admin-settings/usage), di browser |

135| Anggota Team atau Enterprise tanpa akses penagihan | Meminta Anda untuk mengonfirmasi, kemudian mengirim permintaan ke admin organisasi Anda. Sebelum v2.1.211, Claude Code mengirim permintaan tanpa langkah konfirmasi |135| Anggota Team atau Enterprise tanpa akses penagihan | Meminta Anda untuk mengonfirmasi, kemudian mengirim permintaan ke admin organisasi Anda. Sebelum v2.1.211, Claude Code mengirim permintaan tanpa langkah konfirmasi |

136 136 


144 144 

145Kontrol mana yang Anda miliki tergantung pada bagaimana organisasi Anda mengakses Claude Code: paket Claude for Teams atau Enterprise, Claude Console, atau penyedia cloud. Pada paket Teams dan Enterprise, penggunaan ditarik dari tunjangan kursi setiap anggota. Di Console dan di penyedia cloud, penggunaan ditagih per token ke organisasi Anda. Jika organisasi Anda mencampur metode masuk, setiap pengembang diukur sesuai dengan yang mereka autentikasi.145Kontrol mana yang Anda miliki tergantung pada bagaimana organisasi Anda mengakses Claude Code: paket Claude for Teams atau Enterprise, Claude Console, atau penyedia cloud. Pada paket Teams dan Enterprise, penggunaan ditarik dari tunjangan kursi setiap anggota. Di Console dan di penyedia cloud, penggunaan ditagih per token ke organisasi Anda. Jika organisasi Anda mencampur metode masuk, setiap pengembang diukur sesuai dengan yang mereka autentikasi.

146 146 

147Tabel memetakan setiap pengaturan ke tempat Anda melihat pengeluaran, tempat Anda membatasinya, dan bagaimana Anda menarik angka per pengguna. Pada paket Pro atau Max individual Anda tidak memiliki organisasi untuk dikelola, jadi lacak pengeluaran kredit penggunaan Anda sendiri, termasuk [fast mode](https://code.claude.com/docs/id/fast-mode.md#see-where-fast-mode-spend-appears), di bawah [Tambahkan kredit penggunaan ke langganan Anda](#add-usage-credits-to-your-subscription).147Tabel memetakan setiap pengaturan ke tempat Anda melihat pengeluaran, tempat Anda membatasinya, dan bagaimana Anda menarik angka per pengguna. Pada paket Pro, Max, atau Ultra individual Anda tidak memiliki organisasi untuk dikelola, jadi lacak pengeluaran kredit penggunaan Anda sendiri, termasuk [fast mode](https://code.claude.com/docs/id/fast-mode.md#see-where-fast-mode-spend-appears), di bawah [Tambahkan kredit penggunaan ke langganan Anda](#add-usage-credits-to-your-subscription).

148 148 

149| Pengaturan Anda | Lihat pengeluaran | Batasi pengeluaran | Pelaporan per pengguna |149| Pengaturan Anda | Lihat pengeluaran | Batasi pengeluaran | Pelaporan per pengguna |

150| :- | :- | :- | :- |150| :- | :- | :- | :- |


294 294 

295Misalnya, hook PreToolUse ini memfilter output tes untuk menampilkan hanya kegagalan:295Misalnya, hook PreToolUse ini memfilter output tes untuk menampilkan hanya kegagalan:

296 296 

297**settings.json**297> [tab] settings.json

298 298>

299Tambahkan ini ke [settings.json](https://code.claude.com/docs/id/settings.md#where-settings-live) Anda untuk menjalankan hook sebelum setiap perintah Bash:299> Tambahkan ini ke [settings.json](https://code.claude.com/docs/id/settings.md#where-settings-live) Anda untuk menjalankan hook sebelum setiap perintah Bash:

300 300>

301```json theme={null}301> ```json theme={null}

302{302> {

303 "hooks": {303> "hooks": {

304 "PreToolUse": [304> "PreToolUse": [

305 {305> {

306 "matcher": "Bash",306> "matcher": "Bash",

307 "hooks": [307> "hooks": [

308 {308> {

309 "type": "command",309> "type": "command",

310 "command": "~/.claude/hooks/filter-test-output.sh"310> "command": "~/.claude/hooks/filter-test-output.sh"

311 }311> }

312 ]312> ]

313 }313> }

314 ]314> ]

315 }315> }

316}316> }

317```317> ```

318 318 

319**filter-test-output.sh**319> [tab] filter-test-output.sh

320 320>

321Hook memanggil skrip ini. Buat folder dengan `mkdir -p ~/.claude/hooks`, simpan skrip di bawah sebagai `~/.claude/hooks/filter-test-output.sh`, dan buat dapat dieksekusi dengan `chmod +x ~/.claude/hooks/filter-test-output.sh`. Ini memeriksa apakah perintah adalah test runner dan memodifikasinya untuk menampilkan hanya kegagalan:321> Hook memanggil skrip ini. Buat folder dengan `mkdir -p ~/.claude/hooks`, simpan skrip di bawah sebagai `~/.claude/hooks/filter-test-output.sh`, dan buat dapat dieksekusi dengan `chmod +x ~/.claude/hooks/filter-test-output.sh`. Ini memeriksa apakah perintah adalah test runner dan memodifikasinya untuk menampilkan hanya kegagalan:

322 322>

323```bash theme={null}323> ```bash theme={null}

324#!/bin/bash324> #!/bin/bash

325input=$(cat)325> input=$(cat)

326cmd=$(echo "$input" | jq -r '.tool_input.command')326> cmd=$(echo "$input" | jq -r '.tool_input.command')

327 327>

328# If running tests, filter to show only failures328> # If running tests, filter to show only failures

329pattern='^(npm test|pytest|go test)( [^;&|<>`$#\\[:cntrl:]]*)?$'329> pattern='^(npm test|pytest|go test)( [^;&|<>`$#\\[:cntrl:]]*)?$'

330if [[ "$cmd" =~ $pattern ]]; then330> if [[ "$cmd" =~ $pattern ]]; then

331 filtered_cmd="$cmd 2>&1 | grep -A 5 -E '(FAIL|ERROR|error:)' | head -100"331> filtered_cmd="$cmd 2>&1 | grep -A 5 -E '(FAIL|ERROR|error:)' | head -100"

332 echo "$input" | jq --arg filtered "$filtered_cmd" \332> echo "$input" | jq --arg filtered "$filtered_cmd" \

333 '{hookSpecificOutput: {hookEventName: "PreToolUse", updatedInput: (.tool_input + {command: $filtered})}}'333> '{hookSpecificOutput: {hookEventName: "PreToolUse", updatedInput: (.tool_input + {command: $filtered})}}'

334else334> else

335 echo "{}"335> echo "{}"

336fi336> fi

337```337> ```

338 338 

339Untuk memverifikasi pengaturan, jalankan `/hooks` dan periksa bahwa hook muncul di bawah PreToolUse. Anda juga dapat memulai Claude Code dengan `claude --debug-file ./claude-debug.txt` dan minta Claude untuk menjalankan `npm test`. Ketika hook menulis ulang perintah, file log tersebut berisi baris `modified tool input keys` yang mencantumkan `command` dan bidang input Bash lainnya.339Untuk memverifikasi pengaturan, jalankan `/hooks` dan periksa bahwa hook muncul di bawah PreToolUse. Anda juga dapat memulai Claude Code dengan `claude --debug-file ./claude-debug.txt` dan minta Claude untuk menjalankan `npm test`. Ketika hook menulis ulang perintah, file log tersebut berisi baris `modified tool input keys` yang mencantumkan `command` dan bidang input Bash lainnya.

340 340 


392* **Rekan tim agen**: setiap [rekan tim](#agent-team-token-costs) aktif terus mengonsumsi token sampai keluar392* **Rekan tim agen**: setiap [rekan tim](#agent-team-token-costs) aktif terus mengonsumsi token sampai keluar

393* **Pemadatan**: `/compact` membaca percakapan yang diringkasnya, jadi [memadatkan konteks besar](https://code.claude.com/docs/id/prompt-caching.md#compacting-the-conversation) adalah permintaan besar itu sendiri. Ketika Anda menginginkan awal yang segar alih-alih kontinuitas, `/clear` tidak memerlukan biaya apa pun393* **Pemadatan**: `/compact` membaca percakapan yang diringkasnya, jadi [memadatkan konteks besar](https://code.claude.com/docs/id/prompt-caching.md#compacting-the-conversation) adalah permintaan besar itu sendiri. Ketika Anda menginginkan awal yang segar alih-alih kontinuitas, `/clear` tidak memerlukan biaya apa pun

394 394 

395Pada paket Pro, Max, Team, atau Enterprise, [rincian `/usage`](#plan-usage-breakdown) merekomendasikan perubahan untuk perilaku yang menyumbang 10% atau lebih dari penggunaan terbaru Anda, seperti konteks panjang atau cache misses.395Untuk melihat apa yang perlu diubah pada paket Pro, Max, Ultra, Team, atau Enterprise, jalankan [`/usage`](#plan-usage-breakdown) di prompt Claude Code. Rinciannya merekomendasikan perubahan untuk perilaku yang menyumbang 10% atau lebih dari penggunaan terbaru Anda. Perilaku tersebut mencakup konteks panjang dan cache misses.

396 396 

397## Memahami perubahan dalam perilaku Claude Code397## Memahami perubahan dalam perilaku Claude Code

398 398 


400 400 

401Untuk pertanyaan penagihan tentang akun spesifik Anda, hubungi dukungan Anthropic melalui messenger dalam produk:401Untuk pertanyaan penagihan tentang akun spesifik Anda, hubungi dukungan Anthropic melalui messenger dalam produk:

402 402 

403* **Paket langganan** (Pro, Max, Team, Enterprise): masuk di [claude.ai](https://claude.ai), klik inisial Anda di sudut kiri bawah, dan pilih **Get help**403* **Paket langganan** (Pro, Max, Ultra, Team, Enterprise): masuk di [claude.ai](https://claude.ai), klik inisial Anda di sudut kiri bawah, dan pilih **Get help**

404* **Penagihan Console (API)**: masuk di [platform.claude.com](https://platform.claude.com), klik inisial Anda, dan pilih **Get help**404* **Penagihan Console (API)**: masuk di [platform.claude.com](https://platform.claude.com), klik inisial Anda, dan pilih **Get help**

405 405 

406Lihat [How to get support](https://support.claude.com/en/articles/9015913-how-to-get-support) untuk alur lengkap, termasuk siapa yang dapat menghubungi agen manusia di setiap paket.406Lihat [How to get support](https://support.claude.com/en/articles/9015913-how-to-get-support) untuk alur lengkap, termasuk siapa yang dapat menghubungi agen manusia di setiap paket.

data-usage.md +6 −6

Details

10 10 

11### Kebijakan pelatihan data11### Kebijakan pelatihan data

12 12 

13**Pengguna konsumen (paket Free, Pro, dan Max)**:13**Pengguna konsumen (paket Free, Pro, Max, dan Ultra)**:

14Kami memberi Anda pilihan untuk mengizinkan data Anda digunakan guna meningkatkan model Claude di masa mendatang. Kami akan melatih model baru menggunakan data dari akun Free, Pro, dan Max saat pengaturan ini aktif (termasuk saat Anda menggunakan Claude Code dari akun-akun tersebut).14Kami memberi Anda pilihan untuk mengizinkan data Anda digunakan guna meningkatkan model Claude di masa mendatang. Kami akan melatih model baru menggunakan data dari akun Free, Pro, Max, dan Ultra saat pengaturan ini aktif (termasuk saat Anda menggunakan Claude Code dari akun-akun tersebut).

15 15 

16**Pengguna komersial**: (paket Team dan Enterprise, API, platform pihak ketiga, dan Claude Gov) mempertahankan kebijakan yang ada: Anthropic tidak melatih model generatif menggunakan kode atau prompt yang dikirim ke Claude Code berdasarkan ketentuan komersial, kecuali pelanggan telah memilih untuk memberikan datanya kepada kami untuk peningkatan model (misalnya, [Developer Partner Program](https://support.claude.com/en/articles/11174108-about-the-development-partner-program)).16**Pengguna komersial**: (paket Team dan Enterprise, API, platform pihak ketiga, dan Claude Gov) mempertahankan kebijakan yang ada: Anthropic tidak melatih model generatif menggunakan kode atau prompt yang dikirim ke Claude Code berdasarkan ketentuan komersial, kecuali pelanggan telah memilih untuk memberikan datanya kepada kami untuk peningkatan model (misalnya, [Developer Partner Program](https://support.claude.com/en/articles/11174108-about-the-development-partner-program)).

17 17 


43 43 

44Anthropic menyimpan data Claude Code berdasarkan jenis akun dan preferensi Anda.44Anthropic menyimpan data Claude Code berdasarkan jenis akun dan preferensi Anda.

45 45 

46**Pengguna konsumen (paket Free, Pro, dan Max)**:46**Pengguna konsumen (paket Free, Pro, Max, dan Ultra)**:

47 47 

48* Pengguna yang mengizinkan penggunaan data untuk peningkatan model: periode penyimpanan 5 tahun untuk mendukung pengembangan model dan peningkatan keamanan48* Pengguna yang mengizinkan penggunaan data untuk peningkatan model: periode penyimpanan 5 tahun untuk mendukung pengembangan model dan peningkatan keamanan

49* Pengguna yang tidak mengizinkan penggunaan data untuk peningkatan model: periode penyimpanan 30 hari49* Pengguna yang tidak mengizinkan penggunaan data untuk peningkatan model: periode penyimpanan 30 hari


61 61 

62Pelajari lebih lanjut tentang praktik penyimpanan data di [Privacy Center](https://privacy.anthropic.com/) kami.62Pelajari lebih lanjut tentang praktik penyimpanan data di [Privacy Center](https://privacy.anthropic.com/) kami.

63 63 

64Untuk detail lengkap, silakan tinjau [Ketentuan Layanan Komersial](https://www.anthropic.com/legal/commercial-terms) kami (untuk pengguna Team, Enterprise, dan API) atau [Ketentuan Konsumen](https://www.anthropic.com/legal/consumer-terms) (untuk pengguna Free, Pro, dan Max) serta [Kebijakan Privasi](https://www.anthropic.com/legal/privacy).64Untuk detail lengkap, silakan tinjau [Ketentuan Layanan Komersial](https://www.anthropic.com/legal/commercial-terms) kami (untuk pengguna Team, Enterprise, dan API) atau [Ketentuan Konsumen](https://www.anthropic.com/legal/consumer-terms) (untuk pengguna Free, Pro, Max, dan Ultra) serta [Kebijakan Privasi](https://www.anthropic.com/legal/privacy).

65 65 

66## Akses data66## Akses data

67 67 


107 107 

108Pelaporan kesalahan hanya aktif ketika semua hal berikut berlaku:108Pelaporan kesalahan hanya aktif ketika semua hal berikut berlaku:

109 109 

110* Anda masuk dengan langganan Claude Pro atau Max110* Anda masuk dengan langganan Claude Pro, Max, atau Ultra

111* Anda menjalankan Claude Code v2.1.198 atau lebih baru111* Anda menjalankan Claude Code v2.1.198 atau lebih baru

112* Anda terhubung langsung ke Claude API112* Anda terhubung langsung ke Claude API

113* Organisasi Anda tidak memiliki perjanjian retensi data nol atau HIPAA113* Organisasi Anda tidak memiliki perjanjian retensi data nol atau HIPAA


123| Layanan | Claude API | Google Cloud's Agent Platform API | Amazon Bedrock API | Microsoft Foundry API | Claude Platform on AWS |123| Layanan | Claude API | Google Cloud's Agent Platform API | Amazon Bedrock API | Microsoft Foundry API | Claude Platform on AWS |

124| - | - | - | - | - | - |124| - | - | - | - | - | - |

125| **Metrics** | Default aktif. `DISABLE_TELEMETRY=1` untuk menonaktifkan. | Default nonaktif. `CLAUDE_CODE_USE_VERTEX` harus 1. | Default nonaktif. `CLAUDE_CODE_USE_BEDROCK` harus 1. | Default nonaktif. `CLAUDE_CODE_USE_FOUNDRY` harus 1. | Default nonaktif. `CLAUDE_CODE_USE_ANTHROPIC_AWS` harus 1. |125| **Metrics** | Default aktif. `DISABLE_TELEMETRY=1` untuk menonaktifkan. | Default nonaktif. `CLAUDE_CODE_USE_VERTEX` harus 1. | Default nonaktif. `CLAUDE_CODE_USE_BEDROCK` harus 1. | Default nonaktif. `CLAUDE_CODE_USE_FOUNDRY` harus 1. | Default nonaktif. `CLAUDE_CODE_USE_ANTHROPIC_AWS` harus 1. |

126| **Error reports** | Aktif untuk sign-in Pro dan Max pada v2.1.198+, sebaliknya nonaktif. `DISABLE_ERROR_REPORTING=1` untuk menonaktifkan. | Default nonaktif. `CLAUDE_CODE_USE_VERTEX` harus 1. | Default nonaktif. `CLAUDE_CODE_USE_BEDROCK` harus 1. | Default nonaktif. `CLAUDE_CODE_USE_FOUNDRY` harus 1. | Default nonaktif. `CLAUDE_CODE_USE_ANTHROPIC_AWS` harus 1. |126| **Error reports** | Aktif untuk sign-in Pro, Max, dan Ultra pada v2.1.198+, sebaliknya nonaktif. `DISABLE_ERROR_REPORTING=1` untuk menonaktifkan. | Default nonaktif. `CLAUDE_CODE_USE_VERTEX` harus 1. | Default nonaktif. `CLAUDE_CODE_USE_BEDROCK` harus 1. | Default nonaktif. `CLAUDE_CODE_USE_FOUNDRY` harus 1. | Default nonaktif. `CLAUDE_CODE_USE_ANTHROPIC_AWS` harus 1. |

127| **Claude API (laporan `/feedback`)** | Default aktif. `DISABLE_FEEDBACK_COMMAND=1` untuk menonaktifkan. | Default nonaktif. `CLAUDE_CODE_USE_VERTEX` harus 1. | Default nonaktif. `CLAUDE_CODE_USE_BEDROCK` harus 1. | Default nonaktif. `CLAUDE_CODE_USE_FOUNDRY` harus 1. | Default nonaktif. `CLAUDE_CODE_USE_ANTHROPIC_AWS` harus 1. |127| **Claude API (laporan `/feedback`)** | Default aktif. `DISABLE_FEEDBACK_COMMAND=1` untuk menonaktifkan. | Default nonaktif. `CLAUDE_CODE_USE_VERTEX` harus 1. | Default nonaktif. `CLAUDE_CODE_USE_BEDROCK` harus 1. | Default nonaktif. `CLAUDE_CODE_USE_FOUNDRY` harus 1. | Default nonaktif. `CLAUDE_CODE_USE_ANTHROPIC_AWS` harus 1. |

128| **Survei kualitas sesi** | Default aktif. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` untuk menonaktifkan. | Default aktif. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` untuk menonaktifkan. | Default aktif. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` untuk menonaktifkan. | Default aktif. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` untuk menonaktifkan. | Default aktif. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` untuk menonaktifkan. |128| **Survei kualitas sesi** | Default aktif. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` untuk menonaktifkan. | Default aktif. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` untuk menonaktifkan. | Default aktif. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` untuk menonaktifkan. | Default aktif. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` untuk menonaktifkan. | Default aktif. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` untuk menonaktifkan. |

129| **Pemeriksaan keamanan domain WebFetch** | Default aktif. `skipWebFetchPreflight: true` di [settings](https://code.claude.com/docs/id/settings.md) untuk menonaktifkan. | Default aktif. `skipWebFetchPreflight: true` di [settings](https://code.claude.com/docs/id/settings.md) untuk menonaktifkan. | Default aktif. `skipWebFetchPreflight: true` di [settings](https://code.claude.com/docs/id/settings.md) untuk menonaktifkan. | Default aktif. `skipWebFetchPreflight: true` di [settings](https://code.claude.com/docs/id/settings.md) untuk menonaktifkan. | Default aktif. `skipWebFetchPreflight: true` di [settings](https://code.claude.com/docs/id/settings.md) untuk menonaktifkan. |129| **Pemeriksaan keamanan domain WebFetch** | Default aktif. `skipWebFetchPreflight: true` di [settings](https://code.claude.com/docs/id/settings.md) untuk menonaktifkan. | Default aktif. `skipWebFetchPreflight: true` di [settings](https://code.claude.com/docs/id/settings.md) untuk menonaktifkan. | Default aktif. `skipWebFetchPreflight: true` di [settings](https://code.claude.com/docs/id/settings.md) untuk menonaktifkan. | Default aktif. `skipWebFetchPreflight: true` di [settings](https://code.claude.com/docs/id/settings.md) untuk menonaktifkan. | Default aktif. `skipWebFetchPreflight: true` di [settings](https://code.claude.com/docs/id/settings.md) untuk menonaktifkan. |

Details

95 95 

96Di shell Anda, tanpa sesi Claude Code yang sedang berjalan, buat direktori tersebut dan pindah ke dalamnya:96Di shell Anda, tanpa sesi Claude Code yang sedang berjalan, buat direktori tersebut dan pindah ke dalamnya:

97 97 

98**Bash or Zsh**98> [tab] Bash or Zsh

99 99>

100```bash theme={null}100> ```bash theme={null}

101mkdir -p ~/claude-clean/empty && cd ~/claude-clean/empty101> mkdir -p ~/claude-clean/empty && cd ~/claude-clean/empty

102```102> ```

103 

104**PowerShell**

105 103 

106```powershell theme={null}104> [tab] PowerShell

107New-Item -ItemType Directory -Force "$HOME/claude-clean/empty" | Out-Null105>

108Set-Location "$HOME/claude-clean/empty"106> ```powershell theme={null}

109```107> New-Item -ItemType Directory -Force "$HOME/claude-clean/empty" | Out-Null

108> Set-Location "$HOME/claude-clean/empty"

109> ```

110 110 

111**2. Mulai Claude Code dengan direktori konfigurasi bersih**111**2. Mulai Claude Code dengan direktori konfigurasi bersih**

112 112 

113Dari shell yang sama, atur [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/id/env-vars) ke direktori baru sebagai pengganti `~/.claude`, dan berikan [`--setting-sources user`](https://code.claude.com/docs/id/cli-reference#cli-flags) untuk mematikan konfigurasi proyek seperti `.claude/settings.json`, `CLAUDE.md`, dan `.mcp.json`:113Dari shell yang sama, atur [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/id/env-vars) ke direktori baru sebagai pengganti `~/.claude`, dan berikan [`--setting-sources user`](https://code.claude.com/docs/id/cli-reference#cli-flags) untuk mematikan konfigurasi proyek seperti `.claude/settings.json`, `CLAUDE.md`, dan `.mcp.json`:

114 114 

115**Bash or Zsh**115> [tab] Bash or Zsh

116 116>

117Variabel ini berlaku untuk satu peluncuran ini saja.117> Variabel ini berlaku untuk satu peluncuran ini saja.

118 118>

119```bash theme={null}119> ```bash theme={null}

120CLAUDE_CONFIG_DIR=~/claude-clean/config claude --setting-sources user120> CLAUDE_CONFIG_DIR=~/claude-clean/config claude --setting-sources user

121```121> ```

122 

123**PowerShell**

124 

125Variabel ini tetap diatur selama sisa sesi PowerShell ini, sehingga peluncuran `claude` berikutnya di jendela yang sama tetap menggunakan direktori bersih. Untuk kembali ke direktori biasa Anda, jalankan `Remove-Item Env:CLAUDE_CONFIG_DIR` sebelum peluncuran berikutnya.

126 122 

127```powershell theme={null}123> [tab] PowerShell

128$env:CLAUDE_CONFIG_DIR = "$HOME/claude-clean/config"124>

129claude --setting-sources user125> Variabel ini tetap diatur selama sisa sesi PowerShell ini, sehingga peluncuran `claude` berikutnya di jendela yang sama tetap menggunakan direktori bersih. Untuk kembali ke direktori biasa Anda, jalankan `Remove-Item Env:CLAUDE_CONFIG_DIR` sebelum peluncuran berikutnya.

130```126>

127> ```powershell theme={null}

128> $env:CLAUDE_CONFIG_DIR = "$HOME/claude-clean/config"

129> claude --setting-sources user

130> ```

131 131 

132Pada peluncuran pertama, Anda akan melalui layar pengaturan pertama kali lagi, yang menandakan bahwa direktori konfigurasi bersih sedang berlaku. Pengaturan terkelola masih berlaku, dan [konektor](https://code.claude.com/docs/id/mcp.md#use-mcp-servers-from-claude-ai) masih dimuat jika Anda masuk dengan akun claude.ai.132Pada peluncuran pertama, Anda akan melalui layar pengaturan pertama kali lagi, yang menandakan bahwa direktori konfigurasi bersih sedang berlaku. Pengaturan terkelola masih berlaku, dan [konektor](https://code.claude.com/docs/id/mcp.md#use-mcp-servers-from-claude-ai) masih dimuat jika Anda masuk dengan akun claude.ai.

133 133 

desktop.md +119 −89

Details

8 8 

9Di aplikasi Claude Desktop, Claude Code adalah tab **Code**. Aplikasi ini juga memiliki chat dan [Cowork](https://claude.com/product/cowork), yang menangani Dispatch dan pekerjaan agentic yang lebih panjang. Halaman ini adalah referensi untuk tab Code.9Di aplikasi Claude Desktop, Claude Code adalah tab **Code**. Aplikasi ini juga memiliki chat dan [Cowork](https://claude.com/product/cowork), yang menangani Dispatch dan pekerjaan agentic yang lebih panjang. Halaman ini adalah referensi untuk tab Code.

10 10 

11> **[Unduh untuk macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**11> [card] [Unduh untuk macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)

12>12>

13> Build universal untuk Intel dan Apple Silicon13> Build universal untuk Intel dan Apple Silicon

14 14 

15> **[Unduh untuk Windows](https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs)**15> [card] [Unduh untuk Windows](https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs)

16>16>

17> Untuk prosesor x6417> Untuk prosesor x64

18 18 

19> **[Dapatkan Claude untuk Linux (beta)](https://code.claude.com/docs/id/desktop-linux.md)**19> [card] [Dapatkan Claude untuk Linux (beta)](https://code.claude.com/docs/id/desktop-linux.md)

20>20>

21> apt atau .deb untuk Ubuntu dan Debian21> apt atau .deb untuk Ubuntu dan Debian

22 22 


92| **Accept edits** | `acceptEdits` | Claude secara otomatis menerima edit file dan perintah filesystem umum seperti `mkdir`, `touch`, dan `mv`, tetapi masih meminta izin sebelum menjalankan perintah terminal lainnya. Gunakan ini ketika Anda mempercayai perubahan file dan menginginkan iterasi yang lebih cepat. |92| **Accept edits** | `acceptEdits` | Claude secara otomatis menerima edit file dan perintah filesystem umum seperti `mkdir`, `touch`, dan `mv`, tetapi masih meminta izin sebelum menjalankan perintah terminal lainnya. Gunakan ini ketika Anda mempercayai perubahan file dan menginginkan iterasi yang lebih cepat. |

93| **Plan** | `plan` | Claude membaca file dan menjalankan perintah untuk menjelajahi, kemudian mengusulkan rencana tanpa mengedit kode sumber Anda. Bagus untuk tugas kompleks di mana Anda ingin meninjau pendekatan terlebih dahulu. |93| **Plan** | `plan` | Claude membaca file dan menjalankan perintah untuk menjelajahi, kemudian mengusulkan rencana tanpa mengedit kode sumber Anda. Bagus untuk tugas kompleks di mana Anda ingin meninjau pendekatan terlebih dahulu. |

94| **Auto** | `auto` | Claude berjalan tanpa permintaan izin reguler; sebelum tindakan seperti perintah shell dan permintaan jaringan berjalan, pengklasifikasi latar belakang memeriksa bahwa mereka selaras dengan permintaan Anda. Muncul ketika [auto mode tersedia](#auto-mode-availability); tidak ada toggle Settings terpisah untuk itu. |94| **Auto** | `auto` | Claude berjalan tanpa permintaan izin reguler; sebelum tindakan seperti perintah shell dan permintaan jaringan berjalan, pengklasifikasi latar belakang memeriksa bahwa mereka selaras dengan permintaan Anda. Muncul ketika [auto mode tersedia](#auto-mode-availability); tidak ada toggle Settings terpisah untuk itu. |

95| **Bypass permissions** | `bypassPermissions` | Claude berjalan tanpa permintaan izin, kecuali untuk [tindakan yang tidak disetujui otomatis oleh mode mana pun](https://code.claude.com/docs/id/permission-modes.md#actions-no-mode-auto-approves), pengklasifikasi keamanan ketika Claude [bertindak di situs eksternal](#browse-external-sites), atau tindakan desktop seperti menghapus sesi, meskipun tidak termasuk [mengarsipkan sesi](#work-across-sessions). Setara dengan `--dangerously-skip-permissions` di CLI. Di paket Pro dan Max, aktifkan "Allow bypass permissions mode" di **Settings > Code** atau **Settings > Claude Code**. Di paket Team dan Enterprise tidak ada toggle Settings, dan kebijakan organisasi mengontrolnya sebagai gantinya. Hanya gunakan ini di kontainer atau VM yang disandbox. |95| **Bypass permissions** | `bypassPermissions` | Claude berjalan tanpa permintaan izin, kecuali untuk [tindakan yang tidak disetujui otomatis oleh mode mana pun](https://code.claude.com/docs/id/permission-modes.md#actions-no-mode-auto-approves), pengklasifikasi keamanan ketika Claude [bertindak di situs eksternal](#browse-external-sites), atau tindakan desktop seperti menghapus sesi, meskipun tidak termasuk [mengarsipkan sesi](#work-across-sessions). Setara dengan `--dangerously-skip-permissions` di CLI. Di paket Pro, Max, dan Ultra, aktifkan "Allow bypass permissions mode" di **Settings > Code** atau **Settings > Claude Code**. Di paket Team dan Enterprise tidak ada toggle Settings, dan kebijakan organisasi mengontrolnya sebagai gantinya. Hanya gunakan ini di kontainer atau VM yang disandbox. |

96 96 

97Versi sebelumnya dari tab Code memberi label pada mode ini sebagai Ask permissions, Auto accept edits, dan Plan mode.97Versi sebelumnya dari tab Code memberi label pada mode ini sebagai Ask permissions, Auto accept edits, dan Plan mode.

98 98 


320 320 

321> [!NOTE]321> [!NOTE]

322>322>

323> Computer use adalah research preview di macOS dan Windows yang memerlukan rencana Pro atau Max. Ini tidak tersedia di rencana Team atau Enterprise. Aplikasi Claude Desktop harus berjalan. Di macOS, computer use memerlukan macOS 14 atau yang lebih baru.323> Computer use adalah research preview di macOS dan Windows yang memerlukan rencana Pro, Max, atau Ultra. Ini tidak tersedia di rencana Team atau Enterprise. Aplikasi Claude Desktop harus berjalan. Di macOS, computer use memerlukan macOS 14 atau yang lebih baru.

324 324 

325Computer use dimatikan secara default. [Aktifkan di Settings](#enable-computer-use) sebelum Claude dapat mengontrol layar Anda. Di macOS, Anda juga perlu memberikan izin Accessibility dan Screen Recording.325Computer use dimatikan secara default. [Aktifkan di Settings](#enable-computer-use) sebelum Claude dapat mengontrol layar Anda. Di macOS, Anda juga perlu memberikan izin Accessibility dan Screen Recording.

326 326 


362* **Windows**: toggle berlaku segera dan setup selesai362* **Windows**: toggle berlaku segera dan setup selesai

363* **macOS**: lanjutkan ke langkah berikutnya363* **macOS**: lanjutkan ke langkah berikutnya

364 364 

365Jika Anda tidak melihat toggle, konfirmasi Anda menggunakan macOS atau Windows dengan rencana Pro atau Max, kemudian perbarui dan mulai ulang aplikasi.365Jika Anda tidak melihat toggle, konfirmasi Anda menggunakan macOS atau Windows dengan rencana Pro, Max, atau Ultra, kemudian perbarui dan mulai ulang aplikasi.

366 366 

367**3. Berikan izin macOS**367**3. Berikan izin macOS**

368 368 


562 562 

563#### Siapkan Dispatch563#### Siapkan Dispatch

564 564 

565Untuk setup, pairing, dan pengaturan Dispatch, lihat [artikel bantuan Dispatch](https://support.claude.com/en/articles/13947068). Dispatch memerlukan rencana Pro atau Max dan tidak tersedia di rencana Team atau Enterprise.565* **Paket**: Dispatch memerlukan paket Pro, Max, atau Ultra dan tidak tersedia di paket Team atau Enterprise

566* **Setup, pairing, dan pengaturan Dispatch**: lihat [artikel bantuan Dispatch](https://support.claude.com/en/articles/13947068)

566 567 

567Dispatch adalah salah satu dari beberapa cara untuk bekerja dengan Claude ketika Anda jauh dari terminal Anda. Untuk perbandingan dengan opsi lain, lihat [Platforms and integrations](https://code.claude.com/docs/id/platforms.md#work-when-you-are-away-from-your-terminal).568Dispatch adalah salah satu dari beberapa cara untuk bekerja dengan Claude ketika Anda jauh dari terminal Anda. Untuk perbandingan dengan opsi lain, lihat [Platforms and integrations](https://code.claude.com/docs/id/platforms.md#work-when-you-are-away-from-your-terminal).

568 569 


738 739 

739Konfigurasi ini menunjukkan setup umum untuk tipe proyek berbeda:740Konfigurasi ini menunjukkan setup umum untuk tipe proyek berbeda:

740 741 

741**Next.js**742> [tab] Next.js

742 743>

743Konfigurasi ini menjalankan aplikasi Next.js menggunakan Yarn di port 3000:744> Konfigurasi ini menjalankan aplikasi Next.js menggunakan Yarn di port 3000:

744 745>

745```json theme={null}746> ```json theme={null}

746{747> {

747 "version": "0.0.1",748> "version": "0.0.1",

748 "configurations": [749> "configurations": [

749 {750> {

750 "name": "web",751> "name": "web",

751 "runtimeExecutable": "yarn",752> "runtimeExecutable": "yarn",

752 "runtimeArgs": ["dev"],753> "runtimeArgs": ["dev"],

753 "port": 3000754> "port": 3000

754 }755> }

755 ]756> ]

756}757> }

757```758> ```

758 759 

759**Multiple servers**760> [tab] Multiple servers

760 761>

761Untuk monorepo dengan server frontend dan API, tentukan beberapa konfigurasi. Frontend menggunakan `autoPort: true` sehingga memilih port gratis jika 3000 diambil, sementara server API memerlukan port 8080 dengan tepat:762> Untuk monorepo dengan server frontend dan API, tentukan beberapa konfigurasi. Frontend menggunakan `autoPort: true` sehingga memilih port gratis jika 3000 diambil, sementara server API memerlukan port 8080 dengan tepat:

762 763>

763```json theme={null}764> ```json theme={null}

764{765> {

765 "version": "0.0.1",766> "version": "0.0.1",

766 "configurations": [767> "configurations": [

767 {768> {

768 "name": "frontend",769> "name": "frontend",

769 "runtimeExecutable": "npm",770> "runtimeExecutable": "npm",

770 "runtimeArgs": ["run", "dev"],771> "runtimeArgs": ["run", "dev"],

771 "cwd": "apps/web",772> "cwd": "apps/web",

772 "port": 3000,773> "port": 3000,

773 "autoPort": true774> "autoPort": true

774 },775> },

775 {776> {

776 "name": "api",777> "name": "api",

777 "runtimeExecutable": "npm",778> "runtimeExecutable": "npm",

778 "runtimeArgs": ["run", "start"],779> "runtimeArgs": ["run", "start"],

779 "cwd": "server",780> "cwd": "server",

780 "port": 8080,781> "port": 8080,

781 "env": { "NODE_ENV": "development" },782> "env": { "NODE_ENV": "development" },

782 "autoPort": false783> "autoPort": false

783 }784> }

784 ]785> ]

785}786> }

786```787> ```

787 788 

788**Node.js script**789> [tab] Node.js script

789 790>

790Untuk menjalankan skrip Node.js secara langsung alih-alih menggunakan perintah package manager, gunakan bidang `program`:791> Untuk menjalankan skrip Node.js secara langsung alih-alih menggunakan perintah package manager, gunakan bidang `program`:

791 792>

792```json theme={null}793> ```json theme={null}

793{794> {

794 "version": "0.0.1",795> "version": "0.0.1",

795 "configurations": [796> "configurations": [

796 {797> {

797 "name": "server",798> "name": "server",

798 "program": "server.js",799> "program": "server.js",

799 "args": ["--verbose"],800> "args": ["--verbose"],

800 "port": 4000801> "port": 4000

801 }802> }

802 ]803> ]

803}804> }

804```805> ```

805 806 

806## Konfigurasi lingkungan807## Konfigurasi lingkungan

807 808 


1327* **Workflow**: Desktop memeriksa setiap [workflow](https://code.claude.com/docs/id/workflows.md) baru sebelum dimulai, sehingga saat Desktop terputus, workflow baru menunggu hingga 10 menit lalu gagal1328* **Workflow**: Desktop memeriksa setiap [workflow](https://code.claude.com/docs/id/workflows.md) baru sebelum dimulai, sehingga saat Desktop terputus, workflow baru menunggu hingga 10 menit lalu gagal

1328* **Server MCP**: server MCP yang dimulai Claude Code di mesin jarak jauh tidak berjalan melalui Desktop, sehingga Claude tetap dapat memanggil tool-nya. Server dari `claude_desktop_config.json` termasuk di antaranya hanya jika Desktop tidak menggunakan [klien SSH bawaannya](#worktree-edits-while-disconnected). Jika tidak demikian, dan pada [beberapa mesin jarak jauh Windows](#windows-remote-machines), Claude tidak dapat memanggil tool-nya saat Desktop terputus.1329* **Server MCP**: server MCP yang dimulai Claude Code di mesin jarak jauh tidak berjalan melalui Desktop, sehingga Claude tetap dapat memanggil tool-nya. Server dari `claude_desktop_config.json` termasuk di antaranya hanya jika Desktop tidak menggunakan [klien SSH bawaannya](#worktree-edits-while-disconnected). Jika tidak demikian, dan pada [beberapa mesin jarak jauh Windows](#windows-remote-machines), Claude tidak dapat memanggil tool-nya saat Desktop terputus.

1329 1330 

1330> **Kapan pengeditan di worktree tetap berfungsi**1331> [accordion] Kapan pengeditan di worktree tetap berfungsi

1331>1332>

1332> Pada mesin jarak jauh Linux atau macOS, pemeriksaan tidak melewati Desktop, sehingga pengeditan di dalam worktree tetap berfungsi saat Desktop terputus. Sebelum Claude Desktop v2.37337.0, hal ini hanya berlaku pada mesin jarak jauh Linux.1333> Pada mesin jarak jauh Linux atau macOS, pemeriksaan tidak melewati Desktop, sehingga pengeditan di dalam worktree tetap berfungsi saat Desktop terputus. Sebelum Claude Desktop v2.37337.0, hal ini hanya berlaku pada mesin jarak jauh Linux.

1333>1334>


1368* **Kata sandi yang diingat**: kata sandi yang Anda izinkan untuk diingat oleh Desktop juga berfungsi tanpa prompt, tetapi untuk ketidakhadiran yang lama, lebih baik gunakan kunci yang disimpan oleh SSH agent Anda. Jika proses masuk dengan kata sandi tersebut terputus atau macet, Desktop dapat berhenti mencoba terhubung kembali dan menunggu Anda.1369* **Kata sandi yang diingat**: kata sandi yang Anda izinkan untuk diingat oleh Desktop juga berfungsi tanpa prompt, tetapi untuk ketidakhadiran yang lama, lebih baik gunakan kunci yang disimpan oleh SSH agent Anda. Jika proses masuk dengan kata sandi tersebut terputus atau macet, Desktop dapat berhenti mencoba terhubung kembali dan menunggu Anda.

1369* **Prompt lainnya**: jika mesin jarak jauh meminta hal lain, seperti kode sekali pakai, Anda dapat menerima notifikasi di komputer Anda. Klik notifikasi tersebut, atau kirim pesan di sesi, dan Desktop akan menampilkan prompt-nya.1370* **Prompt lainnya**: jika mesin jarak jauh meminta hal lain, seperti kode sekali pakai, Anda dapat menerima notifikasi di komputer Anda. Klik notifikasi tersebut, atau kirim pesan di sesi, dan Desktop akan menampilkan prompt-nya.

1370 1371 

1371> **Jika jump host meminta proses masuk, gangguan berlangsung lama, output hilang, atau proses sudah tidak ada**1372> [accordion] Jika jump host meminta proses masuk, gangguan berlangsung lama, output hilang, atau proses sudah tidak ada

1372>1373>

1373> * **Jump host, push berhenti saat Anda tidak ada**: hal ini dapat terjadi dengan Desktop di macOS atau Linux ketika tidak ada yang menjawab permintaan masuk dari jump host, misalnya push ke ponsel. Desktop kemudian berhenti mencoba terhubung kembali selama tidak ada orang di komputer Anda. Saat Anda membuka kunci atau menggunakan komputer, Anda dapat menerima push lain, karena Desktop dapat mencoba lagi. Setelah tiga upaya yang tidak dijawab, Desktop menunggu hingga Anda melakukan retry atau mengirim pesan.1374> * **Jump host, push berhenti saat Anda tidak ada**: hal ini dapat terjadi dengan Desktop di macOS atau Linux ketika tidak ada yang menjawab permintaan masuk dari jump host, misalnya push ke ponsel. Desktop kemudian berhenti mencoba terhubung kembali selama tidak ada orang di komputer Anda. Saat Anda membuka kunci atau menggunakan komputer, Anda dapat menerima push lain, karena Desktop dapat mencoba lagi. Setelah tiga upaya yang tidak dijawab, Desktop menunggu hingga Anda melakukan retry atau mengirim pesan.

1374> * **Jump host, push terus berdatangan**: jika Desktop tidak dapat mengetahui bahwa tidak ada yang menjawab, seperti pada Desktop di Windows, Desktop terus mencoba selama masih ada proses untuk digabungi kembali, baik proses tersebut masih berjalan maupun tidak. Anda dapat menerima push lain pada setiap upaya. Untuk menghentikan upaya tersebut, keluar dari Desktop, yang [dapat membuat Anda kehilangan tugas yang sedang berjalan](#reopen-a-session-after-you-quit-desktop).1375> * **Jump host, push terus berdatangan**: jika Desktop tidak dapat mengetahui bahwa tidak ada yang menjawab, seperti pada Desktop di Windows, Desktop terus mencoba selama masih ada proses untuk digabungi kembali, baik proses tersebut masih berjalan maupun tidak. Anda dapat menerima push lain pada setiap upaya. Untuk menghentikan upaya tersebut, keluar dari Desktop, yang [dapat membuat Anda kehilangan tugas yang sedang berjalan](#reopen-a-session-after-you-quit-desktop).


1592>1593>

1593> Koneksi dari perintah memerlukan Claude Desktop v3.6556.0 atau yang lebih baru di macOS atau Linux, dengan masuk menggunakan akun Claude. Admin dapat [mendistribusikan perintah ke tim](#distribute-commands-to-your-team).1594> Koneksi dari perintah memerlukan Claude Desktop v3.6556.0 atau yang lebih baru di macOS atau Linux, dengan masuk menggunakan akun Claude. Admin dapat [mendistribusikan perintah ke tim](#distribute-commands-to-your-team).

1594 1595 

1595Setiap entri adalah satu koneksi, dengan satu host dalam satu waktu. Desktop menjalankan perintah hanya saat Anda membuat koneksi atau [mengganti host-nya](#replace-the-host), bukan setiap kali Anda terhubung. Untuk mempertahankan dua mesin sekaligus, tambahkan entri kedua.1596Desktop menjalankan perintah hanya saat Anda membuat koneksi atau [membuat mesin lain](#create-another-machine), bukan setiap kali Anda terhubung. Setiap entri adalah satu koneksi, yang menunjuk ke host yang terakhir disimpan Desktop dari perintah entri tersebut.

1596 1597 

1597> [!WARNING]1598> [!WARNING]

1598>1599>

1599> Desktop tidak menghentikan atau menghapus mesin. Masing-masing berikut ini tetap berjalan, dan dapat terus menimbulkan biaya, sampai Anda menghapusnya dengan alat Anda:1600> Desktop tidak menghentikan atau menghapus mesin. Masing-masing berikut ini tetap berjalan, dan dapat terus menimbulkan biaya, sampai Anda menghapusnya dengan alat Anda:

1600>1601>

1601> * Host yang telah Anda ganti1602> * Mesin yang ditunjuk sebuah entri sebelum Anda [membuat mesin lain](#create-another-machine)

1602> * Host dari entri yang Anda hapus dari file, atau yang `id`-nya Anda ubah1603> * Mesin-mesin dari entri yang Anda hapus dari file, atau yang `id`-nya Anda ubah

1603> * Mesin yang dibuat oleh perintah Anda tanpa Desktop menyimpan host-nya, misalnya dalam kasus berikut:1604> * Mesin yang dibuat perintah Anda tanpa Desktop menyimpan host-nya, misalnya dalam kasus berikut:

1604> * Perintah gagal atau kehabisan waktu1605> * Perintah gagal atau kehabisan waktu

1605> * Desktop tidak dapat menggunakan host yang dicetak, koneksi lain sudah menggunakannya, atau organisasi Anda tidak mengizinkannya1606> * Desktop tidak dapat menggunakan host yang dicetak, koneksi lain sudah menggunakannya, atau organisasi Anda tidak mengizinkannya

1606> * Saat perintah berjalan, Anda membatalkannya, menghapus entrinya, mengubah `command` atau `id`-nya, atau keluar dari Desktop1607> * Saat perintah berjalan, Anda membatalkannya, menghapus entrinya, mengubah `command` atau `id`-nya, atau keluar dari Desktop


1624 1625 

1625| Kolom | Nilai |1626| Kolom | Nilai |

1626| :- | :- |1627| :- | :- |

1627| `id` | Hingga 64 huruf ASCII, angka, `.`, `_`, dan `-`, diawali dengan huruf atau angka. Gunakan `id` yang tidak dimiliki entri lain di `sshHostCommands` atau [`sshConfigs`](#pre-configure-ssh-connections-for-your-team). Desktop menyimpan host koneksi di bawahnya, jadi jika Anda mengubahnya, koneksi dimulai ulang tanpa host dan mesin lama tetap berjalan. |1628| `id` | Hingga 64 huruf ASCII, angka, `.`, `_`, dan `-`, diawali dengan huruf atau angka. Gunakan `id` yang tidak dimiliki entri lain di `sshHostCommands` atau [`sshConfigs`](#pre-configure-ssh-connections-for-your-team). Desktop menyimpan host koneksi di bawahnya, jadi jika Anda mengubahnya, koneksi dimulai dari awal tanpa host, mesin-mesinnya tetap berjalan, dan Desktop [masih dapat terhubung ke mesin tersebut](#remove-an-entry). |

1628| `name` | Nama koneksi di pemilih lingkungan, hingga 200 karakter dalam satu baris |1629| `name` | Nama koneksi di pemilih lingkungan, hingga 200 karakter dalam satu baris |

1629| `command` | Program dan argumennya, seperti yang dijelaskan di [Tulis perintah](#write-the-command) |1630| `command` | Program dan argumennya, seperti yang dijelaskan di [Tulis perintah](#write-the-command) |

1630| `sshIdentityFile` | Path ke private key Anda, seperti `~/.ssh/id_ed25519`. Kosongkan untuk menggunakan konfigurasi SSH atau SSH agent Anda. |1631| `sshIdentityFile` | Path ke private key Anda, seperti `~/.ssh/id_ed25519`. Kosongkan untuk menggunakan konfigurasi SSH atau SSH agent Anda. |


1677 1678 

1678Biarkan pemeriksaan host key tetap aktif untuk host-host ini, dan simpan file `known_hosts` untuk mereka. Jika `StrictHostKeyChecking` bernilai `no` atau `accept-new` dan `UserKnownHostsFile` juga bernilai `/dev/null` atau `none`, tidak ada yang mencatat key. Ketika alat Anda kemudian menggunakan ulang sebuah nama, Anda dapat terhubung ke mesin yang berbeda tanpa peringatan.1679Biarkan pemeriksaan host key tetap aktif untuk host-host ini, dan simpan file `known_hosts` untuk mereka. Jika `StrictHostKeyChecking` bernilai `no` atau `accept-new` dan `UserKnownHostsFile` juga bernilai `/dev/null` atau `none`, tidak ada yang mencatat key. Ketika alat Anda kemudian menggunakan ulang sebuah nama, Anda dapat terhubung ke mesin yang berbeda tanpa peringatan.

1679 1680 

1680##### Ganti host1681Nama yang digunakan ulang juga penting ketika tidak ada orang di depan komputer, karena Desktop terhubung ke host-host ini dengan sendirinya. Misalnya, Desktop mengirimkan pesan yang Anda kirim saat host tidak dapat dijangkau, begitu host merespons. Bahkan dengan pemeriksaan kunci host aktif, pesan tersebut dapat mencapai mesin baru pemilik nama itu dalam kasus berikut, jadi [berhentilah menggunakan mesin](#stop-using-a-machine) sebelum mesin tersebut dihapus:

1682 

1683* Anda, perintah Anda, atau program lain menambahkan kunci baru ke `known_hosts` atau menghapus baris kunci lama, seperti yang dilakukan perintah Anda jika perintah tersebut menambahkan kunci host

1684* Mesin-mesin tool Anda berbagi kunci host

1685* Mesin-mesin tool Anda berbagi certificate authority yang dipercaya `known_hosts`

1686* Anda atau admin Anda menetapkan `KnownHostsCommand` atau `VerifyHostKeyDNS yes`, sehingga SSH menerima kunci dari luar `known_hosts`

1687 

1688##### Membuat mesin lain

1689 

1690Sesi Anda di mesin sebelumnya tetap berfungsi setelah Anda memilih **Create another Dev box**, dan sesi baru menggunakan mesin baru. Pilih item tersebut di pemilih lingkungan untuk membuat mesin baru atau untuk mengganti mesin yang sudah tidak ada. Di halaman sesi baru, pesan yang menyatakan bahwa Desktop tidak dapat menjangkau host juga menawarkannya.

1681 1691 

1682Setelah Dev box memiliki host, pemilih mencantumkan Dev box di antara koneksi SSH Anda, dan **Create Dev box** menjadi **Replace Dev box's host**. Jika item tersebut tidak ada di daftar, lihat di bawah **More**.1692* **Sesi di mesin sebelumnya**: lanjutkan dari sidebar, karena pemilih mencantumkan mesin Dev box saat ini dan bukan mesin-mesin sebelumnya. Desktop dapat terhubung ke mesin-mesin tersebut dengan sendirinya, misalnya saat Desktop dimulai, jadi [berhentilah menggunakan mesin](#stop-using-a-machine) setelah Anda selesai dengannya.

1693* **Host yang diganti sebelum Claude Desktop v4.4212.0**: versi tersebut menampilkan **Replace Dev box's host** dan berhenti terhubung ke host yang diganti. Untuk melanjutkan sesi di host tersebut, buka sesi, pilih **Add SSH connection**, dan simpan koneksi yang diisi Desktop. Perbarui Desktop sebelum Anda mengganti host lain.

1694* **Sesi baru di dua mesin**: tambahkan entri kedua ke [`sshHostCommands`](#create-an-ssh-connection-from-a-command)

1695* **Host baru yang belum merespons**: biarkan halaman sesi baru terbuka hingga 10 menit selama halaman tersebut terus mencoba terhubung. Jika host masih belum merespons, pilih **Create another Dev box** di pesan halaman tersebut.

1696* **Mesin lain tidak lama kemudian**: setelah beberapa kali perintah dijalankan dalam satu jam, konfirmasi setiap eksekusi berikutnya di dialog yang dibuka Desktop, yang menampilkan perintah tersebut

1683 1697 

1684Pilih item itu saat mesin sudah tidak ada atau Anda menginginkan mesin baru. Di halaman sesi baru, pesan yang menyatakan Desktop tidak dapat menjangkau host juga menawarkannya. Desktop menjalankan perintah lagi, dan sesi baru menggunakan host baru.1698##### Berhenti menggunakan mesin

1685 1699 

1686* **Host baru**: item berwarna abu-abu selama 10 menit setelah Desktop menyimpan host, karena mesin baru dapat memerlukan waktu untuk dimulai. Selama host baru belum merespons, halaman sesi baru terus mencoba terhubung selama 10 menit tersebut.1700Untuk menghentikan Desktop agar tidak terhubung dengan sendirinya ke mesin yang dibuat oleh perintah, arsipkan setiap sesi di mesin tersebut:

1687* **Sesi di host lama**: sesi tetap berada di host tersebut, dan Desktop tidak terhubung ke host itu kecuali Anda menambahkannya kembali. Untuk melanjutkan sesi, buka sesi tersebut dan pilih **Add SSH connection**. Desktop mengisi host lama. Simpan sebagai koneksi tersendiri.1701 

17021. Temukan sesi-sesi mesin tersebut di sidebar. [Panel detail](#see-session-details) sebuah sesi menampilkan host tempat sesi tersebut berjalan.

17032. [Arsipkan setiap sesi](#archive-a-session), dan biarkan tetap diarsipkan.

17043. Jika Anda belum membuat mesin lain dari entri `sshHostCommands` yang sama sejak Anda membuat mesin ini, [buat satu](#create-another-machine) atau [hapus entri tersebut](#remove-an-entry) juga. Hingga saat itu, mesin tersebut adalah koneksi tersimpan entri, dan Desktop dapat terhubung ke mesin itu saat Anda membuka halaman sesi baru dengan koneksi tersebut dipilih.

17054. Hapus koneksi SSH lain ke mesin tersebut di aplikasi, atau hapus entri [`sshConfigs`](#pre-configure-ssh-connections-for-your-team)-nya.

17065. Keluar dan buka kembali Desktop, yang menutup koneksinya ke mesin tersebut dan mengakhiri upayanya untuk menjangkau mesin itu.

17076. Hapus mesin dengan tool Anda.

1708 

1709##### Menghapus entri

1710 

1711Setelah Anda menghapus entri dari file pengaturan atau mengubah `id`-nya, sesi-sesi di mesinnya tetap ada, sehingga Desktop masih dapat terhubung ke mesin-mesin tersebut. Desktop dapat melakukannya ketika tidak ada orang di depan komputer, misalnya untuk bergabung kembali ke proses sesi yang sedang berjalan atau untuk mengirimkan pesan yang menunggu untuk dikirim. Untuk menghentikannya, arsipkan sesi-sesi tersebut, seperti yang dijelaskan di [Berhenti menggunakan mesin](#stop-using-a-machine).

1712 

1713Jika Anda adalah admin dan menghapus entri terkelola, sesi-sesi pengguna Anda juga tetap ada, dan setiap pengguna harus mengarsipkan sesinya sendiri. Untuk memblokir mesin-mesin entri tersebut sendiri, tetapkan [`sshHostAllowlist`](#restrict-which-ssh-hosts-users-can-connect-to) yang cocok dengan host yang masih diperlukan pengguna Anda dan tidak cocok dengan hostname mesin-mesin tersebut. Anda hanya dapat melakukannya jika sebuah pola dapat membedakan keduanya.

1688 1714 

1689##### Distribusikan perintah ke tim Anda1715##### Distribusikan perintah ke tim Anda

1690 1716 


1711* **`id`**: jika entri `sshHostCommands` milik pengguna memiliki `id` Anda, hanya milik Anda yang berfungsi. Jika koneksi SSH lain memilikinya, seperti koneksi di `sshConfigs` milik pengguna, entri Anda berwarna abu-abu. Pilih `id` yang kemungkinan kecil dipilih pengguna.1737* **`id`**: jika entri `sshHostCommands` milik pengguna memiliki `id` Anda, hanya milik Anda yang berfungsi. Jika koneksi SSH lain memilikinya, seperti koneksi di `sshConfigs` milik pengguna, entri Anda berwarna abu-abu. Pilih `id` yang kemungkinan kecil dipilih pengguna.

1712* **Program**: berikan path lengkapnya, karena Desktop mencari nama tanpa path di `PATH` milik masing-masing pengguna. Program berjalan sebagai pengguna, dengan variabel yang diekspor oleh login shell mereka.1738* **Program**: berikan path lengkapnya, karena Desktop mencari nama tanpa path di `PATH` milik masing-masing pengguna. Program berjalan sebagai pengguna, dengan variabel yang diekspor oleh login shell mereka.

1713* **Entri milik pengguna**: Desktop memperlakukan entri pengguna seperti [hook](https://code.claude.com/docs/id/hooks.md), karena keduanya menjalankan program di komputer. Untuk hanya mengizinkan entri Anda, tetapkan [`strictPluginOnlyCustomization`](https://code.claude.com/docs/id/settings-reference#strictpluginonlycustomization) ke `["hooks"]`, atau tambahkan `"hooks"` ke daftarnya. Anda juga menghentikan hook Claude Code dari pengaturan pengguna, proyek, dan lokal, tanpa cara untuk mempertahankannya. Jika Anda menetapkan key tersebut atau [`allowManagedHooksOnly`](https://code.claude.com/docs/id/settings-reference#allowmanagedhooksonly) ke `true`, Anda memblokir lebih banyak, seperti yang dicantumkan di entri masing-masing key.1739* **Entri milik pengguna**: Desktop memperlakukan entri pengguna seperti [hook](https://code.claude.com/docs/id/hooks.md), karena keduanya menjalankan program di komputer. Untuk hanya mengizinkan entri Anda, tetapkan [`strictPluginOnlyCustomization`](https://code.claude.com/docs/id/settings-reference#strictpluginonlycustomization) ke `["hooks"]`, atau tambahkan `"hooks"` ke daftarnya. Anda juga menghentikan hook Claude Code dari pengaturan pengguna, proyek, dan lokal, tanpa cara untuk mempertahankannya. Jika Anda menetapkan key tersebut atau [`allowManagedHooksOnly`](https://code.claude.com/docs/id/settings-reference#allowmanagedhooksonly) ke `true`, Anda memblokir lebih banyak, seperti yang dicantumkan di entri masing-masing key.

1714* **Setiap entri**: untuk juga mematikan entri Anda, tetapkan [`disableAllHooks`](https://code.claude.com/docs/id/settings-reference#disableallhooks) di pengaturan terkelola. Jika Anda menetapkan [`disableDesktopLocalSessions`](https://code.claude.com/docs/id/settings-reference#disabledesktoplocalsessions), atau `sshHostAllowlist` yang tidak mengizinkan host apa pun, pemilih tidak mencantumkan item **Create** atau **Replace**.1740* **Setiap entri**: untuk mematikan entri Anda juga, tetapkan [`disableAllHooks`](https://code.claude.com/docs/id/settings-reference#disableallhooks) di pengaturan terkelola. Jika Anda menetapkan [`disableDesktopLocalSessions`](https://code.claude.com/docs/id/settings-reference#disabledesktoplocalsessions), atau `sshHostAllowlist` yang tidak mengizinkan host apa pun, pemilih tidak mencantumkan item **Create** atau **Create another**.

1715* **Tempat penguncian berlaku**: untuk entri-entri ini, Desktop membaca `allowManagedHooksOnly`, `strictPluginOnlyCustomization`, dan `disableAllHooks` dari pengaturan yang dikelola server dan dari file atau kebijakan milik komputer itu sendiri, lalu menerapkan hasil yang lebih ketat. Setiap entri tetap berwarna abu-abu sampai Desktop memeriksa claude.ai untuk pengaturan yang dikelola server, bahkan jika organisasi Anda tidak memilikinya.1741* **Tempat penguncian berlaku**: untuk entri-entri ini, Desktop membaca `allowManagedHooksOnly`, `strictPluginOnlyCustomization`, dan `disableAllHooks` dari pengaturan yang dikelola server dan dari file atau kebijakan milik komputer itu sendiri, lalu menerapkan hasil yang lebih ketat. Setiap entri tetap berwarna abu-abu sampai Desktop memeriksa claude.ai untuk pengaturan yang dikelola server, bahkan jika organisasi Anda tidak memilikinya.

1716* **Host yang diizinkan**: jika Anda menetapkan [`sshHostAllowlist`](#restrict-which-ssh-hosts-users-can-connect-to), pastikan ada pola yang cocok dengan setiap hostname yang dicetak alat Anda, dan jangan sertakan `user@` dalam pola. Desktop memeriksa nama yang dicetak hanya setelah perintah dijalankan, sehingga mesin yang ditolak daftar sudah terlanjur ada, dan pengguna harus menghapusnya dengan alat Anda. Pada setiap koneksi, `HostName` yang di-resolve juga harus cocok.1742* **Host yang diizinkan**: jika Anda menetapkan [`sshHostAllowlist`](#restrict-which-ssh-hosts-users-can-connect-to), pastikan ada pola yang cocok dengan setiap hostname yang dicetak alat Anda, dan jangan sertakan `user@` dalam pola. Desktop memeriksa nama yang dicetak hanya setelah perintah dijalankan, sehingga mesin yang ditolak daftar sudah terlanjur ada, dan pengguna harus menghapusnya dengan alat Anda. Pada setiap koneksi, `HostName` yang di-resolve juga harus cocok.

1717 1743 


1719 1745 

1720##### Jika perintah tidak ada atau berwarna abu-abu1746##### Jika perintah tidak ada atau berwarna abu-abu

1721 1747 

1722Pemilih lingkungan tidak mencantumkan item **Create** atau **Replace** dalam kasus berikut:1748Pemilih lingkungan tidak mencantumkan item **Create** atau **Create another** dalam kasus berikut:

1723 1749 

1724* **File**: `~/.claude/settings.json` memiliki [JSON yang tidak valid atau nilai yang ditolak skema](https://code.claude.com/docs/id/settings.md#fix-a-broken-settings-file), Anda salah mengeja key, atau Anda meletakkannya di pengaturan proyek. Perbaiki file tersebut.1750* **File**: `~/.claude/settings.json` memiliki [JSON yang tidak valid atau nilai yang ditolak skema](https://code.claude.com/docs/id/settings.md#fix-a-broken-settings-file), Anda salah mengeja key, atau Anda meletakkannya di pengaturan proyek. Perbaiki file tersebut.

1725* **Platform dan akun**: Anda menggunakan Windows, atau [penyedia pihak ketiga](https://code.claude.com/docs/id/third-party-integrations.md) alih-alih akun Claude. Tambahkan setiap host sebagai [koneksi SSH](#ssh-sessions) sendiri.1751* **Platform dan akun**: Anda menggunakan Windows, atau [penyedia pihak ketiga](https://code.claude.com/docs/id/third-party-integrations.md) alih-alih akun Claude. Tambahkan setiap host sebagai [koneksi SSH](#ssh-sessions) sendiri.


1730 1756 

1731* **Kesalahan di entri**: perbaiki kolom atau perintah yang disebutkan pesan. Jika `id` sudah digunakan, berikan `id` lain untuk entri tersebut.1757* **Kesalahan di entri**: perbaiki kolom atau perintah yang disebutkan pesan. Jika `id` sudah digunakan, berikan `id` lain untuk entri tersebut.

1732* **File pengaturan rusak**: selama file pengaturan Anda sendiri rusak, entri admin Anda mungkin berwarna abu-abu, dengan pesan yang menyebutkan file tersebut. [Perbaiki file tersebut](https://code.claude.com/docs/id/settings.md#fix-a-broken-settings-file).1758* **File pengaturan rusak**: selama file pengaturan Anda sendiri rusak, entri admin Anda mungkin berwarna abu-abu, dengan pesan yang menyebutkan file tersebut. [Perbaiki file tersebut](https://code.claude.com/docs/id/settings.md#fix-a-broken-settings-file).

1733* **Host baru**: Anda dapat [mengganti host](#replace-the-host) setelah host berusia 10 menit.1759* **Host baru**: [**Create another**](#create-another-machine) berwarna abu-abu selama satu menit setelah Desktop menyimpan host. Pilih item tersebut setelah satu menit itu. Sebelum Claude Desktop v4.4212.0, **Replace Dev box's host** berwarna abu-abu selama 10 menit.

1734* **Hook dimatikan atau dibatasi**: entri Anda sendiri hanya berfungsi di tempat hook Anda sendiri dapat berjalan. Hapus `disableAllHooks` dari pengaturan Anda, atau tanyakan kepada admin Anda.1760* **Hook dimatikan atau dibatasi**: entri Anda sendiri hanya berfungsi di tempat hook Anda sendiri dapat berjalan. Hapus `disableAllHooks` dari pengaturan Anda, atau tanyakan kepada admin Anda.

1735* **Pengaturan masih dimuat**: setiap entri berwarna abu-abu sampai Desktop memuat [pengaturan yang dikelola server](https://code.claude.com/docs/id/server-managed-settings.md) milik organisasi Anda, biasanya beberapa detik setelah diluncurkan. Jika entri tetap abu-abu, periksa koneksi Anda ke claude.ai.1761* **Pengaturan masih dimuat**: setiap entri berwarna abu-abu sampai Desktop memuat [pengaturan yang dikelola server](https://code.claude.com/docs/id/server-managed-settings.md) milik organisasi Anda, biasanya beberapa detik setelah diluncurkan. Jika entri tetap abu-abu, periksa koneksi Anda ke claude.ai.

1736 1762 


1946 1972 

1947Ganti placeholder tersebut dengan ID organisasi claude.ai Anda, yang ditampilkan di [pengaturan admin claude.ai](https://claude.ai/admin-settings/organization). Ini adalah ID yang sama dengan yang digunakan oleh pengaturan [`forceLoginOrgUUID`](https://code.claude.com/docs/id/settings-reference#forceloginorguuid) Claude Code. Untuk contoh macOS dan Windows yang mengatur kunci ini, lihat [Deploy the Claude Desktop policy](https://claude.com/docs/cowork/hipaa-setup#deploy-the-claude-desktop-policy) dalam panduan Cowork untuk organisasi yang siap HIPAA.1973Ganti placeholder tersebut dengan ID organisasi claude.ai Anda, yang ditampilkan di [pengaturan admin claude.ai](https://claude.ai/admin-settings/organization). Ini adalah ID yang sama dengan yang digunakan oleh pengaturan [`forceLoginOrgUUID`](https://code.claude.com/docs/id/settings-reference#forceloginorguuid) Claude Code. Untuk contoh macOS dan Windows yang mengatur kunci ini, lihat [Deploy the Claude Desktop policy](https://claude.com/docs/cowork/hipaa-setup#deploy-the-claude-desktop-policy) dalam panduan Cowork untuk organisasi yang siap HIPAA.

1948 1974 

1975> [!WARNING]

1976>

1977> Periksa nilai `forceLoginOrgUUID` sebelum Anda men-deploy-nya. Jika ID tersebut bukan milik organisasi Anda, orang-orang di organisasi Anda tidak dapat menggunakan Claude Desktop kecuali mereka juga tergabung dalam organisasi dengan ID tersebut. Untuk memulihkannya, deploy ID yang benar dan minta mereka memulai ulang Claude Desktop.

1978 

1949Jika Anda mengatur `forceLoginMethod` dan `forceLoginOrgUUID` di [pengaturan terkelola](https://code.claude.com/docs/id/managed-settings.md) Claude Code, Anda tidak mengubah layar masuk Claude Desktop.1979Jika Anda mengatur `forceLoginMethod` dan `forceLoginOrgUUID` di [pengaturan terkelola](https://code.claude.com/docs/id/managed-settings.md) Claude Code, Anda tidak mengubah layar masuk Claude Desktop.

1950 1980 

1951### Persyaratan akses jaringan1981### Persyaratan akses jaringan


2055| `--model sonnet` | Pemilih model di baris di bawah kotak prompt |2085| `--model sonnet` | Pemilih model di baris di bawah kotak prompt |

2056| `--resume`, `--continue` | Klik sesi di sidebar, atau ketik `/resume` di kotak prompt untuk mengambil sesi yang Anda mulai dari CLI |2086| `--resume`, `--continue` | Klik sesi di sidebar, atau ketik `/resume` di kotak prompt untuk mengambil sesi yang Anda mulai dari CLI |

2057| `--permission-mode` | Pemilih mode di baris di bawah kotak prompt |2087| `--permission-mode` | Pemilih mode di baris di bawah kotak prompt |

2058| `--dangerously-skip-permissions` | Bypass permissions mode. Di paket Pro dan Max, aktifkan "Allow bypass permissions mode" di **Settings > Code** atau **Settings > Claude Code**; di paket Team dan Enterprise, kebijakan organisasi mengontrolnya |2088| `--dangerously-skip-permissions` | Bypass permissions mode. Di paket Pro, Max, dan Ultra, aktifkan "Allow bypass permissions mode" di **Settings > Code** atau **Settings > Claude Code**; di paket Team dan Enterprise, kebijakan organisasi mengontrolnya |

2059| `--add-dir` | [Tambahkan folder ke sesi](#add-folders-to-a-session) di sesi lokal dan SSH, atau pilih [beberapa repositori](#run-long-running-tasks-in-the-cloud) di sesi cloud |2089| `--add-dir` | [Tambahkan folder ke sesi](#add-folders-to-a-session) di sesi lokal dan SSH, atau pilih [beberapa repositori](#run-long-running-tasks-in-the-cloud) di sesi cloud |

2060| `--allowedTools`, `--disallowedTools` | Tidak ada setara per-sesi. Aturan izin di [file pengaturan](https://code.claude.com/docs/id/settings.md) masih berlaku. |2090| `--allowedTools`, `--disallowedTools` | Tidak ada setara per-sesi. Aturan izin di [file pengaturan](https://code.claude.com/docs/id/settings.md) masih berlaku. |

2061| `--verbose` | [Mode tampilan verbose](#switch-view-modes) |2091| `--verbose` | [Mode tampilan verbose](#switch-view-modes) |


2091 2121 

2092| Fitur | CLI | Desktop |2122| Fitur | CLI | Desktop |

2093| - | - | - |2123| - | - | - |

2094| Mode izin | Semua mode termasuk `dontAsk` | Manual, Terima edits, Plan, dan Auto. Bypass permissions muncul di pemilih mode setelah diaktifkan: melalui toggle Settings di paket Pro dan Max, atau melalui kebijakan organisasi di paket Team dan Enterprise |2124| Mode izin | Semua mode termasuk `dontAsk` | Manual, Terima edits, Plan, dan Auto. Bypass permissions muncul di pemilih mode setelah diaktifkan: melalui toggle Settings di paket Pro, Max, dan Ultra, atau melalui kebijakan organisasi di paket Team dan Enterprise |

2095| [Penyedia pihak ketiga](https://code.claude.com/docs/id/third-party-integrations.md) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | API Anthropic secara default. Untuk perutean gateway, lihat [hubungkan aplikasi desktop ke gateway](https://code.claude.com/docs/id/llm-gateway-connect.md#desktop-app). Untuk menjalankan tab Code di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau gateway LLM yang di-host sendiri, lihat [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). |2125| [Penyedia pihak ketiga](https://code.claude.com/docs/id/third-party-integrations.md) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | API Anthropic secara default. Untuk perutean gateway, lihat [hubungkan aplikasi desktop ke gateway](https://code.claude.com/docs/id/llm-gateway-connect.md#desktop-app). Untuk menjalankan tab Code di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau gateway LLM yang di-host sendiri, lihat [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). |

2096| [MCP servers](https://code.claude.com/docs/id/mcp.md) | Konfigurasikan di file pengaturan | UI Connectors untuk sesi lokal dan SSH, atau file pengaturan |2126| [MCP servers](https://code.claude.com/docs/id/mcp.md) | Konfigurasikan di file pengaturan | UI Connectors untuk sesi lokal dan SSH, atau file pengaturan |

2097| [Plugins](https://code.claude.com/docs/id/plugins/overview.md) | Perintah `/plugin` | UI plugin manager |2127| [Plugins](https://code.claude.com/docs/id/plugins/overview.md) | Perintah `/plugin` | UI plugin manager |


2153Jika Anda melihat `Error 403: Forbidden` atau kegagalan autentikasi lainnya saat menggunakan tab Code:2183Jika Anda melihat `Error 403: Forbidden` atau kegagalan autentikasi lainnya saat menggunakan tab Code:

2154 2184 

21551. Keluar dan masuk kembali dari menu aplikasi. Ini adalah perbaikan paling umum.21851. Keluar dan masuk kembali dari menu aplikasi. Ini adalah perbaikan paling umum.

21562. Verifikasi Anda memiliki langganan berbayar aktif: Pro, Max, Team, atau Enterprise.21862. Verifikasi Anda memiliki langganan berbayar aktif: Pro, Max, Ultra, Team, atau Enterprise.

21573. Jika CLI berfungsi tetapi Desktop tidak, keluar dari aplikasi desktop sepenuhnya, bukan hanya tutup jendela, kemudian buka kembali dan masuk.21873. Jika CLI berfungsi tetapi Desktop tidak, keluar dari aplikasi desktop sepenuhnya, bukan hanya tutup jendela, kemudian buka kembali dan masuk.

21584. Periksa koneksi internet dan pengaturan proxy Anda.21884. Periksa koneksi internet dan pengaturan proxy Anda.

2159 2189 

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> Pane iOS Simulator berada dalam beta publik di Claude Code Desktop di macOS. Tersedia di paket Pro, Max, Team, dan Enterprise, kecuali di organisasi Enterprise yang memiliki konfigurasi HIPAA yang diaktifkan.11> Pane iOS Simulator berada dalam beta publik di Claude Code Desktop di macOS. Tersedia di paket Pro, Max, Ultra, Team, dan Enterprise, kecuali di organisasi Enterprise yang memiliki konfigurasi HIPAA yang diaktifkan.

12 12 

13Pane iOS Simulator menampilkan aplikasi Anda berjalan di Apple iOS Simulator di samping percakapan Anda di Claude Code Desktop. Ketika Claude membangun, memasang, meluncurkan, atau memeriksa aplikasi Anda di simulator, pane terbuka secara otomatis dan melakukan streaming layar perangkat secara langsung. Gunakan untuk menonton Claude menjalankan dan menguji aplikasi Anda, atau ketuk aplikasi sendiri sementara Claude terus bekerja.13Pane iOS Simulator menampilkan aplikasi Anda berjalan di Apple iOS Simulator di samping percakapan Anda di Claude Code Desktop. Ketika Claude membangun, memasang, meluncurkan, atau memeriksa aplikasi Anda di simulator, pane terbuka secara otomatis dan melakukan streaming layar perangkat secara langsung. Gunakan untuk menonton Claude menjalankan dan menguji aplikasi Anda, atau ketuk aplikasi sendiri sementara Claude terus bekerja.

14 14 

Details

6 6 

7> Instal aplikasi desktop Claude, buka tab Code, dan mulai sesi Claude Code pertama Anda di folder proyek di komputer Anda.7> Instal aplikasi desktop Claude, buka tab Code, dan mulai sesi Claude Code pertama Anda di folder proyek di komputer Anda.

8 8 

9Aplikasi desktop memberi Anda Claude Code dengan antarmuka grafis. Anda dapat meminta Claude untuk bekerja pada kode di folder di komputer Anda dan meninjau perubahannya tanpa menggunakan terminal.9Aplikasi desktop memberi Anda Claude Code dengan antarmuka grafis. Anda dapat meminta Claude untuk bekerja pada kode di folder di komputer Anda, lalu meninjau sendiri perubahannya, tanpa menggunakan terminal.

10 10 

11Claude Code berada di tab **Code** di bagian atas sidebar aplikasi. Halaman ini memandu Anda melalui instalasi aplikasi dan memulai sesi pertama Anda di sana. Claude Code memerlukan [langganan Pro, Max, Team, atau Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).11Claude Code berada di tab **Code** di bagian atas sidebar aplikasi. Halaman ini memandu Anda melalui instalasi aplikasi dan memulai sesi pertama Anda di sana. Claude Code memerlukan [langganan Pro, Max, Ultra, Team, atau Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).

12 12 

13> **[Unduh untuk macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**13> [card] [Unduh untuk macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)

14>14>

15> Build universal untuk Intel dan Apple Silicon15> Build universal untuk Intel dan Apple Silicon

16 16 

17> **[Unduh untuk Windows](https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs)**17> [card] [Unduh untuk Windows](https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs)

18>18>

19> Untuk prosesor x6419> Untuk prosesor x64

20 20 

21> **[Dapatkan Claude untuk Linux (beta)](https://code.claude.com/docs/id/desktop-linux.md)**21> [card] [Dapatkan Claude untuk Linux (beta)](https://code.claude.com/docs/id/desktop-linux.md)

22>22>

23> apt atau .deb untuk Ubuntu dan Debian23> apt atau .deb untuk Ubuntu dan Debian

24 24 

devcontainer.md +1 −1

Details

17> Hanya gunakan dev container saat mengembangkan dengan repositori terpercaya, dan pantau aktivitas Claude.17> Hanya gunakan dev container saat mengembangkan dengan repositori terpercaya, dan pantau aktivitas Claude.

18> Hindari memasang rahasia host seperti `~/.ssh` atau file kredensial cloud ke dalam kontainer; lebih suka token yang dibatasi repositori atau token berumur pendek.18> Hindari memasang rahasia host seperti `~/.ssh` atau file kredensial cloud ke dalam kontainer; lebih suka token yang dibatasi repositori atau token berumur pendek.

19 19 

20> **Bagaimana dev container bekerja dengan editor Anda**20> [accordion] Bagaimana dev container bekerja dengan editor Anda

21>21>

22> ![Diagram menunjukkan editor di host yang terhubung ke Docker dev container. Claude Code, terminal, dan alat build berjalan di dalam kontainer. Repositori host di-bind-mount ke dalam kontainer sebagai workspace.](https://mintcdn.com/claude-code/YvJyjZfd9yMihr0i/images/devcontainer-architecture.svg?fit=max\&auto=format\&n=YvJyjZfd9yMihr0i\&q=85\&s=9017b1d16a446c6cc37ba562f35b9aae)22> ![Diagram menunjukkan editor di host yang terhubung ke Docker dev container. Claude Code, terminal, dan alat build berjalan di dalam kontainer. Repositori host di-bind-mount ke dalam kontainer sebagai workspace.](https://mintcdn.com/claude-code/YvJyjZfd9yMihr0i/images/devcontainer-architecture.svg?fit=max\&auto=format\&n=YvJyjZfd9yMihr0i\&q=85\&s=9017b1d16a446c6cc37ba562f35b9aae)

23>23>

env-vars.md +41 −41

Details

23 23 

24Atur variabel sebelum meluncurkan `claude`:24Atur variabel sebelum meluncurkan `claude`:

25 25 

26**macOS, Linux, WSL**26> [tab] macOS, Linux, WSL

27 27>

28```bash theme={null}28> ```bash theme={null}

29export API_TIMEOUT_MS="1200000"29> export API_TIMEOUT_MS="1200000"

30claude30> claude

31```31> ```

32 32>

33Untuk mengaturnya untuk setiap sesi, tambahkan baris `export` ke `~/.bashrc`, `~/.zshrc`, atau file profil shell Anda.33> Untuk mengaturnya untuk setiap sesi, tambahkan baris `export` ke `~/.bashrc`, `~/.zshrc`, atau file profil shell Anda.

34 

35**Windows PowerShell**

36 

37```powershell theme={null}

38$env:API_TIMEOUT_MS = "1200000"

39claude

40```

41 

42Untuk mengaturnya untuk setiap sesi, jalankan `[Environment]::SetEnvironmentVariable("API_TIMEOUT_MS", "1200000", "User")` dan buka terminal baru.

43 

44**Windows CMD**

45 34 

46```batch theme={null}35> [tab] Windows PowerShell

47set API_TIMEOUT_MS=120000036>

48claude37> ```powershell theme={null}

49```38> $env:API_TIMEOUT_MS = "1200000"

39> claude

40> ```

41>

42> Untuk mengaturnya untuk setiap sesi, jalankan `[Environment]::SetEnvironmentVariable("API_TIMEOUT_MS", "1200000", "User")` dan buka terminal baru.

50 43 

51Untuk mengaturnya untuk setiap sesi, jalankan `setx API_TIMEOUT_MS "1200000"` dan buka terminal baru.44> [tab] Windows CMD

45>

46> ```batch theme={null}

47> set API_TIMEOUT_MS=1200000

48> claude

49> ```

50>

51> Untuk mengaturnya untuk setiap sesi, jalankan `setx API_TIMEOUT_MS "1200000"` dan buka terminal baru.

52 52 

53Baris penugasan tidak mencetak apa pun saat berhasil. Untuk mengonfirmasi bahwa variabel telah diatur, cetak variabel tersebut di shell yang sama:53Baris penugasan tidak mencetak apa pun saat berhasil. Untuk mengonfirmasi bahwa variabel telah diatur, cetak variabel tersebut di shell yang sama:

54 54 

55**macOS, Linux, WSL**55> [tab] macOS, Linux, WSL

56 56>

57```bash theme={null}57> ```bash theme={null}

58echo $API_TIMEOUT_MS58> echo $API_TIMEOUT_MS

59```59> ```

60 

61**Windows PowerShell**

62 

63```powershell theme={null}

64echo $env:API_TIMEOUT_MS

65```

66 60 

67**Windows CMD**61> [tab] Windows PowerShell

62>

63> ```powershell theme={null}

64> echo $env:API_TIMEOUT_MS

65> ```

68 66 

69```batch theme={null}67> [tab] Windows CMD

70echo %API_TIMEOUT_MS%68>

71```69> ```batch theme={null}

70> echo %API_TIMEOUT_MS%

71> ```

72 72 

73### Atur variabel di file pengaturan73### Atur variabel di file pengaturan

74 74 


130 130 

131| Variabel | Tujuan |131| Variabel | Tujuan |

132| :- | :- |132| :- | :- |

133| `ANTHROPIC_API_KEY` | Kunci API yang dikirim sebagai header `X-Api-Key`. Jika ditetapkan, kunci ini digunakan sebagai pengganti langganan Claude Pro, Max, Team, atau Enterprise Anda meskipun Anda sudah masuk. Dalam mode non-interaktif (`-p`), kunci selalu digunakan jika ada. Dalam mode interaktif, Anda diminta menyetujui kunci tersebut satu kali sebelum kunci itu menimpa langganan Anda. Untuk menggunakan langganan Anda, jalankan `unset ANTHROPIC_API_KEY` |133| `ANTHROPIC_API_KEY` | Kunci API yang dikirim sebagai header `X-Api-Key`. Jika ditetapkan, kunci ini digunakan sebagai pengganti langganan Claude Pro, Max, Ultra, Team, atau Enterprise Anda meskipun Anda sudah masuk. Dalam mode non-interaktif (`-p`), kunci selalu digunakan jika ada. Dalam mode interaktif, Anda diminta untuk menyetujui kunci satu kali sebelum kunci tersebut menimpa langganan Anda. Untuk menggunakan langganan Anda, jalankan `unset ANTHROPIC_API_KEY` |

134| `ANTHROPIC_AUTH_TOKEN` | Nilai kustom untuk header `Authorization` (nilai yang Anda tetapkan di sini akan diawali dengan `Bearer `) |134| `ANTHROPIC_AUTH_TOKEN` | Nilai kustom untuk header `Authorization` (nilai yang Anda tetapkan di sini akan diawali dengan `Bearer `) |

135| `ANTHROPIC_AWS_API_KEY` | Kunci API workspace untuk [Claude Platform on AWS](https://code.claude.com/docs/id/claude-platform-on-aws.md), yang dibuat di AWS Console. Dikirim sebagai `x-api-key` dan diutamakan daripada AWS SigV4 |135| `ANTHROPIC_AWS_API_KEY` | Kunci API workspace untuk [Claude Platform on AWS](https://code.claude.com/docs/id/claude-platform-on-aws.md), yang dibuat di AWS Console. Dikirim sebagai `x-api-key` dan diutamakan daripada AWS SigV4 |

136| `ANTHROPIC_AWS_BASE_URL` | Menimpa URL endpoint [Claude Platform on AWS](https://code.claude.com/docs/id/claude-platform-on-aws.md). Gunakan untuk region kustom atau saat merutekan melalui [LLM gateway](https://code.claude.com/docs/id/llm-gateway). Default-nya `https://aws-external-anthropic.{region}.api.aws`. Claude Code menentukan region dengan [urutan prioritas yang sama seperti di Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md#3-configure-claude-code) |136| `ANTHROPIC_AWS_BASE_URL` | Menimpa URL endpoint [Claude Platform on AWS](https://code.claude.com/docs/id/claude-platform-on-aws.md). Gunakan untuk region kustom atau saat merutekan melalui [LLM gateway](https://code.claude.com/docs/id/llm-gateway). Default-nya `https://aws-external-anthropic.{region}.api.aws`. Claude Code menentukan region dengan [urutan prioritas yang sama seperti di Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md#3-configure-claude-code) |


575* [Mengirim pesan ke sesi di luar mesin ini](https://code.claude.com/docs/id/cross-session-messaging.md#message-sessions-on-other-machines) saat [Remote Control](https://code.claude.com/docs/id/remote-control.md#requirements) tidak tersedia. Pengiriman pesan antar sesi di mesin ini tetap berfungsi dengan pengambilan dimatikan575* [Mengirim pesan ke sesi di luar mesin ini](https://code.claude.com/docs/id/cross-session-messaging.md#message-sessions-on-other-machines) saat [Remote Control](https://code.claude.com/docs/id/remote-control.md#requirements) tidak tersedia. Pengiriman pesan antar sesi di mesin ini tetap berfungsi dengan pengambilan dimatikan

576* Menjalankan [`claude import` atau perintah `/import`](https://code.claude.com/docs/id/cli-reference#cli-commands)576* Menjalankan [`claude import` atau perintah `/import`](https://code.claude.com/docs/id/cli-reference#cli-commands)

577* Menjalankan [`/skill-doctor`](https://code.claude.com/docs/id/skills#find-unused-skills) atau membuka laporannya di tab **Stats** `/plugin`577* Menjalankan [`/skill-doctor`](https://code.claude.com/docs/id/skills#find-unused-skills) atau membuka laporannya di tab **Stats** `/plugin`

578* Menjalankan [`/restart`](https://code.claude.com/docs/id/commands) pada paket Pro dan Max578* Menjalankan [`/restart`](https://code.claude.com/docs/id/commands) pada paket Pro, Max, dan Ultra

579* Menyinkronkan [skills](https://code.claude.com/docs/id/skills.md#where-synced-skills-load) dan [plugin](https://code.claude.com/docs/id/plugins/loading.md#synced-plugins) yang diaktifkan untuk akun claude.ai Anda ke sesi terminal Anda579* Menyinkronkan [skills](https://code.claude.com/docs/id/skills.md#where-synced-skills-load) dan [plugin](https://code.claude.com/docs/id/plugins/loading.md#synced-plugins) yang diaktifkan untuk akun claude.ai Anda ke sesi terminal Anda

580* Mengaktifkan [mod You should know](https://code.claude.com/docs/id/interactive-mode.md#you-should-know-suggestions)580* Mengaktifkan [mod You should know](https://code.claude.com/docs/id/interactive-mode.md#you-should-know-suggestions)

581* Menggunakan [tool advisor](https://code.claude.com/docs/id/advisor.md#requirements)581* Menggunakan [tool advisor](https://code.claude.com/docs/id/advisor.md#requirements)

errors.md +5 −5

Details

830* Di tab Code dari [Desktop app](https://code.claude.com/docs/id/desktop.md), kartu batas sesi menawarkan kotak centang **Auto-continue when limits reset**. Kartu batas mingguan tidak. Ketika dicentang, aplikasi Desktop mencoba ulang giliran yang terputus setelah reset dan menampilkan waktu retry pada kartu. Kotak centang Desktop dan pengaturan **Continue automatically at usage limit** CLI di `/config` terpisah, jadi matikan masing-masing secara terpisah.830* Di tab Code dari [Desktop app](https://code.claude.com/docs/id/desktop.md), kartu batas sesi menawarkan kotak centang **Auto-continue when limits reset**. Kartu batas mingguan tidak. Ketika dicentang, aplikasi Desktop mencoba ulang giliran yang terputus setelah reset dan menampilkan waktu retry pada kartu. Kotak centang Desktop dan pengaturan **Continue automatically at usage limit** CLI di `/config` terpisah, jadi matikan masing-masing secara terpisah.

831* Untuk batas Opus atau Sonnet, jalankan `/model` dan beralih ke model di luar keluarga tersebut untuk terus bekerja. Setiap model memiliki cache prompt-nya sendiri, jadi permintaan berikutnya membaca ulang seluruh percakapan tanpa cache hits; lihat [Switching models](https://code.claude.com/docs/id/prompt-caching.md#switching-models)831* Untuk batas Opus atau Sonnet, jalankan `/model` dan beralih ke model di luar keluarga tersebut untuk terus bekerja. Setiap model memiliki cache prompt-nya sendiri, jadi permintaan berikutnya membaca ulang seluruh percakapan tanpa cache hits; lihat [Switching models](https://code.claude.com/docs/id/prompt-caching.md#switching-models)

832* Jalankan `/usage` untuk melihat batas paket Anda dan kapan mereka direset832* Jalankan `/usage` untuk melihat batas paket Anda dan kapan mereka direset

833* Jalankan `/usage-credits` untuk membeli penggunaan tambahan di Pro dan Max, atau memintanya dari admin Anda di Team dan Enterprise. Lihat [usage credits for paid plans](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) untuk cara ini ditagih.833* Jalankan `/usage-credits` untuk membeli penggunaan tambahan di Pro, Max, dan Ultra, atau memintanya dari admin Anda di Team dan Enterprise. Lihat [usage credits for paid plans](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) untuk cara ini ditagih.

834* Untuk meningkatkan paket Anda untuk batas dasar yang lebih tinggi, lihat [claude.com/pricing](https://claude.com/pricing)834* Untuk meningkatkan paket Anda untuk batas dasar yang lebih tinggi, lihat [claude.com/pricing](https://claude.com/pricing)

835 835 

836Sebelum jendela habis, Claude Code dapat memperingatkan Anda bahwa Anda telah menggunakan sebagian besar, dengan pesan seperti `You've used 85% of your session limit · resets 3:45pm`. Untuk memantau tunjangan sisa Anda secara terus-menerus, tambahkan bidang `rate_limits` ke [custom status line](https://code.claude.com/docs/id/statusline.md#rate-limit-usage), atau di aplikasi Desktop klik [usage ring](https://code.claude.com/docs/id/desktop.md#check-usage) di sebelah pemilih model.836Sebelum jendela habis, Claude Code dapat memperingatkan Anda bahwa Anda telah menggunakan sebagian besar, dengan pesan seperti `You've used 85% of your session limit · resets 3:45pm`. Untuk memantau tunjangan sisa Anda secara terus-menerus, tambahkan bidang `rate_limits` ke [custom status line](https://code.claude.com/docs/id/statusline.md#rate-limit-usage), atau di aplikasi Desktop klik [usage ring](https://code.claude.com/docs/id/desktop.md#check-usage) di sebelah pemilih model.


852**Yang harus dilakukan:**852**Yang harus dilakukan:**

853 853 

854* Jalankan `/model` dan pilih varian tanpa akhiran `[1m]` untuk kembali ke context window standar854* Jalankan `/model` dan pilih varian tanpa akhiran `[1m]` untuk kembali ke context window standar

855* Di mana pesan menyebutkan `/usage-credits`, jalankan untuk mengaktifkan penagihan terukur untuk varian 1M di Pro dan Max, atau untuk meminta kredit penggunaan dari admin Anda di Team dan Enterprise. Setelah kredit penggunaan aktif, mulai ulang Claude Code atau mulai sesi baru, mana pun yang pesan katakan. Sampai saat itu, sesi tetap pada batas konteks standar.855* Di mana pesan menyebutkan `/usage-credits`, jalankan untuk mengaktifkan penagihan terukur untuk varian 1M di Pro, Max, dan Ultra, atau untuk meminta kredit penggunaan dari admin Anda di Team dan Enterprise. Setelah kredit penggunaan aktif, mulai ulang Claude Code atau mulai sesi baru, mana pun yang pesan katakan. Sampai saat itu, sesi tetap pada batas konteks standar.

856* Jika kesalahan berlanjut setelah `/model`, ID model 1M mungkin diatur di tempat lain. Lihat [Setting your model](https://code.claude.com/docs/id/model-config.md#setting-your-model) untuk lokasi konfigurasi yang harus diperiksa dalam urutan prioritas.856* Jika kesalahan berlanjut setelah `/model`, ID model 1M mungkin diatur di tempat lain. Lihat [Setting your model](https://code.claude.com/docs/id/model-config.md#setting-your-model) untuk lokasi konfigurasi yang harus diperiksa dalam urutan prioritas.

857* Untuk menghapus varian 1M dari pemilih model sepenuhnya, atur [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](https://code.claude.com/docs/id/env-vars)857* Untuk menghapus varian 1M dari pemilih model sepenuhnya, atur [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](https://code.claude.com/docs/id/env-vars)

858 858 


933 933 

934**Yang harus dilakukan:**934**Yang harus dilakukan:**

935 935 

936* Di Pro dan Max, tingkatkan batas pengeluaran bulanan Anda di [**Settings > Usage**](https://claude.ai/settings/usage) di claude.ai, atau jalankan `/usage-credits`936* Di Pro, Max, dan Ultra, tingkatkan batas pengeluaran bulanan Anda di [**Settings > Usage**](https://claude.ai/settings/usage) di claude.ai, atau jalankan `/usage-credits`

937* Di Team dan Enterprise, tingkatkan batas di [**Organization settings > Usage**](https://claude.ai/admin-settings/usage) jika Anda mengelola penagihan, atau minta admin untuk melakukannya. `/usage-credits` mengirim permintaan itu ke admin Anda untuk Anda937* Di Team dan Enterprise, tingkatkan batas di [**Organization settings > Usage**](https://claude.ai/admin-settings/usage) jika Anda mengelola penagihan, atau minta admin untuk melakukannya. `/usage-credits` mengirim permintaan itu ke admin Anda untuk Anda

938* Untuk batas channel, minta pemilik org atau manajer channel untuk menaikkannya di claude.ai. Lihat [Per-channel limits](https://claude.com/docs/claude-tag/admins/set-spend-limit#per-channel-limits) dalam dokumentasi Claude Tag938* Untuk batas channel, minta pemilik org atau manajer channel untuk menaikkannya di claude.ai. Lihat [Per-channel limits](https://claude.com/docs/claude-tag/admins/set-spend-limit#per-channel-limits) dalam dokumentasi Claude Tag

939* Jika pesan menyebutkan waktu reset untuk jendela paket Anda, Anda dapat menunggunya sebagai gantinya939* Jika pesan menyebutkan waktu reset untuk jendela paket Anda, Anda dapat menunggunya sebagai gantinya


966 966 

967**Yang harus dilakukan:**967**Yang harus dilakukan:**

968 968 

969* Jika Anda memiliki paket Pro, Max, Team, atau Enterprise dan melihat ini, jalankan `/status` dan periksa baris `API key`. `ANTHROPIC_API_KEY` yang disetujui di lingkungan Anda merutekan permintaan melalui kunci itu daripada langganan Anda. Batalkan pengaturannya di shell saat ini dan hapus dari profil shell Anda, kemudian luncurkan ulang `claude`. Jalankan `/login` jika Anda belum masuk dengan langganan Anda.969* Jika Anda memiliki paket Pro, Max, Ultra, Team, atau Enterprise dan melihat ini, jalankan `/status` dan periksa baris `API key`. `ANTHROPIC_API_KEY` yang disetujui di lingkungan Anda merutekan permintaan melalui kunci itu daripada langganan Anda. Batalkan pengaturannya di shell saat ini dan hapus dari profil shell Anda, kemudian luncurkan ulang `claude`. Jalankan `/login` jika Anda belum masuk dengan langganan Anda.

970* Tambahkan kredit di [platform.claude.com/settings/billing](https://platform.claude.com/settings/billing), dan pertimbangkan untuk mengaktifkan auto-reload di sana sehingga saldo diisi ulang sebelum mencapai nol970* Tambahkan kredit di [platform.claude.com/settings/billing](https://platform.claude.com/settings/billing), dan pertimbangkan untuk mengaktifkan auto-reload di sana sehingga saldo diisi ulang sebelum mencapai nol

971* Atur batas pengeluaran per-workspace di Console untuk mencegah satu proyek menguras saldo org. Lihat [Manage costs effectively](https://code.claude.com/docs/id/costs.md).971* Atur batas pengeluaran per-workspace di Console untuk mencegah satu proyek menguras saldo org. Lihat [Manage costs effectively](https://code.claude.com/docs/id/costs.md).

972 972 


1120 1120 

1121Petunjuk setelah `·` bergantung pada kredensial tersimpan Anda: bentuk pertama muncul ketika `/login` yang tersimpan dapat mengambil peran setelah Anda menghapus pengaturan kunci, dan bentuk kedua ketika kunci tersebut adalah satu-satunya kredensial Anda.1121Petunjuk setelah `·` bergantung pada kredensial tersimpan Anda: bentuk pertama muncul ketika `/login` yang tersimpan dapat mengambil peran setelah Anda menghapus pengaturan kunci, dan bentuk kedua ketika kunci tersebut adalah satu-satunya kredensial Anda.

1122 1122 

1123Environment variable diutamakan daripada `/login`, sehingga kunci yang diekspor di profil shell Anda atau dimuat dari file `.env` tetap digunakan meskipun Anda memiliki langganan Pro atau Max yang berfungsi. Dalam mode non-interaktif (`-p`), kunci selalu digunakan jika ada.1123Jika Anda mengekspor kunci di profil shell Anda atau memuatnya dari `.env`, Claude Code menggunakannya alih-alih `/login`, bahkan dengan langganan Pro, Max, atau Ultra yang berfungsi. Dalam mode non-interaktif (`-p`), kunci selalu digunakan jika ada.

1124 1124 

1125**Yang perlu dilakukan:**1125**Yang perlu dilakukan:**

1126 1126 

fast-mode.md +5 −5

Details

20 20 

21* Gunakan `/fast` untuk mengaktifkan mode cepat di Claude Code CLI. Ekstensi [VS Code](https://code.claude.com/docs/id/vs-code.md) menawarkan perintah **Toggle fast mode** ketika model yang dipilih mendukung mode cepat. Claude Code menyimpan pengaturan tersebut ke pengaturan [`fastMode`](#toggle-fast-mode) Anda.21* Gunakan `/fast` untuk mengaktifkan mode cepat di Claude Code CLI. Ekstensi [VS Code](https://code.claude.com/docs/id/vs-code.md) menawarkan perintah **Toggle fast mode** ketika model yang dipilih mendukung mode cepat. Claude Code menyimpan pengaturan tersebut ke pengaturan [`fastMode`](#toggle-fast-mode) Anda.

22* Harga mode cepat per MTok input/output adalah \$8/\$40 pada Opus 5.5 dan \$10/\$50 pada Opus 5 dan Opus 4.8.22* Harga mode cepat per MTok input/output adalah \$8/\$40 pada Opus 5.5 dan \$10/\$50 pada Opus 5 dan Opus 4.8.

23* Tersedia untuk pengguna Claude Code pada paket langganan (Pro/Max/Team/Enterprise) dan di Claude Console. Organisasi Team dan Enterprise memerlukan Owner untuk mengaktifkannya terlebih dahulu, dan organisasi Console memerlukan akses yang disediakan terlebih dahulu untuk menggunakannya dengan Opus 5 atau Opus 4.8. [Persyaratan](#requirements) menjelaskan keduanya.23* Tersedia untuk pengguna Claude Code pada paket langganan (Pro/Max/Ultra/Team/Enterprise) dan di Claude Console. Organisasi Team dan Enterprise memerlukan Owner untuk mengaktifkannya terlebih dahulu, dan organisasi Console memerlukan akses yang disediakan terlebih dahulu untuk menggunakannya dengan Opus 5 atau Opus 4.8. [Persyaratan](#requirements) menjelaskan keduanya.

24* Untuk pengguna Claude Code pada paket berlangganan (Pro/Max/Team/Enterprise), mode cepat tersedia hanya melalui penggunaan kredit dan tidak termasuk dalam batas laju penggunaan berlangganan.24* Untuk pengguna Claude Code pada paket langganan (Pro/Max/Ultra/Team/Enterprise), fast mode tersedia hanya melalui kredit penggunaan dan tidak termasuk dalam rate limit langganan.

25 25 

26## Mengaktifkan atau menonaktifkan fast mode26## Mengaktifkan atau menonaktifkan fast mode

27 27 


86 86 

87Anda melihat pengeluaran mode cepat di tempat yang berbeda tergantung pada cara Anda masuk, jadi pertama kali jalankan [`/status`](https://code.claude.com/docs/id/commands) untuk memeriksa. Jika menampilkan baris `Login method` seperti `Claude Max account`, Anda masuk dengan langganan Claude. Jika menampilkan baris `API key` sebagai gantinya, permintaan Anda ditagih ke organisasi Claude Console.87Anda melihat pengeluaran mode cepat di tempat yang berbeda tergantung pada cara Anda masuk, jadi pertama kali jalankan [`/status`](https://code.claude.com/docs/id/commands) untuk memeriksa. Jika menampilkan baris `Login method` seperti `Claude Max account`, Anda masuk dengan langganan Claude. Jika menampilkan baris `API key` sebagai gantinya, permintaan Anda ditagih ke organisasi Claude Console.

88 88 

89* **Pro dan Max**: Anda membayar mode cepat dari kredit penggunaan Anda. Buka [**Settings > Usage**](https://claude.ai/settings/usage) di claude.ai, di mana bagian **Usage credits** menunjukkan berapa banyak yang telah Anda keluarkan dalam kredit penggunaan bulan ini. Angka tersebut mencakup mode cepat tetapi tidak memisahkannya secara terpisah.89* **Pro, Max, dan Ultra**: Anda membayar fast mode dari kredit penggunaan Anda. Buka [**Settings > Usage**](https://claude.ai/settings/usage) di claude.ai, di mana bagian **Usage credits** menunjukkan berapa banyak yang telah Anda keluarkan dalam kredit penggunaan bulan ini. Angka tersebut mencakup fast mode tetapi tidak memisahkannya secara terpisah.

90* **Team dan Enterprise**: organisasi Anda membayar penggunaan mode cepat Anda dari kredit penggunaannya. Untuk melihat pengeluaran kredit penggunaan Anda sendiri, jalankan [`/usage`](https://code.claude.com/docs/id/costs#check-your-usage-credits-spend). Untuk tempat organisasi Anda melihat pengeluaran tersebut, lihat [Claude untuk Teams dan Enterprise](https://code.claude.com/docs/id/costs.md#claude-for-teams-and-enterprise).90* **Team dan Enterprise**: organisasi Anda membayar penggunaan mode cepat Anda dari kredit penggunaannya. Untuk melihat pengeluaran kredit penggunaan Anda sendiri, jalankan [`/usage`](https://code.claude.com/docs/id/costs#check-your-usage-credits-spend). Untuk tempat organisasi Anda melihat pengeluaran tersebut, lihat [Claude untuk Teams dan Enterprise](https://code.claude.com/docs/id/costs.md#claude-for-teams-and-enterprise).

91* **Claude Console**: organisasi Anda membayar mode cepat bersama dengan sisa penggunaan API-nya. Di halaman Console [Usage](https://platform.claude.com/usage) dan [Cost](https://platform.claude.com/cost), pilih **Speed (Research Preview)** di menu **Group by** untuk memisahkan mode cepat dari penggunaan kecepatan standar. Anda hanya melihat opsi tersebut ketika rentang tanggal yang dipilih mencakup penggunaan mode cepat.91* **Claude Console**: organisasi Anda membayar mode cepat bersama dengan sisa penggunaan API-nya. Di halaman Console [Usage](https://platform.claude.com/usage) dan [Cost](https://platform.claude.com/cost), pilih **Speed (Research Preview)** di menu **Group by** untuk memisahkan mode cepat dari penggunaan kecepatan standar. Anda hanya melihat opsi tersebut ketika rentang tanggal yang dipilih mencakup penggunaan mode cepat.

92 92 


120Mode cepat memerlukan semua hal berikut:120Mode cepat memerlukan semua hal berikut:

121 121 

122* **Hanya API Anthropic atau langganan**: fast mode tersedia melalui API Anthropic Console dan untuk paket langganan Claude menggunakan kredit penggunaan. Fast mode tidak tersedia di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau Claude Platform di AWS. Organisasi Console juga harus memiliki [akses fast mode yang disediakan](#enable-fast-mode-for-your-organization) untuk menggunakannya dengan Opus 5 atau Opus 4.8.122* **Hanya API Anthropic atau langganan**: fast mode tersedia melalui API Anthropic Console dan untuk paket langganan Claude menggunakan kredit penggunaan. Fast mode tidak tersedia di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau Claude Platform di AWS. Organisasi Console juga harus memiliki [akses fast mode yang disediakan](#enable-fast-mode-for-your-organization) untuk menggunakannya dengan Opus 5 atau Opus 4.8.

123* **Kredit penggunaan diaktifkan untuk paket langganan**: pada paket Pro, Max, Team, atau Enterprise, akun Anda harus memiliki [kredit penggunaan](https://code.claude.com/docs/id/costs.md#add-usage-credits-to-your-subscription) yang diaktifkan, yang memungkinkan penagihan di luar penggunaan yang disertakan dalam paket Anda. Sampai diaktifkan, `/fast` menampilkan "Fast mode requires usage credits". Cara Anda mengaktifkannya tergantung pada paket Anda:123* **Kredit penggunaan diaktifkan untuk paket langganan**: pada paket Pro, Max, Ultra, Team, atau Enterprise, akun Anda harus memiliki [kredit penggunaan](https://code.claude.com/docs/id/costs.md#add-usage-credits-to-your-subscription) yang diaktifkan, yang memungkinkan penagihan di luar penggunaan yang disertakan dalam paket Anda. Sampai diaktifkan, `/fast` menampilkan "Fast mode requires usage credits". Untuk mengaktifkannya, ikuti langkah untuk paket Anda:

124 * Pada Pro dan Max, aktifkan di bagian **Usage credits** dari [**Settings > Usage**](https://claude.ai/settings/usage) di claude.ai, atau jalankan `/usage-credits` untuk membuka halaman tersebut.124 * Pada Pro, Max, dan Ultra, aktifkan di bagian **Usage credits** dari [**Settings > Usage**](https://claude.ai/settings/usage) di claude.ai, atau jalankan `/usage-credits` untuk membuka halaman tersebut.

125 * Pada Team dan Enterprise, anggota dengan akses penagihan mengaktifkannya untuk organisasi di [**Organization settings > Usage**](https://claude.ai/admin-settings/usage), dan anggota tanpa akses tersebut menjalankan `/usage-credits` untuk mengirim permintaan kepada admin organisasi.125 * Pada Team dan Enterprise, anggota dengan akses penagihan mengaktifkannya untuk organisasi di [**Organization settings > Usage**](https://claude.ai/admin-settings/usage), dan anggota tanpa akses tersebut menjalankan `/usage-credits` untuk mengirim permintaan kepada admin organisasi.

126 126 

127> [!NOTE]127> [!NOTE]

Details

14 14 

15Cara Anda melakukan autentikasi menentukan fitur mana yang dapat dijangkau Claude Code. Untuk daftar tunggal apa yang hilang di penyedia Anda, lihat tab [ringkasan per penyedia](#summary-by-provider). Untuk menemukan kolom Anda di tabel:15Cara Anda melakukan autentikasi menentukan fitur mana yang dapat dijangkau Claude Code. Untuk daftar tunggal apa yang hilang di penyedia Anda, lihat tab [ringkasan per penyedia](#summary-by-provider). Untuk menemukan kolom Anda di tabel:

16 16 

17* **Langganan Claude**: Anda masuk dengan akun claude.ai di paket Pro, Max, Team, atau Enterprise17* **Langganan Claude**: Anda masuk dengan akun claude.ai di paket Pro, Max, Ultra, Team, atau Enterprise

18* **Anthropic Console**: Anda melakukan autentikasi dengan kunci API Anthropic atau dengan [masuk ke akun Console tanpa kunci](https://code.claude.com/docs/id/authentication.md#sign-in-without-an-api-key)18* **Anthropic Console**: Anda melakukan autentikasi dengan kunci API Anthropic atau dengan [masuk ke akun Console tanpa kunci](https://code.claude.com/docs/id/authentication.md#sign-in-without-an-api-key)

19* **Amazon Bedrock**: Anda menggunakan model Claude dari katalog model Amazon Bedrock dan menetapkan `CLAUDE_CODE_USE_BEDROCK`. [Endpoint Mantle](https://code.claude.com/docs/id/amazon-bedrock.md#use-the-mantle-endpoint) (`CLAUDE_CODE_USE_MANTLE`) tercakup oleh kolom ini19* **Amazon Bedrock**: Anda menggunakan model Claude dari katalog model Amazon Bedrock dan menetapkan `CLAUDE_CODE_USE_BEDROCK`. [Endpoint Mantle](https://code.claude.com/docs/id/amazon-bedrock.md#use-the-mantle-endpoint) (`CLAUDE_CODE_USE_MANTLE`) tercakup oleh kolom ini

20* **Claude Platform di AWS**: Anda membeli Claude melalui AWS Marketplace tetapi memanggil API Anthropic, dan menetapkan `CLAUDE_CODE_USE_ANTHROPIC_AWS`20* **Claude Platform di AWS**: Anda membeli Claude melalui AWS Marketplace tetapi memanggil API Anthropic, dan menetapkan `CLAUDE_CODE_USE_ANTHROPIC_AWS`


46Ini memerlukan masuk dengan akun claude.ai dan tidak dapat dijangkau dengan kunci API Anthropic Console atau dari penyedia pihak ketiga:46Ini memerlukan masuk dengan akun claude.ai dan tidak dapat dijangkau dengan kunci API Anthropic Console atau dari penyedia pihak ketiga:

47 47 

48* [Sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) dan Claude Code di mobile48* [Sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) dan Claude Code di mobile

49* [Claude Code di Slack](https://code.claude.com/docs/id/slack.md): paket Pro dan Max49* [Claude Code di Slack](https://code.claude.com/docs/id/slack.md): paket Pro, Max, dan Ultra

50* [Claude Code Desktop](https://code.claude.com/docs/id/desktop.md)50* [Claude Code Desktop](https://code.claude.com/docs/id/desktop.md)

51* [Tugas terjadwal cloud](https://code.claude.com/docs/id/routines.md) (`/schedule`)51* [Tugas terjadwal cloud](https://code.claude.com/docs/id/routines.md) (`/schedule`)

52* [Ultrareview](https://code.claude.com/docs/id/ultrareview.md)52* [Ultrareview](https://code.claude.com/docs/id/ultrareview.md)

53* [Code Review](https://code.claude.com/docs/id/code-review.md): paket Team dan Enterprise53* [Code Review](https://code.claude.com/docs/id/code-review.md): paket Team dan Enterprise

54* [Remote Control](https://code.claude.com/docs/id/remote-control.md)54* [Remote Control](https://code.claude.com/docs/id/remote-control.md)

55* [Ekstensi Chrome](https://code.claude.com/docs/id/chrome.md)55* [Ekstensi Chrome](https://code.claude.com/docs/id/chrome.md)

56* [Computer use](https://code.claude.com/docs/id/computer-use.md): paket Pro dan Max56* [Computer use](https://code.claude.com/docs/id/computer-use.md): paket Pro, Max, dan Ultra

57* [Artifacts](https://code.claude.com/docs/id/artifacts.md): paket Pro, Max, Team, dan Enterprise57* [Artifacts](https://code.claude.com/docs/id/artifacts.md): paket Pro, Max, Ultra, Team, dan Enterprise

58* [Voice dictation](https://code.claude.com/docs/id/voice-dictation.md)58* [Voice dictation](https://code.claude.com/docs/id/voice-dictation.md)

59 59 

60Desktop adalah pengecualian parsial: [perutean gateway dapat dikonfigurasi di aplikasi atau oleh administrator](https://code.claude.com/docs/id/llm-gateway-connect.md#desktop-app). [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview) juga menjalankan tab Code di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, atau gateway LLM yang di-host sendiri. Aplikasi ini juga menjalankan tab Code di [Claude API](https://claude.com/docs/third-party/claude-desktop/claude-api) dengan kunci API Anthropic Console. Untuk ketersediaan per-paket fitur ini, lihat [Ketersediaan per paket langganan](#availability-by-subscription-plan).60Desktop adalah pengecualian parsial: [perutean gateway dapat dikonfigurasi di aplikasi atau oleh administrator](https://code.claude.com/docs/id/llm-gateway-connect.md#desktop-app). [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview) juga menjalankan tab Code di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, atau gateway LLM yang di-host sendiri. Aplikasi ini juga menjalankan tab Code di [Claude API](https://claude.com/docs/third-party/claude-desktop/claude-api) dengan kunci API Anthropic Console. Untuk ketersediaan per-paket fitur ini, lihat [Ketersediaan per paket langganan](#availability-by-subscription-plan).


229 229 

230Setiap tab mencantumkan apa yang tidak tersedia atau didukung sebagian di penyedia tersebut, dengan alternatif jika ada. Semua yang tidak tercantum bekerja sama seperti di langganan Claude, kecuali [perbedaan khusus penyedia](#features-available-on-every-provider) yang dicatat di atas. Di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, dan Claude Platform di AWS, pelaporan kesalahan dan telemetri ke Anthropic dimatikan secara default. Lihat [perilaku default per penyedia API](https://code.claude.com/docs/id/data-usage.md#default-behaviors-by-api-provider) untuk lalu lintas apa yang masih mencapai Anthropic dan cara untuk tidak berpartisipasi.230Setiap tab mencantumkan apa yang tidak tersedia atau didukung sebagian di penyedia tersebut, dengan alternatif jika ada. Semua yang tidak tercantum bekerja sama seperti di langganan Claude, kecuali [perbedaan khusus penyedia](#features-available-on-every-provider) yang dicatat di atas. Di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, dan Claude Platform di AWS, pelaporan kesalahan dan telemetri ke Anthropic dimatikan secara default. Lihat [perilaku default per penyedia API](https://code.claude.com/docs/id/data-usage.md#default-behaviors-by-api-provider) untuk lalu lintas apa yang masih mencapai Anthropic dan cara untuk tidak berpartisipasi.

231 231 

232**Amazon Bedrock**232> [tab] Amazon Bedrock

233 233>

234**Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [web search](https://code.claude.com/docs/id/tools-reference.md#websearch-tool-behavior), [fast mode](https://code.claude.com/docs/id/fast-mode.md), [Advisor](https://code.claude.com/docs/id/advisor.md), [Channels](https://code.claude.com/docs/id/channels.md), [dashboard analitik](https://code.claude.com/docs/id/analytics.md), [pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md), dan [perintah `/design-sync` dan `/import`](https://code.claude.com/docs/id/commands#all-commands).234> **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [web search](https://code.claude.com/docs/id/tools-reference.md#websearch-tool-behavior), [fast mode](https://code.claude.com/docs/id/fast-mode.md), [Advisor](https://code.claude.com/docs/id/advisor.md), [Channels](https://code.claude.com/docs/id/channels.md), [dashboard analitik](https://code.claude.com/docs/id/analytics.md), [pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md), dan [perintah `/design-sync` dan `/import`](https://code.claude.com/docs/id/commands#all-commands).

235 235>

236**Dukungan parsial:**236> **Dukungan parsial:**

237 237>

238* [Desktop](https://code.claude.com/docs/id/desktop.md): hanya melalui [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)238> * [Desktop](https://code.claude.com/docs/id/desktop.md): hanya melalui [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)

239* [Auto mode](https://code.claude.com/docs/id/auto-mode-config.md): Sonnet 5 atau yang lebih baru, Opus 4.7 atau yang lebih baru, Haiku 5.5, dan model Fable saja239> * [Auto mode](https://code.claude.com/docs/id/auto-mode-config.md): Sonnet 5 atau yang lebih baru, Opus 4.7 atau yang lebih baru, Haiku 5.5, dan model Fable saja

240* [Pesan lintas sesi](https://code.claude.com/docs/id/cross-session-messaging.md): antara sesi Anda di mesin ini saja <sup>[5](#fn5)</sup>240> * [Pesan lintas sesi](https://code.claude.com/docs/id/cross-session-messaging.md): antara sesi Anda di mesin ini saja <sup>[5](#fn5)</sup>

241* [Zero Data Retention](https://code.claude.com/docs/id/zero-data-retention.md): tunduk pada perjanjian AWS Anda241> * [Zero Data Retention](https://code.claude.com/docs/id/zero-data-retention.md): tunduk pada perjanjian AWS Anda

242 242>

243**Alternatif:** untuk penjadwalan, gunakan [`/loop`](https://code.claude.com/docs/id/scheduled-tasks) alih-alih `/schedule`. Untuk sesi cloud, gunakan [GitHub Actions](https://code.claude.com/docs/id/github-actions.md) atau [GitLab CI/CD](https://code.claude.com/docs/id/gitlab-ci-cd.md). Untuk pencarian web, gunakan [alat WebFetch](https://code.claude.com/docs/id/tools-reference.md#webfetch-tool-behavior) dengan URL spesifik.243> **Alternatif:** untuk penjadwalan, gunakan [`/loop`](https://code.claude.com/docs/id/scheduled-tasks) alih-alih `/schedule`. Untuk sesi cloud, gunakan [GitHub Actions](https://code.claude.com/docs/id/github-actions.md) atau [GitLab CI/CD](https://code.claude.com/docs/id/gitlab-ci-cd.md). Untuk pencarian web, gunakan [alat WebFetch](https://code.claude.com/docs/id/tools-reference.md#webfetch-tool-behavior) dengan URL spesifik.

244 

245**Claude Platform di AWS**

246 

247**Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [fast mode](https://code.claude.com/docs/id/fast-mode.md), [Advisor](https://code.claude.com/docs/id/advisor.md), [Channels](https://code.claude.com/docs/id/channels.md), [GitHub Actions](https://code.claude.com/docs/id/github-actions.md), [dashboard analitik](https://code.claude.com/docs/id/analytics.md), [pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md), dan [perintah `/design-sync` dan `/import`](https://code.claude.com/docs/id/commands#all-commands).

248 

249**Tersedia di mana Amazon Bedrock tidak:** [web search](https://code.claude.com/docs/id/tools-reference.md#websearch-tool-behavior).

250 

251**Dukungan parsial:**

252 

253* [Pesan lintas sesi](https://code.claude.com/docs/id/cross-session-messaging.md): antara sesi Anda di mesin ini saja <sup>[5](#fn5)</sup>

254 

255**Alternatif:** untuk penjadwalan, gunakan [`/loop`](https://code.claude.com/docs/id/scheduled-tasks) alih-alih `/schedule`. Untuk sesi cloud, gunakan [GitLab CI/CD](https://code.claude.com/docs/id/gitlab-ci-cd.md).

256 

257**Platform Agent Google Cloud**

258 

259**Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [fast mode](https://code.claude.com/docs/id/fast-mode.md), [Advisor](https://code.claude.com/docs/id/advisor.md), [Channels](https://code.claude.com/docs/id/channels.md), [dashboard analitik](https://code.claude.com/docs/id/analytics.md), [pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md), dan [perintah `/design-sync` dan `/import`](https://code.claude.com/docs/id/commands#all-commands).

260 

261**Dukungan parsial:**

262 

263* [Desktop](https://code.claude.com/docs/id/desktop.md): melalui [pengaturan terkelola](https://claude.com/docs/third-party/claude-desktop/configuration) atau [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)

264* [Web search](https://code.claude.com/docs/id/tools-reference.md#websearch-tool-behavior): Opus 4, Sonnet 4, Haiku 4.5, dan model yang lebih baru

265* [Auto mode](https://code.claude.com/docs/id/auto-mode-config.md): Sonnet 5 atau yang lebih baru, Opus 4.7 atau yang lebih baru, Haiku 5.5, dan model Fable saja

266* [Pesan lintas sesi](https://code.claude.com/docs/id/cross-session-messaging.md): antara sesi Anda di mesin ini saja <sup>[5](#fn5)</sup>

267* [Zero Data Retention](https://code.claude.com/docs/id/zero-data-retention.md): tunduk pada perjanjian Google Cloud Anda

268 

269**Alternatif:** untuk penjadwalan, gunakan [`/loop`](https://code.claude.com/docs/id/scheduled-tasks) alih-alih `/schedule`. Untuk sesi cloud, gunakan [GitHub Actions](https://code.claude.com/docs/id/github-actions.md) atau [GitLab CI/CD](https://code.claude.com/docs/id/gitlab-ci-cd.md).

270 

271**Microsoft Foundry**

272 

273**Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [fast mode](https://code.claude.com/docs/id/fast-mode.md), [Advisor](https://code.claude.com/docs/id/advisor.md), [Channels](https://code.claude.com/docs/id/channels.md), [GitLab CI/CD](https://code.claude.com/docs/id/gitlab-ci-cd.md), [dashboard analitik](https://code.claude.com/docs/id/analytics.md), [pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md), dan [perintah `/design-sync` dan `/import`](https://code.claude.com/docs/id/commands#all-commands).

274 

275**Dukungan parsial:**

276 

277* [Desktop](https://code.claude.com/docs/id/desktop.md): hanya melalui [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)

278* [Auto mode](https://code.claude.com/docs/id/auto-mode-config.md): Sonnet 5 atau yang lebih baru, Opus 4.7 atau yang lebih baru, Haiku 5.5, dan model Fable saja

279* [Pesan lintas sesi](https://code.claude.com/docs/id/cross-session-messaging.md): antara sesi Anda di mesin ini saja <sup>[5](#fn5)</sup>

280* [Zero Data Retention](https://code.claude.com/docs/id/zero-data-retention.md): tunduk pada perjanjian Azure Anda

281 

282**Alternatif:** untuk penjadwalan, gunakan [`/loop`](https://code.claude.com/docs/id/scheduled-tasks) alih-alih `/schedule`. Untuk sesi cloud, gunakan [GitHub Actions](https://code.claude.com/docs/id/github-actions.md).

283 

284**Anthropic Console**

285 244 

286**Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription).245> [tab] Claude Platform di AWS

246>

247> **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [fast mode](https://code.claude.com/docs/id/fast-mode.md), [Advisor](https://code.claude.com/docs/id/advisor.md), [Channels](https://code.claude.com/docs/id/channels.md), [GitHub Actions](https://code.claude.com/docs/id/github-actions.md), [dashboard analitik](https://code.claude.com/docs/id/analytics.md), [pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md), dan [perintah `/design-sync` dan `/import`](https://code.claude.com/docs/id/commands#all-commands).

248>

249> **Tersedia di mana Amazon Bedrock tidak:** [web search](https://code.claude.com/docs/id/tools-reference.md#websearch-tool-behavior).

250>

251> **Dukungan parsial:**

252>

253> * [Pesan lintas sesi](https://code.claude.com/docs/id/cross-session-messaging.md): antara sesi Anda di mesin ini saja <sup>[5](#fn5)</sup>

254>

255> **Alternatif:** untuk penjadwalan, gunakan [`/loop`](https://code.claude.com/docs/id/scheduled-tasks) alih-alih `/schedule`. Untuk sesi cloud, gunakan [GitLab CI/CD](https://code.claude.com/docs/id/gitlab-ci-cd.md).

287 256 

288Semua yang ada di [kemampuan CLI yang bervariasi per penyedia](#cli-capabilities-that-vary-by-provider) tersedia, kecuali [fast mode](https://code.claude.com/docs/id/fast-mode.md) dengan Claude Opus 5 atau Claude Opus 4.8 memerlukan [akses yang disediakan](https://code.claude.com/docs/id/fast-mode.md#enable-fast-mode-for-your-organization). [Pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md) yang Anda konfigurasi di organisasi Team atau Enterprise claude.ai tidak menjangkau sesi yang melakukan autentikasi dengan kunci API Console. Lihat [Ketersediaan platform](https://code.claude.com/docs/id/server-managed-settings.md#platform-availability) untuk cara mencakup sesi tersebut.257> [tab] Platform Agent Google Cloud

258>

259> **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [fast mode](https://code.claude.com/docs/id/fast-mode.md), [Advisor](https://code.claude.com/docs/id/advisor.md), [Channels](https://code.claude.com/docs/id/channels.md), [dashboard analitik](https://code.claude.com/docs/id/analytics.md), [pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md), dan [perintah `/design-sync` dan `/import`](https://code.claude.com/docs/id/commands#all-commands).

260>

261> **Dukungan parsial:**

262>

263> * [Desktop](https://code.claude.com/docs/id/desktop.md): melalui [pengaturan terkelola](https://claude.com/docs/third-party/claude-desktop/configuration) atau [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)

264> * [Web search](https://code.claude.com/docs/id/tools-reference.md#websearch-tool-behavior): Opus 4, Sonnet 4, Haiku 4.5, dan model yang lebih baru

265> * [Auto mode](https://code.claude.com/docs/id/auto-mode-config.md): Sonnet 5 atau yang lebih baru, Opus 4.7 atau yang lebih baru, Haiku 5.5, dan model Fable saja

266> * [Pesan lintas sesi](https://code.claude.com/docs/id/cross-session-messaging.md): antara sesi Anda di mesin ini saja <sup>[5](#fn5)</sup>

267> * [Zero Data Retention](https://code.claude.com/docs/id/zero-data-retention.md): tunduk pada perjanjian Google Cloud Anda

268>

269> **Alternatif:** untuk penjadwalan, gunakan [`/loop`](https://code.claude.com/docs/id/scheduled-tasks) alih-alih `/schedule`. Untuk sesi cloud, gunakan [GitHub Actions](https://code.claude.com/docs/id/github-actions.md) atau [GitLab CI/CD](https://code.claude.com/docs/id/gitlab-ci-cd.md).

289 270 

290**Dukungan parsial:**271> [tab] Microsoft Foundry

272>

273> **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [fast mode](https://code.claude.com/docs/id/fast-mode.md), [Advisor](https://code.claude.com/docs/id/advisor.md), [Channels](https://code.claude.com/docs/id/channels.md), [GitLab CI/CD](https://code.claude.com/docs/id/gitlab-ci-cd.md), [dashboard analitik](https://code.claude.com/docs/id/analytics.md), [pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md), dan [perintah `/design-sync` dan `/import`](https://code.claude.com/docs/id/commands#all-commands).

274>

275> **Dukungan parsial:**

276>

277> * [Desktop](https://code.claude.com/docs/id/desktop.md): hanya melalui [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)

278> * [Auto mode](https://code.claude.com/docs/id/auto-mode-config.md): Sonnet 5 atau yang lebih baru, Opus 4.7 atau yang lebih baru, Haiku 5.5, dan model Fable saja

279> * [Pesan lintas sesi](https://code.claude.com/docs/id/cross-session-messaging.md): antara sesi Anda di mesin ini saja <sup>[5](#fn5)</sup>

280> * [Zero Data Retention](https://code.claude.com/docs/id/zero-data-retention.md): tunduk pada perjanjian Azure Anda

281>

282> **Alternatif:** untuk penjadwalan, gunakan [`/loop`](https://code.claude.com/docs/id/scheduled-tasks) alih-alih `/schedule`. Untuk sesi cloud, gunakan [GitHub Actions](https://code.claude.com/docs/id/github-actions.md).

291 283 

292* [Desktop](https://code.claude.com/docs/id/desktop.md): melalui [Claude Desktop pada 3P dengan Claude API](https://claude.com/docs/third-party/claude-desktop/claude-api)284> [tab] Anthropic Console

285>

286> **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription).

287>

288> Semua yang ada di [kemampuan CLI yang bervariasi per penyedia](#cli-capabilities-that-vary-by-provider) tersedia, kecuali [fast mode](https://code.claude.com/docs/id/fast-mode.md) dengan Claude Opus 5 atau Claude Opus 4.8 memerlukan [akses yang disediakan](https://code.claude.com/docs/id/fast-mode.md#enable-fast-mode-for-your-organization). [Pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md) yang Anda konfigurasi di organisasi Team atau Enterprise claude.ai tidak menjangkau sesi yang melakukan autentikasi dengan kunci API Console. Lihat [Ketersediaan platform](https://code.claude.com/docs/id/server-managed-settings.md#platform-availability) untuk cara mencakup sesi tersebut.

289>

290> **Dukungan parsial:**

291>

292> * [Desktop](https://code.claude.com/docs/id/desktop.md): melalui [Claude Desktop pada 3P dengan Claude API](https://claude.com/docs/third-party/claude-desktop/claude-api)

293 293 

294## Ketersediaan per paket langganan294## Ketersediaan per paket langganan

295 295 


297 297 

298Di organisasi Enterprise yang menerapkan [konfigurasi HIPAA](https://code.claude.com/docs/id/hipaa-setup.md), beberapa fitur dalam tabel ini dinonaktifkan.298Di organisasi Enterprise yang menerapkan [konfigurasi HIPAA](https://code.claude.com/docs/id/hipaa-setup.md), beberapa fitur dalam tabel ini dinonaktifkan.

299 299 

300| Fitur | Pro | Max | Team | Enterprise |300| Fitur | Pro | Max | Ultra | Team | Enterprise |

301| :- | :- | :- | :- | :- |301| :- | :- | :- | :- | :- | :- |

302| [Cloud sessions](https://code.claude.com/docs/id/claude-code-on-the-web.md) | ✓ | ✓ | ✓ | ✓ <sup>[6](#fn6)</sup> |302| [Cloud sessions](https://code.claude.com/docs/id/claude-code-on-the-web.md) | ✓ | ✓ | ✓ | ✓ | ✓ <sup>[6](#fn6)</sup> |

303| [Tugas terjadwal cloud](https://code.claude.com/docs/id/routines.md) | ✓ | ✓ | ✓ | ✓ |303| [Tugas terjadwal cloud](https://code.claude.com/docs/id/routines.md) | ✓ | ✓ | ✓ | ✓ | ✓ |

304| [Remote Control](https://code.claude.com/docs/id/remote-control.md) | ✓ | ✓ | Admin-enabled | Admin-enabled |304| [Remote Control](https://code.claude.com/docs/id/remote-control.md) | ✓ | ✓ | ✓ | Admin-enabled | Admin-enabled |

305| [Channels](https://code.claude.com/docs/id/channels.md) | ✓ | ✓ | Admin-enabled | Admin-enabled |305| [Channels](https://code.claude.com/docs/id/channels.md) | ✓ | ✓ | ✓ | Admin-enabled | Admin-enabled |

306| [Computer use](https://code.claude.com/docs/id/computer-use.md) | ✓ | ✓ | ✗ | ✗ |306| [Computer use](https://code.claude.com/docs/id/computer-use.md) | ✓ | ✓ | ✓ | ✗ | ✗ |

307| Dispatch ([Desktop](https://code.claude.com/docs/id/desktop.md#sessions-from-dispatch)) | ✓ | ✓ | ✗ | ✗ |307| Dispatch ([Desktop](https://code.claude.com/docs/id/desktop.md#sessions-from-dispatch)) | ✓ | ✓ | ✓ | ✗ | ✗ |

308| [Code Review](https://code.claude.com/docs/id/code-review.md) | ✗ | ✗ | ✓ | ✓ |308| [Code Review](https://code.claude.com/docs/id/code-review.md) | ✗ | ✗ | ✗ | ✓ | ✓ |

309| [Artifacts](https://code.claude.com/docs/id/artifacts.md) | ✓ | ✓ | ✓ | ✓ |309| [Artifacts](https://code.claude.com/docs/id/artifacts.md) | ✓ | ✓ | ✓ | ✓ | ✓ |

310| [Dashboard analitik dan metrik kontribusi](https://code.claude.com/docs/id/analytics.md) | ✗ | ✗ | ✓ | ✓ |310| [Dashboard analitik dan metrik kontribusi](https://code.claude.com/docs/id/analytics.md) | ✗ | ✗ | ✗ | ✓ | ✓ |

311| [Enterprise Analytics API](https://code.claude.com/docs/id/analytics.md#access-data-programmatically) | ✗ | ✗ | ✗ | ✓ |311| [Enterprise Analytics API](https://code.claude.com/docs/id/analytics.md#access-data-programmatically) | ✗ | ✗ | ✗ | ✗ | ✓ |

312| [Pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md) | ✗ | ✗ | ✓ | ✓ |312| [Pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md) | ✗ | ✗ | ✗ | ✓ | ✓ |

313| [SSO](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) | ✗ | ✗ | ✓ | ✓ |313| [SSO](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) | ✗ | ✗ | ✗ | ✓ | ✓ |

314| SCIM | ✗ | ✗ | ✗ | ✓ |314| SCIM | ✗ | ✗ | ✗ | ✗ | ✓ |

315| [Compliance API](https://platform.claude.com/docs/en/api/compliance) | ✗ | ✗ | ✗ | ✓ |315| [Compliance API](https://platform.claude.com/docs/en/api/compliance) | ✗ | ✗ | ✗ | ✗ | ✓ |

316| [Zero Data Retention](https://code.claude.com/docs/id/zero-data-retention.md) | ✗ | ✗ | ✗ | ✓ <sup>[7](#fn7)</sup> |316| [Zero Data Retention](https://code.claude.com/docs/id/zero-data-retention.md) | ✗ | ✗ | ✗ | ✗ | ✓ <sup>[7](#fn7)</sup> |

317 317 

318<sup>6</sup> Di Enterprise, memerlukan kursi premium atau kursi Chat + Claude Code. Lihat [Use Claude Code in the cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md).\318<sup>6</sup> Di Enterprise, memerlukan kursi premium atau kursi Chat + Claude Code. Lihat [Use Claude Code in the cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md).\

319 319 


321 321 

322Untuk harga dan perbandingan paket lengkap, lihat [Paket Team](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) dan [Paket Enterprise](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).322Untuk harga dan perbandingan paket lengkap, lihat [Paket Team](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) dan [Paket Enterprise](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).

323 323 

324### Paket Ultra

325 

326Ultra adalah nama baru untuk paket Max 20x, dan Max adalah nama baru untuk Max 5x. Untuk memeriksa paket yang Anda gunakan, lihat langganan Anda di claude.ai.

327 

328Di Claude Code, Max dan Ultra memiliki fitur yang sama, yang tercantum di kolom Max dan Ultra pada [tabel ketersediaan](#availability-by-subscription-plan). Untuk batas penggunaan dan harga, lihat [halaman harga Claude](https://claude.com/pricing).

329 

324## Ketersediaan model330## Ketersediaan model

325 331 

326Untuk model Claude mana dan ukuran jendela konteks yang tersedia per penyedia dan wilayah, lihat [Konfigurasi model](https://code.claude.com/docs/id/model-config.md) dan [Ringkasan Model](https://platform.claude.com/docs/en/about-claude/models/overview). Vision, input PDF, dan extended thinking adalah kemampuan model daripada fitur Claude Code dan bekerja di setiap penyedia yang menawarkan model. [Prompt caching](https://code.claude.com/docs/id/prompt-caching.md) bekerja dengan cara yang sama di sebagian besar penyedia; di Amazon Bedrock, dukungan bervariasi menurut model.332Untuk model Claude mana dan ukuran jendela konteks yang tersedia per penyedia dan wilayah, lihat [Konfigurasi model](https://code.claude.com/docs/id/model-config.md) dan [Ringkasan Model](https://platform.claude.com/docs/en/about-claude/models/overview). Vision, input PDF, dan extended thinking adalah kemampuan model daripada fitur Claude Code dan bekerja di setiap penyedia yang menawarkan model. [Prompt caching](https://code.claude.com/docs/id/prompt-caching.md) bekerja dengan cara yang sama di sebagian besar penyedia; di Amazon Bedrock, dukungan bervariasi menurut model.

features-overview.md +193 −193

Details

72 72 

73Beberapa fitur dapat terlihat serupa. Untuk panduan yang lebih mendalam tentang memilih di antara mereka, lihat [Steering Claude Code: when to use CLAUDE.md, skills, hooks, and subagents](https://claude.com/blog/steering-claude-code-skills-hooks-rules-subagents-and-more) di blog. Berikut cara membedakannya.73Beberapa fitur dapat terlihat serupa. Untuk panduan yang lebih mendalam tentang memilih di antara mereka, lihat [Steering Claude Code: when to use CLAUDE.md, skills, hooks, and subagents](https://claude.com/blog/steering-claude-code-skills-hooks-rules-subagents-and-more) di blog. Berikut cara membedakannya.

74 74 

75**Skill vs Subagent**75> [tab] Skill vs Subagent

76 76>

77Skill dan subagent menyelesaikan masalah yang berbeda:77> Skill dan subagent menyelesaikan masalah yang berbeda:

78 78>

79* **Skills** adalah konten yang dapat digunakan kembali yang dapat Anda muat ke dalam konteks apa pun79> * **Skills** adalah konten yang dapat digunakan kembali yang dapat Anda muat ke dalam konteks apa pun

80* **Subagents** adalah pekerja terisolasi yang berjalan terpisah dari percakapan utama Anda80> * **Subagents** adalah pekerja terisolasi yang berjalan terpisah dari percakapan utama Anda

81 81>

82| Aspek | Skill | Subagent |82> | Aspek | Skill | Subagent |

83| - | - | - |83> | - | - | - |

84| **Apa itu** | Instruksi, pengetahuan, atau alur kerja yang dapat digunakan kembali | Pekerja terisolasi dengan konteksnya sendiri |84> | **Apa itu** | Instruksi, pengetahuan, atau alur kerja yang dapat digunakan kembali | Pekerja terisolasi dengan konteksnya sendiri |

85| **Manfaat utama** | Bagikan konten di seluruh konteks | Isolasi konteks. Pekerjaan terjadi secara terpisah, hanya ringkasan yang kembali |85> | **Manfaat utama** | Bagikan konten di seluruh konteks | Isolasi konteks. Pekerjaan terjadi secara terpisah, hanya ringkasan yang kembali |

86| **Dampak [context window](https://code.claude.com/docs/id/context-window.md)** | Menambah jendela utama Anda | Menggunakan jendela terpisah dengan token input dan output-nya sendiri |86> | **Dampak [context window](https://code.claude.com/docs/id/context-window.md)** | Menambah jendela utama Anda | Menggunakan jendela terpisah dengan token input dan output-nya sendiri |

87| **Terbaik untuk** | Materi referensi, alur kerja yang dapat dipanggil | Tugas yang membaca banyak file, pekerjaan paralel, pekerja khusus |87> | **Terbaik untuk** | Materi referensi, alur kerja yang dapat dipanggil | Tugas yang membaca banyak file, pekerjaan paralel, pekerja khusus |

88 88>

89**Skills dapat berupa referensi atau tindakan.** Skill referensi memberikan pengetahuan yang Claude gunakan di seluruh sesi Anda (seperti panduan gaya API Anda). Skill tindakan memberi tahu Claude untuk melakukan sesuatu yang spesifik (seperti `/deploy` yang menjalankan alur kerja penyebaran Anda).89> **Skills dapat berupa referensi atau tindakan.** Skill referensi memberikan pengetahuan yang Claude gunakan di seluruh sesi Anda (seperti panduan gaya API Anda). Skill tindakan memberi tahu Claude untuk melakukan sesuatu yang spesifik (seperti `/deploy` yang menjalankan alur kerja penyebaran Anda).

90 90>

91**Gunakan subagent** ketika Anda membutuhkan isolasi konteks atau ketika jendela konteks Anda penuh. Subagent mungkin membaca puluhan file atau menjalankan pencarian ekstensif, tetapi percakapan utama Anda hanya menerima ringkasan. Karena pekerjaan subagent tidak mengonsumsi konteks utama Anda, ini juga berguna ketika Anda tidak memerlukan pekerjaan perantara untuk tetap terlihat. Subagent kustom dapat memiliki instruksi mereka sendiri dan dapat memuat skill sebelumnya.91> **Gunakan subagent** ketika Anda membutuhkan isolasi konteks atau ketika jendela konteks Anda penuh. Subagent mungkin membaca puluhan file atau menjalankan pencarian ekstensif, tetapi percakapan utama Anda hanya menerima ringkasan. Karena pekerjaan subagent tidak mengonsumsi konteks utama Anda, ini juga berguna ketika Anda tidak memerlukan pekerjaan perantara untuk tetap terlihat. Subagent kustom dapat memiliki instruksi mereka sendiri dan dapat memuat skill sebelumnya.

92 92>

93**Mereka dapat menggabungkan.** Subagent dapat memuat skill tertentu (field `skills:`). Skill dapat berjalan dalam konteks terisolasi menggunakan `context: fork`. Lihat [Skills](https://code.claude.com/docs/id/skills.md) untuk detail.93> **Mereka dapat menggabungkan.** Subagent dapat memuat skill tertentu (field `skills:`). Skill dapat berjalan dalam konteks terisolasi menggunakan `context: fork`. Lihat [Skills](https://code.claude.com/docs/id/skills.md) untuk detail.

94 

95**CLAUDE.md vs Skill**

96 

97Keduanya menyimpan instruksi, tetapi mereka dimuat secara berbeda dan melayani tujuan yang berbeda.

98 

99| Aspek | CLAUDE.md | Skill |

100| - | - | - |

101| **Dimuat** | Setiap sesi, secara otomatis | On demand |

102| **Dapat menyertakan file** | Ya, dengan impor `@path` | Ya, dengan impor `@path` |

103| **Dapat memicu alur kerja** | Tidak | Ya, dengan `/<name>` |

104| **Terbaik untuk** | Aturan "selalu lakukan X" | Materi referensi, alur kerja yang dapat dipanggil |

105 

106**Letakkan di CLAUDE.md** jika Claude harus selalu mengetahuinya: konvensi pengkodean, perintah build, struktur proyek, aturan "jangan pernah lakukan X".

107 

108**Letakkan di skill** jika itu materi referensi yang Claude butuhkan kadang-kadang (dokumen API, panduan gaya) atau alur kerja yang Anda picu dengan `/<name>` (deploy, review, release).

109 

110**Aturan praktis:** Jaga CLAUDE.md di bawah 200 baris. Jika berkembang, pindahkan konten referensi ke skill atau pisahkan ke file [`.claude/rules/`](https://code.claude.com/docs/id/memory#organize-rules-with-claude/rules/).

111 

112**CLAUDE.md vs Output style**

113 

114Keduanya memberikan instruksi berdiri kepada Claude. CLAUDE.md membawa apa yang harus diketahui Claude, dan gaya output menetapkan cara Claude merespons.

115 

116| Aspek | CLAUDE.md | Output style |

117| - | - | - |

118| **Memegang** | Fakta dan aturan tentang proyek Anda | Peran, nada, dan format respons |

119| **Beralih** | Selalu dimuat | Satu aktif pada satu waktu; [beralih gaya](https://code.claude.com/docs/id/output-styles.md#change-your-output-style) kapan saja Anda mau |

120| **Terbaik untuk** | Perintah build, konvensi, aturan "jangan pernah lakukan X" | Respons yang lebih pendek, penjelasan bersama kode, peran non-teknik |

121 

122**Letakkan di CLAUDE.md** jika itu benar dari proyek apa pun gaya yang Anda gunakan: konvensi pengkodean, perintah build, struktur proyek.

123 

124**Gunakan output style** jika itu tentang respons itu sendiri dan Anda mungkin ingin mematikannya lagi: panjang, format, berapa banyak Claude menjelaskan, atau peran yang berbeda seperti asisten penulisan. Claude Code mencakup [gaya bawaan](https://code.claude.com/docs/id/output-styles.md#built-in-output-styles), dan Anda dapat menulis gaya Anda sendiri.

125 

126**Mereka menggabungkan.** CLAUDE.md tetap dimuat gaya mana pun yang Anda pilih. Claude mengikuti keduanya sebagai instruksi, jadi tidak ada yang ditegakkan. Untuk apa pun yang harus terjadi setiap kali, gunakan [hook](https://code.claude.com/docs/id/hooks-guide.md).

127 

128**CLAUDE.md vs Rules vs Skills**

129 

130Ketiga-tiganya menyimpan instruksi, tetapi mereka dimuat secara berbeda:

131 

132| Aspek | CLAUDE.md | `.claude/rules/` | Skill |

133| - | - | - | - |

134| **Dimuat** | Setiap sesi | Setiap sesi, atau ketika file yang cocok dibuka | On demand, ketika dipanggil atau relevan |

135| **Cakupan** | Seluruh proyek | Dapat dibatasi ke jalur file | Spesifik tugas |

136| **Terbaik untuk** | Konvensi inti dan perintah build | Panduan spesifik bahasa atau direktori | Materi referensi, alur kerja yang dapat diulang |

137 

138**Gunakan CLAUDE.md** untuk instruksi yang setiap sesi butuhkan: perintah build, konvensi tes, arsitektur proyek.

139 

140**Gunakan rules** untuk menjaga CLAUDE.md tetap fokus. Rules dengan [frontmatter `paths`](https://code.claude.com/docs/id/memory#path-specific-rules) hanya dimuat ketika Claude bekerja dengan file yang cocok, menghemat konteks.

141 

142**Gunakan skills** untuk konten yang Claude hanya butuhkan kadang-kadang, seperti dokumentasi API atau daftar periksa penyebaran yang Anda picu dengan `/<name>`.

143 

144**Subagent vs Dynamic workflow**

145 

146Keduanya melakukan pekerjaan di luar percakapan utama Anda. Dengan subagent, Claude memutuskan giliran demi giliran apa yang berjalan selanjutnya. Dalam alur kerja, skrip memutuskan:

147 

148* **Subagents** adalah pekerja yang Claude spawn, masing-masing mengembalikan ringkasan ke percakapan yang memunculkannya

149* **[Dynamic workflows](https://code.claude.com/docs/id/workflows.md)** adalah skrip yang ditulis Claude yang menjalankan banyak subagent di latar belakang dan mengembalikan satu hasil

150 

151**Gunakan subagent** ketika Anda membutuhkan pekerja yang cepat dan terfokus: teliti pertanyaan, verifikasi klaim, tinjau file. Subagent melakukan pekerjaan dan mengembalikan ringkasan, jadi percakapan utama Anda tetap bersih. Subagent yang Claude [beri nama](https://code.claude.com/docs/id/sub-agents.md#subagent-names) ketika memunculkannya juga dapat [saling berkirim pesan](https://code.claude.com/docs/id/sub-agents.md#what-loads-at-startup).

152 

153**Gunakan dynamic workflow** ketika pekerjaan [melampaui segelintir subagent](https://code.claude.com/docs/id/workflows.md#when-to-use-a-workflow), atau ketika Anda ingin temuan diverifikasi silang sebelum Anda melihatnya, seperti audit berbasis kode, migrasi besar, atau rencana yang disusun dari beberapa sudut. Untuk memulai satu, [minta alur kerja dalam prompt Anda](https://code.claude.com/docs/id/workflows.md#ask-for-a-workflow-in-your-prompt).

154 

155**Untuk meneruskan temuan dari salah satu sesi Anda ke sesi lain**, minta Claude sesi pertama untuk mengirimkannya. Claude mengirimkannya dengan [cross-session messaging](https://code.claude.com/docs/id/cross-session-messaging.md). [Run agents in parallel](https://code.claude.com/docs/id/agents.md) membandingkan cara lain untuk menjalankan lebih dari satu Claude sekaligus, termasuk sesi yang Anda serahkan dan periksa kembali nanti.

156 

157**MCP vs Skill**

158 

159MCP menghubungkan Claude ke layanan eksternal. Skills memperluas apa yang Claude ketahui, termasuk cara menggunakan layanan tersebut secara efektif.

160 

161| Aspek | MCP | Skill |

162| - | - | - |

163| **Apa itu** | Protokol untuk terhubung ke layanan eksternal | Pengetahuan, alur kerja, dan materi referensi |

164| **Menyediakan** | Alat dan akses data | Pengetahuan, alur kerja, materi referensi |

165| **Contoh** | Integrasi Slack, kueri basis data, kontrol browser | Daftar periksa tinjauan kode, alur kerja penyebaran, panduan gaya API |

166 

167Ini menyelesaikan masalah yang berbeda dan bekerja dengan baik bersama:

168 

169**MCP** memberikan Claude alat yang dirancang khusus untuk sistem eksternal, dengan koneksi dan autentikasi ditangani oleh server.

170 

171**Skills** memberikan Claude pengetahuan tentang cara menggunakan alat tersebut secara efektif, ditambah alur kerja yang dapat Anda picu dengan `/<name>`. Skill mungkin menyertakan skema basis data tim Anda dan pola kueri, atau alur kerja `/post-to-slack` dengan aturan pemformatan pesan tim Anda.

172 

173**Hook vs Skill**

174 94 

175Claude Code menjalankan hook pada acara siklus hidup; itu memuat skill ke dalam konteks untuk Claude terapkan.95> [tab] CLAUDE.md vs Skill

96>

97> Keduanya menyimpan instruksi, tetapi mereka dimuat secara berbeda dan melayani tujuan yang berbeda.

98>

99> | Aspek | CLAUDE.md | Skill |

100> | - | - | - |

101> | **Dimuat** | Setiap sesi, secara otomatis | On demand |

102> | **Dapat menyertakan file** | Ya, dengan impor `@path` | Ya, dengan impor `@path` |

103> | **Dapat memicu alur kerja** | Tidak | Ya, dengan `/<name>` |

104> | **Terbaik untuk** | Aturan "selalu lakukan X" | Materi referensi, alur kerja yang dapat dipanggil |

105>

106> **Letakkan di CLAUDE.md** jika Claude harus selalu mengetahuinya: konvensi pengkodean, perintah build, struktur proyek, aturan "jangan pernah lakukan X".

107>

108> **Letakkan di skill** jika itu materi referensi yang Claude butuhkan kadang-kadang (dokumen API, panduan gaya) atau alur kerja yang Anda picu dengan `/<name>` (deploy, review, release).

109>

110> **Aturan praktis:** Jaga CLAUDE.md di bawah 200 baris. Jika berkembang, pindahkan konten referensi ke skill atau pisahkan ke file [`.claude/rules/`](https://code.claude.com/docs/id/memory#organize-rules-with-claude/rules/).

176 111 

177| Aspek | Hook | Skill |112> [tab] CLAUDE.md vs Output style

178| - | - | - |113>

179| **Berjalan** | Perintah shell, permintaan HTTP, panggilan alat MCP, prompt LLM, atau subagent | Instruksi yang Claude baca dan ikuti |114> Keduanya memberikan instruksi berdiri kepada Claude. CLAUDE.md membawa apa yang harus diketahui Claude, dan gaya output menetapkan cara Claude merespons.

180| **Dipicu oleh** | [Acara siklus hidup](https://code.claude.com/docs/id/hooks.md#hook-events) seperti `PostToolUse` atau `SessionStart` | Anda mengetik `/<name>`, atau Claude mencocokkan deskripsi dengan tugas Anda |115>

181| **Determinisme** | Menyala pada acaranya tanpa Claude yang memutuskan | Claude menginterpretasikan instruksi; hasilnya dapat bervariasi |116> | Aspek | CLAUDE.md | Output style |

182| **Biaya konteks** | Nol kecuali hook mengembalikan output | Deskripsi dimuat setiap sesi; konten penuh dimuat saat digunakan |117> | - | - | - |

183| **Terbaik untuk** | Linting setelah pengeditan, memblokir perintah yang tidak aman, logging, notifikasi | Alur kerja yang membutuhkan penalaran, materi referensi, tugas multi-langkah |118> | **Memegang** | Fakta dan aturan tentang proyek Anda | Peran, nada, dan format respons |

119> | **Beralih** | Selalu dimuat | Satu aktif pada satu waktu; [beralih gaya](https://code.claude.com/docs/id/output-styles.md#change-your-output-style) kapan saja Anda mau |

120> | **Terbaik untuk** | Perintah build, konvensi, aturan "jangan pernah lakukan X" | Respons yang lebih pendek, penjelasan bersama kode, peran non-teknik |

121>

122> **Letakkan di CLAUDE.md** jika itu benar dari proyek apa pun gaya yang Anda gunakan: konvensi pengkodean, perintah build, struktur proyek.

123>

124> **Gunakan output style** jika itu tentang respons itu sendiri dan Anda mungkin ingin mematikannya lagi: panjang, format, berapa banyak Claude menjelaskan, atau peran yang berbeda seperti asisten penulisan. Claude Code mencakup [gaya bawaan](https://code.claude.com/docs/id/output-styles.md#built-in-output-styles), dan Anda dapat menulis gaya Anda sendiri.

125>

126> **Mereka menggabungkan.** CLAUDE.md tetap dimuat gaya mana pun yang Anda pilih. Claude mengikuti keduanya sebagai instruksi, jadi tidak ada yang ditegakkan. Untuk apa pun yang harus terjadi setiap kali, gunakan [hook](https://code.claude.com/docs/id/hooks-guide.md).

184 127 

185**Gunakan hook** ketika tindakan harus terjadi dengan cara yang sama setiap kali dan tidak memerlukan Claude untuk berpikir. Misalnya: format saat menyimpan, tolak `rm -rf /`, posting pesan Slack ketika sesi berakhir.128> [tab] CLAUDE.md vs Rules vs Skills

129>

130> Ketiga-tiganya menyimpan instruksi, tetapi mereka dimuat secara berbeda:

131>

132> | Aspek | CLAUDE.md | `.claude/rules/` | Skill |

133> | - | - | - | - |

134> | **Dimuat** | Setiap sesi | Setiap sesi, atau ketika file yang cocok dibuka | On demand, ketika dipanggil atau relevan |

135> | **Cakupan** | Seluruh proyek | Dapat dibatasi ke jalur file | Spesifik tugas |

136> | **Terbaik untuk** | Konvensi inti dan perintah build | Panduan spesifik bahasa atau direktori | Materi referensi, alur kerja yang dapat diulang |

137>

138> **Gunakan CLAUDE.md** untuk instruksi yang setiap sesi butuhkan: perintah build, konvensi tes, arsitektur proyek.

139>

140> **Gunakan rules** untuk menjaga CLAUDE.md tetap fokus. Rules dengan [frontmatter `paths`](https://code.claude.com/docs/id/memory#path-specific-rules) hanya dimuat ketika Claude bekerja dengan file yang cocok, menghemat konteks.

141>

142> **Gunakan skills** untuk konten yang Claude hanya butuhkan kadang-kadang, seperti dokumentasi API atau daftar periksa penyebaran yang Anda picu dengan `/<name>`.

186 143 

187**Gunakan skill** ketika Claude harus memutuskan cara menerapkan langkah-langkah, atau ketika kontennya adalah pengetahuan daripada skrip. Misalnya: daftar periksa `/release`, panduan gaya API Anda, playbook debugging.144> [tab] Subagent vs Dynamic workflow

145>

146> Keduanya melakukan pekerjaan di luar percakapan utama Anda. Dengan subagent, Claude memutuskan giliran demi giliran apa yang berjalan selanjutnya. Dalam alur kerja, skrip memutuskan:

147>

148> * **Subagents** adalah pekerja yang Claude spawn, masing-masing mengembalikan ringkasan ke percakapan yang memunculkannya

149> * **[Dynamic workflows](https://code.claude.com/docs/id/workflows.md)** adalah skrip yang ditulis Claude yang menjalankan banyak subagent di latar belakang dan mengembalikan satu hasil

150>

151> **Gunakan subagent** ketika Anda membutuhkan pekerja yang cepat dan terfokus: teliti pertanyaan, verifikasi klaim, tinjau file. Subagent melakukan pekerjaan dan mengembalikan ringkasan, jadi percakapan utama Anda tetap bersih. Subagent yang Claude [beri nama](https://code.claude.com/docs/id/sub-agents.md#subagent-names) ketika memunculkannya juga dapat [saling berkirim pesan](https://code.claude.com/docs/id/sub-agents.md#what-loads-at-startup).

152>

153> **Gunakan dynamic workflow** ketika pekerjaan [melampaui segelintir subagent](https://code.claude.com/docs/id/workflows.md#when-to-use-a-workflow), atau ketika Anda ingin temuan diverifikasi silang sebelum Anda melihatnya, seperti audit berbasis kode, migrasi besar, atau rencana yang disusun dari beberapa sudut. Untuk memulai satu, [minta alur kerja dalam prompt Anda](https://code.claude.com/docs/id/workflows.md#ask-for-a-workflow-in-your-prompt).

154>

155> **Untuk meneruskan temuan dari salah satu sesi Anda ke sesi lain**, minta Claude sesi pertama untuk mengirimkannya. Claude mengirimkannya dengan [cross-session messaging](https://code.claude.com/docs/id/cross-session-messaging.md). [Run agents in parallel](https://code.claude.com/docs/id/agents.md) membandingkan cara lain untuk menjalankan lebih dari satu Claude sekaligus, termasuk sesi yang Anda serahkan dan periksa kembali nanti.

188 156 

189**Letakkan guardrail di hook.** Instruksi seperti "jangan pernah edit `.env`" di CLAUDE.md atau skill adalah permintaan, bukan jaminan. Hook `PreToolUse` yang memblokir pengeditan adalah penegakan. Jika aturan harus berlaku setiap kali, buat hook daripada instruksi prompt.157> [tab] MCP vs Skill

158>

159> MCP menghubungkan Claude ke layanan eksternal. Skills memperluas apa yang Claude ketahui, termasuk cara menggunakan layanan tersebut secara efektif.

160>

161> | Aspek | MCP | Skill |

162> | - | - | - |

163> | **Apa itu** | Protokol untuk terhubung ke layanan eksternal | Pengetahuan, alur kerja, dan materi referensi |

164> | **Menyediakan** | Alat dan akses data | Pengetahuan, alur kerja, materi referensi |

165> | **Contoh** | Integrasi Slack, kueri basis data, kontrol browser | Daftar periksa tinjauan kode, alur kerja penyebaran, panduan gaya API |

166>

167> Ini menyelesaikan masalah yang berbeda dan bekerja dengan baik bersama:

168>

169> **MCP** memberikan Claude alat yang dirancang khusus untuk sistem eksternal, dengan koneksi dan autentikasi ditangani oleh server.

170>

171> **Skills** memberikan Claude pengetahuan tentang cara menggunakan alat tersebut secara efektif, ditambah alur kerja yang dapat Anda picu dengan `/<name>`. Skill mungkin menyertakan skema basis data tim Anda dan pola kueri, atau alur kerja `/post-to-slack` dengan aturan pemformatan pesan tim Anda.

190 172 

191**Output hook mendarat di konteks.** Hook `PostToolUse` yang menjalankan linter Anda memberi umpan balik hasil sebagai teks yang Claude baca; skill `/fix-lint` memberi tahu Claude cara menyelesaikannya.173> [tab] Hook vs Skill

174>

175> Claude Code menjalankan hook pada acara siklus hidup; itu memuat skill ke dalam konteks untuk Claude terapkan.

176>

177> | Aspek | Hook | Skill |

178> | - | - | - |

179> | **Berjalan** | Perintah shell, permintaan HTTP, panggilan alat MCP, prompt LLM, atau subagent | Instruksi yang Claude baca dan ikuti |

180> | **Dipicu oleh** | [Acara siklus hidup](https://code.claude.com/docs/id/hooks.md#hook-events) seperti `PostToolUse` atau `SessionStart` | Anda mengetik `/<name>`, atau Claude mencocokkan deskripsi dengan tugas Anda |

181> | **Determinisme** | Menyala pada acaranya tanpa Claude yang memutuskan | Claude menginterpretasikan instruksi; hasilnya dapat bervariasi |

182> | **Biaya konteks** | Nol kecuali hook mengembalikan output | Deskripsi dimuat setiap sesi; konten penuh dimuat saat digunakan |

183> | **Terbaik untuk** | Linting setelah pengeditan, memblokir perintah yang tidak aman, logging, notifikasi | Alur kerja yang membutuhkan penalaran, materi referensi, tugas multi-langkah |

184>

185> **Gunakan hook** ketika tindakan harus terjadi dengan cara yang sama setiap kali dan tidak memerlukan Claude untuk berpikir. Misalnya: format saat menyimpan, tolak `rm -rf /`, posting pesan Slack ketika sesi berakhir.

186>

187> **Gunakan skill** ketika Claude harus memutuskan cara menerapkan langkah-langkah, atau ketika kontennya adalah pengetahuan daripada skrip. Misalnya: daftar periksa `/release`, panduan gaya API Anda, playbook debugging.

188>

189> **Letakkan guardrail di hook.** Instruksi seperti "jangan pernah edit `.env`" di CLAUDE.md atau skill adalah permintaan, bukan jaminan. Hook `PreToolUse` yang memblokir pengeditan adalah penegakan. Jika aturan harus berlaku setiap kali, buat hook daripada instruksi prompt.

190>

191> **Output hook mendarat di konteks.** Hook `PostToolUse` yang menjalankan linter Anda memberi umpan balik hasil sebagai teks yang Claude baca; skill `/fix-lint` memberi tahu Claude cara menyelesaikannya.

192 192 

193### Pahami bagaimana fitur berlapis193### Pahami bagaimana fitur berlapis

194 194 


238 238 

239![Pemuatan konteks: CLAUDE.md dimuat saat awal sesi dan tetap di setiap permintaan. Nama alat MCP dimuat saat awal dengan skema penuh ditunda sampai digunakan. Skills memuat deskripsi saat awal, konten penuh saat invokasi. Subagents mendapat konteks terisolasi. Hooks berjalan secara eksternal.](https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/context-loading.svg?fit=max\&auto=format\&n=ikqp3_70mqIahteV\&q=85\&s=aab139e750494a237ae2e0c8f9139b0a)239![Pemuatan konteks: CLAUDE.md dimuat saat awal sesi dan tetap di setiap permintaan. Nama alat MCP dimuat saat awal dengan skema penuh ditunda sampai digunakan. Skills memuat deskripsi saat awal, konten penuh saat invokasi. Subagents mendapat konteks terisolasi. Hooks berjalan secara eksternal.](https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/context-loading.svg?fit=max\&auto=format\&n=ikqp3_70mqIahteV\&q=85\&s=aab139e750494a237ae2e0c8f9139b0a)

240 240 

241**CLAUDE.md**241> [tab] CLAUDE.md

242 

243**Kapan:** Awal sesi

244 

245**Apa yang dimuat:** Konten penuh setiap file CLAUDE.md yang dimuat saat awal sesi (tingkat terkelola, pengguna, dan proyek).

246 

247**Warisan:** Claude membaca file CLAUDE.md dari direktori kerja Anda hingga ke root, dan menemukan yang tersarang di subdirektori saat mengakses file tersebut. Lihat [Bagaimana file CLAUDE.md dimuat](https://code.claude.com/docs/id/memory.md#how-claude-md-files-load) untuk detail. Jika CLAUDE.md tersarang melebihi [batas ukuran per file](https://code.claude.com/docs/id/memory.md#claude-ignores-the-end-of-my-subdirectory-claude-md), Claude hanya menerima bagian awal file tersebut.

248 

249> [!TIP]

250>242>

251> Jaga CLAUDE.md di bawah 200 baris. Pindahkan materi referensi ke skills, yang dimuat on demand. Untuk mendapatkan [usulan pemangkasan untuk CLAUDE.md yang di-commit ke repositori](https://code.claude.com/docs/id/memory.md#my-claude-md-is-too-large), jalankan `/doctor`.243> **Kapan:** Awal sesi

252 

253**Skills**

254 

255Skills adalah kemampuan tambahan dalam toolkit Claude. Mereka dapat berupa materi referensi (seperti panduan gaya API) atau alur kerja yang dapat dipanggil yang Anda picu dengan `/<name>` (seperti `/deploy`). Claude Code dilengkapi dengan [skills bundel](https://code.claude.com/docs/id/commands.md) seperti `/code-review`, `/batch`, dan `/debug` yang bekerja langsung. Anda juga dapat membuat yang Anda sendiri.

256 

257**Kapan:** Tergantung pada konfigurasi skill. Secara default, deskripsi dimuat saat awal sesi dan konten penuh dimuat ketika digunakan. Untuk skills hanya pengguna (`disable-model-invocation: true`), tidak ada yang dimuat sampai Anda memanggilnya.

258 

259**Apa yang dimuat:** Untuk skills yang dapat dipanggil model, Claude melihat nama dan deskripsi di setiap permintaan. Ketika Anda memanggil skill dengan `/<name>` atau Claude memuatnya secara otomatis, konten penuh dimuat ke percakapan Anda.

260 

261**Bagaimana Claude memilih skills:** Claude mencocokkan tugas Anda terhadap deskripsi skill untuk memutuskan mana yang relevan. Jika deskripsi samar atau tumpang tindih, Claude mungkin memuat skill yang salah atau melewatkan yang akan membantu. Untuk memberi tahu Claude menggunakan skill tertentu, panggilnya dengan `/<name>`.

262 

263**Biaya konteks:** Rendah sampai digunakan. Skills hanya pengguna memiliki biaya nol sampai dipanggil.

264 

265**Di subagent:** Konten penuh skills yang tercantum di field `skills` subagent [dimuat ke konteksnya saat peluncuran](https://code.claude.com/docs/id/sub-agents.md#preload-skills-into-subagents), bukan on demand. Subagent masih dapat menemukan dan memanggil skills proyek, pengguna, dan plugin yang tidak tercantum melalui tool Skill.

266 

267> [!TIP]

268>244>

269> Gunakan `disable-model-invocation: true` untuk skills dengan efek samping. Ini menghemat konteks dan memastikan skills tersebut hanya berjalan ketika Anda menyebut namanya.245> **Apa yang dimuat:** Konten penuh setiap file CLAUDE.md yang dimuat saat awal sesi (tingkat terkelola, pengguna, dan proyek).

270 

271**Server MCP**

272 

273**Kapan:** Awal sesi.

274 

275**Apa yang dimuat:** Nama alat dan instruksi server dari server yang terhubung. Skema JSON penuh tetap ditunda sampai Claude memerlukan alat tertentu.

276 

277**Biaya konteks:** [Pencarian alat](https://code.claude.com/docs/id/mcp.md#scale-with-mcp-tool-search) diaktifkan secara default, jadi alat MCP idle mengonsumsi konteks minimal.

278 

279> [!TIP]

280>246>

281> Jalankan `/mcp` untuk melihat status koneksi setiap server. Jalankan `/context all` untuk melihat berapa banyak token yang digunakan setiap alat MCP yang dimuat. Claude Code [terhubung kembali ke server jarak jauh secara otomatis](https://code.claude.com/docs/id/mcp.md#automatic-reconnection) jika mereka terputus, dan Anda dapat memutuskan server yang tidak Anda gunakan secara aktif.247> **Warisan:** Claude membaca file CLAUDE.md dari direktori kerja Anda hingga ke root, dan menemukan yang tersarang di subdirektori saat mengakses file tersebut. Lihat [Bagaimana file CLAUDE.md dimuat](https://code.claude.com/docs/id/memory.md#how-claude-md-files-load) untuk detail. Jika CLAUDE.md tersarang melebihi [batas ukuran per file](https://code.claude.com/docs/id/memory.md#claude-ignores-the-end-of-my-subdirectory-claude-md), Claude hanya menerima bagian awal file tersebut.

282 

283**Code intelligence**

284 

285**Kapan:** Setelah pengeditan file, dan on demand ketika Claude menavigasi kode.

286 

287**Apa yang dimuat:** Kesalahan tipe dan peringatan setelah setiap pengeditan file. Informasi definisi, referensi, dan tipe ketika Claude mencari simbol.

288 

289**Biaya konteks:** Rendah. Pencarian simbol sering menggantikan pembacaan file yang luas, jadi penggunaan konteks bersih dapat turun.

290 

291> [!TIP]

292>248>

293> Alat LSP tidak aktif sampai Anda memasang [plugin code intelligence](https://code.claude.com/docs/id/plugins/code-intelligence.md) untuk bahasa Anda.249> > [!TIP]

294 250> >

295**Subagents**251> > Jaga CLAUDE.md di bawah 200 baris. Pindahkan materi referensi ke skills, yang dimuat on demand. Untuk mendapatkan [usulan pemangkasan untuk CLAUDE.md yang di-commit ke repositori](https://code.claude.com/docs/id/memory.md#my-claude-md-is-too-large), jalankan `/doctor`.

296 

297**Kapan:** On demand, ketika Anda atau Claude menspawn satu untuk tugas.

298 

299**Apa yang dimuat:** Konteks segar dan terisolasi yang berisi:

300 

301* System prompt milik agent itu sendiri, bukan system prompt Claude Code

302* Konten penuh skills yang tercantum di field `skills:` agent

303* CLAUDE.md dan status git. Agent Explore dan Plan bawaan [dimulai tanpa keduanya](https://code.claude.com/docs/id/sub-agents.md#what-loads-at-startup), dan agent yang definisinya menetapkan [`omitClaudeMd`](https://code.claude.com/docs/id/sub-agents#supported-frontmatter-fields) dimulai tanpa file CLAUDE.md pengguna, proyek, dan lokal.

304* Apa pun konteks yang agent utama lewatkan dalam prompt

305 

306Untuk [fork](https://code.claude.com/docs/id/sub-agents.md#fork-the-current-conversation), Claude Code memuat percakapan induk sejauh ini, prompt sistem, dan alat sebagai gantinya.

307 

308**Biaya konteks:** Terisolasi dari sesi utama.

309 252 

310> [!TIP]253> [tab] Skills

311>254>

312> Gunakan subagents untuk pekerjaan yang tidak memerlukan konteks percakapan penuh Anda. Isolasi mereka mencegah mengembang sesi utama Anda.255> Skills adalah kemampuan tambahan dalam toolkit Claude. Mereka dapat berupa materi referensi (seperti panduan gaya API) atau alur kerja yang dapat dipanggil yang Anda picu dengan `/<name>` (seperti `/deploy`). Claude Code dilengkapi dengan [skills bundel](https://code.claude.com/docs/id/commands.md) seperti `/code-review`, `/batch`, dan `/debug` yang bekerja langsung. Anda juga dapat membuat yang Anda sendiri.

313 256>

314**Hooks**257> **Kapan:** Tergantung pada konfigurasi skill. Secara default, deskripsi dimuat saat awal sesi dan konten penuh dimuat ketika digunakan. Untuk skills hanya pengguna (`disable-model-invocation: true`), tidak ada yang dimuat sampai Anda memanggilnya.

258>

259> **Apa yang dimuat:** Untuk skills yang dapat dipanggil model, Claude melihat nama dan deskripsi di setiap permintaan. Ketika Anda memanggil skill dengan `/<name>` atau Claude memuatnya secara otomatis, konten penuh dimuat ke percakapan Anda.

260>

261> **Bagaimana Claude memilih skills:** Claude mencocokkan tugas Anda terhadap deskripsi skill untuk memutuskan mana yang relevan. Jika deskripsi samar atau tumpang tindih, Claude mungkin memuat skill yang salah atau melewatkan yang akan membantu. Untuk memberi tahu Claude menggunakan skill tertentu, panggilnya dengan `/<name>`.

262>

263> **Biaya konteks:** Rendah sampai digunakan. Skills hanya pengguna memiliki biaya nol sampai dipanggil.

264>

265> **Di subagent:** Konten penuh skills yang tercantum di field `skills` subagent [dimuat ke konteksnya saat peluncuran](https://code.claude.com/docs/id/sub-agents.md#preload-skills-into-subagents), bukan on demand. Subagent masih dapat menemukan dan memanggil skills proyek, pengguna, dan plugin yang tidak tercantum melalui tool Skill.

266>

267> > [!TIP]

268> >

269> > Gunakan `disable-model-invocation: true` untuk skills dengan efek samping. Ini menghemat konteks dan memastikan skills tersebut hanya berjalan ketika Anda menyebut namanya.

315 270 

316**Kapan:** Saat dipicu. Claude Code menjalankan hooks pada acara siklus hidup tertentu seperti eksekusi alat, batas sesi, pengajuan prompt, permintaan izin, dan pemadatan. Lihat [Hooks](https://code.claude.com/docs/id/hooks.md) untuk daftar lengkap.271> [tab] Server MCP

272>

273> **Kapan:** Awal sesi.

274>

275> **Apa yang dimuat:** Nama alat dan instruksi server dari server yang terhubung. Skema JSON penuh tetap ditunda sampai Claude memerlukan alat tertentu.

276>

277> **Biaya konteks:** [Pencarian alat](https://code.claude.com/docs/id/mcp.md#scale-with-mcp-tool-search) diaktifkan secara default, jadi alat MCP idle mengonsumsi konteks minimal.

278>

279> > [!TIP]

280> >

281> > Jalankan `/mcp` untuk melihat status koneksi setiap server. Jalankan `/context all` untuk melihat berapa banyak token yang digunakan setiap alat MCP yang dimuat. Claude Code [terhubung kembali ke server jarak jauh secara otomatis](https://code.claude.com/docs/id/mcp.md#automatic-reconnection) jika mereka terputus, dan Anda dapat memutuskan server yang tidak Anda gunakan secara aktif.

317 282 

318**Apa yang dimuat:** Tidak ada secara default. Hooks berjalan di luar percakapan utama.283> [tab] Code intelligence

284>

285> **Kapan:** Setelah pengeditan file, dan on demand ketika Claude menavigasi kode.

286>

287> **Apa yang dimuat:** Kesalahan tipe dan peringatan setelah setiap pengeditan file. Informasi definisi, referensi, dan tipe ketika Claude mencari simbol.

288>

289> **Biaya konteks:** Rendah. Pencarian simbol sering menggantikan pembacaan file yang luas, jadi penggunaan konteks bersih dapat turun.

290>

291> > [!TIP]

292> >

293> > Alat LSP tidak aktif sampai Anda memasang [plugin code intelligence](https://code.claude.com/docs/id/plugins/code-intelligence.md) untuk bahasa Anda.

319 294 

320**Biaya konteks:** Nol, kecuali hook mengembalikan output yang ditambahkan sebagai pesan ke percakapan Anda.295> [tab] Subagents

296>

297> **Kapan:** On demand, ketika Anda atau Claude menspawn satu untuk tugas.

298>

299> **Apa yang dimuat:** Konteks segar dan terisolasi yang berisi:

300>

301> * System prompt milik agent itu sendiri, bukan system prompt Claude Code

302> * Konten penuh skills yang tercantum di field `skills:` agent

303> * CLAUDE.md dan status git. Agent Explore dan Plan bawaan [dimulai tanpa keduanya](https://code.claude.com/docs/id/sub-agents.md#what-loads-at-startup), dan agent yang definisinya menetapkan [`omitClaudeMd`](https://code.claude.com/docs/id/sub-agents#supported-frontmatter-fields) dimulai tanpa file CLAUDE.md pengguna, proyek, dan lokal.

304> * Apa pun konteks yang agent utama lewatkan dalam prompt

305>

306> Untuk [fork](https://code.claude.com/docs/id/sub-agents.md#fork-the-current-conversation), Claude Code memuat percakapan induk sejauh ini, prompt sistem, dan alat sebagai gantinya.

307>

308> **Biaya konteks:** Terisolasi dari sesi utama.

309>

310> > [!TIP]

311> >

312> > Gunakan subagents untuk pekerjaan yang tidak memerlukan konteks percakapan penuh Anda. Isolasi mereka mencegah mengembang sesi utama Anda.

321 313 

322> [!TIP]314> [tab] Hooks

315>

316> **Kapan:** Saat dipicu. Claude Code menjalankan hooks pada acara siklus hidup tertentu seperti eksekusi alat, batas sesi, pengajuan prompt, permintaan izin, dan pemadatan. Lihat [Hooks](https://code.claude.com/docs/id/hooks.md) untuk daftar lengkap.

317>

318> **Apa yang dimuat:** Tidak ada secara default. Hooks berjalan di luar percakapan utama.

319>

320> **Biaya konteks:** Nol, kecuali hook mengembalikan output yang ditambahkan sebagai pesan ke percakapan Anda.

323>321>

324> Hooks ideal untuk efek samping (linting, logging) yang tidak perlu mempengaruhi konteks Claude.322> > [!TIP]

323> >

324> > Hooks ideal untuk efek samping (linting, logging) yang tidak perlu mempengaruhi konteks Claude.

325 325 

326## Pelajari lebih lanjut326## Pelajari lebih lanjut

327 327 

328Setiap fitur memiliki panduan sendiri dengan instruksi setup, contoh, dan opsi konfigurasi.328Setiap fitur memiliki panduan sendiri dengan instruksi setup, contoh, dan opsi konfigurasi.

329 329 

330> **[CLAUDE.md](https://code.claude.com/docs/id/memory.md)**330> [card] [CLAUDE.md](https://code.claude.com/docs/id/memory.md)

331>331>

332> Simpan konteks proyek, konvensi, dan instruksi332> Simpan konteks proyek, konvensi, dan instruksi

333 333 

334> **[Skills](https://code.claude.com/docs/id/skills.md)**334> [card] [Skills](https://code.claude.com/docs/id/skills.md)

335>335>

336> Berikan Claude keahlian domain dan alur kerja yang dapat digunakan kembali336> Berikan Claude keahlian domain dan alur kerja yang dapat digunakan kembali

337 337 

338> **[Subagents](https://code.claude.com/docs/id/sub-agents.md)**338> [card] [Subagents](https://code.claude.com/docs/id/sub-agents.md)

339>339>

340> Alihkan pekerjaan ke konteks terisolasi340> Alihkan pekerjaan ke konteks terisolasi

341 341 

342> **[Dynamic workflows](https://code.claude.com/docs/id/workflows.md)**342> [card] [Dynamic workflows](https://code.claude.com/docs/id/workflows.md)

343>343>

344> Jalankan banyak subagents dari satu skrip344> Jalankan banyak subagents dari satu skrip

345 345 

346> **[Cross-session messaging](https://code.claude.com/docs/id/cross-session-messaging.md)**346> [card] [Cross-session messaging](https://code.claude.com/docs/id/cross-session-messaging.md)

347>347>

348> Biarkan Claude mengirim pesan ke sesi lain Anda348> Biarkan Claude mengirim pesan ke sesi lain Anda

349 349 

350> **[MCP](https://code.claude.com/docs/id/mcp.md)**350> [card] [MCP](https://code.claude.com/docs/id/mcp.md)

351>351>

352> Hubungkan Claude ke layanan eksternal352> Hubungkan Claude ke layanan eksternal

353 353 

354> **[Hooks](https://code.claude.com/docs/id/hooks-guide.md)**354> [card] [Hooks](https://code.claude.com/docs/id/hooks-guide.md)

355>355>

356> Otomatisasi tindakan dengan hooks356> Otomatisasi tindakan dengan hooks

357 357 

358> **[Plugins](https://code.claude.com/docs/id/plugins/overview.md)**358> [card] [Plugins](https://code.claude.com/docs/id/plugins/overview.md)

359>359>

360> Bundel dan bagikan set fitur360> Bundel dan bagikan set fitur

361 361 

362> **[Marketplaces](https://code.claude.com/docs/id/plugins/create-marketplace.md)**362> [card] [Marketplaces](https://code.claude.com/docs/id/plugins/create-marketplace.md)

363>363>

364> Host dan distribusikan koleksi plugin364> Host dan distribusikan koleksi plugin

Details

74Tambahkan salah satu rahasia berikut ke repositori Anda, tergantung pada cara Anda mengautentikasi. Lihat panduan GitHub untuk [menggunakan rahasia di GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions).74Tambahkan salah satu rahasia berikut ke repositori Anda, tergantung pada cara Anda mengautentikasi. Lihat panduan GitHub untuk [menggunakan rahasia di GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions).

75 75 

76* `ANTHROPIC_API_KEY`: kunci Claude API dari [Claude Console](https://platform.claude.com)76* `ANTHROPIC_API_KEY`: kunci Claude API dari [Claude Console](https://platform.claude.com)

77* `CLAUDE_CODE_OAUTH_TOKEN`: token OAuth yang mengautentikasi dengan langganan Claude Anda, tersedia di paket Pro, Max, Team, dan Enterprise. Hasilkan satu dengan menjalankan `claude setup-token` secara lokal. Lihat [Hasilkan token jangka panjang](https://code.claude.com/docs/id/authentication.md#generate-a-long-lived-token)77* `CLAUDE_CODE_OAUTH_TOKEN`: token OAuth yang mengautentikasi dengan langganan Claude Anda, tersedia di paket Pro, Max, Ultra, Team, dan Enterprise. Hasilkan satu dengan menjalankan `claude setup-token` secara lokal. Lihat [Hasilkan token jangka panjang](https://code.claude.com/docs/id/authentication.md#generate-a-long-lived-token)

78 78 

79Dalam file alur kerja, teruskan rahasia ke input yang cocok: `anthropic_api_key` untuk kunci API, atau `claude_code_oauth_token` untuk token OAuth.79Dalam file alur kerja, teruskan rahasia ke input yang cocok: `anthropic_api_key` untuk kunci API, atau `claude_code_oauth_token` untuk token OAuth.

80 80 

Details

59 59 

60Konfigurasikan cloud Anda untuk mempercayai token OIDC yang dikeluarkan GitHub ke alur kerja, sehingga setiap jalankan alur kerja mendapatkan kredensial cloud jangka pendek. Poin-poin dalam setiap tab merangkum apa yang harus dibuat, dan setiap tab menautkan panduan vendor cloud sendiri untuk langkah-langkah tingkat konsol.60Konfigurasikan cloud Anda untuk mempercayai token OIDC yang dikeluarkan GitHub ke alur kerja, sehingga setiap jalankan alur kerja mendapatkan kredensial cloud jangka pendek. Poin-poin dalam setiap tab merangkum apa yang harus dibuat, dan setiap tab menautkan panduan vendor cloud sendiri untuk langkah-langkah tingkat konsol.

61 61 

62**Amazon Bedrock**62> [tab] Amazon Bedrock

63 63>

64Buat konfigurasi kepercayaan di akun AWS Anda, mengikuti [panduan AWS untuk membuat penyedia identitas OIDC](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html):64> Buat konfigurasi kepercayaan di akun AWS Anda, mengikuti [panduan AWS untuk membuat penyedia identitas OIDC](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html):

65 65>

66* Tambahkan penyedia identitas OIDC GitHub dengan URL penyedia `https://token.actions.githubusercontent.com` dan audiens `sts.amazonaws.com`66> * Tambahkan penyedia identitas OIDC GitHub dengan URL penyedia `https://token.actions.githubusercontent.com` dan audiens `sts.amazonaws.com`

67* Buat peran IAM yang dipercaya oleh penyedia tersebut sebagai identitas web, dan lampirkan kebijakan invokasi yang dibatasi dari [konfigurasi IAM](https://code.claude.com/docs/id/amazon-bedrock.md#iam-configuration), yang memberikan `bedrock:InvokeModel`, `bedrock:InvokeModelWithResponseStream`, `bedrock:ListInferenceProfiles`, dan `bedrock:GetInferenceProfile`, bersama dengan dua tindakan langganan `aws-marketplace`67> * Buat peran IAM yang dipercaya oleh penyedia tersebut sebagai identitas web, dan lampirkan kebijakan invokasi yang dibatasi dari [konfigurasi IAM](https://code.claude.com/docs/id/amazon-bedrock.md#iam-configuration), yang memberikan `bedrock:InvokeModel`, `bedrock:InvokeModelWithResponseStream`, `bedrock:ListInferenceProfiles`, dan `bedrock:GetInferenceProfile`, bersama dengan dua tindakan langganan `aws-marketplace`

68* Batasi kebijakan kepercayaan peran ke repositori Anda dengan kondisi subjek seperti `repo:your-org/your-repo:*`. Lihat [panduan pengerasan OIDC GitHub](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect) untuk format klaim68> * Batasi kebijakan kepercayaan peran ke repositori Anda dengan kondisi subjek seperti `repo:your-org/your-repo:*`. Lihat [panduan pengerasan OIDC GitHub](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect) untuk format klaim

69 69>

70Catat ARN peran. Anda menambahkannya sebagai rahasia di langkah berikutnya.70> Catat ARN peran. Anda menambahkannya sebagai rahasia di langkah berikutnya.

71 

72**Google Cloud's Agent Platform**

73 

74Buat sumber daya federasi di proyek Google Cloud Anda, mengikuti [dokumentasi Workload Identity Federation](https://cloud.google.com/iam/docs/workload-identity-federation):

75 

76* Aktifkan tiga API: IAM Credentials, Security Token Service (STS), dan Agent Platform API, yang nama layanannya adalah `aiplatform.googleapis.com`

77* Buat Workload Identity Pool dengan penyedia OIDC GitHub yang penerbitnya adalah `https://token.actions.githubusercontent.com`, dan tambahkan kondisi atribut yang membatasi pool ke repositori Anda

78* Buat akun layanan khusus dengan hanya peran `Vertex AI User`, yaitu `roles/aiplatform.user`, dan izinkan pool untuk menyamakannya

79 

80Catat nama sumber daya lengkap penyedia dan alamat email akun layanan. Anda menambahkannya sebagai rahasia di langkah berikutnya.

81 

82**Microsoft Foundry**

83 

84Buat aplikasi Microsoft Entra dengan kredensial terfederasi untuk repositori Anda, mengikuti [panduan Microsoft untuk mengautentikasi dari GitHub Actions](https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure-openid-connect):

85 71 

86* Daftarkan aplikasi Microsoft Entra dan tambahkan kredensial identitas terfederasi yang mempercayai token yang dikeluarkan GitHub ke repositori Anda. Identitas terkelola yang ditetapkan pengguna berfungsi sebagai pengganti aplikasi. Keduanya memiliki ID klien yang Anda catat di bawah72> [tab] Google Cloud's Agent Platform

87* Tetapkan aplikasi peran `Azure AI User` pada sumber daya Foundry Anda. Lihat [konfigurasi Azure RBAC](https://code.claude.com/docs/id/microsoft-foundry.md#azure-rbac-configuration) untuk peran kustom yang lebih sempit73>

74> Buat sumber daya federasi di proyek Google Cloud Anda, mengikuti [dokumentasi Workload Identity Federation](https://cloud.google.com/iam/docs/workload-identity-federation):

75>

76> * Aktifkan tiga API: IAM Credentials, Security Token Service (STS), dan Agent Platform API, yang nama layanannya adalah `aiplatform.googleapis.com`

77> * Buat Workload Identity Pool dengan penyedia OIDC GitHub yang penerbitnya adalah `https://token.actions.githubusercontent.com`, dan tambahkan kondisi atribut yang membatasi pool ke repositori Anda

78> * Buat akun layanan khusus dengan hanya peran `Vertex AI User`, yaitu `roles/aiplatform.user`, dan izinkan pool untuk menyamakannya

79>

80> Catat nama sumber daya lengkap penyedia dan alamat email akun layanan. Anda menambahkannya sebagai rahasia di langkah berikutnya.

88 81 

89Catat ID klien aplikasi, ID penyewa Anda, dan ID langganan Anda. Anda menambahkannya sebagai rahasia di langkah berikutnya.82> [tab] Microsoft Foundry

83>

84> Buat aplikasi Microsoft Entra dengan kredensial terfederasi untuk repositori Anda, mengikuti [panduan Microsoft untuk mengautentikasi dari GitHub Actions](https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure-openid-connect):

85>

86> * Daftarkan aplikasi Microsoft Entra dan tambahkan kredensial identitas terfederasi yang mempercayai token yang dikeluarkan GitHub ke repositori Anda. Identitas terkelola yang ditetapkan pengguna berfungsi sebagai pengganti aplikasi. Keduanya memiliki ID klien yang Anda catat di bawah

87> * Tetapkan aplikasi peran `Azure AI User` pada sumber daya Foundry Anda. Lihat [konfigurasi Azure RBAC](https://code.claude.com/docs/id/microsoft-foundry.md#azure-rbac-configuration) untuk peran kustom yang lebih sempit

88>

89> Catat ID klien aplikasi, ID penyewa Anda, dan ID langganan Anda. Anda menambahkannya sebagai rahasia di langkah berikutnya.

90 90 

91**3. Tambahkan rahasia repositori**91**3. Tambahkan rahasia repositori**

92 92 


116>116>

117> Di repositori publik, komentar yang berisi frasa pemicu dari pengguna mana pun memulai alur kerja ini. Langkah kredensial berjalan sebelum Claude Code GitHub Action memeriksa akses tulis komentator, sehingga tindakan menolak pengguna yang tidak sah hanya setelah alur kerja telah menghasilkan token App dan masuk ke penyedia cloud Anda, yang meninggalkan entri log audit dan mengonsumsi menit Actions. Untuk menghindari jalankan tersebut, tambahkan langkah yang memverifikasi akses tulis komentator sebelum langkah kredensial.117> Di repositori publik, komentar yang berisi frasa pemicu dari pengguna mana pun memulai alur kerja ini. Langkah kredensial berjalan sebelum Claude Code GitHub Action memeriksa akses tulis komentator, sehingga tindakan menolak pengguna yang tidak sah hanya setelah alur kerja telah menghasilkan token App dan masuk ke penyedia cloud Anda, yang meninggalkan entri log audit dan mengonsumsi menit Actions. Untuk menghindari jalankan tersebut, tambahkan langkah yang memverifikasi akses tulis komentator sebelum langkah kredensial.

118 118 

119**Amazon Bedrock**119> [tab] Amazon Bedrock

120 120>

121Ganti nilai `aws-region` dengan milik Anda sendiri. Langkah kredensial mengekspornya sebagai `AWS_REGION` untuk sisa pekerjaan.121> Ganti nilai `aws-region` dengan milik Anda sendiri. Langkah kredensial mengekspornya sebagai `AWS_REGION` untuk sisa pekerjaan.

122 122>

123```yaml theme={null}123> ```yaml theme={null}

124name: Claude PR Action124> name: Claude PR Action

125 125>

126permissions:126> permissions:

127 contents: write127> contents: write

128 pull-requests: write128> pull-requests: write

129 issues: write129> issues: write

130 id-token: write130> id-token: write

131 131>

132on:132> on:

133 issue_comment:133> issue_comment:

134 types: [created]134> types: [created]

135 pull_request_review_comment:135> pull_request_review_comment:

136 types: [created]136> types: [created]

137 issues:137> issues:

138 types: [opened]138> types: [opened]

139 139>

140jobs:140> jobs:

141 claude-pr:141> claude-pr:

142 if: |142> if: |

143 (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||143> (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||

144 (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||144> (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||

145 (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))145> (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))

146 runs-on: ubuntu-latest146> runs-on: ubuntu-latest

147 steps:147> steps:

148 - name: Checkout repository148> - name: Checkout repository

149 uses: actions/checkout@v6149> uses: actions/checkout@v6

150 150>

151 - name: Generate GitHub App token151> - name: Generate GitHub App token

152 id: app-token152> id: app-token

153 uses: actions/create-github-app-token@v2153> uses: actions/create-github-app-token@v2

154 with:154> with:

155 app-id: ${{ secrets.APP_ID }}155> app-id: ${{ secrets.APP_ID }}

156 private-key: ${{ secrets.APP_PRIVATE_KEY }}156> private-key: ${{ secrets.APP_PRIVATE_KEY }}

157 157>

158 - name: Configure AWS Credentials (OIDC)158> - name: Configure AWS Credentials (OIDC)

159 uses: aws-actions/configure-aws-credentials@v4159> uses: aws-actions/configure-aws-credentials@v4

160 with:160> with:

161 role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}161> role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}

162 aws-region: us-west-2162> aws-region: us-west-2

163 163>

164 - uses: anthropics/claude-code-action@v1164> - uses: anthropics/claude-code-action@v1

165 with:165> with:

166 github_token: ${{ steps.app-token.outputs.token }}166> github_token: ${{ steps.app-token.outputs.token }}

167 use_bedrock: "true"167> use_bedrock: "true"

168 claude_args: '--model us.anthropic.claude-sonnet-4-6'168> claude_args: '--model us.anthropic.claude-sonnet-4-6'

169```169> ```

170 170>

171> [!TIP]171> > [!TIP]

172>172> >

173> ID model Bedrock menyertakan awalan profil inferensi lintas wilayah seperti `us.`. Gunakan awalan untuk grup wilayah tempat Anda memberikan akses model.173> > ID model Bedrock menyertakan awalan profil inferensi lintas wilayah seperti `us.`. Gunakan awalan untuk grup wilayah tempat Anda memberikan akses model.

174 174 

175**Google Cloud's Agent Platform**175> [tab] Google Cloud's Agent Platform

176 176>

177Ganti nilai `CLOUD_ML_REGION` dengan milik Anda sendiri. Anda tidak perlu mengkode keras ID proyek, karena alur kerja membacanya dari output langkah `auth`.177> Ganti nilai `CLOUD_ML_REGION` dengan milik Anda sendiri. Anda tidak perlu mengkode keras ID proyek, karena alur kerja membacanya dari output langkah `auth`.

178 178>

179```yaml theme={null}179> ```yaml theme={null}

180name: Claude PR Action180> name: Claude PR Action

181 181>

182permissions:182> permissions:

183 contents: write183> contents: write

184 pull-requests: write184> pull-requests: write

185 issues: write185> issues: write

186 id-token: write186> id-token: write

187 187>

188on:188> on:

189 issue_comment:189> issue_comment:

190 types: [created]190> types: [created]

191 pull_request_review_comment:191> pull_request_review_comment:

192 types: [created]192> types: [created]

193 issues:193> issues:

194 types: [opened]194> types: [opened]

195 195>

196jobs:196> jobs:

197 claude-pr:197> claude-pr:

198 if: |198> if: |

199 (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||199> (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||

200 (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||200> (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||

201 (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))201> (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))

202 runs-on: ubuntu-latest202> runs-on: ubuntu-latest

203 steps:203> steps:

204 - name: Checkout repository204> - name: Checkout repository

205 uses: actions/checkout@v6205> uses: actions/checkout@v6

206 206>

207 - name: Generate GitHub App token207> - name: Generate GitHub App token

208 id: app-token208> id: app-token

209 uses: actions/create-github-app-token@v2209> uses: actions/create-github-app-token@v2

210 with:210> with:

211 app-id: ${{ secrets.APP_ID }}211> app-id: ${{ secrets.APP_ID }}

212 private-key: ${{ secrets.APP_PRIVATE_KEY }}212> private-key: ${{ secrets.APP_PRIVATE_KEY }}

213 213>

214 - name: Authenticate to Google Cloud214> - name: Authenticate to Google Cloud

215 id: auth215> id: auth

216 uses: google-github-actions/auth@v2216> uses: google-github-actions/auth@v2

217 with:217> with:

218 workload_identity_provider: ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }}218> workload_identity_provider: ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }}

219 service_account: ${{ secrets.GCP_SERVICE_ACCOUNT }}219> service_account: ${{ secrets.GCP_SERVICE_ACCOUNT }}

220 220>

221 - uses: anthropics/claude-code-action@v1221> - uses: anthropics/claude-code-action@v1

222 with:222> with:

223 github_token: ${{ steps.app-token.outputs.token }}223> github_token: ${{ steps.app-token.outputs.token }}

224 use_vertex: "true"224> use_vertex: "true"

225 claude_args: '--model claude-sonnet-5'225> claude_args: '--model claude-sonnet-5'

226 env:226> env:

227 ANTHROPIC_VERTEX_PROJECT_ID: ${{ steps.auth.outputs.project_id }}227> ANTHROPIC_VERTEX_PROJECT_ID: ${{ steps.auth.outputs.project_id }}

228 CLOUD_ML_REGION: us-east5228> CLOUD_ML_REGION: us-east5

229```229> ```

230 230 

231**Microsoft Foundry**231> [tab] Microsoft Foundry

232 232>

233Ganti `your-resource-name` dengan nama sumber daya Foundry Anda. Claude Code membangun URL titik akhir darinya. Langkah `azure/login` masuk dengan token OIDC alur kerja, dan Claude Code mengambil kredensial melalui [rantai kredensial default](https://learn.microsoft.com/en-us/azure/developer/javascript/sdk/authentication/credential-chains#defaultazurecredential-overview) Azure.233> Ganti `your-resource-name` dengan nama sumber daya Foundry Anda. Claude Code membangun URL titik akhir darinya. Langkah `azure/login` masuk dengan token OIDC alur kerja, dan Claude Code mengambil kredensial melalui [rantai kredensial default](https://learn.microsoft.com/en-us/azure/developer/javascript/sdk/authentication/credential-chains#defaultazurecredential-overview) Azure.

234 234>

235```yaml theme={null}235> ```yaml theme={null}

236name: Claude PR Action236> name: Claude PR Action

237 237>

238permissions:238> permissions:

239 contents: write239> contents: write

240 pull-requests: write240> pull-requests: write

241 issues: write241> issues: write

242 id-token: write242> id-token: write

243 243>

244on:244> on:

245 issue_comment:245> issue_comment:

246 types: [created]246> types: [created]

247 pull_request_review_comment:247> pull_request_review_comment:

248 types: [created]248> types: [created]

249 issues:249> issues:

250 types: [opened]250> types: [opened]

251 251>

252jobs:252> jobs:

253 claude-pr:253> claude-pr:

254 if: |254> if: |

255 (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||255> (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||

256 (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||256> (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||

257 (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))257> (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))

258 runs-on: ubuntu-latest258> runs-on: ubuntu-latest

259 steps:259> steps:

260 - name: Checkout repository260> - name: Checkout repository

261 uses: actions/checkout@v6261> uses: actions/checkout@v6

262 262>

263 - name: Generate GitHub App token263> - name: Generate GitHub App token

264 id: app-token264> id: app-token

265 uses: actions/create-github-app-token@v2265> uses: actions/create-github-app-token@v2

266 with:266> with:

267 app-id: ${{ secrets.APP_ID }}267> app-id: ${{ secrets.APP_ID }}

268 private-key: ${{ secrets.APP_PRIVATE_KEY }}268> private-key: ${{ secrets.APP_PRIVATE_KEY }}

269 269>

270 - name: Authenticate to Azure270> - name: Authenticate to Azure

271 uses: azure/login@v2271> uses: azure/login@v2

272 with:272> with:

273 client-id: ${{ secrets.AZURE_CLIENT_ID }}273> client-id: ${{ secrets.AZURE_CLIENT_ID }}

274 tenant-id: ${{ secrets.AZURE_TENANT_ID }}274> tenant-id: ${{ secrets.AZURE_TENANT_ID }}

275 subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}275> subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}

276 276>

277 - uses: anthropics/claude-code-action@v1277> - uses: anthropics/claude-code-action@v1

278 with:278> with:

279 github_token: ${{ steps.app-token.outputs.token }}279> github_token: ${{ steps.app-token.outputs.token }}

280 use_foundry: "true"280> use_foundry: "true"

281 claude_args: '--model claude-sonnet-5'281> claude_args: '--model claude-sonnet-5'

282 env:282> env:

283 ANTHROPIC_FOUNDRY_RESOURCE: your-resource-name283> ANTHROPIC_FOUNDRY_RESOURCE: your-resource-name

284```284> ```

285 285>

286> [!TIP]286> > [!TIP]

287>287> >

288> Gunakan ID model yang cocok dengan penerapan Claude di sumber daya Foundry Anda. Lihat [Claude Code on Microsoft Foundry](https://code.claude.com/docs/id/microsoft-foundry.md) untuk konfigurasi model dan penentuan versi.288> > Gunakan ID model yang cocok dengan penerapan Claude di sumber daya Foundry Anda. Lihat [Claude Code on Microsoft Foundry](https://code.claude.com/docs/id/microsoft-foundry.md) untuk konfigurasi model dan penentuan versi.

289 289 

290Dengan penyedia apa pun, Anda dapat membatasi durasi jalankan dan biaya dengan menambahkan `--max-turns` ke `claude_args`. Lihat [Kelola biaya](https://code.claude.com/docs/id/github-actions.md#manage-costs).290Dengan penyedia apa pun, Anda dapat membatasi durasi jalankan dan biaya dengan menambahkan `--max-turns` ke `claude_args`. Lihat [Kelola biaya](https://code.claude.com/docs/id/github-actions.md#manage-costs).

291 291 

gitlab-ci-cd.md +52 −52

Details

158 158 

159Untuk lingkungan perusahaan, Anda dapat menjalankan Claude Code sepenuhnya pada infrastruktur cloud Anda dengan pengalaman pengembang yang sama.159Untuk lingkungan perusahaan, Anda dapat menjalankan Claude Code sepenuhnya pada infrastruktur cloud Anda dengan pengalaman pengembang yang sama.

160 160 

161**Amazon Bedrock**161> [tab] Amazon Bedrock

162 162>

163### Prasyarat163> ### Prasyarat

164 164>

165Sebelum menyiapkan Claude Code dengan Amazon Bedrock, Anda memerlukan:165> Sebelum menyiapkan Claude Code dengan Amazon Bedrock, Anda memerlukan:

166 166>

1671. Akun AWS dengan akses Amazon Bedrock ke model Claude yang diinginkan167> 1. Akun AWS dengan akses Amazon Bedrock ke model Claude yang diinginkan

1682. GitLab dikonfigurasi sebagai penyedia identitas OIDC di AWS IAM168> 2. GitLab dikonfigurasi sebagai penyedia identitas OIDC di AWS IAM

1693. Peran IAM dengan izin Amazon Bedrock dan kebijakan kepercayaan yang dibatasi pada proyek/ref GitLab Anda169> 3. Peran IAM dengan izin Amazon Bedrock dan kebijakan kepercayaan yang dibatasi pada proyek/ref GitLab Anda

1704. Variabel CI/CD GitLab untuk asumsi peran:170> 4. Variabel CI/CD GitLab untuk asumsi peran:

171 * `AWS_ROLE_TO_ASSUME` (ARN peran)171> * `AWS_ROLE_TO_ASSUME` (ARN peran)

172 * `AWS_REGION` (wilayah Amazon Bedrock)172> * `AWS_REGION` (wilayah Amazon Bedrock)

173 173>

174### Instruksi penyiapan174> ### Instruksi penyiapan

175 175>

176Konfigurasikan AWS untuk memungkinkan pekerjaan CI GitLab mengasumsikan peran IAM melalui OIDC (tanpa kunci statis).176> Konfigurasikan AWS untuk memungkinkan pekerjaan CI GitLab mengasumsikan peran IAM melalui OIDC (tanpa kunci statis).

177 177>

178**Penyiapan yang diperlukan:**178> **Penyiapan yang diperlukan:**

179 179>

1801. Aktifkan Amazon Bedrock dan minta akses ke model Claude target Anda180> 1. Aktifkan Amazon Bedrock dan minta akses ke model Claude target Anda

1812. Buat penyedia OIDC IAM untuk GitLab jika belum ada181> 2. Buat penyedia OIDC IAM untuk GitLab jika belum ada

1823. Buat peran IAM yang dipercaya oleh penyedia OIDC GitLab, dibatasi pada proyek dan ref yang dilindungi Anda182> 3. Buat peran IAM yang dipercaya oleh penyedia OIDC GitLab, dibatasi pada proyek dan ref yang dilindungi Anda

1834. Lampirkan izin least-privilege untuk API invoke Amazon Bedrock183> 4. Lampirkan izin least-privilege untuk API invoke Amazon Bedrock

184 184>

185Gunakan [contoh pekerjaan Amazon Bedrock](#configuration-examples) untuk menukar token OIDC pekerjaan dengan kredensial AWS sementara saat runtime.185> Gunakan [contoh pekerjaan Amazon Bedrock](#configuration-examples) untuk menukar token OIDC pekerjaan dengan kredensial AWS sementara saat runtime.

186 

187**Google Cloud's Agent Platform**

188 

189### Prasyarat

190 

191Sebelum menyiapkan Claude Code dengan Google Cloud's Agent Platform, Anda memerlukan:

192 

1931. Proyek Google Cloud dengan:

194 * API Google Cloud's Agent Platform diaktifkan

195 * Workload Identity Federation dikonfigurasi untuk mempercayai GitLab OIDC

1962. Akun layanan khusus dengan hanya peran Google Cloud's Agent Platform yang diperlukan

1973. Variabel CI/CD GitLab:

198 * `GCP_WORKLOAD_IDENTITY_PROVIDER` (nama sumber daya penyedia tanpa awalan `//iam.googleapis.com/`, seperti `projects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-provider`)

199 * `GCP_SERVICE_ACCOUNT` (email akun layanan)

200 * `GCP_PROJECT_ID` (ID proyek Google Cloud)

201 

202### Instruksi penyiapan

203 

204Konfigurasikan Google Cloud untuk memungkinkan pekerjaan CI GitLab menyamar sebagai akun layanan melalui Workload Identity Federation.

205 

206**Penyiapan yang diperlukan:**

207 

2081. Aktifkan IAM Credentials API, STS API, dan Google Cloud's Agent Platform API

2092. Buat Workload Identity Pool dan penyedia untuk GitLab OIDC

2103. Buat akun layanan khusus dengan peran Google Cloud's Agent Platform

2114. Berikan izin prinsip WIF untuk menyamar sebagai akun layanan

212 186 

213Gunakan [contoh pekerjaan Agent Platform](#configuration-examples) untuk autentikasi tanpa menyimpan kunci.187> [tab] Google Cloud's Agent Platform

188>

189> ### Prasyarat

190>

191> Sebelum menyiapkan Claude Code dengan Google Cloud's Agent Platform, Anda memerlukan:

192>

193> 1. Proyek Google Cloud dengan:

194> * API Google Cloud's Agent Platform diaktifkan

195> * Workload Identity Federation dikonfigurasi untuk mempercayai GitLab OIDC

196> 2. Akun layanan khusus dengan hanya peran Google Cloud's Agent Platform yang diperlukan

197> 3. Variabel CI/CD GitLab:

198> * `GCP_WORKLOAD_IDENTITY_PROVIDER` (nama sumber daya penyedia tanpa awalan `//iam.googleapis.com/`, seperti `projects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-provider`)

199> * `GCP_SERVICE_ACCOUNT` (email akun layanan)

200> * `GCP_PROJECT_ID` (ID proyek Google Cloud)

201>

202> ### Instruksi penyiapan

203>

204> Konfigurasikan Google Cloud untuk memungkinkan pekerjaan CI GitLab menyamar sebagai akun layanan melalui Workload Identity Federation.

205>

206> **Penyiapan yang diperlukan:**

207>

208> 1. Aktifkan IAM Credentials API, STS API, dan Google Cloud's Agent Platform API

209> 2. Buat Workload Identity Pool dan penyedia untuk GitLab OIDC

210> 3. Buat akun layanan khusus dengan peran Google Cloud's Agent Platform

211> 4. Berikan izin prinsip WIF untuk menyamar sebagai akun layanan

212>

213> Gunakan [contoh pekerjaan Agent Platform](#configuration-examples) untuk autentikasi tanpa menyimpan kunci.

214 214 

215## Contoh konfigurasi215## Contoh konfigurasi

216 216 

glossary.md +5 −2

Details

54 54 

55### Auto mode55### Auto mode

56 56 

57Sebuah [permission mode](#permission-mode) di mana model classifier terpisah meninjau tindakan alih-alih Anda, sehingga Claude Code menjalankan sebagian besar dari mereka tanpa menanyakan Anda. Claude Code masih menanyakan Anda sebelum tindakan yang cocok dengan aturan ask eksplisit Anda. Dengan Claude Code v2.1.283 atau lebih baru, auto mode adalah [permission mode awal bawaan](https://code.claude.com/docs/id/permission-modes.md#which-mode-a-session-starts-in) untuk sesi terminal interaktif dan VS Code, dan pada versi sebelumnya hanya pada paket Pro, Max, dan Team. Classifier memblokir eskalasi scope, infrastruktur yang tidak dipercaya, dan [prompt injection](#prompt-injection). Hasil tool dilepas dari apa yang dilihatnya, sehingga konten berbahaya dalam file atau halaman web tidak dapat memanipulasinya secara langsung.57Sebuah [mode izin](#permission-mode) di mana model pengklasifikasi terpisah meninjau tindakan alih-alih Anda, sehingga Claude Code menjalankan sebagian besar dari tindakan tersebut tanpa menanyakan Anda. Claude Code masih menanyakan Anda sebelum tindakan yang cocok dengan aturan ask eksplisit Anda. Pengklasifikasi memblokir eskalasi cakupan, infrastruktur yang tidak dipercaya, dan [prompt injection](#prompt-injection). Hasil tool dilepas dari apa yang dilihatnya, sehingga konten berbahaya dalam file atau halaman web tidak dapat memanipulasinya secara langsung.

58 

59* **Claude Code v2.1.283 atau lebih baru**: auto mode adalah [mode izin awal bawaan](https://code.claude.com/docs/id/permission-modes.md#which-mode-a-session-starts-in) untuk sesi terminal interaktif dan VS Code

60* **Versi sebelumnya**: auto mode adalah mode izin awal bawaan hanya pada paket Pro, Max, Ultra, dan Team

58 61 

59Pelajari lebih lanjut: [Eliminate prompts with auto mode](https://code.claude.com/docs/id/permission-modes.md#eliminate-prompts-with-auto-mode)62Pelajari lebih lanjut: [Eliminate prompts with auto mode](https://code.claude.com/docs/id/permission-modes.md#eliminate-prompts-with-auto-mode)

60 63 


140 143 

141### Dispatch144### Dispatch

142 145 

143Router tugas yang diinisiasi telepon yang menelurkan sesi Claude Code di aplikasi Desktop ketika Anda mengirim tugas coding dari aplikasi mobile Claude. Prompt Anda merutekan ke tool yang tepat secara otomatis. Tersedia di paket Pro dan Max.146Router tugas yang diinisiasi telepon yang menelurkan sesi Claude Code di aplikasi Desktop ketika Anda mengirim tugas coding dari aplikasi mobile Claude. Prompt Anda merutekan ke tool yang tepat secara otomatis. Tersedia di paket Pro, Max, dan Ultra.

144 147 

145Pelajari lebih lanjut: [Sessions from Dispatch](https://code.claude.com/docs/id/desktop.md#sessions-from-dispatch)148Pelajari lebih lanjut: [Sessions from Dispatch](https://code.claude.com/docs/id/desktop.md#sessions-from-dispatch)

146 149 

hooks.md +411 −411

Details

68 68 

69Untuk melihat bagaimana event, matcher, dan handler cocok bersama, pertimbangkan hook `PreToolUse` ini yang memblokir perintah shell yang merusak.69Untuk melihat bagaimana event, matcher, dan handler cocok bersama, pertimbangkan hook `PreToolUse` ini yang memblokir perintah shell yang merusak.

70 70 

71**macOS/Linux**71> [tab] macOS/Linux

72 72>

73`matcher` mempersempit ke pemanggilan tool Bash dan kondisi `if` mempersempit lebih lanjut ke subperintah Bash yang cocok dengan `rm *`, jadi `block-rm.sh` hanya spawn ketika kedua filter cocok:73> `matcher` mempersempit ke pemanggilan tool Bash dan kondisi `if` mempersempit lebih lanjut ke subperintah Bash yang cocok dengan `rm *`, jadi `block-rm.sh` hanya spawn ketika kedua filter cocok:

74 74>

75```json theme={null}75> ```json theme={null}

76{76> {

77 "hooks": {77> "hooks": {

78 "PreToolUse": [78> "PreToolUse": [

79 {79> {

80 "matcher": "Bash",80> "matcher": "Bash",

81 "hooks": [81> "hooks": [

82 {82> {

83 "type": "command",83> "type": "command",

84 "if": "Bash(rm *)",84> "if": "Bash(rm *)",

85 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh",85> "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh",

86 "args": []86> "args": []

87 }87> }

88 ]88> ]

89 }89> }

90 ]90> ]

91 }91> }

92}92> }

93```93> ```

94 94>

95Skrip membaca input JSON dari stdin, mengekstrak perintah, dan mengembalikan `permissionDecision` dari `"deny"` jika berisi `rm -rf`. Simpan ke `.claude/hooks/block-rm.sh` di proyek Anda dan buat dapat dieksekusi dengan `chmod +x .claude/hooks/block-rm.sh` sehingga Claude Code dapat menjalankannya:95> Skrip membaca input JSON dari stdin, mengekstrak perintah, dan mengembalikan `permissionDecision` dari `"deny"` jika berisi `rm -rf`. Simpan ke `.claude/hooks/block-rm.sh` di proyek Anda dan buat dapat dieksekusi dengan `chmod +x .claude/hooks/block-rm.sh` sehingga Claude Code dapat menjalankannya:

96 96>

97```bash theme={null}97> ```bash theme={null}

98#!/bin/bash98> #!/bin/bash

99# .claude/hooks/block-rm.sh99> # .claude/hooks/block-rm.sh

100COMMAND=$(jq -r '.tool_input.command')100> COMMAND=$(jq -r '.tool_input.command')

101 101>

102if echo "$COMMAND" | grep -q 'rm -rf'; then102> if echo "$COMMAND" | grep -q 'rm -rf'; then

103 jq -n '{103> jq -n '{

104 hookSpecificOutput: {104> hookSpecificOutput: {

105 hookEventName: "PreToolUse",105> hookEventName: "PreToolUse",

106 permissionDecision: "deny",106> permissionDecision: "deny",

107 permissionDecisionReason: "Destructive command blocked by hook"107> permissionDecisionReason: "Destructive command blocked by hook"

108 }108> }

109 }'109> }'

110else110> else

111 exit 0 # no decision; normal permission flow applies111> exit 0 # no decision; normal permission flow applies

112fi112> fi

113```113> ```

114 114>

115Skrip ini, seperti contoh Bash lainnya di halaman ini yang mengurai input JSON, menggunakan `jq`, jadi instal `jq` dan pastikan itu ada di `PATH` Anda sebelum mencobanya.115> Skrip ini, seperti contoh Bash lainnya di halaman ini yang mengurai input JSON, menggunakan `jq`, jadi instal `jq` dan pastikan itu ada di `PATH` Anda sebelum mencobanya.

116 

117**Windows (PowerShell)**

118 

119Matcher `Bash|PowerShell` mencakup [tool PowerShell](#powershell) serta Bash. Satu aturan `if` hanya cocok dengan pemanggilan satu tool, jadi setiap tool mendapat handler-nya sendiri: yang pertama mempersempit ke subperintah Bash yang cocok dengan `rm *`, yang kedua ke perintah PowerShell yang cocok dengan `Remove-Item *`. Keduanya menjalankan skrip yang sama melalui `powershell.exe`:

120 

121```json theme={null}

122{

123 "hooks": {

124 "PreToolUse": [

125 {

126 "matcher": "Bash|PowerShell",

127 "hooks": [

128 {

129 "type": "command",

130 "if": "Bash(rm *)",

131 "command": "powershell.exe",

132 "args": [

133 "-NoProfile",

134 "-ExecutionPolicy",

135 "Bypass",

136 "-File",

137 "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.ps1"

138 ]

139 },

140 {

141 "type": "command",

142 "if": "PowerShell(Remove-Item *)",

143 "command": "powershell.exe",

144 "args": [

145 "-NoProfile",

146 "-ExecutionPolicy",

147 "Bypass",

148 "-File",

149 "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.ps1"

150 ]

151 }

152 ]

153 }

154 ]

155 }

156}

157```

158 

159Flag `-NoProfile` melewati pemuatan profil PowerShell Anda sehingga hook dimulai dengan cepat, dan `-ExecutionPolicy Bypass` memungkinkan PowerShell menjalankan file skrip lokal.

160 

161Skrip membaca input JSON dari stdin, mengekstrak perintah, dan mengembalikan `permissionDecision` dari `"deny"` jika berisi `rm -rf` atau `Remove-Item` diikuti oleh `-Recurse`. Simpan ke `.claude/hooks/block-rm.ps1` di proyek Anda:

162 

163```powershell theme={null}

164# .claude/hooks/block-rm.ps1

165$callInput = [Console]::In.ReadToEnd() | ConvertFrom-Json

166$command = $callInput.tool_input.command

167 116 

168if ($command -match 'rm -rf|Remove-Item.*-Recurse') {117> [tab] Windows (PowerShell)

169 @{118>

170 hookSpecificOutput = @{119> Matcher `Bash|PowerShell` mencakup [tool PowerShell](#powershell) serta Bash. Satu aturan `if` hanya cocok dengan pemanggilan satu tool, jadi setiap tool mendapat handler-nya sendiri: yang pertama mempersempit ke subperintah Bash yang cocok dengan `rm *`, yang kedua ke perintah PowerShell yang cocok dengan `Remove-Item *`. Keduanya menjalankan skrip yang sama melalui `powershell.exe`:

171 hookEventName = "PreToolUse"120>

172 permissionDecision = "deny"121> ```json theme={null}

173 permissionDecisionReason = "Destructive command blocked by hook"122> {

174 }123> "hooks": {

175 } | ConvertTo-Json124> "PreToolUse": [

176} else {125> {

177 exit 0 # no decision; normal permission flow applies126> "matcher": "Bash|PowerShell",

178}127> "hooks": [

179```128> {

129> "type": "command",

130> "if": "Bash(rm *)",

131> "command": "powershell.exe",

132> "args": [

133> "-NoProfile",

134> "-ExecutionPolicy",

135> "Bypass",

136> "-File",

137> "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.ps1"

138> ]

139> },

140> {

141> "type": "command",

142> "if": "PowerShell(Remove-Item *)",

143> "command": "powershell.exe",

144> "args": [

145> "-NoProfile",

146> "-ExecutionPolicy",

147> "Bypass",

148> "-File",

149> "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.ps1"

150> ]

151> }

152> ]

153> }

154> ]

155> }

156> }

157> ```

158>

159> Flag `-NoProfile` melewati pemuatan profil PowerShell Anda sehingga hook dimulai dengan cepat, dan `-ExecutionPolicy Bypass` memungkinkan PowerShell menjalankan file skrip lokal.

160>

161> Skrip membaca input JSON dari stdin, mengekstrak perintah, dan mengembalikan `permissionDecision` dari `"deny"` jika berisi `rm -rf` atau `Remove-Item` diikuti oleh `-Recurse`. Simpan ke `.claude/hooks/block-rm.ps1` di proyek Anda:

162>

163> ```powershell theme={null}

164> # .claude/hooks/block-rm.ps1

165> $callInput = [Console]::In.ReadToEnd() | ConvertFrom-Json

166> $command = $callInput.tool_input.command

167>

168> if ($command -match 'rm -rf|Remove-Item.*-Recurse') {

169> @{

170> hookSpecificOutput = @{

171> hookEventName = "PreToolUse"

172> permissionDecision = "deny"

173> permissionDecisionReason = "Destructive command blocked by hook"

174> }

175> } | ConvertTo-Json

176> } else {

177> exit 0 # no decision; normal permission flow applies

178> }

179> ```

180 180 

181Sekarang anggaplah Claude Code memutuskan untuk menjalankan `Bash "rm -rf /tmp/build"` terhadap konfigurasi macOS/Linux. Inilah yang terjadi:181Sekarang anggaplah Claude Code memutuskan untuk menjalankan `Bash "rm -rf /tmp/build"` terhadap konfigurasi macOS/Linux. Inilah yang terjadi:

182 182 


601 601 

602Lebih suka [exec form](#exec-form-and-shell-form) untuk hook apa pun yang mereferensikan path placeholder. Dalam shell form, bungkus setiap placeholder dalam tanda kutip ganda.602Lebih suka [exec form](#exec-form-and-shell-form) untuk hook apa pun yang mereferensikan path placeholder. Dalam shell form, bungkus setiap placeholder dalam tanda kutip ganda.

603 603 

604**Skrip proyek**604> [tab] Skrip proyek

605 605>

606Contoh ini menggunakan `${CLAUDE_PROJECT_DIR}` untuk menjalankan pemeriksa gaya dari direktori `.claude/hooks/` proyek setelah pemanggilan tool `Write` atau `Edit` apa pun:606> Contoh ini menggunakan `${CLAUDE_PROJECT_DIR}` untuk menjalankan pemeriksa gaya dari direktori `.claude/hooks/` proyek setelah pemanggilan tool `Write` atau `Edit` apa pun:

607 607>

608```json theme={null}608> ```json theme={null}

609{609> {

610 "hooks": {610> "hooks": {

611 "PostToolUse": [611> "PostToolUse": [

612 {612> {

613 "matcher": "Write|Edit",613> "matcher": "Write|Edit",

614 "hooks": [614> "hooks": [

615 {615> {

616 "type": "command",616> "type": "command",

617 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/check-style.sh",617> "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/check-style.sh",

618 "args": []618> "args": []

619 }619> }

620 ]620> ]

621 }621> }

622 ]622> ]

623 }623> }

624}624> }

625```625> ```

626 626 

627**Skrip plugin**627> [tab] Skrip plugin

628 628>

629Tentukan plugin hooks dalam `hooks/hooks.json` dengan bidang `description` tingkat atas opsional. Ketika plugin diaktifkan, hooks-nya bergabung dengan hooks pengguna dan proyek Anda.629> Tentukan plugin hooks dalam `hooks/hooks.json` dengan bidang `description` tingkat atas opsional. Ketika plugin diaktifkan, hooks-nya bergabung dengan hooks pengguna dan proyek Anda.

630 630>

631Contoh ini menjalankan skrip pemformatan yang dibundel dengan plugin:631> Contoh ini menjalankan skrip pemformatan yang dibundel dengan plugin:

632 632>

633```json theme={null}633> ```json theme={null}

634{634> {

635 "description": "Automatic code formatting",635> "description": "Automatic code formatting",

636 "hooks": {636> "hooks": {

637 "PostToolUse": [637> "PostToolUse": [

638 {638> {

639 "matcher": "Write|Edit",639> "matcher": "Write|Edit",

640 "hooks": [640> "hooks": [

641 {641> {

642 "type": "command",642> "type": "command",

643 "command": "${CLAUDE_PLUGIN_ROOT}/scripts/format.sh",643> "command": "${CLAUDE_PLUGIN_ROOT}/scripts/format.sh",

644 "args": [],644> "args": [],

645 "timeout": 30645> "timeout": 30

646 }646> }

647 ]647> ]

648 }648> }

649 ]649> ]

650 }650> }

651}651> }

652```652> ```

653 653>

654Lihat [plugin components reference](https://code.claude.com/docs/id/plugins/components.md#hooks) untuk detail tentang membuat plugin hooks.654> Lihat [plugin components reference](https://code.claude.com/docs/id/plugins/components.md#hooks) untuk detail tentang membuat plugin hooks.

655 655 

656### Hooks dalam skills dan agents656### Hooks dalam skills dan agents

657 657 


1180 1180 

1181Berikut contoh setiap pola dalam praktik:1181Berikut contoh setiap pola dalam praktik:

1182 1182 

1183**Keputusan tingkat atas**1183> [tab] Keputusan tingkat atas

1184 1184>

1185Satu-satunya nilai untuk `decision` adalah `"block"`. Untuk mengizinkan tindakan dilanjutkan, hilangkan `decision` dari JSON Anda, atau keluar dengan 0 tanpa JSON sama sekali:1185> Satu-satunya nilai untuk `decision` adalah `"block"`. Untuk mengizinkan tindakan dilanjutkan, hilangkan `decision` dari JSON Anda, atau keluar dengan 0 tanpa JSON sama sekali:

1186 1186>

1187```json theme={null}1187> ```json theme={null}

1188{1188> {

1189 "decision": "block",1189> "decision": "block",

1190 "reason": "Test suite must pass before proceeding"1190> "reason": "Test suite must pass before proceeding"

1191}1191> }

1192```1192> ```

1193 1193 

1194**PreToolUse**1194> [tab] PreToolUse

1195 1195>

1196Menggunakan `hookSpecificOutput` untuk kontrol yang lebih kaya: mengizinkan, menolak, atau mengeskalasi ke pengguna. Anda juga dapat memodifikasi input tool sebelum tool berjalan atau menyisipkan konteks tambahan untuk Claude. Lihat [Kontrol keputusan PreToolUse](#pretooluse-decision-control) untuk kumpulan opsi lengkap.1196> Menggunakan `hookSpecificOutput` untuk kontrol yang lebih kaya: mengizinkan, menolak, atau mengeskalasi ke pengguna. Anda juga dapat memodifikasi input tool sebelum tool berjalan atau menyisipkan konteks tambahan untuk Claude. Lihat [Kontrol keputusan PreToolUse](#pretooluse-decision-control) untuk kumpulan opsi lengkap.

1197 1197>

1198```json theme={null}1198> ```json theme={null}

1199{1199> {

1200 "hookSpecificOutput": {1200> "hookSpecificOutput": {

1201 "hookEventName": "PreToolUse",1201> "hookEventName": "PreToolUse",

1202 "permissionDecision": "deny",1202> "permissionDecision": "deny",

1203 "permissionDecisionReason": "Database writes are not allowed"1203> "permissionDecisionReason": "Database writes are not allowed"

1204 }1204> }

1205}1205> }

1206```1206> ```

1207 1207 

1208**PermissionRequest**1208> [tab] PermissionRequest

1209 1209>

1210Menggunakan `hookSpecificOutput` untuk mengizinkan atau menolak permintaan izin atas nama pengguna. Saat mengizinkan, Anda juga dapat memodifikasi input tool atau menerapkan aturan izin sehingga pengguna tidak ditanya lagi. Lihat [Kontrol keputusan PermissionRequest](#permissionrequest-decision-control) untuk kumpulan opsi lengkap.1210> Menggunakan `hookSpecificOutput` untuk mengizinkan atau menolak permintaan izin atas nama pengguna. Saat mengizinkan, Anda juga dapat memodifikasi input tool atau menerapkan aturan izin sehingga pengguna tidak ditanya lagi. Lihat [Kontrol keputusan PermissionRequest](#permissionrequest-decision-control) untuk kumpulan opsi lengkap.

1211 1211>

1212```json theme={null}1212> ```json theme={null}

1213{1213> {

1214 "hookSpecificOutput": {1214> "hookSpecificOutput": {

1215 "hookEventName": "PermissionRequest",1215> "hookEventName": "PermissionRequest",

1216 "decision": {1216> "decision": {

1217 "behavior": "allow",1217> "behavior": "allow",

1218 "updatedInput": {1218> "updatedInput": {

1219 "command": "npm run lint"1219> "command": "npm run lint"

1220 }1220> }

1221 }1221> }

1222 }1222> }

1223}1223> }

1224```1224> ```

1225 1225 

1226Untuk contoh lanjutan termasuk validasi perintah Bash, pemfilteran prompt, dan skrip persetujuan otomatis, lihat [Apa yang dapat Anda otomatisasi](https://code.claude.com/docs/id/hooks-guide.md#what-you-can-automate) dalam panduan dan [implementasi referensi validator perintah Bash](https://github.com/anthropics/claude-code/blob/main/examples/hooks/bash_command_validator_example.py).1226Untuk contoh lanjutan termasuk validasi perintah Bash, pemfilteran prompt, dan skrip persetujuan otomatis, lihat [Apa yang dapat Anda otomatisasi](https://code.claude.com/docs/id/hooks-guide.md#what-you-can-automate) dalam panduan dan [implementasi referensi validator perintah Bash](https://github.com/anthropics/claude-code/blob/main/examples/hooks/bash_command_validator_example.py).

1227 1227 


1656 1656 

1657Contoh ini menghapus format markdown dari respons Claude untuk tampilan teks biasa. Skrip membaca setiap kelompok dari stdin, menghapus penanda tebal dan backtick kode inline dari `delta`, lalu mengembalikan hasilnya sebagai `displayContent`.1657Contoh ini menghapus format markdown dari respons Claude untuk tampilan teks biasa. Skrip membaca setiap kelompok dari stdin, menghapus penanda tebal dan backtick kode inline dari `delta`, lalu mengembalikan hasilnya sebagai `displayContent`.

1658 1658 

1659**macOS/Linux**1659> [tab] macOS/Linux

1660 1660>

1661Daftarkan hook perintah untuk event ini di file pengaturan Anda:1661> Daftarkan hook perintah untuk event ini di file pengaturan Anda:

1662 1662>

1663```json theme={null}1663> ```json theme={null}

1664{1664> {

1665 "hooks": {1665> "hooks": {

1666 "MessageDisplay": [1666> "MessageDisplay": [

1667 {1667> {

1668 "hooks": [1668> "hooks": [

1669 {1669> {

1670 "type": "command",1670> "type": "command",

1671 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/plain-display.sh",1671> "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/plain-display.sh",

1672 "args": []1672> "args": []

1673 }1673> }

1674 ]1674> ]

1675 }1675> }

1676 ]1676> ]

1677 }1677> }

1678}1678> }

1679```1679> ```

1680 1680>

1681Simpan skrip ini ke `.claude/hooks/plain-display.sh` di proyek Anda dan jadikan dapat dieksekusi dengan `chmod +x`:1681> Simpan skrip ini ke `.claude/hooks/plain-display.sh` di proyek Anda dan jadikan dapat dieksekusi dengan `chmod +x`:

1682 1682>

1683```bash theme={null}1683> ```bash theme={null}

1684#!/bin/bash1684> #!/bin/bash

1685jq '{hookSpecificOutput: {hookEventName: "MessageDisplay", displayContent: (.delta | gsub("\\*\\*"; "") | gsub("`"; ""))}}'1685> jq '{hookSpecificOutput: {hookEventName: "MessageDisplay", displayContent: (.delta | gsub("\\*\\*"; "") | gsub("`"; ""))}}'

1686```1686> ```

1687 

1688**Windows (PowerShell)**

1689 

1690Daftarkan hook perintah yang menjalankan skrip melalui PowerShell:

1691 

1692```json theme={null}

1693{

1694 "hooks": {

1695 "MessageDisplay": [

1696 {

1697 "hooks": [

1698 {

1699 "type": "command",

1700 "command": "powershell.exe",

1701 "args": [

1702 "-NoProfile",

1703 "-ExecutionPolicy",

1704 "Bypass",

1705 "-File",

1706 "${CLAUDE_PROJECT_DIR}/.claude/hooks/plain-display.ps1"

1707 ]

1708 }

1709 ]

1710 }

1711 ]

1712 }

1713}

1714```

1715 

1716Flag `-NoProfile` melewati pemuatan profil PowerShell Anda sehingga hook dimulai dengan cepat, dan `-ExecutionPolicy Bypass` memungkinkan PowerShell menjalankan file skrip lokal.

1717 

1718Simpan skrip ini ke `.claude/hooks/plain-display.ps1` di proyek Anda:

1719 1687 

1720```powershell theme={null}1688> [tab] Windows (PowerShell)

1721$batch = [Console]::In.ReadToEnd() | ConvertFrom-Json1689>

1722$text = $batch.delta -replace '\*\*', '' -replace '`', ''1690> Daftarkan hook perintah yang menjalankan skrip melalui PowerShell:

1723@{1691>

1724 hookSpecificOutput = @{1692> ```json theme={null}

1725 hookEventName = "MessageDisplay"1693> {

1726 displayContent = $text1694> "hooks": {

1727 }1695> "MessageDisplay": [

1728} | ConvertTo-Json1696> {

1729```1697> "hooks": [

1698> {

1699> "type": "command",

1700> "command": "powershell.exe",

1701> "args": [

1702> "-NoProfile",

1703> "-ExecutionPolicy",

1704> "Bypass",

1705> "-File",

1706> "${CLAUDE_PROJECT_DIR}/.claude/hooks/plain-display.ps1"

1707> ]

1708> }

1709> ]

1710> }

1711> ]

1712> }

1713> }

1714> ```

1715>

1716> Flag `-NoProfile` melewati pemuatan profil PowerShell Anda sehingga hook dimulai dengan cepat, dan `-ExecutionPolicy Bypass` memungkinkan PowerShell menjalankan file skrip lokal.

1717>

1718> Simpan skrip ini ke `.claude/hooks/plain-display.ps1` di proyek Anda:

1719>

1720> ```powershell theme={null}

1721> $batch = [Console]::In.ReadToEnd() | ConvertFrom-Json

1722> $text = $batch.delta -replace '\*\*', '' -replace '`', ''

1723> @{

1724> hookSpecificOutput = @{

1725> hookEventName = "MessageDisplay"

1726> displayContent = $text

1727> }

1728> } | ConvertTo-Json

1729> ```

1730 1730 

1731Kelompok tanpa markdown diteruskan tanpa perubahan. Jika skrip gagal, misalnya karena `jq` tidak ada, Claude Code menampilkan teks asli dan mencatat kegagalan tersebut hanya di [output debug](#debug-hooks), bukan di dalam sesi.1731Kelompok tanpa markdown diteruskan tanpa perubahan. Jika skrip gagal, misalnya karena `jq` tidak ada, Claude Code menampilkan teks asli dan mencatat kegagalan tersebut hanya di [output debug](#debug-hooks), bukan di dalam sesi.

1732 1732 


3357 3357 

3358Tulis matcher sebagai nama persis, daftar yang dipisahkan `|` seperti `claude-opus-4-6|claude-opus-5`, atau ekspresi reguler seperti `.*opus.*`. Contoh ini menggunakan matcher nama persis dan juga memeriksa `to_model` dari input hook, sehingga menolak pergantian ke Opus 4.6 dengan keluar menggunakan kode 2 dan membiarkan target lain lolos:3358Tulis matcher sebagai nama persis, daftar yang dipisahkan `|` seperti `claude-opus-4-6|claude-opus-5`, atau ekspresi reguler seperti `.*opus.*`. Contoh ini menggunakan matcher nama persis dan juga memeriksa `to_model` dari input hook, sehingga menolak pergantian ke Opus 4.6 dengan keluar menggunakan kode 2 dan membiarkan target lain lolos:

3359 3359 

3360**macOS/Linux**3360> [tab] macOS/Linux

3361 3361>

3362Perintah ini memeriksa `to_model` dengan `jq`:3362> Perintah ini memeriksa `to_model` dengan `jq`:

3363 3363>

3364```json theme={null}3364> ```json theme={null}

3365{3365> {

3366 "hooks": {3366> "hooks": {

3367 "PreModelSwitch": [3367> "PreModelSwitch": [

3368 {3368> {

3369 "matcher": "claude-opus-4-6",3369> "matcher": "claude-opus-4-6",

3370 "hooks": [3370> "hooks": [

3371 {3371> {

3372 "type": "command",3372> "type": "command",

3373 "command": "jq -e '.to_model | test(\"opus-4-6\")' > /dev/null && { echo 'Opus 4.6 is retired for this project. Use a newer model.' >&2; exit 2; }; exit 0"3373> "command": "jq -e '.to_model | test(\"opus-4-6\")' > /dev/null && { echo 'Opus 4.6 is retired for this project. Use a newer model.' >&2; exit 2; }; exit 0"

3374 }3374> }

3375 ]3375> ]

3376 }3376> }

3377 ]3377> ]

3378 }3378> }

3379}3379> }

3380```3380> ```

3381 3381 

3382**Windows (PowerShell)**3382> [tab] Windows (PowerShell)

3383 3383>

3384Daftarkan hook command yang menjalankan skrip melalui PowerShell:3384> Daftarkan hook command yang menjalankan skrip melalui PowerShell:

3385 3385>

3386```json theme={null}3386> ```json theme={null}

3387{3387> {

3388 "hooks": {3388> "hooks": {

3389 "PreModelSwitch": [3389> "PreModelSwitch": [

3390 {3390> {

3391 "matcher": "claude-opus-4-6",3391> "matcher": "claude-opus-4-6",

3392 "hooks": [3392> "hooks": [

3393 {3393> {

3394 "type": "command",3394> "type": "command",

3395 "command": "powershell.exe",3395> "command": "powershell.exe",

3396 "args": [3396> "args": [

3397 "-NoProfile",3397> "-NoProfile",

3398 "-ExecutionPolicy",3398> "-ExecutionPolicy",

3399 "Bypass",3399> "Bypass",

3400 "-File",3400> "-File",

3401 "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-opus-46.ps1"3401> "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-opus-46.ps1"

3402 ]3402> ]

3403 }3403> }

3404 ]3404> ]

3405 }3405> }

3406 ]3406> ]

3407 }3407> }

3408}3408> }

3409```3409> ```

3410 3410>

3411Simpan skrip ini ke `.claude/hooks/block-opus-46.ps1` di proyek Anda:3411> Simpan skrip ini ke `.claude/hooks/block-opus-46.ps1` di proyek Anda:

3412 3412>

3413```powershell theme={null}3413> ```powershell theme={null}

3414$hookInput = [Console]::In.ReadToEnd() | ConvertFrom-Json3414> $hookInput = [Console]::In.ReadToEnd() | ConvertFrom-Json

3415if ($hookInput.to_model -match 'opus-4-6') {3415> if ($hookInput.to_model -match 'opus-4-6') {

3416 [Console]::Error.WriteLine('Opus 4.6 is retired for this project. Use a newer model.')3416> [Console]::Error.WriteLine('Opus 4.6 is retired for this project. Use a newer model.')

3417 exit 23417> exit 2

3418}3418> }

3419exit 03419> exit 0

3420```3420> ```

3421 3421 

3422Untuk memastikan hook berfungsi, jalankan `/model claude-opus-4-6` dari sesi yang menjalankan model lain. Claude Code mempertahankan model saat ini dan melaporkan bahwa hook PreModelSwitch memblokir pergantian, dengan pesan Anda sebagai alasannya.3422Untuk memastikan hook berfungsi, jalankan `/model claude-opus-4-6` dari sesi yang menjalankan model lain. Claude Code mempertahankan model saat ini dan melaporkan bahwa hook PreModelSwitch memblokir pergantian, dengan pesan Anda sebagai alasannya.

3423 3423 


3705 3705 

3706Contoh ini menjawab satu pertanyaan berulang atas nama pengguna. Server MCP bernama `issue-tracker` meminta kunci proyek dalam formulir, dan hook mengisinya dengan `DOCS`. Skrip menerima ketika `project_key` adalah satu-satunya field formulir. Untuk permintaan lainnya, skrip tidak mencetak apa pun, sehingga dialog muncul.3706Contoh ini menjawab satu pertanyaan berulang atas nama pengguna. Server MCP bernama `issue-tracker` meminta kunci proyek dalam formulir, dan hook mengisinya dengan `DOCS`. Skrip menerima ketika `project_key` adalah satu-satunya field formulir. Untuk permintaan lainnya, skrip tidak mencetak apa pun, sehingga dialog muncul.

3707 3707 

3708**macOS/Linux**3708> [tab] macOS/Linux

3709 3709>

3710Daftarkan hook command untuk event ini di file pengaturan Anda, dengan nama server sebagai matcher:3710> Daftarkan hook command untuk event ini di file pengaturan Anda, dengan nama server sebagai matcher:

3711 3711>

3712```json theme={null}3712> ```json theme={null}

3713{3713> {

3714 "hooks": {3714> "hooks": {

3715 "Elicitation": [3715> "Elicitation": [

3716 {3716> {

3717 "matcher": "issue-tracker",3717> "matcher": "issue-tracker",

3718 "hooks": [3718> "hooks": [

3719 {3719> {

3720 "type": "command",3720> "type": "command",

3721 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/answer-project-key.sh",3721> "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/answer-project-key.sh",

3722 "args": []3722> "args": []

3723 }3723> }

3724 ]3724> ]

3725 }3725> }

3726 ]3726> ]

3727 }3727> }

3728}3728> }

3729```3729> ```

3730 3730>

3731Simpan skrip ini ke `.claude/hooks/answer-project-key.sh` di proyek Anda dan jadikan dapat dieksekusi dengan `chmod +x`:3731> Simpan skrip ini ke `.claude/hooks/answer-project-key.sh` di proyek Anda dan jadikan dapat dieksekusi dengan `chmod +x`:

3732 3732>

3733```bash theme={null}3733> ```bash theme={null}

3734#!/bin/bash3734> #!/bin/bash

3735input=$(cat)3735> input=$(cat)

3736fields=$(jq -c '.requested_schema.properties // {} | keys' <<<"$input")3736> fields=$(jq -c '.requested_schema.properties // {} | keys' <<<"$input")

3737 3737>

3738if [ "$fields" = '["project_key"]' ]; then3738> if [ "$fields" = '["project_key"]' ]; then

3739 jq -n '{hookSpecificOutput: {hookEventName: "Elicitation", action: "accept", content: {project_key: "DOCS"}}}'3739> jq -n '{hookSpecificOutput: {hookEventName: "Elicitation", action: "accept", content: {project_key: "DOCS"}}}'

3740fi3740> fi

3741```3741> ```

3742 

3743**Windows (PowerShell)**

3744 

3745Daftarkan hook command yang menjalankan skrip melalui PowerShell, dengan nama server sebagai matcher:

3746 

3747```json theme={null}

3748{

3749 "hooks": {

3750 "Elicitation": [

3751 {

3752 "matcher": "issue-tracker",

3753 "hooks": [

3754 {

3755 "type": "command",

3756 "command": "powershell.exe",

3757 "args": [

3758 "-NoProfile",

3759 "-ExecutionPolicy",

3760 "Bypass",

3761 "-File",

3762 "${CLAUDE_PROJECT_DIR}/.claude/hooks/answer-project-key.ps1"

3763 ]

3764 }

3765 ]

3766 }

3767 ]

3768 }

3769}

3770```

3771 

3772Simpan skrip ini ke `.claude/hooks/answer-project-key.ps1` di proyek Anda:

3773 

3774```powershell theme={null}

3775$request = [Console]::In.ReadToEnd() | ConvertFrom-Json

3776$fields = @($request.requested_schema.properties.PSObject.Properties.Name)

3777 3742 

3778if ($fields.Count -eq 1 -and $fields[0] -eq 'project_key') {3743> [tab] Windows (PowerShell)

3779 @{3744>

3780 hookSpecificOutput = @{3745> Daftarkan hook command yang menjalankan skrip melalui PowerShell, dengan nama server sebagai matcher:

3781 hookEventName = "Elicitation"3746>

3782 action = "accept"3747> ```json theme={null}

3783 content = @{ project_key = "DOCS" }3748> {

3784 }3749> "hooks": {

3785 } | ConvertTo-Json -Depth 33750> "Elicitation": [

3786}3751> {

3787```3752> "matcher": "issue-tracker",

3753> "hooks": [

3754> {

3755> "type": "command",

3756> "command": "powershell.exe",

3757> "args": [

3758> "-NoProfile",

3759> "-ExecutionPolicy",

3760> "Bypass",

3761> "-File",

3762> "${CLAUDE_PROJECT_DIR}/.claude/hooks/answer-project-key.ps1"

3763> ]

3764> }

3765> ]

3766> }

3767> ]

3768> }

3769> }

3770> ```

3771>

3772> Simpan skrip ini ke `.claude/hooks/answer-project-key.ps1` di proyek Anda:

3773>

3774> ```powershell theme={null}

3775> $request = [Console]::In.ReadToEnd() | ConvertFrom-Json

3776> $fields = @($request.requested_schema.properties.PSObject.Properties.Name)

3777>

3778> if ($fields.Count -eq 1 -and $fields[0] -eq 'project_key') {

3779> @{

3780> hookSpecificOutput = @{

3781> hookEventName = "Elicitation"

3782> action = "accept"

3783> content = @{ project_key = "DOCS" }

3784> }

3785> } | ConvertTo-Json -Depth 3

3786> }

3787> ```

3788 3788 

3789Untuk memastikan hook berfungsi, mulai Claude Code dengan `claude --debug` dan berikan Claude tugas yang membuat server meminta kunci proyek. Tidak ada dialog yang muncul, dan [log debug](#debug-hooks) memiliki baris yang diakhiri dengan `Elicitation resolved by hook: {"action":"accept","content":{"project_key":"DOCS"}}`.3789Untuk memastikan hook berfungsi, mulai Claude Code dengan `claude --debug` dan berikan Claude tugas yang membuat server meminta kunci proyek. Tidak ada dialog yang muncul, dan [log debug](#debug-hooks) memiliki baris yang diakhiri dengan `Elicitation resolved by hook: {"action":"accept","content":{"project_key":"DOCS"}}`.

3790 3790 

hooks-guide.md +144 −144

Details

89 89 

90Setiap tab di bawah menggunakan perintah notifikasi asli platform. Tambahkan ini ke `~/.claude/settings.json`:90Setiap tab di bawah menggunakan perintah notifikasi asli platform. Tambahkan ini ke `~/.claude/settings.json`:

91 91 

92**macOS**92> [tab] macOS

93 

94```json theme={null}

95{

96 "hooks": {

97 "Notification": [

98 {

99 "matcher": "",

100 "hooks": [

101 {

102 "type": "command",

103 "command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"

104 }

105 ]

106 }

107 ]

108 }

109}

110```

111 

112> **Jika tidak ada notifikasi yang muncul**

113>

114> `osascript` merutekan notifikasi melalui aplikasi Script Editor bawaan. Jika Script Editor tidak memiliki izin notifikasi, perintah gagal diam-diam, dan macOS tidak akan meminta Anda untuk memberikannya.

115>93>

116> Jalankan ini di Terminal sekali untuk membuat Script Editor muncul di pengaturan notifikasi Anda:94> ```json theme={null}

117>95> {

118> ```bash theme={null}96> "hooks": {

119> osascript -e 'display notification "test"'97> "Notification": [

98> {

99> "matcher": "",

100> "hooks": [

101> {

102> "type": "command",

103> "command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"

104> }

105> ]

106> }

107> ]

108> }

109> }

120> ```110> ```

121>111>

122> Tidak ada yang akan muncul dulu. Buka **System Settings > Notifications**, temukan **Script Editor** dalam daftar, dan aktifkan **Allow Notifications**. Jalankan perintah lagi untuk mengonfirmasi notifikasi uji muncul.112> > [accordion] Jika tidak ada notifikasi yang muncul

123 113> >

124**Linux**114> > `osascript` merutekan notifikasi melalui aplikasi Script Editor bawaan. Jika Script Editor tidak memiliki izin notifikasi, perintah gagal diam-diam, dan macOS tidak akan meminta Anda untuk memberikannya.

125 115> >

126```json theme={null}116> > Jalankan ini di Terminal sekali untuk membuat Script Editor muncul di pengaturan notifikasi Anda:

127{117> >

128 "hooks": {118> > ```bash theme={null}

129 "Notification": [119> > osascript -e 'display notification "test"'

130 {120> > ```

131 "matcher": "",121> >

132 "hooks": [122> > Tidak ada yang akan muncul dulu. Buka **System Settings > Notifications**, temukan **Script Editor** dalam daftar, dan aktifkan **Allow Notifications**. Jalankan perintah lagi untuk mengonfirmasi notifikasi uji muncul.

133 {123 

134 "type": "command",124> [tab] Linux

135 "command": "notify-send 'Claude Code' 'Claude Code needs your attention'"

136 }

137 ]

138 }

139 ]

140 }

141}

142```

143 

144> **Jika tidak ada notifikasi yang muncul**

145>

146> `notify-send` memerlukan daemon notifikasi desktop, yang tidak dimiliki server headless, sesi SSH, dan sebagian besar container. Uji perintah secara langsung terlebih dahulu:

147>125>

148> ```bash theme={null}126> ```json theme={null}

149> notify-send 'Claude Code' 'test'127> {

128> "hooks": {

129> "Notification": [

130> {

131> "matcher": "",

132> "hooks": [

133> {

134> "type": "command",

135> "command": "notify-send 'Claude Code' 'Claude Code needs your attention'"

136> }

137> ]

138> }

139> ]

140> }

141> }

150> ```142> ```

151>143>

152> Jika perintah tidak ditemukan, instal paket `libnotify-bin` di Debian dan Ubuntu, atau yang setara dengan distribusi Anda.144> > [accordion] Jika tidak ada notifikasi yang muncul

153 145> >

154**Windows (PowerShell)**146> > `notify-send` memerlukan daemon notifikasi desktop, yang tidak dimiliki server headless, sesi SSH, dan sebagian besar container. Uji perintah secara langsung terlebih dahulu:

155 147> >

156```json theme={null}148> > ```bash theme={null}

157{149> > notify-send 'Claude Code' 'test'

158 "hooks": {150> > ```

159 "Notification": [151> >

160 {152> > Jika perintah tidak ditemukan, instal paket `libnotify-bin` di Debian dan Ubuntu, atau yang setara dengan distribusi Anda.

161 "matcher": "",153 

162 "hooks": [154> [tab] Windows (PowerShell)

163 {

164 "type": "command",

165 "command": "powershell.exe -Command \"[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('Claude Code needs your attention', 'Claude Code')\""

166 }

167 ]

168 }

169 ]

170 }

171}

172```

173 

174> **Jika tidak ada dialog yang muncul**

175>155>

176> Perintah ini membuka kotak dialog daripada notifikasi di sudut layar Anda, sehingga dialog dapat terbuka di belakang jendela terminal Anda. Uji perintah secara langsung di PowerShell terlebih dahulu.156> ```json theme={null}

157> {

158> "hooks": {

159> "Notification": [

160> {

161> "matcher": "",

162> "hooks": [

163> {

164> "type": "command",

165> "command": "powershell.exe -Command \"[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('Claude Code needs your attention', 'Claude Code')\""

166> }

167> ]

168> }

169> ]

170> }

171> }

172> ```

177>173>

178> Jika Anda menjalankan Claude Code di dalam WSL, `powershell.exe` harus tersedia di `PATH` Anda melalui interop Windows.174> > [accordion] Jika tidak ada dialog yang muncul

175> >

176> > Perintah ini membuka kotak dialog daripada notifikasi di sudut layar Anda, sehingga dialog dapat terbuka di belakang jendela terminal Anda. Uji perintah secara langsung di PowerShell terlebih dahulu.

177> >

178> > Jika Anda menjalankan Claude Code di dalam WSL, `powershell.exe` harus tersedia di `PATH` Anda melalui interop Windows.

179 179 

180Matcher kosong `matcher` aktif pada semua jenis notifikasi. Untuk aktif hanya pada acara tertentu, atur ke salah satu nilai berikut:180Matcher kosong `matcher` aktif pada semua jenis notifikasi. Untuk aktif hanya pada acara tertentu, atur ke salah satu nilai berikut:

181 181 


705 705 

706Tab di bawah menunjukkan beberapa matchers lagi pada jenis acara berbeda.706Tab di bawah menunjukkan beberapa matchers lagi pada jenis acara berbeda.

707 707 

708**Catat setiap perintah Bash**708> [tab] Catat setiap perintah Bash

709 709>

710Cocokkan hanya panggilan alat `Bash` dan catat setiap perintah ke file. Acara `PostToolUse` aktif setelah perintah selesai, jadi `tool_input.command` berisi apa yang berjalan. Hook menerima data acara sebagai JSON di stdin, dan `jq -r '.tool_input.command'` mengekstrak hanya string perintah, yang `>>` tambahkan ke file log:710> Cocokkan hanya panggilan alat `Bash` dan catat setiap perintah ke file. Acara `PostToolUse` aktif setelah perintah selesai, jadi `tool_input.command` berisi apa yang berjalan. Hook menerima data acara sebagai JSON di stdin, dan `jq -r '.tool_input.command'` mengekstrak hanya string perintah, yang `>>` tambahkan ke file log:

711 711>

712```json theme={null}712> ```json theme={null}

713{713> {

714 "hooks": {714> "hooks": {

715 "PostToolUse": [715> "PostToolUse": [

716 {716> {

717 "matcher": "Bash",717> "matcher": "Bash",

718 "hooks": [718> "hooks": [

719 {719> {

720 "type": "command",720> "type": "command",

721 "command": "jq -r '.tool_input.command' >> ~/.claude/command-log.txt"721> "command": "jq -r '.tool_input.command' >> ~/.claude/command-log.txt"

722 }722> }

723 ]723> ]

724 }724> }

725 ]725> ]

726 }726> }

727}727> }

728```728> ```

729 

730**Cocokkan alat MCP**

731 

732Alat MCP menggunakan konvensi penamaan berbeda dari alat bawaan: `mcp__<server>__<tool>`, di mana `<server>` adalah nama server MCP dan `<tool>` adalah alat yang disediakannya. Misalnya, `mcp__github__search_repositories` atau `mcp__filesystem__read_file`. Alat dari [server MCP yang disediakan plugin](https://code.claude.com/docs/id/mcp.md#plugin-provided-mcp-servers) menggunakan segmen server yang diberi cakupan sebagai gantinya, seperti `mcp__plugin_my-plugin_db__query`. Gunakan matcher regex untuk menargetkan semua alat dari server spesifik, atau cocokkan di seluruh server dengan pola seperti `mcp__.*__write.*`. Lihat [Match MCP tools](https://code.claude.com/docs/id/hooks.md#match-mcp-tools) dalam referensi untuk daftar lengkap contoh.

733 

734Perintah di bawah mengekstrak nama alat dari input JSON hook dengan `jq` dan menulisnya ke stderr. Menulis ke stderr menjaga stdout bersih untuk output JSON dan mengirim pesan ke [debug log](https://code.claude.com/docs/id/hooks.md#debug-hooks):

735 

736```json theme={null}

737{

738 "hooks": {

739 "PreToolUse": [

740 {

741 "matcher": "mcp__github__.*",

742 "hooks": [

743 {

744 "type": "command",

745 "command": "echo \"GitHub tool called: $(jq -r '.tool_name')\" >&2"

746 }

747 ]

748 }

749 ]

750 }

751}

752```

753 

754**Bersihkan saat akhir sesi**

755 729 

756Acara `SessionEnd` mendukung matchers pada alasan sesi berakhir. Hook ini hanya aktif pada alasan `clear`, diatur ketika Anda menjalankan `/clear`, bukan pada keluar normal:730> [tab] Cocokkan alat MCP

731>

732> Alat MCP menggunakan konvensi penamaan berbeda dari alat bawaan: `mcp__<server>__<tool>`, di mana `<server>` adalah nama server MCP dan `<tool>` adalah alat yang disediakannya. Misalnya, `mcp__github__search_repositories` atau `mcp__filesystem__read_file`. Alat dari [server MCP yang disediakan plugin](https://code.claude.com/docs/id/mcp.md#plugin-provided-mcp-servers) menggunakan segmen server yang diberi cakupan sebagai gantinya, seperti `mcp__plugin_my-plugin_db__query`. Gunakan matcher regex untuk menargetkan semua alat dari server spesifik, atau cocokkan di seluruh server dengan pola seperti `mcp__.*__write.*`. Lihat [Match MCP tools](https://code.claude.com/docs/id/hooks.md#match-mcp-tools) dalam referensi untuk daftar lengkap contoh.

733>

734> Perintah di bawah mengekstrak nama alat dari input JSON hook dengan `jq` dan menulisnya ke stderr. Menulis ke stderr menjaga stdout bersih untuk output JSON dan mengirim pesan ke [debug log](https://code.claude.com/docs/id/hooks.md#debug-hooks):

735>

736> ```json theme={null}

737> {

738> "hooks": {

739> "PreToolUse": [

740> {

741> "matcher": "mcp__github__.*",

742> "hooks": [

743> {

744> "type": "command",

745> "command": "echo \"GitHub tool called: $(jq -r '.tool_name')\" >&2"

746> }

747> ]

748> }

749> ]

750> }

751> }

752> ```

757 753 

758```json theme={null}754> [tab] Bersihkan saat akhir sesi

759{755>

760 "hooks": {756> Acara `SessionEnd` mendukung matchers pada alasan sesi berakhir. Hook ini hanya aktif pada alasan `clear`, diatur ketika Anda menjalankan `/clear`, bukan pada keluar normal:

761 "SessionEnd": [757>

762 {758> ```json theme={null}

763 "matcher": "clear",759> {

764 "hooks": [760> "hooks": {

765 {761> "SessionEnd": [

766 "type": "command",762> {

767 "command": "rm -f /tmp/claude-scratch-*.txt"763> "matcher": "clear",

768 }764> "hooks": [

769 ]765> {

770 }766> "type": "command",

771 ]767> "command": "rm -f /tmp/claude-scratch-*.txt"

772 }768> }

773}769> ]

774```770> }

771> ]

772> }

773> }

774> ```

775 775 

776#### Filter berdasarkan nama alat dan argumen dengan bidang `if`776#### Filter berdasarkan nama alat dan argumen dengan bidang `if`

777 777 

Details

163 163 

164Pilih mode permission untuk mengatur apa yang dapat dilakukan Claude tanpa bertanya kepada Anda. Tekan `Shift+Tab` untuk melakukan siklus melalui mode permission:164Pilih mode permission untuk mengatur apa yang dapat dilakukan Claude tanpa bertanya kepada Anda. Tekan `Shift+Tab` untuk melakukan siklus melalui mode permission:

165 165 

166* **Auto**: classifier meninjau sebagian besar tindakan di latar belakang dan memblokir tindakan yang berisiko alih-alih bertanya kepada Anda. Dengan Claude Code v2.1.283 atau lebih baru, ini adalah [mode permission awal bawaan](https://code.claude.com/docs/id/permission-modes.md#which-mode-a-session-starts-in) untuk sesi terminal interaktif dan VS Code, dan pada versi sebelumnya hanya pada paket Pro, Max, dan Team166* **Auto**: pengklasifikasi meninjau sebagian besar tindakan di latar belakang dan memblokir tindakan yang berisiko alih-alih bertanya kepada Anda. Dengan Claude Code v2.1.283 atau lebih baru, ini adalah [mode izin awal bawaan](https://code.claude.com/docs/id/permission-modes.md#which-mode-a-session-starts-in) untuk sesi terminal interaktif dan VS Code. Pada versi sebelumnya, ini adalah mode izin awal bawaan hanya pada paket Pro, Max, Ultra, dan Team.

167* **Manual**: Claude bertanya sebelum edit file dan perintah shell167* **Manual**: Claude bertanya sebelum edit file dan perintah shell

168* **Accept edits**: Claude mengedit file dan menjalankan perintah filesystem umum seperti `mkdir` dan `mv` tanpa bertanya, masih bertanya untuk perintah lain168* **Accept edits**: Claude mengedit file dan menjalankan perintah filesystem umum seperti `mkdir` dan `mv` tanpa bertanya, masih bertanya untuk perintah lain

169* **Plan**: Claude mengeksplorasi dan mengusulkan rencana tanpa mengedit file sumber Anda169* **Plan**: Claude mengeksplorasi dan mengusulkan rencana tanpa mengedit file sumber Anda


223 223 

224## Apa selanjutnya224## Apa selanjutnya

225 225 

226> **[Perluas dengan fitur](https://code.claude.com/docs/id/features-overview.md)**226> [card] [Perluas dengan fitur](https://code.claude.com/docs/id/features-overview.md)

227>227>

228> Tambahkan skills dan koneksi MCP228> Tambahkan skills dan koneksi MCP

229 229 

230> **[Alur kerja umum](https://code.claude.com/docs/id/common-workflows.md)**230> [card] [Alur kerja umum](https://code.claude.com/docs/id/common-workflows.md)

231>231>

232> Panduan langkah demi langkah untuk tugas khas232> Panduan langkah demi langkah untuk tugas khas

Details

537 537 

538Claude Code membaca pengaturan [`spellcheck`](https://code.claude.com/docs/id/settings-reference#spellcheck) dari tiga tempat, dan mengabaikannya di `.claude/settings.json` dan `.claude/settings.local.json` proyek. Nyalakan dari mana pun yang Anda gunakan:538Claude Code membaca pengaturan [`spellcheck`](https://code.claude.com/docs/id/settings-reference#spellcheck) dari tiga tempat, dan mengabaikannya di `.claude/settings.json` dan `.claude/settings.local.json` proyek. Nyalakan dari mana pun yang Anda gunakan:

539 539 

540**Pengaturan pengguna**540> [tab] Pengaturan pengguna

541 541>

542Tambahkan `spellcheck` ke `~/.claude/settings.json`. Ini berlaku di setiap proyek yang Anda buka, seperti sisa [pengaturan pengguna](https://code.claude.com/docs/id/settings.md#where-settings-live) Anda:542> Tambahkan `spellcheck` ke `~/.claude/settings.json`. Ini berlaku di setiap proyek yang Anda buka, seperti sisa [pengaturan pengguna](https://code.claude.com/docs/id/settings.md#where-settings-live) Anda:

543 543>

544```json theme={null}544> ```json theme={null}

545{545> {

546 "spellcheck": { "enabled": true }546> "spellcheck": { "enabled": true }

547}547> }

548```548> ```

549 

550**Baris perintah**

551 

552Simpan `spellcheck` dalam file JSON, seperti `spellcheck.json`:

553 

554```json theme={null}

555{

556 "spellcheck": { "enabled": true }

557}

558```

559 

560Kemudian teruskan file ke `--settings`. Ini berlaku untuk sesi itu saja:

561 

562```bash theme={null}

563claude --settings spellcheck.json

564```

565 

566**Pengaturan terkelola**

567 549 

568Tambahkan `spellcheck` ke salah satu [sumber pengaturan terkelola](https://code.claude.com/docs/id/permissions.md#managed-settings) organisasi Anda. Ini berlaku untuk setiap pengguna yang menerima pengaturan tersebut, dan mereka tidak dapat mematikannya:550> [tab] Baris perintah

551>

552> Simpan `spellcheck` dalam file JSON, seperti `spellcheck.json`:

553>

554> ```json theme={null}

555> {

556> "spellcheck": { "enabled": true }

557> }

558> ```

559>

560> Kemudian teruskan file ke `--settings`. Ini berlaku untuk sesi itu saja:

561>

562> ```bash theme={null}

563> claude --settings spellcheck.json

564> ```

569 565 

570```json theme={null}566> [tab] Pengaturan terkelola

571{567>

572 "spellcheck": { "enabled": true }568> Tambahkan `spellcheck` ke salah satu [sumber pengaturan terkelola](https://code.claude.com/docs/id/permissions.md#managed-settings) organisasi Anda. Ini berlaku untuk setiap pengguna yang menerima pengaturan tersebut, dan mereka tidak dapat mematikannya:

573}569>

574```570> ```json theme={null}

571> {

572> "spellcheck": { "enabled": true }

573> }

574> ```

575 575 

576Untuk memeriksa bahwa pemeriksaan ejaan aktif, ketik kata yang salah eja dan spasi. Claude Code menggarisbawahi kata tersebut. Jika tidak, lihat [Ketika Claude Code tidak menggarisbawahi apa pun](#when-claude-code-underlines-nothing). Untuk mematikan pemeriksaan ejaan lagi, atur `enabled` ke `false` di tempat yang sama, atau hapus `spellcheck`.576Untuk memeriksa bahwa pemeriksaan ejaan aktif, ketik kata yang salah eja dan spasi. Claude Code menggarisbawahi kata tersebut. Jika tidak, lihat [Ketika Claude Code tidak menggarisbawahi apa pun](#when-claude-code-underlines-nothing). Untuk mematikan pemeriksaan ejaan lagi, atur `enabled` ke `false` di tempat yang sama, atau hapus `spellcheck`.

577 577 

jetbrains.md +1 −1

Details

41 41 

42Jika `claude` diinstal di tempat yang tidak dapat ditemukan IDE Anda, atur jalur lengkap di [pengaturan perintah Claude](#general-settings) plugin.42Jika `claude` diinstal di tempat yang tidak dapat ditemukan IDE Anda, atur jalur lengkap di [pengaturan perintah Claude](#general-settings) plugin.

43 43 

44Claude Code bekerja dengan langganan Claude berbayar apa pun (Pro, Max, Team, atau Enterprise) atau akun Claude Console, dan tidak ada kunci API yang diperlukan. Anda akan diminta untuk [masuk](https://code.claude.com/docs/id/authentication.md#log-in-to-claude-code) pertama kali Anda menjalankan `claude`.44Claude Code bekerja dengan langganan Claude berbayar apa pun (Pro, Max, Ultra, Team, atau Enterprise) atau akun Claude Console, dan tidak ada kunci API yang diperlukan. Anda akan diminta untuk [masuk](https://code.claude.com/docs/id/authentication.md#log-in-to-claude-code) pertama kali Anda menjalankan `claude`.

45 45 

46## Penggunaan46## Penggunaan

47 47 

Details

73 73 

74Ganti nilai dengan yang diberikan tim gateway Anda:74Ganti nilai dengan yang diberikan tim gateway Anda:

75 75 

76**Bash atau Zsh**76> [tab] Bash atau Zsh

77 77>

78```bash theme={null}78> ```bash theme={null}

79export ANTHROPIC_BASE_URL=https://llm-gateway.example.com79> export ANTHROPIC_BASE_URL=https://llm-gateway.example.com

80export ANTHROPIC_AUTH_TOKEN=sk-gateway-key80> export ANTHROPIC_AUTH_TOKEN=sk-gateway-key

81```81> ```

82 

83**PowerShell**

84 82 

85```powershell theme={null}83> [tab] PowerShell

86$env:ANTHROPIC_BASE_URL = "https://llm-gateway.example.com"84>

87$env:ANTHROPIC_AUTH_TOKEN = "sk-gateway-key"85> ```powershell theme={null}

88```86> $env:ANTHROPIC_BASE_URL = "https://llm-gateway.example.com"

87> $env:ANTHROPIC_AUTH_TOKEN = "sk-gateway-key"

88> ```

89 89 

90Ekspor shell hanya berlaku untuk sesi terminal itu dan program yang dimulai darinya. Editor yang diluncurkan dari dock atau menu Start tidak akan melihatnya. Untuk membuatnya bertahan di terminal baru, tambahkan baris yang sama ke profil shell Anda, seperti `~/.zshrc`, `~/.bashrc`, atau `$PROFILE` PowerShell Anda.90Ekspor shell hanya berlaku untuk sesi terminal itu dan program yang dimulai darinya. Editor yang diluncurkan dari dock atau menu Start tidak akan melihatnya. Untuk membuatnya bertahan di terminal baru, tambahkan baris yang sama ke profil shell Anda, seperti `~/.zshrc`, `~/.bashrc`, atau `$PROFILE` PowerShell Anda.

91 91 


119 119 

120Dengan variabel yang diekspor di shell Anda, kirim permintaan satu token ke gateway secara langsung. Ini mengonfirmasi URL dan kredensial berfungsi sebelum Anda membuka Claude Code, sehingga kegagalan menunjuk ke gateway daripada konfigurasi Anda. Perintah di bawah membaca variabel shell, jadi mereka memerlukan [ekspor shell](#set-as-shell-environment-variables) bahkan jika Anda juga menempatkan nilai di file pengaturan.120Dengan variabel yang diekspor di shell Anda, kirim permintaan satu token ke gateway secara langsung. Ini mengonfirmasi URL dan kredensial berfungsi sebelum Anda membuka Claude Code, sehingga kegagalan menunjuk ke gateway daripada konfigurasi Anda. Perintah di bawah membaca variabel shell, jadi mereka memerlukan [ekspor shell](#set-as-shell-environment-variables) bahkan jika Anda juga menempatkan nilai di file pengaturan.

121 121 

122**Bash atau Zsh**122> [tab] Bash atau Zsh

123 123>

124```bash theme={null}124> ```bash theme={null}

125curl -sS -w '\n%{http_code}\n' -X POST "$ANTHROPIC_BASE_URL/v1/messages" \125> curl -sS -w '\n%{http_code}\n' -X POST "$ANTHROPIC_BASE_URL/v1/messages" \

126 -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \126> -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \

127 -H "anthropic-version: 2023-06-01" \127> -H "anthropic-version: 2023-06-01" \

128 -H "content-type: application/json" \128> -H "content-type: application/json" \

129 -d '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'129> -d '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

130```130> ```

131 131 

132**PowerShell**132> [tab] PowerShell

133 133>

134```powershell theme={null}134> ```powershell theme={null}

135Invoke-RestMethod -Method Post -Uri "$env:ANTHROPIC_BASE_URL/v1/messages" `135> Invoke-RestMethod -Method Post -Uri "$env:ANTHROPIC_BASE_URL/v1/messages" `

136 -Headers @{ "Authorization" = "Bearer $env:ANTHROPIC_AUTH_TOKEN"; "anthropic-version" = "2023-06-01" } `136> -Headers @{ "Authorization" = "Bearer $env:ANTHROPIC_AUTH_TOKEN"; "anthropic-version" = "2023-06-01" } `

137 -ContentType "application/json" `137> -ContentType "application/json" `

138 -Body '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'138> -Body '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

139```139> ```

140 140 

141Jika gateway Anda mengharapkan kunci di header `x-api-key`, ganti header `Authorization` dengan `x-api-key: $ANTHROPIC_API_KEY` di perintah Bash, atau entri hashtable `"Authorization"` dengan `"x-api-key" = "$env:ANTHROPIC_API_KEY"` di perintah PowerShell.141Jika gateway Anda mengharapkan kunci di header `x-api-key`, ganti header `Authorization` dengan `x-api-key: $ANTHROPIC_API_KEY` di perintah Bash, atau entri hashtable `"Authorization"` dengan `"x-api-key" = "$env:ANTHROPIC_API_KEY"` di perintah PowerShell.

142 142 


274 274 

275Beberapa gateway merutekan atau menandai permintaan menggunakan header khusus selain kredensial, misalnya pengidentifikasi penyewa atau kunci perutean. Untuk mengirim satu, atur [`ANTHROPIC_CUSTOM_HEADERS`](https://code.claude.com/docs/id/env-vars) dengan satu pasangan `Name: Value` per baris. Contoh di bawah menambahkan header perutean bernama `X-Org-Route`:275Beberapa gateway merutekan atau menandai permintaan menggunakan header khusus selain kredensial, misalnya pengidentifikasi penyewa atau kunci perutean. Untuk mengirim satu, atur [`ANTHROPIC_CUSTOM_HEADERS`](https://code.claude.com/docs/id/env-vars) dengan satu pasangan `Name: Value` per baris. Contoh di bawah menambahkan header perutean bernama `X-Org-Route`:

276 276 

277**Bash atau Zsh**277> [tab] Bash atau Zsh

278 278>

279```bash theme={null}279> ```bash theme={null}

280export ANTHROPIC_CUSTOM_HEADERS="X-Org-Route: prod"280> export ANTHROPIC_CUSTOM_HEADERS="X-Org-Route: prod"

281```281> ```

282 

283**PowerShell**

284 282 

285```powershell theme={null}283> [tab] PowerShell

286$env:ANTHROPIC_CUSTOM_HEADERS = "X-Org-Route: prod"284>

287```285> ```powershell theme={null}

286> $env:ANTHROPIC_CUSTOM_HEADERS = "X-Org-Route: prod"

287> ```

288 288 

289Anda juga dapat mengatur `ANTHROPIC_CUSTOM_HEADERS` di blok `env` file pengaturan. Gunakan `\n` antara pasangan di sana, karena string JSON tidak dapat mencakup beberapa baris:289Anda juga dapat mengatur `ANTHROPIC_CUSTOM_HEADERS` di blok `env` file pengaturan. Gunakan `\n` antara pasangan di sana, karena string JSON tidak dapat mencakup beberapa baris:

290 290 


318 318 

319Pembantu adalah perintah shell apa pun yang mencetak kredensial saat ini ke stdout. Claude Code menjalankannya melalui shell sistem Anda, jadi di Windows itu dapat berupa executable atau invokasi PowerShell. Pastikan perintah tersebut hanya mencetak kredensial, tanpa output lain. Pada Claude Code v2.1.227 atau lebih baru, banner atau baris log yang dicetak bersama kunci membuat [pembantu gagal](https://code.claude.com/docs/id/errors.md#your-apikeyhelper-script-is-failing). Tulis skrip, buat dapat dieksekusi, dan referensikan dari `apiKeyHelper` di [file pengaturan](https://code.claude.com/docs/id/settings.md) Anda:319Pembantu adalah perintah shell apa pun yang mencetak kredensial saat ini ke stdout. Claude Code menjalankannya melalui shell sistem Anda, jadi di Windows itu dapat berupa executable atau invokasi PowerShell. Pastikan perintah tersebut hanya mencetak kredensial, tanpa output lain. Pada Claude Code v2.1.227 atau lebih baru, banner atau baris log yang dicetak bersama kunci membuat [pembantu gagal](https://code.claude.com/docs/id/errors.md#your-apikeyhelper-script-is-failing). Tulis skrip, buat dapat dieksekusi, dan referensikan dari `apiKeyHelper` di [file pengaturan](https://code.claude.com/docs/id/settings.md) Anda:

320 320 

321**Bash atau Zsh**321> [tab] Bash atau Zsh

322 322>

323Misalnya, skrip yang membaca dari vault:323> Misalnya, skrip yang membaca dari vault:

324 324>

325```bash theme={null}325> ```bash theme={null}

326#!/bin/bash326> #!/bin/bash

327vault kv get -field=api_key secret/llm-gateway/claude-code327> vault kv get -field=api_key secret/llm-gateway/claude-code

328```328> ```

329 329>

330Referensikan jalurnya di `~/.claude/settings.json`:330> Referensikan jalurnya di `~/.claude/settings.json`:

331 331>

332```json theme={null}332> ```json theme={null}

333{333> {

334 "apiKeyHelper": "~/bin/get-gateway-key.sh"334> "apiKeyHelper": "~/bin/get-gateway-key.sh"

335}335> }

336```336> ```

337 

338**PowerShell**

339 

340Misalnya, skrip yang membaca dari vault:

341 

342```powershell theme={null}

343vault kv get -field=api_key secret/llm-gateway/claude-code

344```

345 

346Referensikan invokasi PowerShell di `%USERPROFILE%\.claude\settings.json`, meloloskan garis miring terbalik dalam string JSON:

347 337 

348```json theme={null}338> [tab] PowerShell

349{339>

350 "apiKeyHelper": "powershell -NoProfile -File C:\\scripts\\get-gateway-key.ps1"340> Misalnya, skrip yang membaca dari vault:

351}341>

352```342> ```powershell theme={null}

343> vault kv get -field=api_key secret/llm-gateway/claude-code

344> ```

345>

346> Referensikan invokasi PowerShell di `%USERPROFILE%\.claude\settings.json`, meloloskan garis miring terbalik dalam string JSON:

347>

348> ```json theme={null}

349> {

350> "apiKeyHelper": "powershell -NoProfile -File C:\\scripts\\get-gateway-key.ps1"

351> }

352> ```

353 353 

354Claude Code menyimpan output pembantu selama lima menit secara default dan menjalankan kembali pembantu setelah masa pakai cache berakhir. Untuk mengubah masa pakai, atur `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` dalam milidetik, misalnya `CLAUDE_CODE_API_KEY_HELPER_TTL_MS=900000` untuk 15 menit.354Claude Code menyimpan output pembantu selama lima menit secara default dan menjalankan kembali pembantu setelah masa pakai cache berakhir. Untuk mengubah masa pakai, atur `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` dalam milidetik, misalnya `CLAUDE_CODE_API_KEY_HELPER_TTL_MS=900000` untuk 15 menit.

355 355 


363 363 

364Untuk mematikan lalu lintas itu, atur `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` bersama variabel gateway, di ekspor shell yang sama atau blok `env` file pengaturan:364Untuk mematikan lalu lintas itu, atur `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` bersama variabel gateway, di ekspor shell yang sama atau blok `env` file pengaturan:

365 365 

366**Bash atau Zsh**366> [tab] Bash atau Zsh

367 367>

368```bash theme={null}368> ```bash theme={null}

369export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1369> export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1

370```370> ```

371 

372**PowerShell**

373 371 

374```powershell theme={null}372> [tab] PowerShell

375$env:CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC = "1"373>

376```374> ```powershell theme={null}

375> $env:CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC = "1"

376> ```

377 377 

378Mengatur variabel memiliki efek dan batasan ini:378Mengatur variabel memiliki efek dan batasan ini:

379 379 


398 398 

399Biarkan `AWS_BEARER_TOKEN_BEDROCK` tidak diatur ketika gateway mengeluarkan kredensialnya sendiri. Jika Anda mengaturnya, Claude Code mengirim [kunci API Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md#2-configure-aws-credentials) itu sebagai header `Authorization` alih-alih token gateway Anda, bahkan dengan `CLAUDE_CODE_SKIP_BEDROCK_AUTH` diatur.399Biarkan `AWS_BEARER_TOKEN_BEDROCK` tidak diatur ketika gateway mengeluarkan kredensialnya sendiri. Jika Anda mengaturnya, Claude Code mengirim [kunci API Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md#2-configure-aws-credentials) itu sebagai header `Authorization` alih-alih token gateway Anda, bahkan dengan `CLAUDE_CODE_SKIP_BEDROCK_AUTH` diatur.

400 400 

401**Bash atau Zsh**401> [tab] Bash atau Zsh

402 402>

403```bash theme={null}403> ```bash theme={null}

404export ANTHROPIC_BEDROCK_BASE_URL=https://llm-gateway.example.com/bedrock404> export ANTHROPIC_BEDROCK_BASE_URL=https://llm-gateway.example.com/bedrock

405export CLAUDE_CODE_SKIP_BEDROCK_AUTH=1405> export CLAUDE_CODE_SKIP_BEDROCK_AUTH=1

406export CLAUDE_CODE_USE_BEDROCK=1406> export CLAUDE_CODE_USE_BEDROCK=1

407```407> ```

408 

409**PowerShell**

410 408 

411```powershell theme={null}409> [tab] PowerShell

412$env:ANTHROPIC_BEDROCK_BASE_URL = "https://llm-gateway.example.com/bedrock"410>

413$env:CLAUDE_CODE_SKIP_BEDROCK_AUTH = "1"411> ```powershell theme={null}

414$env:CLAUDE_CODE_USE_BEDROCK = "1"412> $env:ANTHROPIC_BEDROCK_BASE_URL = "https://llm-gateway.example.com/bedrock"

415```413> $env:CLAUDE_CODE_SKIP_BEDROCK_AUTH = "1"

414> $env:CLAUDE_CODE_USE_BEDROCK = "1"

415> ```

416 416 

417#### Google Cloud's Agent Platform417#### Google Cloud's Agent Platform

418 418 

419Ganti ID proyek dan wilayah dengan nilai Anda sendiri. Claude Code menyertakan keduanya dalam jalur setiap permintaan yang dikirimnya ke gateway:419Ganti ID proyek dan wilayah dengan nilai Anda sendiri. Claude Code menyertakan keduanya dalam jalur setiap permintaan yang dikirimnya ke gateway:

420 420 

421**Bash atau Zsh**421> [tab] Bash atau Zsh

422 422>

423```bash theme={null}423> ```bash theme={null}

424export ANTHROPIC_VERTEX_BASE_URL=https://llm-gateway.example.com/vertex424> export ANTHROPIC_VERTEX_BASE_URL=https://llm-gateway.example.com/vertex

425export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id425> export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id

426export CLAUDE_CODE_SKIP_VERTEX_AUTH=1426> export CLAUDE_CODE_SKIP_VERTEX_AUTH=1

427export CLAUDE_CODE_USE_VERTEX=1427> export CLAUDE_CODE_USE_VERTEX=1

428export CLOUD_ML_REGION=us-east5428> export CLOUD_ML_REGION=us-east5

429```429> ```

430 430 

431**PowerShell**431> [tab] PowerShell

432 432>

433```powershell theme={null}433> ```powershell theme={null}

434$env:ANTHROPIC_VERTEX_BASE_URL = "https://llm-gateway.example.com/vertex"434> $env:ANTHROPIC_VERTEX_BASE_URL = "https://llm-gateway.example.com/vertex"

435$env:ANTHROPIC_VERTEX_PROJECT_ID = "your-gcp-project-id"435> $env:ANTHROPIC_VERTEX_PROJECT_ID = "your-gcp-project-id"

436$env:CLAUDE_CODE_SKIP_VERTEX_AUTH = "1"436> $env:CLAUDE_CODE_SKIP_VERTEX_AUTH = "1"

437$env:CLAUDE_CODE_USE_VERTEX = "1"437> $env:CLAUDE_CODE_USE_VERTEX = "1"

438$env:CLOUD_ML_REGION = "us-east5"438> $env:CLOUD_ML_REGION = "us-east5"

439```439> ```

440 440 

441Blok ini mencakup perutean dan autentikasi. Penggantian wilayah dan pin model dari [pengaturan Agent Platform](https://code.claude.com/docs/id/google-vertex-ai.md#4-configure-claude-code) berlaku melalui gateway juga:441Blok ini mencakup perutean dan autentikasi. Penggantian wilayah dan pin model dari [pengaturan Agent Platform](https://code.claude.com/docs/id/google-vertex-ai.md#4-configure-claude-code) berlaku melalui gateway juga:

442 442 


450 450 

451Untuk gateway yang menyuntikkan header `Authorization` miliknya sendiri, atur `CLAUDE_CODE_SKIP_FOUNDRY_AUTH=1` dan biarkan kedua variabel kredensial tidak diatur. Claude Code kemudian mengirim permintaan tanpa kredensial Azure dan mempertahankan header `Authorization` yang Anda suplai, misalnya melalui `ANTHROPIC_CUSTOM_HEADERS`.451Untuk gateway yang menyuntikkan header `Authorization` miliknya sendiri, atur `CLAUDE_CODE_SKIP_FOUNDRY_AUTH=1` dan biarkan kedua variabel kredensial tidak diatur. Claude Code kemudian mengirim permintaan tanpa kredensial Azure dan mempertahankan header `Authorization` yang Anda suplai, misalnya melalui `ANTHROPIC_CUSTOM_HEADERS`.

452 452 

453**Bash atau Zsh**453> [tab] Bash atau Zsh

454 454>

455```bash theme={null}455> ```bash theme={null}

456export ANTHROPIC_FOUNDRY_BASE_URL=https://llm-gateway.example.com/foundry456> export ANTHROPIC_FOUNDRY_BASE_URL=https://llm-gateway.example.com/foundry

457export ANTHROPIC_FOUNDRY_API_KEY=sk-gateway-key457> export ANTHROPIC_FOUNDRY_API_KEY=sk-gateway-key

458export CLAUDE_CODE_USE_FOUNDRY=1458> export CLAUDE_CODE_USE_FOUNDRY=1

459```459> ```

460 

461**PowerShell**

462 460 

463```powershell theme={null}461> [tab] PowerShell

464$env:ANTHROPIC_FOUNDRY_BASE_URL = "https://llm-gateway.example.com/foundry"462>

465$env:ANTHROPIC_FOUNDRY_API_KEY = "sk-gateway-key"463> ```powershell theme={null}

466$env:CLAUDE_CODE_USE_FOUNDRY = "1"464> $env:ANTHROPIC_FOUNDRY_BASE_URL = "https://llm-gateway.example.com/foundry"

467```465> $env:ANTHROPIC_FOUNDRY_API_KEY = "sk-gateway-key"

466> $env:CLAUDE_CODE_USE_FOUNDRY = "1"

467> ```

468 468 

469#### Claude Platform di AWS469#### Claude Platform di AWS

470 470 

471Lihat [Claude Platform di AWS](https://code.claude.com/docs/id/claude-platform-on-aws.md) untuk ID ruang kerja.471Lihat [Claude Platform di AWS](https://code.claude.com/docs/id/claude-platform-on-aws.md) untuk ID ruang kerja.

472 472 

473**Bash atau Zsh**473> [tab] Bash atau Zsh

474 474>

475```bash theme={null}475> ```bash theme={null}

476export ANTHROPIC_AWS_BASE_URL=https://llm-gateway.example.com/anthropic-aws476> export ANTHROPIC_AWS_BASE_URL=https://llm-gateway.example.com/anthropic-aws

477export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN477> export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN

478export CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1478> export CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1

479export CLAUDE_CODE_USE_ANTHROPIC_AWS=1479> export CLAUDE_CODE_USE_ANTHROPIC_AWS=1

480```480> ```

481 481 

482**PowerShell**482> [tab] PowerShell

483 483>

484```powershell theme={null}484> ```powershell theme={null}

485$env:ANTHROPIC_AWS_BASE_URL = "https://llm-gateway.example.com/anthropic-aws"485> $env:ANTHROPIC_AWS_BASE_URL = "https://llm-gateway.example.com/anthropic-aws"

486$env:ANTHROPIC_AWS_WORKSPACE_ID = "wrkspc_01ABCDEFGHIJKLMN"486> $env:ANTHROPIC_AWS_WORKSPACE_ID = "wrkspc_01ABCDEFGHIJKLMN"

487$env:CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH = "1"487> $env:CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH = "1"

488$env:CLAUDE_CODE_USE_ANTHROPIC_AWS = "1"488> $env:CLAUDE_CODE_USE_ANTHROPIC_AWS = "1"

489```489> ```

490 490 

491#### Konfirmasi rute penyedia491#### Konfirmasi rute penyedia

492 492 

Details

62* `<gateway-key>` adalah kredensial apa pun yang memungkinkan Anda memanggil gateway sekarang: kunci administratif, kunci uji, atau kunci pengembang Anda sendiri jika Anda sudah mengeluarkan satu. Tidak setiap produk gateway memiliki kredensial admin terpisah; jika milik Anda tidak, keluarkan kunci pengembang untuk diri sendiri di [Keluarkan kredensial pengembang](#issue-developer-credentials) terlebih dahulu62* `<gateway-key>` adalah kredensial apa pun yang memungkinkan Anda memanggil gateway sekarang: kunci administratif, kunci uji, atau kunci pengembang Anda sendiri jika Anda sudah mengeluarkan satu. Tidak setiap produk gateway memiliki kredensial admin terpisah; jika milik Anda tidak, keluarkan kunci pengembang untuk diri sendiri di [Keluarkan kredensial pengembang](#issue-developer-credentials) terlebih dahulu

63* `model` adalah nama model Claude yang dikonfigurasi gateway untuk dirutekan. Contoh menggunakan `claude-sonnet-4-6`; ganti dengan nama yang telah Anda konfigurasi63* `model` adalah nama model Claude yang dikonfigurasi gateway untuk dirutekan. Contoh menggunakan `claude-sonnet-4-6`; ganti dengan nama yang telah Anda konfigurasi

64 64 

65**Bash atau Zsh**65> [tab] Bash atau Zsh

66 66>

67```bash theme={null}67> ```bash theme={null}

68curl -X POST "https://llm-gateway.example.com/v1/messages" \68> curl -X POST "https://llm-gateway.example.com/v1/messages" \

69 -H "Authorization: Bearer <gateway-key>" \69> -H "Authorization: Bearer <gateway-key>" \

70 -H "anthropic-version: 2023-06-01" \70> -H "anthropic-version: 2023-06-01" \

71 -H "content-type: application/json" \71> -H "content-type: application/json" \

72 -d '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'72> -d '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

73```73> ```

74 74 

75**PowerShell**75> [tab] PowerShell

76 76>

77```powershell theme={null}77> ```powershell theme={null}

78Invoke-RestMethod -Method Post -Uri "https://llm-gateway.example.com/v1/messages" `78> Invoke-RestMethod -Method Post -Uri "https://llm-gateway.example.com/v1/messages" `

79 -Headers @{ "Authorization" = "Bearer <gateway-key>"; "anthropic-version" = "2023-06-01" } `79> -Headers @{ "Authorization" = "Bearer <gateway-key>"; "anthropic-version" = "2023-06-01" } `

80 -ContentType "application/json" `80> -ContentType "application/json" `

81 -Body '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'81> -Body '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

82```82> ```

83 83 

84**Checkpoint**: `200` dengan bidang `content` berarti gateway mencapai penyedia dengan nama model itu. `404` berarti nama itu tidak dirutekan di gateway; `401` dari penyedia berarti kredensial penyedia gateway salah.84**Checkpoint**: `200` dengan bidang `content` berarti gateway mencapai penyedia dengan nama model itu. `404` berarti nama itu tidak dirutekan di gateway; `401` dari penyedia berarti kredensial penyedia gateway salah.

85 85 


95 95 

96Konfirmasi kunci yang baru dikeluarkan berfungsi terhadap gateway dengan permintaan yang sama seperti [Konfirmasi gateway merutekan model Anda](#confirm-the-gateway-routes-your-models), mengganti `<gateway-key>` dengan `<developer-key>` baru:96Konfirmasi kunci yang baru dikeluarkan berfungsi terhadap gateway dengan permintaan yang sama seperti [Konfirmasi gateway merutekan model Anda](#confirm-the-gateway-routes-your-models), mengganti `<gateway-key>` dengan `<developer-key>` baru:

97 97 

98**Bash atau Zsh**98> [tab] Bash atau Zsh

99 99>

100```bash theme={null}100> ```bash theme={null}

101curl -X POST "https://llm-gateway.example.com/v1/messages" \101> curl -X POST "https://llm-gateway.example.com/v1/messages" \

102 -H "Authorization: Bearer <developer-key>" \102> -H "Authorization: Bearer <developer-key>" \

103 -H "anthropic-version: 2023-06-01" \103> -H "anthropic-version: 2023-06-01" \

104 -H "content-type: application/json" \104> -H "content-type: application/json" \

105 -d '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'105> -d '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

106```106> ```

107 107 

108**PowerShell**108> [tab] PowerShell

109 109>

110```powershell theme={null}110> ```powershell theme={null}

111Invoke-RestMethod -Method Post -Uri "https://llm-gateway.example.com/v1/messages" `111> Invoke-RestMethod -Method Post -Uri "https://llm-gateway.example.com/v1/messages" `

112 -Headers @{ "Authorization" = "Bearer <developer-key>"; "anthropic-version" = "2023-06-01" } `112> -Headers @{ "Authorization" = "Bearer <developer-key>"; "anthropic-version" = "2023-06-01" } `

113 -ContentType "application/json" `113> -ContentType "application/json" `

114 -Body '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'114> -Body '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

115```115> ```

116 116 

117**Checkpoint**: `200` dengan bidang `content` berarti kunci pengembang mencapai gateway dan gateway meneruskannya. `401` di sini, ketika [langkah sebelumnya](#confirm-the-gateway-routes-your-models) berhasil, berarti kunci pengembang salah atau belum berlaku di gateway.117**Checkpoint**: `200` dengan bidang `content` berarti kunci pengembang mencapai gateway dan gateway meneruskannya. `401` di sini, ketika [langkah sebelumnya](#confirm-the-gateway-routes-your-models) berhasil, berarti kunci pengembang salah atau belum berlaku di gateway.

118 118 


122 122 

123Jalankan Claude Code melalui gateway sendiri sebelum mendistribusikan apa pun, menggunakan konfigurasi yang sama dengan yang akan didistribusikan peluncuran di seluruh armada. Ketik ini langsung di terminal, bukan di file `.env` atau pengaturan; mereka hanya berlaku untuk sesi terminal ini, jadi menutupnya mengembalikan mesin Anda ke konfigurasi normalnya. Gunakan `ANTHROPIC_API_KEY` daripada `ANTHROPIC_AUTH_TOKEN` jika gateway Anda membaca header `x-api-key`:123Jalankan Claude Code melalui gateway sendiri sebelum mendistribusikan apa pun, menggunakan konfigurasi yang sama dengan yang akan didistribusikan peluncuran di seluruh armada. Ketik ini langsung di terminal, bukan di file `.env` atau pengaturan; mereka hanya berlaku untuk sesi terminal ini, jadi menutupnya mengembalikan mesin Anda ke konfigurasi normalnya. Gunakan `ANTHROPIC_API_KEY` daripada `ANTHROPIC_AUTH_TOKEN` jika gateway Anda membaca header `x-api-key`:

124 124 

125**Bash atau Zsh**125> [tab] Bash atau Zsh

126 126>

127```bash theme={null}127> ```bash theme={null}

128export ANTHROPIC_BASE_URL=https://llm-gateway.example.com128> export ANTHROPIC_BASE_URL=https://llm-gateway.example.com

129export ANTHROPIC_AUTH_TOKEN="<developer-key>"129> export ANTHROPIC_AUTH_TOKEN="<developer-key>"

130```130> ```

131 

132**PowerShell**

133 131 

134```powershell theme={null}132> [tab] PowerShell

135$env:ANTHROPIC_BASE_URL = "https://llm-gateway.example.com"133>

136$env:ANTHROPIC_AUTH_TOKEN = "<developer-key>"134> ```powershell theme={null}

137```135> $env:ANTHROPIC_BASE_URL = "https://llm-gateway.example.com"

136> $env:ANTHROPIC_AUTH_TOKEN = "<developer-key>"

137> ```

138 138 

139Kemudian kirim prompt satu kali melalui gateway:139Kemudian kirim prompt satu kali melalui gateway:

140 140 


224 224 

225Konfirmasi semuanya berfungsi dari mesin pengembang, bukan host gateway, sehingga tes mencakup jalur jaringan yang digunakan pengembang. Kirim permintaan streaming, yang memeriksa endpoint, pass-through streaming, dan perutean model sekaligus:225Konfirmasi semuanya berfungsi dari mesin pengembang, bukan host gateway, sehingga tes mencakup jalur jaringan yang digunakan pengembang. Kirim permintaan streaming, yang memeriksa endpoint, pass-through streaming, dan perutean model sekaligus:

226 226 

227**Bash atau Zsh**227> [tab] Bash atau Zsh

228 228>

229```bash theme={null}229> ```bash theme={null}

230curl -N -X POST "https://llm-gateway.example.com/v1/messages" \230> curl -N -X POST "https://llm-gateway.example.com/v1/messages" \

231 -H "Authorization: Bearer <developer-key>" \231> -H "Authorization: Bearer <developer-key>" \

232 -H "anthropic-version: 2023-06-01" \232> -H "anthropic-version: 2023-06-01" \

233 -H "content-type: application/json" \233> -H "content-type: application/json" \

234 -d '{"model": "claude-sonnet-4-6", "max_tokens": 16, "stream": true, "messages": [{"role": "user", "content": "count to 3"}]}'234> -d '{"model": "claude-sonnet-4-6", "max_tokens": 16, "stream": true, "messages": [{"role": "user", "content": "count to 3"}]}'

235```235> ```

236 236 

237**PowerShell**237> [tab] PowerShell

238 238>

239```powershell theme={null}239> ```powershell theme={null}

240$body = '{"model": "claude-sonnet-4-6", "max_tokens": 16, "stream": true, "messages": [{"role": "user", "content": "count to 3"}]}'240> $body = '{"model": "claude-sonnet-4-6", "max_tokens": 16, "stream": true, "messages": [{"role": "user", "content": "count to 3"}]}'

241$body | curl.exe -N -X POST "https://llm-gateway.example.com/v1/messages" `241> $body | curl.exe -N -X POST "https://llm-gateway.example.com/v1/messages" `

242 -H "Authorization: Bearer <developer-key>" `242> -H "Authorization: Bearer <developer-key>" `

243 -H "anthropic-version: 2023-06-01" `243> -H "anthropic-version: 2023-06-01" `

244 -H "content-type: application/json" `244> -H "content-type: application/json" `

245 --data-binary '@-'245> --data-binary '@-'

246```246> ```

247 247 

248Anda seharusnya melihat baris `data:` tiba secara bertahap. Seluruh respons tiba sekaligus setelah jeda berarti gateway membuffer, yang menghentikan Claude Code; `404` berarti nama model tidak dirutekan. Ulangi per nama model.248Anda seharusnya melihat baris `data:` tiba secara bertahap. Seluruh respons tiba sekaligus setelah jeda berarti gateway membuffer, yang menghentikan Claude Code; `404` berarti nama model tidak dirutekan. Ulangi per nama model.

249 249 

managed-mcp.md +5 −5

Details

403 403 

404Accordion di bawah ini menjelaskan bagaimana server dievaluasi terhadap kombinasi allowlist dan denylist lainnya.404Accordion di bawah ini menjelaskan bagaimana server dievaluasi terhadap kombinasi allowlist dan denylist lainnya.

405 405 

406> **Allowlist hanya URL**406> [accordion] Allowlist hanya URL

407>407>

408> ```json theme={null}408> ```json theme={null}

409> {409> {


421> | Server HTTP di `https://external.example.com/mcp` | Diblokir: tidak cocok dengan pola URL apa pun |421> | Server HTTP di `https://external.example.com/mcp` | Diblokir: tidak cocok dengan pola URL apa pun |

422> | Server stdio dengan perintah apa pun | Diblokir: tidak ada entri nama atau perintah untuk cocok |422> | Server stdio dengan perintah apa pun | Diblokir: tidak ada entri nama atau perintah untuk cocok |

423 423 

424> **Allowlist hanya perintah**424> [accordion] Allowlist hanya perintah

425>425>

426> ```json theme={null}426> ```json theme={null}

427> {427> {


437> | Server stdio dengan `["node", "server.js"]` | Diblokir: tidak cocok dengan perintah |437> | Server stdio dengan `["node", "server.js"]` | Diblokir: tidak cocok dengan perintah |

438> | Server HTTP bernama `my-api` | Diblokir: tidak ada entri nama untuk cocok |438> | Server HTTP bernama `my-api` | Diblokir: tidak ada entri nama untuk cocok |

439 439 

440> **Allowlist nama dan perintah campuran**440> [accordion] Allowlist nama dan perintah campuran

441>441>

442> ```json theme={null}442> ```json theme={null}

443> {443> {


456> | Server HTTP bernama `github` | Diizinkan: cocok dengan nama |456> | Server HTTP bernama `github` | Diizinkan: cocok dengan nama |

457> | Server HTTP bernama `other-api` | Diblokir: nama tidak cocok |457> | Server HTTP bernama `other-api` | Diblokir: nama tidak cocok |

458 458 

459> **Allowlist hanya nama**459> [accordion] Allowlist hanya nama

460>460>

461> ```json theme={null}461> ```json theme={null}

462> {462> {


474> | Server HTTP bernama `github` | Diizinkan: cocok dengan nama |474> | Server HTTP bernama `github` | Diizinkan: cocok dengan nama |

475> | Server apa pun bernama `other` | Diblokir: nama tidak cocok |475> | Server apa pun bernama `other` | Diblokir: nama tidak cocok |

476 476 

477> **Allowlist dengan penggantian denylist**477> [accordion] Allowlist dengan penggantian denylist

478>478>

479> ```json theme={null}479> ```json theme={null}

480> {480> {

mcp.md +35 −35

Details

1039 1039 

1040Tab mencakup kedua perintah: `claude mcp add` mengambil ID klien dan port callback Anda sebagai flag, dan `claude mcp add-json` mengambilnya dalam objek `oauth`. Jika Anda mendaftarkan URI pengalihan, atur port callback ke port dalam URI itu.1040Tab mencakup kedua perintah: `claude mcp add` mengambil ID klien dan port callback Anda sebagai flag, dan `claude mcp add-json` mengambilnya dalam objek `oauth`. Jika Anda mendaftarkan URI pengalihan, atur port callback ke port dalam URI itu.

1041 1041 

1042**claude mcp add**1042> [tab] claude mcp add

1043 1043>

1044Gunakan `--client-id` untuk meneruskan ID klien aplikasi Anda. Flag `--client-secret` meminta rahasia dengan input bertopeng:1044> Gunakan `--client-id` untuk meneruskan ID klien aplikasi Anda. Flag `--client-secret` meminta rahasia dengan input bertopeng:

1045 1045>

1046```bash theme={null}1046> ```bash theme={null}

1047claude mcp add --transport http \1047> claude mcp add --transport http \

1048 --client-id your-client-id --client-secret --callback-port 8080 \1048> --client-id your-client-id --client-secret --callback-port 8080 \

1049 my-server https://mcp.example.com/mcp1049> my-server https://mcp.example.com/mcp

1050```1050> ```

1051 

1052**claude mcp add-json**

1053 

1054Sertakan objek `oauth` dalam konfigurasi JSON dan berikan `--client-secret` sebagai flag terpisah:

1055 

1056```bash theme={null}

1057claude mcp add-json my-server \

1058 '{"type":"http","url":"https://mcp.example.com/mcp","oauth":{"clientId":"your-client-id","callbackPort":8080}}' \

1059 --client-secret

1060```

1061 

1062**claude mcp add-json (callback port only)**

1063 

1064Untuk memperbaiki hanya port callback dan membiarkan Claude Code mendaftarkan klien secara otomatis, atur `callbackPort` sendiri:

1065 

1066```bash theme={null}

1067claude mcp add-json my-server \

1068 '{"type":"http","url":"https://mcp.example.com/mcp","oauth":{"callbackPort":8080}}'

1069```

1070 1051 

1071**CI / env var**1052> [tab] claude mcp add-json

1053>

1054> Sertakan objek `oauth` dalam konfigurasi JSON dan berikan `--client-secret` sebagai flag terpisah:

1055>

1056> ```bash theme={null}

1057> claude mcp add-json my-server \

1058> '{"type":"http","url":"https://mcp.example.com/mcp","oauth":{"clientId":"your-client-id","callbackPort":8080}}' \

1059> --client-secret

1060> ```

1072 1061 

1073Atur rahasia melalui environment variable untuk melewati prompt interaktif:1062> [tab] claude mcp add-json (callback port only)

1063>

1064> Untuk memperbaiki hanya port callback dan membiarkan Claude Code mendaftarkan klien secara otomatis, atur `callbackPort` sendiri:

1065>

1066> ```bash theme={null}

1067> claude mcp add-json my-server \

1068> '{"type":"http","url":"https://mcp.example.com/mcp","oauth":{"callbackPort":8080}}'

1069> ```

1074 1070 

1075```bash theme={null}1071> [tab] CI / env var

1076MCP_CLIENT_SECRET=your-secret claude mcp add --transport http \1072>

1077 --client-id your-client-id --client-secret --callback-port 8080 \1073> Atur rahasia melalui environment variable untuk melewati prompt interaktif:

1078 my-server https://mcp.example.com/mcp1074>

1079```1075> ```bash theme={null}

1076> MCP_CLIENT_SECRET=your-secret claude mcp add --transport http \

1077> --client-id your-client-id --client-secret --callback-port 8080 \

1078> my-server https://mcp.example.com/mcp

1079> ```

1080 1080 

1081**3. Autentikasi di Claude Code**1081**3. Autentikasi di Claude Code**

1082 1082 

Details

286 286 

287Jika server tidak terhubung, periksa statusnya dengan `/mcp` di dalam sesi atau `claude mcp list` dari shell Anda, kemudian cocokkan gejala di bawah. Panel `/mcp` juga memungkinkan Anda untuk menghubungkan kembali atau mengautentikasi tanpa meninggalkan sesi.287Jika server tidak terhubung, periksa statusnya dengan `/mcp` di dalam sesi atau `claude mcp list` dari shell Anda, kemudian cocokkan gejala di bawah. Panel `/mcp` juga memungkinkan Anda untuk menghubungkan kembali atau mengautentikasi tanpa meninggalkan sesi.

288 288 

289> **/mcp shows No MCP servers configured**289> [accordion] /mcp shows No MCP servers configured

290>290>

291> Claude Code tidak menemukan server apa pun untuk direktori saat ini. Penyebab paling umum:291> Claude Code tidak menemukan server apa pun untuk direktori saat ini. Penyebab paling umum:

292>292>


294> * Anda mengedit file konfigurasi di jalur yang salah. File yang benar adalah `~/.claude.json` dan `<project>/.mcp.json`. Claude Code tidak membaca jalur seperti `~/.claude/.mcp.json`, `~/.claude/config/mcp.json`, `~/.claude/mcp.json`, atau `%APPDATA%\Claude\mcp.json`. Untuk server yang dibatasi pengguna, jalankan `claude mcp add --scope user`, yang menulis ke kunci `mcpServers` di `~/.claude.json`; untuk server yang dibatasi proyek, edit `.mcp.json` di akar proyek.294> * Anda mengedit file konfigurasi di jalur yang salah. File yang benar adalah `~/.claude.json` dan `<project>/.mcp.json`. Claude Code tidak membaca jalur seperti `~/.claude/.mcp.json`, `~/.claude/config/mcp.json`, `~/.claude/mcp.json`, atau `%APPDATA%\Claude\mcp.json`. Untuk server yang dibatasi pengguna, jalankan `claude mcp add --scope user`, yang menulis ke kunci `mcpServers` di `~/.claude.json`; untuk server yang dibatasi proyek, edit `.mcp.json` di akar proyek.

295> * Anda menulis entri yang salah bentuk di `.mcp.json`. Claude Code melewati entri itu dan masih memuat yang lain. Jalankan `claude mcp list` dari shell Anda dan cari peringatan parse, yang menyebutkan nama bidang yang menyinggung.295> * Anda menulis entri yang salah bentuk di `.mcp.json`. Claude Code melewati entri itu dan masih memuat yang lain. Jalankan `claude mcp list` dari shell Anda dan cari peringatan parse, yang menyebutkan nama bidang yang menyinggung.

296 296 

297> **Status shows Failed to connect or Connection error**297> [accordion] Status shows Failed to connect or Connection error

298>298>

299> Kedua status berarti server tidak dimulai atau URL tidak merespons. Mereka juga dapat muncul untuk server HTTP yang menolak token yang Anda konfigurasi di `headers.Authorization`; server yang menginginkan token yang belum Anda konfigurasi menampilkan `! Needs authentication` sebagai gantinya, tercakup dalam [Terhubung ke server yang memerlukan masuk](#connect-a-server-that-requires-sign-in).299> Kedua status berarti server tidak dimulai atau URL tidak merespons. Mereka juga dapat muncul untuk server HTTP yang menolak token yang Anda konfigurasi di `headers.Authorization`; server yang menginginkan token yang belum Anda konfigurasi menampilkan `! Needs authentication` sebagai gantinya, tercakup dalam [Terhubung ke server yang memerlukan masuk](#connect-a-server-that-requires-sign-in).

300>300>


334> Jalankan `claude mcp get <name>` dan konfirmasi perintah yang ditampilkan di sana cocok dengan apa yang baru saja Anda jalankan. Jika perintah yang ditampilkan berbeda dari apa yang Anda ketik, Anda mungkin menghilangkan pemisah `--` sebelum perintah server. Hapus server dan tambahkan kembali dengan `--` di tempat. Jika Anda menulis `.mcp.json` dengan tangan, periksa sintaks dan lokasinya. Sebelum v2.1.285, `claude mcp get` tidak mencetak baris `Command` untuk entri stdio yang disimpan tanpa bidang `type`, seperti entri `.mcp.json` yang ditulis dengan tangan. Pada versi tersebut, jalankan `claude mcp list` sebagai gantinya, yang mencetak baris perintah baik cara.334> Jalankan `claude mcp get <name>` dan konfirmasi perintah yang ditampilkan di sana cocok dengan apa yang baru saja Anda jalankan. Jika perintah yang ditampilkan berbeda dari apa yang Anda ketik, Anda mungkin menghilangkan pemisah `--` sebelum perintah server. Hapus server dan tambahkan kembali dengan `--` di tempat. Jika Anda menulis `.mcp.json` dengan tangan, periksa sintaks dan lokasinya. Sebelum v2.1.285, `claude mcp get` tidak mencetak baris `Command` untuk entri stdio yang disimpan tanpa bidang `type`, seperti entri `.mcp.json` yang ditulis dengan tangan. Pada versi tersebut, jalankan `claude mcp list` sebagai gantinya, yang mencetak baris perintah baik cara.

335> * Perintah kesalahan: pesan menyebutkan apa yang hilang, seperti Node.js atau browser.335> * Perintah kesalahan: pesan menyebutkan apa yang hilang, seperti Node.js atau browser.

336 336 

337> **Connection timed out at startup**337> [accordion] Connection timed out at startup

338>338>

339> Server membutuhkan waktu lebih lama dari batas waktu startup default 30 detik. Jalankan pertama server stdio dapat lambat sementara `npx` mengunduh paket. Tingkatkan batas dengan variabel lingkungan [`MCP_TIMEOUT`](https://code.claude.com/docs/id/env-vars), dalam milidetik:339> Server membutuhkan waktu lebih lama dari batas waktu startup default 30 detik. Jalankan pertama server stdio dapat lambat sementara `npx` mengunduh paket. Tingkatkan batas dengan variabel lingkungan [`MCP_TIMEOUT`](https://code.claude.com/docs/id/env-vars), dalam milidetik:

340>340>


350>350>

351> Sebelum v2.1.299, beberapa koneksi ke server HTTP yang aktif mengalami timeout saat startup terlepas dari `MCP_TIMEOUT`. Jika Anda menggunakan salah satu versi tersebut dan server HTTP yang aktif masih mengalami timeout setelah Anda menaikkan batas, [perbarui Claude Code](https://code.claude.com/docs/id/setup.md#update-claude-code).351> Sebelum v2.1.299, beberapa koneksi ke server HTTP yang aktif mengalami timeout saat startup terlepas dari `MCP_TIMEOUT`. Jika Anda menggunakan salah satu versi tersebut dan server HTTP yang aktif masih mengalami timeout setelah Anda menaikkan batas, [perbarui Claude Code](https://code.claude.com/docs/id/setup.md#update-claude-code).

352 352 

353> **Server already exists**353> [accordion] Server already exists

354>354>

355> Anda telah menambahkan server dengan nama itu di cakupan yang sama. Baik hapus entri yang ada terlebih dahulu atau pilih nama yang berbeda:355> Anda telah menambahkan server dengan nama itu di cakupan yang sama. Baik hapus entri yang ada terlebih dahulu atau pilih nama yang berbeda:

356>356>


360>360>

361> Jika nama ada di lebih dari satu cakupan, `remove` melaporkan `exists in multiple scopes`. Teruskan `--scope` untuk memilih salinan mana yang akan dihapus, misalnya `claude mcp remove claude-code-docs --scope local`.361> Jika nama ada di lebih dari satu cakupan, `remove` melaporkan `exists in multiple scopes`. Teruskan `--scope` untuk memilih salinan mana yang akan dihapus, misalnya `claude mcp remove claude-code-docs --scope local`.

362 362 

363> **Server connects but no tools appear**363> [accordion] Server connects but no tools appear

364>364>

365> Jalankan `/mcp` di dalam sesi dan pilih server untuk melihat daftar alatnya. Jika daftar kosong, server dimulai tetapi tidak mendaftarkan alat apa pun, yang biasanya berarti hilang variabel lingkungan yang diperlukan seperti kunci API.365> Jalankan `/mcp` di dalam sesi dan pilih server untuk melihat daftar alatnya. Jika daftar kosong, server dimulai tetapi tidak mendaftarkan alat apa pun, yang biasanya berarti hilang variabel lingkungan yang diperlukan seperti kunci API.

366>366>


368>368>

369> Sebelum v2.1.302, `/mcp` menampilkan status `tools fetch failed` untuk server yang menggunakan [revisi protokol 2026-07-28](https://code.claude.com/docs/id/mcp.md#mcp-client-runtimes) yang tidak menyertakan `resultType`, `ttlMs`, atau `cacheScope` dalam balasannya. Jika Anda menggunakan salah satu versi tersebut dan server menampilkan status itu, [perbarui Claude Code](https://code.claude.com/docs/id/setup.md#update-claude-code).369> Sebelum v2.1.302, `/mcp` menampilkan status `tools fetch failed` untuk server yang menggunakan [revisi protokol 2026-07-28](https://code.claude.com/docs/id/mcp.md#mcp-client-runtimes) yang tidak menyertakan `resultType`, `ttlMs`, atau `cacheScope` dalam balasannya. Jika Anda menggunakan salah satu versi tersebut dan server menampilkan status itu, [perbarui Claude Code](https://code.claude.com/docs/id/setup.md#update-claude-code).

370 370 

371> **Changes to .mcp.json don't take effect**371> [accordion] Changes to .mcp.json don't take effect

372>372>

373> Claude Code membaca `.mcp.json` saat startup sesi. Keluar dan mulai ulang sesi setelah mengedit file.373> Claude Code membaca `.mcp.json` saat startup sesi. Keluar dan mulai ulang sesi setelah mengedit file.

374>374>


380> claude mcp reset-project-choices380> claude mcp reset-project-choices

381> ```381> ```

382 382 

383> **OAuth sign-in fails or browser doesn't open**383> [accordion] OAuth sign-in fails or browser doesn't open

384>384>

385> Jalankan `/mcp`, pilih server, dan pilih `Authenticate` lagi. Jika browser tidak terbuka secara otomatis, salin URL yang ditampilkan di terminal dan buka secara manual. Lihat [Autentikasi dengan server MCP jarak jauh](https://code.claude.com/docs/id/mcp.md#authenticate-with-remote-mcp-servers) untuk port callback tetap dan kredensial yang telah dikonfigurasi sebelumnya.385> Jalankan `/mcp`, pilih server, dan pilih `Authenticate` lagi. Jika browser tidak terbuka secara otomatis, salin URL yang ditampilkan di terminal dan buka secara manual. Lihat [Autentikasi dengan server MCP jarak jauh](https://code.claude.com/docs/id/mcp.md#authenticate-with-remote-mcp-servers) untuk port callback tetap dan kredensial yang telah dikonfigurasi sebelumnya.

386 386 

mobile.md +2 −2

Details

39| [Cloud sessions](https://code.claude.com/docs/id/claude-code-on-the-web.md) | Sesi di infrastruktur cloud, dikelola Anthropic secara default | Repositori Anda ada di GitHub dan tugas harus terus berjalan setelah Anda meletakkan ponsel Anda. Lihat [panduan cepat cloud](https://code.claude.com/docs/id/web-quickstart.md) untuk menyiapkan. |39| [Cloud sessions](https://code.claude.com/docs/id/claude-code-on-the-web.md) | Sesi di infrastruktur cloud, dikelola Anthropic secara default | Repositori Anda ada di GitHub dan tugas harus terus berjalan setelah Anda meletakkan ponsel Anda. Lihat [panduan cepat cloud](https://code.claude.com/docs/id/web-quickstart.md) untuk menyiapkan. |

40| [Projects](https://code.claude.com/docs/id/claude-projects.md) | Percakapan di mana Claude mengoordinasikan sesi cloud paralel sebagai thread | Anda memiliki aliran pekerjaan terkait daripada satu tugas dan ingin melihat thread mana yang selesai atau memerlukan Anda. |40| [Projects](https://code.claude.com/docs/id/claude-projects.md) | Percakapan di mana Claude mengoordinasikan sesi cloud paralel sebagai thread | Anda memiliki aliran pekerjaan terkait daripada satu tugas dan ingin melihat thread mana yang selesai atau memerlukan Anda. |

41| [Remote Control](https://code.claude.com/docs/id/remote-control.md) | Sesi Claude Code yang berjalan di komputer Anda | Pekerjaan memerlukan sistem file lokal, alat, atau server MCP Anda. |41| [Remote Control](https://code.claude.com/docs/id/remote-control.md) | Sesi Claude Code yang berjalan di komputer Anda | Pekerjaan memerlukan sistem file lokal, alat, atau server MCP Anda. |

42| [Dispatch](https://code.claude.com/docs/id/desktop.md#sessions-from-dispatch) | Aplikasi Desktop di komputer Anda | Anda ingin mengirimkan pesan tugas dan membiarkan Dispatch memutuskan cara menjalankannya. Memerlukan paket Pro atau Max. |42| [Dispatch](https://code.claude.com/docs/id/desktop.md#sessions-from-dispatch) | Aplikasi Desktop di komputer Anda | Anda ingin mengirimkan pesan tugas dan membiarkan Dispatch memutuskan cara menjalankannya. Memerlukan paket Pro, Max, atau Ultra. |

43 43 

44Jika komputer Anda akan mati, gunakan cloud sessions atau proyek, yang berjalan di cloud dan berlanjut dengan laptop Anda ditutup. Remote Control dan Dispatch menjalankan mesin Anda sendiri, jadi perlu tetap menyala dengan Claude Code atau aplikasi Desktop berjalan. Jika mesin Anda tidur selama sesi Remote Control, Claude Code terhubung kembali saat mesin kembali online.44Jika komputer Anda akan mati, gunakan cloud sessions atau proyek, yang berjalan di cloud dan berlanjut dengan laptop Anda ditutup. Remote Control dan Dispatch menjalankan mesin Anda sendiri, jadi perlu tetap menyala dengan Claude Code atau aplikasi Desktop berjalan. Jika mesin Anda tidur selama sesi Remote Control, Claude Code terhubung kembali saat mesin kembali online.

45 45 


76 76 

77* **Perintah lokal saja**: perintah yang hanya berjalan di antarmuka terminal, seperti `/plugin` dan `/resume`, tidak berfungsi dari aplikasi. [Keterbatasan Remote Control](https://code.claude.com/docs/id/remote-control.md#limitations) mencantumkan perintah yang berfungsi dari mobile dan bagaimana perilakunya berbeda.77* **Perintah lokal saja**: perintah yang hanya berjalan di antarmuka terminal, seperti `/plugin` dan `/resume`, tidak berfungsi dari aplikasi. [Keterbatasan Remote Control](https://code.claude.com/docs/id/remote-control.md#limitations) mencantumkan perintah yang berfungsi dari mobile dan bagaimana perilakunya berbeda.

78* **Mode izin**: sesi cloud menawarkan Accept edits, Plan, dan Auto, dan sesi Remote Control menawarkan Manual, Accept edits, Plan, dan Auto. Anda tidak dapat memilih Bypass permissions dari aplikasi dalam kedua kasus. Lihat [beralih mode izin](https://code.claude.com/docs/id/permission-modes.md#switch-permission-modes) untuk mengetahui kapan Auto tersedia.78* **Mode izin**: sesi cloud menawarkan Accept edits, Plan, dan Auto, dan sesi Remote Control menawarkan Manual, Accept edits, Plan, dan Auto. Anda tidak dapat memilih Bypass permissions dari aplikasi dalam kedua kasus. Lihat [beralih mode izin](https://code.claude.com/docs/id/permission-modes.md#switch-permission-modes) untuk mengetahui kapan Auto tersedia.

79* **Rencana Dispatch**: Dispatch memerlukan paket Pro atau Max dan tidak tersedia di Team atau Enterprise.79* **Paket Dispatch**: Dispatch memerlukan paket Pro, Max, atau Ultra dan tidak tersedia di Team atau Enterprise.

80 80 

81## Sumber daya terkait81## Sumber daya terkait

82 82 

model-config.md +4 −4

Details

455 455 

456Perilaku `default` tergantung pada jenis akun Anda:456Perilaku `default` tergantung pada jenis akun Anda:

457 457 

458* **Pro, Max, Team, Enterprise, dan Anthropic API**: default ke Opus 5.5458* **Pro, Max, Ultra, Team, Enterprise, dan Anthropic API**: default ke Opus 5.5

459* **Claude Platform on AWS, Amazon Bedrock, dan Google Cloud's Agent Platform**: default ke Opus 5.5459* **Claude Platform on AWS, Amazon Bedrock, dan Google Cloud's Agent Platform**: default ke Opus 5.5

460* **Microsoft Foundry**: default ke Sonnet 4.5460* **Microsoft Foundry**: default ke Sonnet 4.5

461 461 

462Sebelum v2.1.280, `default` diselesaikan ke Sonnet 5 pada Pro dan Team Standard, dan ke Opus 5 pada Max, Team Premium, Enterprise, Anthropic API, Claude Platform on AWS, Amazon Bedrock, dan Google Cloud's Agent Platform dari v2.1.219. Sebelum v2.1.219, `default` diselesaikan ke Opus 4.8 pada Anthropic API, Max, Team Premium, dan Enterprise pay-as-you-go dari v2.1.154, dan pada Claude Platform on AWS, Amazon Bedrock, dan Google Cloud's Agent Platform dari v2.1.207. Sebelum v2.1.207, `default` diselesaikan ke Opus 4.7 pada Claude Platform on AWS dan ke Sonnet 4.5 pada Amazon Bedrock dan Google Cloud's Agent Platform.462Sebelum v2.1.280, `default` diselesaikan ke Sonnet 5 pada Pro dan Team Standard, dan ke Opus 5 pada Max, Ultra, Team Premium, Enterprise, Anthropic API, Claude Platform on AWS, Amazon Bedrock, dan Google Cloud's Agent Platform dari v2.1.219. Sebelum v2.1.219, `default` diselesaikan ke Opus 4.8 pada Anthropic API, Max, Ultra, Team Premium, dan Enterprise pay-as-you-go dari v2.1.154, dan pada Claude Platform on AWS, Amazon Bedrock, dan Google Cloud's Agent Platform dari v2.1.207. Sebelum v2.1.207, `default` diselesaikan ke Opus 4.7 pada Claude Platform on AWS dan ke Sonnet 4.5 pada Amazon Bedrock dan Google Cloud's Agent Platform.

463 463 

464Ketika admin telah menetapkan [model default organisasi](#organization-default-model), `default` diselesaikan ke model tersebut alih-alih default jenis akun di atas. Memerlukan Claude Code v2.1.196 atau lebih baru. `default` juga dapat diselesaikan ke model yang Anda atur dengan [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions), di bawah kondisi yang tercantum di bagiannya, atau ke model [yang tercatat pada akun Anda](#setting-your-model).464Ketika admin telah menetapkan [model default organisasi](#organization-default-model), `default` diselesaikan ke model tersebut alih-alih default jenis akun di atas. Memerlukan Claude Code v2.1.196 atau lebih baru. `default` juga dapat diselesaikan ke model yang Anda atur dengan [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions), di bawah kondisi yang tercantum di bagiannya, atau ke model [yang tercatat pada akun Anda](#setting-your-model).

465 465 


758 758 

759Fable 5.1, Fable 5, Sonnet 5 dan lebih baru, Haiku 5.5, serta Opus 4.7 dan lebih baru berjalan dengan window 1M secara default, tanpa memerlukan sufiks `[1m]`. Hal ini mencakup sesi pada Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, serta sesi [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway). Untuk menjalankannya dengan window 200K, lihat [Matikan konteks 1M](#turn-off-1m-context).759Fable 5.1, Fable 5, Sonnet 5 dan lebih baru, Haiku 5.5, serta Opus 4.7 dan lebih baru berjalan dengan window 1M secara default, tanpa memerlukan sufiks `[1m]`. Hal ini mencakup sesi pada Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, serta sesi [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway). Untuk menjalankannya dengan window 200K, lihat [Matikan konteks 1M](#turn-off-1m-context).

760 760 

761Opus 4.6 dan Sonnet 4.6 mencapai 1M hanya melalui varian `[1m]` mereka, dan akses ke varian itu tergantung pada paket Anda. Pada paket Max, Team, dan Enterprise, termasuk kursi Team Standard dan Team Premium, Opus 4.6 dengan konteks 1M disertakan dengan langganan Anda. Sonnet 4.6 dengan konteks 1M memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) pada setiap paket langganan, termasuk Max.761Opus 4.6 dan Sonnet 4.6 mencapai 1M hanya melalui varian `[1m]` mereka, dan akses ke varian itu tergantung pada paket Anda. Pada paket Max, Ultra, Team, dan Enterprise, termasuk kursi Team Standard dan Team Premium, Opus 4.6 dengan konteks 1M disertakan dengan langganan Anda. Sonnet 4.6 dengan konteks 1M memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) pada setiap paket langganan, termasuk Max dan Ultra.

762 762 

763| Paket | Opus 4.6 dengan konteks 1M | Sonnet 4.6 dengan konteks 1M |763| Paket | Opus 4.6 dengan konteks 1M | Sonnet 4.6 dengan konteks 1M |

764| - | - | - |764| - | - | - |

765| Max, Team, dan Enterprise | Disertakan dengan langganan | Memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |765| Max, Ultra, Team, dan Enterprise | Disertakan dengan langganan | Memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

766| Pro | Memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |766| Pro | Memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

767| API dan pay-as-you-go | Akses penuh | Akses penuh |767| API dan pay-as-you-go | Akses penuh | Akses penuh |

768 768 

overview.md +119 −119

Details

12 12 

13Claude Code berjalan di beberapa permukaan: terminal, ekstensi IDE, aplikasi desktop, dan web. Pilih salah satu dari tab di bawah untuk memulai. Sebagian besar permukaan memerlukan [langganan Claude](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=overview_pricing) atau akun [Konsol Anthropic](https://platform.claude.com/). CLI Terminal, VS Code, dan JetBrains juga mendukung [penyedia pihak ketiga](https://code.claude.com/docs/id/third-party-integrations.md).13Claude Code berjalan di beberapa permukaan: terminal, ekstensi IDE, aplikasi desktop, dan web. Pilih salah satu dari tab di bawah untuk memulai. Sebagian besar permukaan memerlukan [langganan Claude](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=overview_pricing) atau akun [Konsol Anthropic](https://platform.claude.com/). CLI Terminal, VS Code, dan JetBrains juga mendukung [penyedia pihak ketiga](https://code.claude.com/docs/id/third-party-integrations.md).

14 14 

15**Terminal**15> [tab] Terminal

16 16>

17CLI lengkap untuk bekerja dengan Claude Code langsung di terminal Anda. Edit file, jalankan perintah, dan kelola seluruh proyek Anda dari baris perintah.17> CLI lengkap untuk bekerja dengan Claude Code langsung di terminal Anda. Edit file, jalankan perintah, dan kelola seluruh proyek Anda dari baris perintah.

18 18>

19Untuk menginstal Claude Code, buka terminal dan jalankan perintah untuk sistem Anda. Jika Anda belum pernah menggunakan terminal sebelumnya, [panduan terminal](https://code.claude.com/docs/id/terminal-guide) menunjukkan cara membukanya dan menempel perintahnya.19> Untuk menginstal Claude Code, buka terminal dan jalankan perintah untuk sistem Anda. Jika Anda belum pernah menggunakan terminal sebelumnya, [panduan terminal](https://code.claude.com/docs/id/terminal-guide) menunjukkan cara membukanya dan menempel perintahnya.

20 20>

21**Native Install (Direkomendasikan)**21> > [tab] Native Install (Direkomendasikan)

22 22> >

23**macOS, Linux, WSL:**23> > **macOS, Linux, WSL:**

24 24> >

25```bash theme={null}25> > ```bash theme={null}

26curl -fsSL https://claude.ai/install.sh | bash26> > curl -fsSL https://claude.ai/install.sh | bash

27```27> > ```

28 28> >

29Di Windows, prompt Anda menunjukkan `PS C:\` ketika Anda berada di PowerShell dan `C:\` tanpa `PS` ketika Anda berada di CMD.29> > Di Windows, prompt Anda menunjukkan `PS C:\` ketika Anda berada di PowerShell dan `C:\` tanpa `PS` ketika Anda berada di CMD.

30 30> >

31**Windows PowerShell:**31> > **Windows PowerShell:**

32 32> >

33```powershell theme={null}33> > ```powershell theme={null}

34irm https://claude.ai/install.ps1 | iex34> > irm https://claude.ai/install.ps1 | iex

35```35> > ```

36 36> >

37**Windows CMD:**37> > **Windows CMD:**

38 38> >

39```batch theme={null}39> > ```batch theme={null}

40curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd40> > curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

41```41> > ```

42 42> >

43Perintah instalasi tidak menampilkan kemajuan saat mengunduh Claude Code. Ketika penginstal selesai, buka jendela terminal baru dan jalankan `claude --version`. Instalasi yang berfungsi dengan baik mencetak nomor versi. Jika shell Anda mengatakan `claude` tidak ditemukan atau tidak dikenali, direktori instalasi belum ada di PATH Anda: lihat [Perbaiki PATH Anda](https://code.claude.com/docs/id/troubleshoot-install.md#command-not-found-claude-after-installation).43> > Perintah instalasi tidak menampilkan kemajuan saat mengunduh Claude Code. Ketika penginstal selesai, buka jendela terminal baru dan jalankan `claude --version`. Instalasi yang berfungsi dengan baik mencetak nomor versi. Jika shell Anda mengatakan `claude` tidak ditemukan atau tidak dikenali, direktori instalasi belum ada di PATH Anda: lihat [Perbaiki PATH Anda](https://code.claude.com/docs/id/troubleshoot-install.md#command-not-found-claude-after-installation).

44 44> >

45Jika Anda melihat `The token '&&' is not a valid statement separator`, Anda berada di PowerShell, bukan CMD. Jika Anda melihat `'irm' is not recognized as an internal or external command`, Anda berada di CMD, bukan PowerShell.45> > Jika Anda melihat `The token '&&' is not a valid statement separator`, Anda berada di PowerShell, bukan CMD. Jika Anda melihat `'irm' is not recognized as an internal or external command`, Anda berada di CMD, bukan PowerShell.

46 46> >

47Jika perintah instalasi gagal dengan `syntax error near unexpected token '<'`, `403`, atau kesalahan lainnya, lihat [Troubleshoot installation](https://code.claude.com/docs/id/troubleshoot-install.md#find-your-error) untuk mencocokkan kesalahan dengan perbaikan dan untuk metode instalasi alternatif.47> > Jika perintah instalasi gagal dengan `syntax error near unexpected token '<'`, `403`, atau kesalahan lainnya, lihat [Troubleshoot installation](https://code.claude.com/docs/id/troubleshoot-install.md#find-your-error) untuk mencocokkan kesalahan dengan perbaikan dan untuk metode instalasi alternatif.

48 48> >

49[Git for Windows](https://git-scm.com/downloads/win) direkomendasikan pada Windows native sehingga Claude Code dapat menggunakan alat Bash. Jika Git for Windows tidak diinstal, Claude Code menggunakan PowerShell sebagai alat shell sebagai gantinya. Pengaturan WSL tidak memerlukan Git for Windows.49> > [Git for Windows](https://git-scm.com/downloads/win) direkomendasikan pada Windows native sehingga Claude Code dapat menggunakan alat Bash. Jika Git for Windows tidak diinstal, Claude Code menggunakan PowerShell sebagai alat shell sebagai gantinya. Pengaturan WSL tidak memerlukan Git for Windows.

50 50> >

51> [!NOTE]51> > > [!NOTE]

52> > >

53> > > Instalasi native secara otomatis diperbarui di latar belakang untuk membuat Anda tetap menggunakan versi terbaru.

54>

55> > [tab] Homebrew

56> >

57> > ```bash theme={null}

58> > brew install --cask claude-code

59> > ```

60> >

61> > Homebrew menawarkan dua casks. `claude-code` melacak saluran rilis stabil, yang biasanya sekitar seminggu di belakang dan melewatkan rilis dengan regresi besar. `claude-code@latest` melacak saluran terbaru dan menerima versi baru segera setelah mereka dirilis.

62> >

63> > > [!NOTE]

64> > >

65> > > Instalasi Homebrew tidak auto-update. Jalankan `brew upgrade claude-code` atau `brew upgrade claude-code@latest`, tergantung pada cask mana yang Anda instal, untuk mendapatkan fitur terbaru dan perbaikan keamanan.

66>

67> > [tab] WinGet

68> >

69> > ```powershell theme={null}

70> > winget install Anthropic.ClaudeCode

71> > ```

72> >

73> > > [!NOTE]

74> > >

75> > > Instalasi WinGet tidak auto-update. Jalankan `winget upgrade Anthropic.ClaudeCode` secara berkala untuk mendapatkan fitur terbaru dan perbaikan keamanan.

76>

77> Anda juga dapat menginstal dengan [apt, dnf, atau apk](https://code.claude.com/docs/id/setup.md#install-with-linux-package-managers) pada Debian, Fedora, RHEL, dan Alpine.

78>

79> Kemudian mulai Claude Code di proyek apa pun. Ganti `your-project` dengan jalur ke direktori proyek di mesin Anda:

52>80>

53> Instalasi native secara otomatis diperbarui di latar belakang untuk membuat Anda tetap menggunakan versi terbaru.81> ```bash theme={null}

54 82> cd your-project

55**Homebrew**83> claude

56 84> ```

57```bash theme={null}

58brew install --cask claude-code

59```

60 

61Homebrew menawarkan dua casks. `claude-code` melacak saluran rilis stabil, yang biasanya sekitar seminggu di belakang dan melewatkan rilis dengan regresi besar. `claude-code@latest` melacak saluran terbaru dan menerima versi baru segera setelah mereka dirilis.

62 

63> [!NOTE]

64>85>

65> Instalasi Homebrew tidak auto-update. Jalankan `brew upgrade claude-code` atau `brew upgrade claude-code@latest`, tergantung pada cask mana yang Anda instal, untuk mendapatkan fitur terbaru dan perbaikan keamanan.86> Claude Code meminta Anda untuk masuk pada penggunaan pertama. Jika Anda telah menetapkan environment variable `ANTHROPIC_API_KEY` dan Anda menyetujui kunci tersebut saat Claude Code menanyakan apakah akan menggunakannya, Claude Code akan melewati permintaan masuk. [Lanjutkan dengan Mulai Cepat →](https://code.claude.com/docs/id/quickstart.md)

66 

67**WinGet**

68 

69```powershell theme={null}

70winget install Anthropic.ClaudeCode

71```

72 

73> [!NOTE]

74>87>

75> Instalasi WinGet tidak auto-update. Jalankan `winget upgrade Anthropic.ClaudeCode` secara berkala untuk mendapatkan fitur terbaru dan perbaikan keamanan.88> > [!TIP]

76 89> >

77Anda juga dapat menginstal dengan [apt, dnf, atau apk](https://code.claude.com/docs/id/setup.md#install-with-linux-package-managers) pada Debian, Fedora, RHEL, dan Alpine.90> > Lihat [pengaturan lanjutan](https://code.claude.com/docs/id/setup.md) untuk opsi instalasi, pembaruan manual, atau instruksi penghapusan. Kunjungi [pemecahan masalah instalasi](https://code.claude.com/docs/id/troubleshoot-install.md) jika Anda mengalami masalah.

78 

79Kemudian mulai Claude Code di proyek apa pun. Ganti `your-project` dengan jalur ke direktori proyek di mesin Anda:

80 91 

81```bash theme={null}92> [tab] VS Code

82cd your-project

83claude

84```

85 

86Claude Code meminta Anda untuk masuk pada penggunaan pertama. Jika Anda telah menetapkan environment variable `ANTHROPIC_API_KEY` dan Anda menyetujui kunci tersebut saat Claude Code menanyakan apakah akan menggunakannya, Claude Code akan melewati permintaan masuk. [Lanjutkan dengan Mulai Cepat →](https://code.claude.com/docs/id/quickstart.md)

87 

88> [!TIP]

89>93>

90> Lihat [pengaturan lanjutan](https://code.claude.com/docs/id/setup.md) untuk opsi instalasi, pembaruan manual, atau instruksi penghapusan. Kunjungi [pemecahan masalah instalasi](https://code.claude.com/docs/id/troubleshoot-install.md) jika Anda mengalami masalah.94> Ekstensi VS Code menyediakan diff inline, @-mentions, tinjauan rencana, dan riwayat percakapan langsung di editor Anda.

91 95>

92**VS Code**96> * [Instal untuk VS Code](vscode:extension/anthropic.claude-code)

93 97> * [Instal untuk Cursor](cursor:extension/anthropic.claude-code)

94Ekstensi VS Code menyediakan diff inline, @-mentions, tinjauan rencana, dan riwayat percakapan langsung di editor Anda.98>

95 99> Atau cari "Claude Code" di tampilan Ekstensi (`Cmd+Shift+X` di Mac, `Ctrl+Shift+X` di Windows/Linux). Setelah menginstal, buka Palet Perintah (`Cmd+Shift+P` / `Ctrl+Shift+P`), ketik "Claude Code", dan pilih **Buka di Tab Baru**.

96* [Instal untuk VS Code](vscode:extension/anthropic.claude-code)100>

97* [Instal untuk Cursor](cursor:extension/anthropic.claude-code)101> [Mulai dengan VS Code →](https://code.claude.com/docs/id/vs-code.md#get-started)

98 

99Atau cari "Claude Code" di tampilan Ekstensi (`Cmd+Shift+X` di Mac, `Ctrl+Shift+X` di Windows/Linux). Setelah menginstal, buka Palet Perintah (`Cmd+Shift+P` / `Ctrl+Shift+P`), ketik "Claude Code", dan pilih **Buka di Tab Baru**.

100 

101[Mulai dengan VS Code →](https://code.claude.com/docs/id/vs-code.md#get-started)

102 

103**Desktop app**

104 

105Aplikasi mandiri untuk menjalankan Claude Code di luar IDE atau terminal Anda. Tinjau diff secara visual, jalankan beberapa sesi berdampingan, jadwalkan tugas berulang, dan mulai sesi cloud.

106 

107Unduh dan instal:

108 

109* [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs) (Intel dan Apple Silicon)

110* [Windows](https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs) (x64)

111* [Windows ARM64](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs)

112* Di Ubuntu atau Debian, di mana aplikasi masih dalam tahap beta, instal dengan apt dengan mengikuti [instruksi instalasi Linux](https://code.claude.com/docs/id/desktop-linux.md)

113 

114Setelah menginstal, luncurkan Claude, masuk, dan klik tab **Code** untuk mulai pengkodean. Aplikasi ini mencakup Claude Code, jadi Anda tidak perlu menginstal CLI secara terpisah. [Langganan berbayar](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=overview_desktop_pricing) diperlukan.

115 

116[Pelajari lebih lanjut tentang aplikasi desktop →](https://code.claude.com/docs/id/desktop-quickstart.md)

117 

118**Web**

119 

120Jalankan Claude Code di browser Anda tanpa pengaturan lokal. Mulai tugas yang berjalan lama dan periksa kembali saat selesai, bekerja pada repo yang tidak Anda miliki secara lokal, atau jalankan beberapa tugas secara paralel. Untuk badan pekerjaan yang lebih lama, buat [proyek](https://code.claude.com/docs/id/claude-projects.md) dan biarkan Claude mengoordinasikan sesi paralel untuk Anda. Tersedia di browser desktop dan [aplikasi Claude untuk iOS dan Android](https://code.claude.com/docs/id/mobile.md).

121 

122Mulai pengkodean di [claude.ai/code](https://claude.ai/code).

123 

124[Mulai →](https://code.claude.com/docs/id/web-quickstart.md)

125 

126**JetBrains**

127 102 

128Plugin untuk IntelliJ IDEA, PyCharm, WebStorm, dan IDE JetBrains lainnya dengan tampilan diff interaktif dan berbagi konteks seleksi.103> [tab] Desktop app

104>

105> Aplikasi mandiri untuk menjalankan Claude Code di luar IDE atau terminal Anda. Tinjau diff secara visual, jalankan beberapa sesi berdampingan, jadwalkan tugas berulang, dan mulai sesi cloud.

106>

107> Unduh dan instal:

108>

109> * [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs) (Intel dan Apple Silicon)

110> * [Windows](https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs) (x64)

111> * [Windows ARM64](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs)

112> * Di Ubuntu atau Debian, di mana aplikasi masih dalam tahap beta, instal dengan apt dengan mengikuti [instruksi instalasi Linux](https://code.claude.com/docs/id/desktop-linux.md)

113>

114> Setelah menginstal, luncurkan Claude, masuk, dan klik tab **Code** untuk mulai pengkodean. Aplikasi ini mencakup Claude Code, jadi Anda tidak perlu menginstal CLI secara terpisah. [Langganan berbayar](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=overview_desktop_pricing) diperlukan.

115>

116> [Pelajari lebih lanjut tentang aplikasi desktop →](https://code.claude.com/docs/id/desktop-quickstart.md)

129 117 

130Instal [plugin Claude Code](https://plugins.jetbrains.com/plugin/27310-claude-code-beta-) dari JetBrains Marketplace dan mulai ulang IDE Anda. Plugin memerlukan CLI Claude Code, diinstal secara terpisah; lihat [langkah-langkah pengaturan JetBrains](https://code.claude.com/docs/id/jetbrains.md#installation).118> [tab] Web

119>

120> Jalankan Claude Code di browser Anda tanpa pengaturan lokal. Mulai tugas yang berjalan lama dan periksa kembali saat selesai, bekerja pada repo yang tidak Anda miliki secara lokal, atau jalankan beberapa tugas secara paralel. Untuk badan pekerjaan yang lebih lama, buat [proyek](https://code.claude.com/docs/id/claude-projects.md) dan biarkan Claude mengoordinasikan sesi paralel untuk Anda. Tersedia di browser desktop dan [aplikasi Claude untuk iOS dan Android](https://code.claude.com/docs/id/mobile.md).

121>

122> Mulai pengkodean di [claude.ai/code](https://claude.ai/code).

123>

124> [Mulai →](https://code.claude.com/docs/id/web-quickstart.md)

131 125 

132[Mulai dengan JetBrains →](https://code.claude.com/docs/id/jetbrains.md)126> [tab] JetBrains

127>

128> Plugin untuk IntelliJ IDEA, PyCharm, WebStorm, dan IDE JetBrains lainnya dengan tampilan diff interaktif dan berbagi konteks seleksi.

129>

130> Instal [plugin Claude Code](https://plugins.jetbrains.com/plugin/27310-claude-code-beta-) dari JetBrains Marketplace dan mulai ulang IDE Anda. Plugin memerlukan CLI Claude Code, diinstal secara terpisah; lihat [langkah-langkah pengaturan JetBrains](https://code.claude.com/docs/id/jetbrains.md#installation).

131>

132> [Mulai dengan JetBrains →](https://code.claude.com/docs/id/jetbrains.md)

133 133 

134## Apa yang dapat Anda lakukan134## Apa yang dapat Anda lakukan

135 135 

136Berikut adalah beberapa cara Anda dapat menggunakan Claude Code:136Berikut adalah beberapa cara Anda dapat menggunakan Claude Code:

137 137 

138> **Otomatisasi pekerjaan yang terus Anda tunda**138> [accordion] Otomatisasi pekerjaan yang terus Anda tunda

139>139>

140> Claude Code menangani tugas-tugas membosankan yang menghabiskan hari Anda: menulis tes untuk kode yang tidak diuji, memperbaiki kesalahan lint di seluruh proyek, menyelesaikan konflik penggabungan, memperbarui dependensi, dan menulis catatan rilis.140> Claude Code menangani tugas-tugas membosankan yang menghabiskan hari Anda: menulis tes untuk kode yang tidak diuji, memperbaiki kesalahan lint di seluruh proyek, menyelesaikan konflik penggabungan, memperbarui dependensi, dan menulis catatan rilis.

141>141>


143> claude "write tests for the auth module, run them, and fix any failures"143> claude "write tests for the auth module, run them, and fix any failures"

144> ```144> ```

145 145 

146> **Bangun fitur dan perbaiki bug**146> [accordion] Bangun fitur dan perbaiki bug

147>147>

148> Jelaskan apa yang Anda inginkan dalam bahasa biasa. Claude Code merencanakan pendekatan, menulis kode di berbagai file, dan memverifikasi bahwa itu berfungsi.148> Jelaskan apa yang Anda inginkan dalam bahasa biasa. Claude Code merencanakan pendekatan, menulis kode di berbagai file, dan memverifikasi bahwa itu berfungsi.

149>149>

150> Untuk bug, tempel pesan kesalahan atau jelaskan gejalanya. Claude Code melacak masalah melalui basis kode Anda, mengidentifikasi akar penyebabnya, dan menerapkan perbaikan. Lihat [alur kerja umum](https://code.claude.com/docs/id/common-workflows.md) untuk contoh lebih lanjut.150> Untuk bug, tempel pesan kesalahan atau jelaskan gejalanya. Claude Code melacak masalah melalui basis kode Anda, mengidentifikasi akar penyebabnya, dan menerapkan perbaikan. Lihat [alur kerja umum](https://code.claude.com/docs/id/common-workflows.md) untuk contoh lebih lanjut.

151 151 

152> **Buat commit dan pull request**152> [accordion] Buat commit dan pull request

153>153>

154> Claude Code bekerja langsung dengan git. Ini menampilkan perubahan, menulis pesan commit, membuat cabang, dan membuka pull request.154> Claude Code bekerja langsung dengan git. Ini menampilkan perubahan, menulis pesan commit, membuat cabang, dan membuka pull request.

155>155>


159>159>

160> Di CI, Anda dapat mengotomatisasi code review dan triase masalah dengan [GitHub Actions](https://code.claude.com/docs/id/github-actions.md) atau [GitLab CI/CD](https://code.claude.com/docs/id/gitlab-ci-cd.md).160> Di CI, Anda dapat mengotomatisasi code review dan triase masalah dengan [GitHub Actions](https://code.claude.com/docs/id/github-actions.md) atau [GitLab CI/CD](https://code.claude.com/docs/id/gitlab-ci-cd.md).

161 161 

162> **Hubungkan alat Anda dengan MCP**162> [accordion] Hubungkan alat Anda dengan MCP

163>163>

164> [Model Context Protocol (MCP)](https://code.claude.com/docs/id/mcp.md) adalah standar terbuka untuk menghubungkan alat AI ke sumber data eksternal. Dengan MCP, Claude Code dapat membaca dokumen desain Anda di Google Drive, memperbarui tiket di Jira, menarik data dari Slack, atau menggunakan alat khusus Anda sendiri. [Mulai cepat MCP](https://code.claude.com/docs/id/mcp-quickstart.md) menghubungkan server pertama Anda dari awal hingga akhir.164> [Model Context Protocol (MCP)](https://code.claude.com/docs/id/mcp.md) adalah standar terbuka untuk menghubungkan alat AI ke sumber data eksternal. Dengan MCP, Claude Code dapat membaca dokumen desain Anda di Google Drive, memperbarui tiket di Jira, menarik data dari Slack, atau menggunakan alat khusus Anda sendiri. [Mulai cepat MCP](https://code.claude.com/docs/id/mcp-quickstart.md) menghubungkan server pertama Anda dari awal hingga akhir.

165 165 

166> **Sesuaikan dengan instruksi, skills, dan hooks**166> [accordion] Sesuaikan dengan instruksi, skills, dan hooks

167>167>

168> [`CLAUDE.md`](https://code.claude.com/docs/id/memory) adalah file markdown yang Anda tambahkan ke root proyek Anda yang dibaca Claude Code di awal setiap sesi. Gunakan untuk menetapkan standar pengkodean, keputusan arsitektur, perpustakaan pilihan, dan daftar periksa tinjauan. Jika repositori Anda sudah memiliki `AGENTS.md` untuk agent pengkodean lainnya, Claude Code [dapat membacanya](https://code.claude.com/docs/id/memory.md#agents-md) sebagai pengganti `CLAUDE.md`. Claude juga membangun [auto memory](https://code.claude.com/docs/id/memory.md#auto-memory) saat bekerja, menyimpan pembelajaran di seluruh sesi tanpa Anda menulis apa pun.168> [`CLAUDE.md`](https://code.claude.com/docs/id/memory) adalah file markdown yang Anda tambahkan ke root proyek Anda yang dibaca Claude Code di awal setiap sesi. Gunakan untuk menetapkan standar pengkodean, keputusan arsitektur, perpustakaan pilihan, dan daftar periksa tinjauan. Jika repositori Anda sudah memiliki `AGENTS.md` untuk agent pengkodean lainnya, Claude Code [dapat membacanya](https://code.claude.com/docs/id/memory.md#agents-md) sebagai pengganti `CLAUDE.md`. Claude juga membangun [auto memory](https://code.claude.com/docs/id/memory.md#auto-memory) saat bekerja, menyimpan pembelajaran di seluruh sesi tanpa Anda menulis apa pun.

169>169>


171>171>

172> [Hooks](https://code.claude.com/docs/id/hooks.md) memungkinkan Anda menjalankan perintah shell sebelum atau sesudah tindakan Claude Code, seperti pemformatan otomatis setelah setiap pengeditan file atau menjalankan lint sebelum commit.172> [Hooks](https://code.claude.com/docs/id/hooks.md) memungkinkan Anda menjalankan perintah shell sebelum atau sesudah tindakan Claude Code, seperti pemformatan otomatis setelah setiap pengeditan file atau menjalankan lint sebelum commit.

173 173 

174> **Jalankan agen secara paralel dan bangun agen khusus**174> [accordion] Jalankan agen secara paralel dan bangun agen khusus

175>175>

176> Spawn [beberapa agen Claude Code](https://code.claude.com/docs/id/sub-agents.md) yang bekerja pada bagian berbeda dari tugas secara bersamaan. Agen utama mengoordinasikan pekerjaan, menetapkan subtask, dan menggabungkan hasil.176> Spawn [beberapa agen Claude Code](https://code.claude.com/docs/id/sub-agents.md) yang bekerja pada bagian berbeda dari tugas secara bersamaan. Agen utama mengoordinasikan pekerjaan, menetapkan subtask, dan menggabungkan hasil.

177>177>

178> Untuk menjalankan beberapa sesi lengkap secara paralel dan menontonnya dari satu layar, gunakan [agen latar belakang](https://code.claude.com/docs/id/agent-view.md). Untuk alur kerja yang sepenuhnya khusus, [Agent SDK](https://code.claude.com/docs/id/agent-sdk/overview.md) memungkinkan Anda membangun agen Anda sendiri yang didukung oleh alat dan kemampuan Claude Code, dengan kontrol penuh atas orkestrasi, akses alat, dan izin.178> Untuk menjalankan beberapa sesi lengkap secara paralel dan menontonnya dari satu layar, gunakan [agen latar belakang](https://code.claude.com/docs/id/agent-view.md). Untuk alur kerja yang sepenuhnya khusus, [Agent SDK](https://code.claude.com/docs/id/agent-sdk/overview.md) memungkinkan Anda membangun agen Anda sendiri yang didukung oleh alat dan kemampuan Claude Code, dengan kontrol penuh atas orkestrasi, akses alat, dan izin.

179 179 

180> **Pipa, skrip, dan otomatisasi dengan CLI**180> [accordion] Pipa, skrip, dan otomatisasi dengan CLI

181>181>

182> Claude Code dapat dikomposisi dan mengikuti filosofi Unix. Pipa log ke dalamnya, jalankan di CI, atau rantai dengan alat lain:182> Claude Code dapat dikomposisi dan mengikuti filosofi Unix. Pipa log ke dalamnya, jalankan di CI, atau rantai dengan alat lain:

183>183>


194>194>

195> Lihat [referensi CLI](https://code.claude.com/docs/id/cli-reference.md) untuk set lengkap perintah dan flag.195> Lihat [referensi CLI](https://code.claude.com/docs/id/cli-reference.md) untuk set lengkap perintah dan flag.

196 196 

197> **Jadwalkan tugas berulang**197> [accordion] Jadwalkan tugas berulang

198>198>

199> Jalankan Claude sesuai jadwal untuk mengotomatisasi pekerjaan yang berulang: tinjauan PR pagi, analisis kegagalan CI semalam, audit dependensi mingguan, atau sinkronisasi dokumen setelah PR digabung.199> Jalankan Claude sesuai jadwal untuk mengotomatisasi pekerjaan yang berulang: tinjauan PR pagi, analisis kegagalan CI semalam, audit dependensi mingguan, atau sinkronisasi dokumen setelah PR digabung.

200>200>


202> * [Tugas terjadwal desktop](https://code.claude.com/docs/id/desktop-scheduled-tasks.md) berjalan di mesin Anda, dengan akses langsung ke file dan alat lokal Anda202> * [Tugas terjadwal desktop](https://code.claude.com/docs/id/desktop-scheduled-tasks.md) berjalan di mesin Anda, dengan akses langsung ke file dan alat lokal Anda

203> * [`/loop`](https://code.claude.com/docs/id/scheduled-tasks) mengulangi prompt dalam sesi CLI untuk polling cepat203> * [`/loop`](https://code.claude.com/docs/id/scheduled-tasks) mengulangi prompt dalam sesi CLI untuk polling cepat

204 204 

205> **Bekerja dari mana saja**205> [accordion] Bekerja dari mana saja

206>206>

207> Sesi tidak terikat pada satu surface. Pindahkan pekerjaan antar surface saat konteks Anda berubah:207> Sesi tidak terikat pada satu surface. Pindahkan pekerjaan antar surface saat konteks Anda berubah:

208>208>

permission-modes.md +140 −135

Details

8 8 

9Mode izin menetapkan tindakan mana yang dapat dilakukan Claude dalam sesi tanpa meminta Anda terlebih dahulu. Dalam mode Manual, Claude Code berhenti dan meminta Anda sebelum sebagian besar tindakan yang mengedit file, menjalankan perintah shell, atau menjangkau jaringan. Dalam [mode auto](#eliminate-prompts-with-auto-mode), model kedua, pengklasifikasi, meninjau tindakan sebagai gantinya Anda; [bagaimana pengklasifikasi mengevaluasi tindakan](#how-the-classifier-evaluates-actions) mencantumkan tindakan mana yang ditinjau dan mana yang melewatinya.9Mode izin menetapkan tindakan mana yang dapat dilakukan Claude dalam sesi tanpa meminta Anda terlebih dahulu. Dalam mode Manual, Claude Code berhenti dan meminta Anda sebelum sebagian besar tindakan yang mengedit file, menjalankan perintah shell, atau menjangkau jaringan. Dalam [mode auto](#eliminate-prompts-with-auto-mode), model kedua, pengklasifikasi, meninjau tindakan sebagai gantinya Anda; [bagaimana pengklasifikasi mengevaluasi tindakan](#how-the-classifier-evaluates-actions) mencantumkan tindakan mana yang ditinjau dan mana yang melewatinya.

10 10 

11Dengan Claude Code v2.1.283 atau lebih baru, mode auto adalah mode izin awal bawaan untuk sesi terminal interaktif dan VS Code. Pada versi sebelumnya, ini adalah mode izin awal bawaan hanya pada paket Pro, Max, dan Team. [Mode mana yang dimulai sesi](#which-mode-a-session-starts-in) mencakup permukaan dan pengaturan yang mengubah mode izin awal. Anda juga dapat mengubah mode izin sesi yang sedang berjalan kapan saja.11Dengan Claude Code v2.1.283 atau lebih baru, auto mode adalah mode izin awal bawaan untuk sesi terminal interaktif dan VS Code. Pada versi sebelumnya, ini adalah mode izin awal bawaan hanya pada paket Pro, Max, Ultra, dan Team. [Mode mana yang dimulai sesi](#which-mode-a-session-starts-in) mencakup surface dan pengaturan yang mengubah mode izin awal. Anda juga dapat mengubah mode izin sesi yang sedang berjalan kapan saja.

12 12 

13## Mode yang tersedia13## Mode yang tersedia

14 14 


80| File pengaturan apa pun menetapkan `disableAutoMode` ke `"disable"` | `default` |80| File pengaturan apa pun menetapkan `disableAutoMode` ke `"disable"` | `default` |

81| `claude -p` atau [Agent SDK](https://code.claude.com/docs/id/agent-sdk/permissions.md#permission-modes) | `default` |81| `claude -p` atau [Agent SDK](https://code.claude.com/docs/id/agent-sdk/permissions.md#permission-modes) | `default` |

82| Organisasi Anda telah menerapkan [konfigurasi HIPAA](#hipaa-configuration) dan sesi tersebut [memenuhi syarat untuknya](https://code.claude.com/docs/id/hipaa-setup.md#check-how-developers-sign-in-and-connect) | `default` dengan Claude Code v2.1.285 atau lebih baru; auto mode tetap tersedia untuk dialihkan |82| Organisasi Anda telah menerapkan [konfigurasi HIPAA](#hipaa-configuration) dan sesi tersebut [memenuhi syarat untuknya](https://code.claude.com/docs/id/hipaa-setup.md#check-how-developers-sign-in-and-connect) | `default` dengan Claude Code v2.1.285 atau lebih baru; auto mode tetap tersedia untuk dialihkan |

83| Di terminal atau melalui [ekstensi VS Code](https://code.claude.com/docs/id/vs-code.md) | `auto` dengan Claude Code v2.1.283 atau lebih baru; pada versi sebelumnya, `auto` pada paket Pro, Max, atau Team dalam sesi yang [mengambil flag fitur](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching), dan `default` sebaliknya |83| Di terminal atau melalui [ekstensi VS Code](https://code.claude.com/docs/id/vs-code.md) | `auto` dengan Claude Code v2.1.283 atau lebih baru; pada versi sebelumnya, `auto` pada paket Pro, Max, Ultra, atau Team dalam sesi yang [mengambil flag fitur](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching), dan `default` sebaliknya |

84 84 

85Ketika flag, file pengaturan, atau default bawaan memilih `auto` tetapi auto mode tidak tersedia untuk sesi, Claude Code memulai sesi dalam Manual sebagai gantinya. Auto mode tidak tersedia ketika sesi tidak memenuhi [persyaratan ketersediaan](#eliminate-prompts-with-auto-mode), seperti file pengaturan mematikannya atau model yang tidak mendukungnya, atau ketika Anthropic untuk sementara telah mematikannya di sisi server.85Ketika flag, file pengaturan, atau default bawaan memilih `auto` tetapi auto mode tidak tersedia untuk sesi, Claude Code memulai sesi dalam Manual sebagai gantinya. Auto mode tidak tersedia ketika sesi tidak memenuhi [persyaratan ketersediaan](#eliminate-prompts-with-auto-mode), seperti file pengaturan mematikannya atau model yang tidak mendukungnya, atau ketika Anthropic untuk sementara telah mematikannya di sisi server.

86 86 


89* Di terminal, sekali, di bagian atas sesi89* Di terminal, sekali, di bagian atas sesi

90* Di ekstensi VS Code, sebagai kartu di layar percakapan baru yang tetap sampai Anda menutupnya90* Di ekstensi VS Code, sebagai kartu di layar percakapan baru yang tetap sampai Anda menutupnya

91 91 

92Jika `~/.claude/settings.json` Anda menetapkan `defaultMode` selain `auto` dan tidak ada file pengaturan lain yang menetapkan satu, sesi Anda terus dimulai dalam mode itu. Pada paket Pro, Max, dan Team, dan dalam sesi yang [tidak mengambil flag fitur](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching), Claude Code meminta sekali, di terminal atau di ekstensi VS Code, apakah akan mengubah pengaturan ke auto mode. Jika Anda menolak, pengaturan Anda tetap seperti adanya.92Jika `~/.claude/settings.json` Anda menetapkan `defaultMode` selain `auto` dan tidak ada file pengaturan lain yang menetapkan satu, sesi Anda terus dimulai dalam mode itu.

93 

94Pada paket Pro, Max, Ultra, dan Team, dan dalam sesi yang [tidak mengambil flag fitur](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching), Claude Code menanyakan sekali apakah akan mengubah pengaturan ke auto mode. Pertanyaan tersebut muncul di terminal atau di ekstensi VS Code, dan jika Anda menolak, pengaturan Anda tetap seperti adanya.

93 95 

94### Panggilan tool ditolak dalam eksekusi `claude -p` dan Agent SDK96### Panggilan tool ditolak dalam eksekusi `claude -p` dan Agent SDK

95 97 


102 104 

103Contoh-contoh ini menunjukkan bentuk auto mode untuk CLI dan setiap SDK:105Contoh-contoh ini menunjukkan bentuk auto mode untuk CLI dan setiap SDK:

104 106 

105**CLI**107> [tab] CLI

106 108>

107```bash theme={null}109> ```bash theme={null}

108claude -p "Run the test suite and fix any failures" --permission-mode auto110> claude -p "Run the test suite and fix any failures" --permission-mode auto

109```111> ```

110 

111**TypeScript**

112 

113```typescript theme={null}

114const options = {

115 permissionMode: "auto"

116};

117```

118 

119**Python**

120 112 

121```python theme={null}113> [tab] TypeScript

122from claude_agent_sdk import ClaudeAgentOptions114>

115> ```typescript theme={null}

116> const options = {

117> permissionMode: "auto"

118> };

119> ```

123 120 

124options = ClaudeAgentOptions(permission_mode="auto")121> [tab] Python

125```122>

123> ```python theme={null}

124> from claude_agent_sdk import ClaudeAgentOptions

125>

126> options = ClaudeAgentOptions(permission_mode="auto")

127> ```

126 128 

127Sebelum v2.1.302, eksekusi ini dapat dimulai dalam auto mode jika tidak [mengambil flag fitur](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching), misalnya pada [penyedia pihak ketiga](https://code.claude.com/docs/id/third-party-integrations.md) atau dengan `DISABLE_TELEMETRY`.129Sebelum v2.1.302, eksekusi ini dapat dimulai dalam auto mode jika tidak [mengambil flag fitur](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching), misalnya pada [penyedia pihak ketiga](https://code.claude.com/docs/id/third-party-integrations.md) atau dengan `DISABLE_TELEMETRY`.

128 130 


166 168 

167Setiap antarmuka memiliki kontrol sendiri untuk beralih mode izin selama sesi dan cara sendiri untuk memilih mode izin yang dimulai sesi baru. Pilih antarmuka Anda untuk melihat kontrolnya.169Setiap antarmuka memiliki kontrol sendiri untuk beralih mode izin selama sesi dan cara sendiri untuk memilih mode izin yang dimulai sesi baru. Pilih antarmuka Anda untuk melihat kontrolnya.

168 170 

169**CLI**171> [tab] CLI

170 172>

171**Selama sesi**: tekan `Shift+Tab` untuk siklus mode izin. Dari `auto`, tekan pertama beralih ke `default`, dan siklus kemudian berjalan `default` → `acceptEdits` → `plan`. Mode opsional masuk setelah `plan`. Bilah status menunjukkan mode aktif sebagai `⏸ manual mode on` abu-abu untuk `default`, atau sebagai `⏵⏵ accept edits on`, `⏸ plan mode on`, `⏵⏵ auto mode on`, `⏵⏵ don't ask on`, atau `⏵⏵ bypass permissions on`.173> **Selama sesi**: tekan `Shift+Tab` untuk siklus mode izin. Dari `auto`, tekan pertama beralih ke `default`, dan siklus kemudian berjalan `default` → `acceptEdits` → `plan`. Mode opsional masuk setelah `plan`. Bilah status menunjukkan mode aktif sebagai `⏸ manual mode on` abu-abu untuk `default`, atau sebagai `⏵⏵ accept edits on`, `⏸ plan mode on`, `⏵⏵ auto mode on`, `⏵⏵ don't ask on`, atau `⏵⏵ bypass permissions on`.

172 174>

173Perhatikan bilah status dalam klip sesi yang dimulai dalam auto mode ini. Setiap kali Anda menekan `Shift+Tab`, bilah status berubah dari `auto mode on` ke `manual mode on`, `accept edits on`, `plan mode on`, lalu kembali ke `auto mode on`.175> Perhatikan bilah status dalam klip sesi yang dimulai dalam auto mode ini. Setiap kali Anda menekan `Shift+Tab`, bilah status berubah dari `auto mode on` ke `manual mode on`, `accept edits on`, `plan mode on`, lalu kembali ke `auto mode on`.

174 176>

175<video autoPlay muted loop playsInline src="https://mintcdn.com/claude-code/tA-x-5L2YsYSVdee/images/permission-modes-cycle-light.mp4?fit=max&auto=format&n=tA-x-5L2YsYSVdee&q=85&s=3927dd62d59b01efd81b3578f2a6f971" aria-label="Bilah status di bawah prompt Claude Code berubah setiap kali Shift+Tab ditekan: auto mode on, manual mode on, accept edits on, plan mode on, lalu auto mode on lagi." />177> <video autoPlay muted loop playsInline src="https://mintcdn.com/claude-code/tA-x-5L2YsYSVdee/images/permission-modes-cycle-light.mp4?fit=max&auto=format&n=tA-x-5L2YsYSVdee&q=85&s=3927dd62d59b01efd81b3578f2a6f971" aria-label="Bilah status di bawah prompt Claude Code berubah setiap kali Shift+Tab ditekan: auto mode on, manual mode on, accept edits on, plan mode on, lalu auto mode on lagi." />

176 178>

177Tidak setiap mode ada dalam siklus default:179> Tidak setiap mode ada dalam siklus default:

178 180>

179* `auto`: muncul ketika [mode auto tersedia](#eliminate-prompts-with-auto-mode); bersiklus ke dalamnya mengganti mode izin tanpa prompt konfirmasi181> * `auto`: muncul ketika [mode auto tersedia](#eliminate-prompts-with-auto-mode); bersiklus ke dalamnya mengganti mode izin tanpa prompt konfirmasi

180* `bypassPermissions`: muncul setelah Anda memulai dengan `--permission-mode bypassPermissions`, `--dangerously-skip-permissions`, `--allow-dangerously-skip-permissions`, atau `permissions.defaultMode: "bypassPermissions"` dalam [pengaturan pengguna, `--settings`, atau terkelola](https://code.claude.com/docs/id/settings-reference#permissions-defaultmode). Varian `--allow-` menambahkan mode izin ke siklus tanpa mengaktifkannya182> * `bypassPermissions`: muncul setelah Anda memulai dengan `--permission-mode bypassPermissions`, `--dangerously-skip-permissions`, `--allow-dangerously-skip-permissions`, atau `permissions.defaultMode: "bypassPermissions"` dalam [pengaturan pengguna, `--settings`, atau terkelola](https://code.claude.com/docs/id/settings-reference#permissions-defaultmode). Varian `--allow-` menambahkan mode izin ke siklus tanpa mengaktifkannya

181* `dontAsk`: tidak pernah muncul dalam siklus; atur dengan `--permission-mode dontAsk`183> * `dontAsk`: tidak pernah muncul dalam siklus; atur dengan `--permission-mode dontAsk`

182 184>

183Mode opsional yang diaktifkan masuk setelah `plan`, dengan `bypassPermissions` terlebih dahulu dan `auto` terakhir. Jika Anda memiliki keduanya diaktifkan, Anda akan bersiklus melalui `bypassPermissions` dalam perjalanan ke `auto`.185> Mode opsional yang diaktifkan masuk setelah `plan`, dengan `bypassPermissions` terlebih dahulu dan `auto` terakhir. Jika Anda memiliki keduanya diaktifkan, Anda akan bersiklus melalui `bypassPermissions` dalam perjalanan ke `auto`.

184 186>

185**Dari prompt izin Bash**: dalam mode izin Manual dan `acceptEdits`, ketika [mode auto](#eliminate-prompts-with-auto-mode) tersedia, Claude Code menambahkan **Ya, dan beralih ke mode auto** ke prompt izin perintah Bash. Pilih untuk menyetujui perintah dan beralih sesi ke mode auto. Prompt [alat PowerShell](https://code.claude.com/docs/id/tools-reference.md#powershell-tool) tidak menawarkan opsi. Memerlukan Claude Code v2.1.247 atau lebih baru.187> **Dari prompt izin Bash**: dalam mode izin Manual dan `acceptEdits`, ketika [mode auto](#eliminate-prompts-with-auto-mode) tersedia, Claude Code menambahkan **Ya, dan beralih ke mode auto** ke prompt izin perintah Bash. Pilih untuk menyetujui perintah dan beralih sesi ke mode auto. Prompt [alat PowerShell](https://code.claude.com/docs/id/tools-reference.md#powershell-tool) tidak menawarkan opsi. Memerlukan Claude Code v2.1.247 atau lebih baru.

186 188>

187Claude Code tidak menambahkan opsi ke prompt yang dipaksa oleh salah satu [aturan `ask`](https://code.claude.com/docs/id/permissions#manage-permissions) Anda atau oleh [hook](https://code.claude.com/docs/id/hooks.md#pretooluse-decision-control), karena mode auto masih menampilkan prompt itu, jadi beralih tidak akan menghapusnya.189> Claude Code tidak menambahkan opsi ke prompt yang dipaksa oleh salah satu [aturan `ask`](https://code.claude.com/docs/id/permissions#manage-permissions) Anda atau oleh [hook](https://code.claude.com/docs/id/hooks.md#pretooluse-decision-control), karena mode auto masih menampilkan prompt itu, jadi beralih tidak akan menghapusnya.

188 190>

189**Saat startup**: lewatkan mode izin sebagai flag.191> **Saat startup**: lewatkan mode izin sebagai flag.

190 192>

191```bash theme={null}193> ```bash theme={null}

192claude --permission-mode plan194> claude --permission-mode plan

193```195> ```

194 196>

195**Sebagai default**: atur `permissions.defaultMode` pada cakupan yang Anda inginkan, seperti dijelaskan dalam [Mulai dalam mode izin yang berbeda](#start-in-a-different-mode).197> **Sebagai default**: atur `permissions.defaultMode` pada cakupan yang Anda inginkan, seperti dijelaskan dalam [Mulai dalam mode izin yang berbeda](#start-in-a-different-mode).

196 198>

197Flag `--permission-mode` yang sama berfungsi dengan `-p` untuk [jalankan non-interaktif](https://code.claude.com/docs/id/headless.md).199> Flag `--permission-mode` yang sama berfungsi dengan `-p` untuk [jalankan non-interaktif](https://code.claude.com/docs/id/headless.md).

198 

199**VS Code**

200 

201**Selama sesi**: klik indikator mode di bagian bawah kotak prompt. Ini menggunakan label ini untuk mode di halaman ini:

202 

203| Label UI | Mode |

204| :- | :- |

205| Manual | `default` |

206| Edit secara otomatis | `acceptEdits` |

207| Plan | `plan` |

208| Auto | `auto` |

209| Bypass permissions | `bypassPermissions` |

210 

211**Sebagai default**: untuk menyematkan mode izin yang dimulai percakapan, atur `claudeCode.initialPermissionMode` dalam pengaturan pengguna VS Code Anda ke `default`, `manual`, `acceptEdits`, `plan`, atau `bypassPermissions`. Pengaturan tidak menerima `auto`; untuk memulai dalam Auto, biarkan tidak diatur dan pilih **Auto** dari indikator mode sekali, sebagai item 2 di bawah menjelaskan. Ekstensi memulai setiap percakapan baru dalam yang pertama dari ini yang berlaku:

212 

2131. `claudeCode.initialPermissionMode`

2142. Mode yang terakhir Anda pilih dari indikator mode, jika itu Manual, Edit secara otomatis, atau Auto. Memilih Plan atau Bypass permissions berlaku hanya untuk percakapan itu

2153. `permissions.defaultMode` dari [pengaturan terkelola](https://code.claude.com/docs/id/managed-settings.md) atau `~/.claude/settings.json`

2164. [Default bawaan](#which-mode-a-session-starts-in) untuk paket, penyedia, dan pengaturan organisasi Anda

217 

218Ekstensi tidak pernah membaca `.claude/settings.json` atau `.claude/settings.local.json` proyek untuk mode izin awal. Ketika `claudeCode.claudeProcessWrapper` diatur, item 3 dan 4 tidak berlaku: percakapan itu dimulai dalam Manual kecuali item 1 atau item 2 menetapkan mode izin.

219 

220Sebelum v2.1.283, item 3 berlaku hanya pada paket Pro, Max, dan Team dalam sesi yang [mengambil flag fitur](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching).

221 

222Auto muncul di indikator mode ketika [mode auto tersedia](#eliminate-prompts-with-auto-mode).

223 

224Bypass permissions memerlukan toggle **Allow dangerously skip permissions** dalam pengaturan ekstensi. Tanpanya, mode izin tidak muncul di indikator, dan nilai `bypassPermissions` dari item 1 atau item 3 memulai percakapan dalam Manual sebagai gantinya. Auto dari item apa pun demikian pula memulai percakapan dalam Manual ketika mode auto tidak tersedia.

225 

226Lihat [panduan VS Code](https://code.claude.com/docs/id/vs-code.md) untuk detail khusus ekstensi.

227 

228**JetBrains**

229 

230Plugin JetBrains menjalankan Claude Code di terminal IDE, jadi beralih mode izin berfungsi sama seperti di CLI: tekan `Shift+Tab` untuk bersiklus, atau lewatkan `--permission-mode` saat meluncurkan.

231 

232**Desktop**

233 

234**Selama sesi**: di tab Code, gunakan pemilih mode di baris di bawah kotak prompt. Tidak setiap mode muncul di pemilih:

235 

236* **Auto**: muncul ketika [mode auto tersedia](#eliminate-prompts-with-auto-mode)

237* **Bypass permissions**: memerlukan toggle **Allow bypass permissions mode** dalam pengaturan Desktop pada paket Pro dan Max; pada paket Team dan Enterprise, kebijakan organisasi mengontrolnya sebagai gantinya

238 

239Cowork tidak menggunakan mode ini. Cowork memiliki mode izinnya sendiri, diaktifkan secara terpisah, dan tidak menampilkan pemilih mode sama sekali sampai mode di luar defaultnya diaktifkan untuk akun Anda. Lihat [dokumen Cowork](https://claude.com/docs/cowork/overview).

240 

241Untuk detail khusus desktop, lihat [Pilih mode izin](https://code.claude.com/docs/id/desktop.md#choose-a-permission-mode) dalam panduan Desktop.

242 

243**Sebagai default**: atur `defaultMode` dalam [pengaturan](https://code.claude.com/docs/id/settings.md#where-settings-live). Aplikasi desktop membaca file pengaturan yang sama seperti CLI dan menerapkan mode izin ke sesi lokal baru.

244 

245Mode yang Anda pilih di pemilih mode diingat per folder dan mengambil alih `defaultMode` untuk folder itu. Plan adalah pengecualian: memilihnya berlaku hanya untuk sesi saat ini.

246 

247Untuk di mana `defaultMode` ditempatkan dalam file pengaturan, lihat contoh di bawah [Mulai dalam mode izin yang berbeda](#start-in-a-different-mode).

248 

249**Web dan mobile**

250 200 

251Di [claude.ai/code](https://claude.ai/code), gunakan dropdown mode di baris di bawah kotak prompt. Di aplikasi mobile, ketuk tombol **+** di kotak prompt, lalu **Permission**. Sesi cloud dan sesi Remote Control menawarkan mode izin yang berbeda:201> [tab] VS Code

202>

203> **Selama sesi**: klik indikator mode di bagian bawah kotak prompt. Ini menggunakan label ini untuk mode di halaman ini:

204>

205> | Label UI | Mode |

206> | :- | :- |

207> | Manual | `default` |

208> | Edit secara otomatis | `acceptEdits` |

209> | Plan | `plan` |

210> | Auto | `auto` |

211> | Bypass permissions | `bypassPermissions` |

212>

213> **Sebagai default**: untuk menyematkan mode izin yang dimulai percakapan, atur `claudeCode.initialPermissionMode` dalam pengaturan pengguna VS Code Anda ke `default`, `manual`, `acceptEdits`, `plan`, atau `bypassPermissions`. Pengaturan tidak menerima `auto`; untuk memulai dalam Auto, biarkan tidak diatur dan pilih **Auto** dari indikator mode sekali, sebagai item 2 di bawah menjelaskan. Ekstensi memulai setiap percakapan baru dalam yang pertama dari ini yang berlaku:

214>

215> 1. `claudeCode.initialPermissionMode`

216> 2. Mode yang terakhir Anda pilih dari indikator mode, jika itu Manual, Edit secara otomatis, atau Auto. Memilih Plan atau Bypass permissions berlaku hanya untuk percakapan itu

217> 3. `permissions.defaultMode` dari [pengaturan terkelola](https://code.claude.com/docs/id/managed-settings.md) atau `~/.claude/settings.json`

218> 4. [Default bawaan](#which-mode-a-session-starts-in) untuk paket, penyedia, dan pengaturan organisasi Anda

219>

220> Ekstensi tidak pernah membaca `.claude/settings.json` atau `.claude/settings.local.json` proyek untuk mode izin awal. Ketika `claudeCode.claudeProcessWrapper` diatur, item 3 dan 4 tidak berlaku: percakapan itu dimulai dalam Manual kecuali item 1 atau item 2 menetapkan mode izin.

221>

222> Sebelum v2.1.283, item 3 berlaku hanya pada paket Pro, Max, Ultra, dan Team dalam sesi yang [mengambil flag fitur](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching).

223>

224> Auto muncul di indikator mode ketika [mode auto tersedia](#eliminate-prompts-with-auto-mode).

225>

226> Bypass permissions memerlukan toggle **Allow dangerously skip permissions** dalam pengaturan ekstensi. Tanpanya, mode izin tidak muncul di indikator, dan nilai `bypassPermissions` dari item 1 atau item 3 memulai percakapan dalam Manual sebagai gantinya. Auto dari item apa pun demikian pula memulai percakapan dalam Manual ketika mode auto tidak tersedia.

227>

228> Lihat [panduan VS Code](https://code.claude.com/docs/id/vs-code.md) untuk detail khusus ekstensi.

252 229 

253* **[Sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md)**: Accept edits, Plan, dan Auto. Accept edits sesuai dengan mode `default`: sesi cloud pra-menyetujui pengeditan file terlepas dari mode, jadi dropdown menampilkan Accept edits alih-alih Manual. Sesi cloud masih menghormati `defaultMode: "acceptEdits"` dari pengaturan. Auto mode muncul hanya ketika organisasi Anda mengizinkannya dan model yang dipilih mendukungnya. Bypass permissions tidak tersedia.230> [tab] JetBrains

254* **[Sesi Remote Control](https://code.claude.com/docs/id/remote-control.md)** di mesin lokal Anda: Manual, Accept edits, Plan, dan Auto untuk sesi yang Anda mulai sendiri, dan Anda tidak dapat memilih Bypass permissions dari aplikasi. Untuk menggunakan Auto, sesi harus memenuhi [persyaratan ketersediaan](#eliminate-prompts-with-auto-mode) auto mode. Untuk thread proyek yang berjalan di komputer Anda, lihat [Jalankan thread di komputer Anda sendiri](https://code.claude.com/docs/id/claude-projects.md#run-a-thread-on-your-own-computer).231>

255 * Kecuali untuk Bypass permissions, dropdown menampilkan mode izin yang sesi lokal gunakan, termasuk yang diatur dari terminal. Itu diperbarui ketika mode izin berubah di aplikasi atau di terminal.232> Plugin JetBrains menjalankan Claude Code di terminal IDE, jadi beralih mode izin berfungsi sama seperti di CLI: tekan `Shift+Tab` untuk bersiklus, atau lewatkan `--permission-mode` saat meluncurkan.

256 * Sesi yang dihosting oleh [aplikasi desktop](https://code.claude.com/docs/id/desktop.md) atau [ekstensi VS Code](https://code.claude.com/docs/id/vs-code.md) melaporkan perubahan mode izin ke claude.ai saat terjadi, sama seperti sesi yang dihosting di terminal.

257 233 

258Untuk Remote Control, mesin lokal yang menjalankan sesi harus masuk dengan akun claude.ai Anda; kunci API tidak didukung. Anda juga dapat menetapkan mode izin awal saat meluncurkan sesi lokal itu:234> [tab] Desktop

235>

236> **Selama sesi**: di tab Code, gunakan pemilih mode di baris di bawah kotak prompt. Tidak setiap mode muncul di pemilih:

237>

238> * **Auto**: muncul ketika [auto mode tersedia](#eliminate-prompts-with-auto-mode)

239> * **Bypass permissions**: memerlukan toggle **Allow bypass permissions mode** dalam pengaturan Desktop pada paket Pro, Max, dan Ultra; pada paket Team dan Enterprise, kebijakan organisasi mengontrolnya sebagai gantinya

240>

241> Cowork tidak menggunakan mode ini. Cowork memiliki mode izinnya sendiri, diaktifkan secara terpisah, dan tidak menampilkan pemilih mode sama sekali sampai mode di luar defaultnya diaktifkan untuk akun Anda. Lihat [dokumen Cowork](https://claude.com/docs/cowork/overview).

242>

243> Untuk detail khusus desktop, lihat [Pilih mode izin](https://code.claude.com/docs/id/desktop.md#choose-a-permission-mode) dalam panduan Desktop.

244>

245> **Sebagai default**: atur `defaultMode` dalam [pengaturan](https://code.claude.com/docs/id/settings.md#where-settings-live). Aplikasi desktop membaca file pengaturan yang sama seperti CLI dan menerapkan mode izin ke sesi lokal baru.

246>

247> Mode yang Anda pilih di pemilih mode diingat per folder dan mengambil alih `defaultMode` untuk folder itu. Plan adalah pengecualian: memilihnya berlaku hanya untuk sesi saat ini.

248>

249> Untuk di mana `defaultMode` ditempatkan dalam file pengaturan, lihat contoh di bawah [Mulai dalam mode izin yang berbeda](#start-in-a-different-mode).

259 250 

260```bash theme={null}251> [tab] Web dan mobile

261claude remote-control --permission-mode acceptEdits252>

262```253> Di [claude.ai/code](https://claude.ai/code), gunakan dropdown mode di baris di bawah kotak prompt. Di aplikasi mobile, ketuk tombol **+** di kotak prompt, lalu **Permission**. Sesi cloud dan sesi Remote Control menawarkan mode izin yang berbeda:

254>

255> * **[Sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md)**: Accept edits, Plan, dan Auto. Accept edits sesuai dengan mode `default`: sesi cloud pra-menyetujui pengeditan file terlepas dari mode, jadi dropdown menampilkan Accept edits alih-alih Manual. Sesi cloud masih menghormati `defaultMode: "acceptEdits"` dari pengaturan. Auto mode muncul hanya ketika organisasi Anda mengizinkannya dan model yang dipilih mendukungnya. Bypass permissions tidak tersedia.

256> * **[Sesi Remote Control](https://code.claude.com/docs/id/remote-control.md)** di mesin lokal Anda: Manual, Accept edits, Plan, dan Auto untuk sesi yang Anda mulai sendiri, dan Anda tidak dapat memilih Bypass permissions dari aplikasi. Untuk menggunakan Auto, sesi harus memenuhi [persyaratan ketersediaan](#eliminate-prompts-with-auto-mode) auto mode. Untuk thread proyek yang berjalan di komputer Anda, lihat [Jalankan thread di komputer Anda sendiri](https://code.claude.com/docs/id/claude-projects.md#run-a-thread-on-your-own-computer).

257> * Kecuali untuk Bypass permissions, dropdown menampilkan mode izin yang sesi lokal gunakan, termasuk yang diatur dari terminal. Itu diperbarui ketika mode izin berubah di aplikasi atau di terminal.

258> * Sesi yang dihosting oleh [aplikasi desktop](https://code.claude.com/docs/id/desktop.md) atau [ekstensi VS Code](https://code.claude.com/docs/id/vs-code.md) melaporkan perubahan mode izin ke claude.ai saat terjadi, sama seperti sesi yang dihosting di terminal.

259>

260> Untuk Remote Control, mesin lokal yang menjalankan sesi harus masuk dengan akun claude.ai Anda; kunci API tidak didukung. Anda juga dapat menetapkan mode izin awal saat meluncurkan sesi lokal itu:

261>

262> ```bash theme={null}

263> claude remote-control --permission-mode acceptEdits

264> ```

263 265 

264## Auto-approve pengeditan file dengan mode acceptEdits266## Auto-approve pengeditan file dengan mode acceptEdits

265 267 


327 329 

328Auto mode memungkinkan Claude untuk bekerja tanpa permintaan izin rutin. Model pengklasifikasi terpisah meninjau tindakan sebelum dijalankan, memblokir apa pun yang melampaui permintaan Anda, menargetkan infrastruktur yang tidak dikenali, atau tampak didorong oleh konten bermusuhan yang dibaca Claude. [Aturan ask](https://code.claude.com/docs/id/permissions.md#manage-permissions) eksplisit tetap memaksa munculnya permintaan izin.330Auto mode memungkinkan Claude untuk bekerja tanpa permintaan izin rutin. Model pengklasifikasi terpisah meninjau tindakan sebelum dijalankan, memblokir apa pun yang melampaui permintaan Anda, menargetkan infrastruktur yang tidak dikenali, atau tampak didorong oleh konten bermusuhan yang dibaca Claude. [Aturan ask](https://code.claude.com/docs/id/permissions.md#manage-permissions) eksplisit tetap memaksa munculnya permintaan izin.

329 331 

330Dengan Claude Code v2.1.283 atau lebih baru, auto mode adalah [mode izin awal bawaan](#which-mode-a-session-starts-in) untuk sesi terminal interaktif dan VS Code di setiap paket dan penyedia. Pada versi sebelumnya, ini adalah mode izin awal bawaan hanya pada paket Pro, Max, dan Team.332Dengan Claude Code v2.1.283 atau lebih baru, auto mode adalah [mode izin awal bawaan](#which-mode-a-session-starts-in) untuk sesi terminal interaktif dan VS Code di setiap paket dan penyedia. Pada versi sebelumnya, ini adalah mode izin awal bawaan hanya pada paket Pro, Max, Ultra, dan Team.

331 333 

332Pengklasifikasi juga meninjau setiap pesan yang dikirim Claude ke agent lain dengan [`SendMessage`](https://code.claude.com/docs/id/tools-reference), baik teks biasa maupun pesan [tim agent](https://code.claude.com/docs/id/agent-teams.md) terstruktur, sebelum Claude Code mengirimkannya, baik dalam auto mode maupun dalam [plan mode saat pengklasifikasi meninjau perintah](#analyze-before-you-edit-with-plan-mode); tinjauan pengiriman memerlukan Claude Code v2.1.222 atau lebih baru.334Pengklasifikasi juga meninjau setiap pesan yang dikirim Claude ke agent lain dengan [`SendMessage`](https://code.claude.com/docs/id/tools-reference), baik teks biasa maupun pesan [tim agent](https://code.claude.com/docs/id/agent-teams.md) terstruktur, sebelum Claude Code mengirimkannya, baik dalam auto mode maupun dalam [plan mode saat pengklasifikasi meninjau perintah](#analyze-before-you-edit-with-plan-mode); tinjauan pengiriman memerlukan Claude Code v2.1.222 atau lebih baru.

333 335 


367 369 

368Dalam auto mode, Claude Code dapat meminta server untuk memeriksa tindakan yang dikirim untuk ditinjau oleh [urutan keputusan](#how-the-classifier-evaluates-actions), sebagai bagian dari permintaan model sesi, sebagai pengganti mengirim permintaan pengklasifikasinya sendiri. Sesi-sesi berikut meminta hal ini:370Dalam auto mode, Claude Code dapat meminta server untuk memeriksa tindakan yang dikirim untuk ditinjau oleh [urutan keputusan](#how-the-classifier-evaluates-actions), sebagai bagian dari permintaan model sesi, sebagai pengganti mengirim permintaan pengklasifikasinya sendiri. Sesi-sesi berikut meminta hal ini:

369 371 

370* **Koneksi langsung ke Anthropic API**: dalam sesi terminal interaktif dan dalam sesi `-p`, Agent SDK, [ekstensi VS Code](https://code.claude.com/docs/id/vs-code.md), dan [aplikasi desktop](https://code.claude.com/docs/id/desktop.md), apa pun paket atau jenis akun Anda, seiring Anthropic meluncurkannya. Dalam sesi terminal interaktif, ini memerlukan Claude Code v2.1.271 atau lebih baru pada paket Pro, Max, dan Team, dan v2.1.278 atau lebih baru pada paket Enterprise dan akun Claude API. Dalam sesi `-p`, Agent SDK, ekstensi VS Code, dan aplikasi desktop, ini memerlukan Claude Code v2.1.281 atau lebih baru. Mulai v2.1.282, sesi yang [tidak mengambil feature flag](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching), misalnya karena Anda mematikan telemetri, meminta server secara default dalam jenis sesi apa pun.372* **Koneksi langsung ke Anthropic API**: dalam sesi terminal interaktif dan dalam sesi `-p`, Agent SDK, [ekstensi VS Code](https://code.claude.com/docs/id/vs-code.md), dan [aplikasi desktop](https://code.claude.com/docs/id/desktop.md), apa pun paket atau jenis akun Anda, seiring Anthropic meluncurkannya. Periksa jenis sesi Anda terhadap versi minimum Claude Code berikut:

373 * Dalam sesi terminal interaktif, meminta server memerlukan Claude Code v2.1.271 atau lebih baru pada paket Pro, Max, Ultra, dan Team. Pada paket Enterprise dan akun Claude API, sesi tersebut memerlukan v2.1.278 atau lebih baru.

374 * Dalam sesi `-p`, Agent SDK, ekstensi VS Code, dan aplikasi desktop, meminta server memerlukan Claude Code v2.1.281 atau lebih baru

375 * Mulai v2.1.282, sesi yang [tidak mengambil feature flag](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching), misalnya karena Anda mematikan telemetri, meminta server secara default dalam jenis sesi apa pun

371* **Penyedia cloud, atau gateway LLM atau proxy**: pada [Claude Platform on AWS](https://code.claude.com/docs/id/claude-platform-on-aws.md), Amazon Bedrock, Agent Platform Google Cloud, dan Microsoft Foundry, dan kapan pun Anda mengarahkan `ANTHROPIC_BASE_URL` ke [gateway LLM atau proxy](https://code.claude.com/docs/id/llm-gateway), apa pun paket Anda. Meminta secara default memerlukan Claude Code v2.1.278 atau lebih baru.376* **Penyedia cloud, atau gateway LLM atau proxy**: pada [Claude Platform on AWS](https://code.claude.com/docs/id/claude-platform-on-aws.md), Amazon Bedrock, Agent Platform Google Cloud, dan Microsoft Foundry, dan kapan pun Anda mengarahkan `ANTHROPIC_BASE_URL` ke [gateway LLM atau proxy](https://code.claude.com/docs/id/llm-gateway), apa pun paket Anda. Meminta secara default memerlukan Claude Code v2.1.278 atau lebih baru.

372* **Sesi [gateway aplikasi Claude](https://code.claude.com/docs/id/claude-apps-gateway) yang masuk**: memerlukan Claude Code v2.1.280 atau lebih baru377* **Sesi [gateway aplikasi Claude](https://code.claude.com/docs/id/claude-apps-gateway) yang masuk**: memerlukan Claude Code v2.1.280 atau lebih baru

373* **[Sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) di lingkungan yang di-hosting Anthropic**: apa pun paket Anda, ketika Anda memulainya dari web, aplikasi seluler, atau aplikasi desktop dengan **Cloud** dipilih. Sesi yang dimulai oleh [tugas terjadwal cloud](https://code.claude.com/docs/id/routines.md) meminta server seiring Anthropic meluncurkannya.378* **[Sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) di lingkungan yang di-hosting Anthropic**: apa pun paket Anda, ketika Anda memulainya dari web, aplikasi seluler, atau aplikasi desktop dengan **Cloud** dipilih. Sesi yang dimulai oleh [tugas terjadwal cloud](https://code.claude.com/docs/id/routines.md) meminta server seiring Anthropic meluncurkannya.


566 571 

567Bagian berikut menjelaskan urutan Claude Code dalam mengevaluasi suatu tindakan, bagaimana pengklasifikasi meninjau pekerjaan subagent, dan tambahan biaya serta latensi dari panggilan pengklasifikasi.572Bagian berikut menjelaskan urutan Claude Code dalam mengevaluasi suatu tindakan, bagaimana pengklasifikasi meninjau pekerjaan subagent, dan tambahan biaya serta latensi dari panggilan pengklasifikasi.

568 573 

569> **Bagaimana pengklasifikasi mengevaluasi tindakan**574> [accordion] Bagaimana pengklasifikasi mengevaluasi tindakan

570>575>

571> Setiap tindakan melalui urutan keputusan yang tetap. Langkah pertama yang cocok yang menentukan:576> Setiap tindakan melalui urutan keputusan yang tetap. Langkah pertama yang cocok yang menentukan:

572>577>


608>613>

609> Probe terpisah di sisi server memindai hasil tool yang masuk dan menandai konten mencurigakan sebelum Claude membacanya. Untuk informasi lebih lanjut tentang cara lapisan-lapisan ini bekerja bersama, lihat [pengumuman auto mode](https://claude.com/blog/auto-mode) dan [pembahasan mendalam dari tim engineering](https://www.anthropic.com/engineering/claude-code-auto-mode).614> Probe terpisah di sisi server memindai hasil tool yang masuk dan menandai konten mencurigakan sebelum Claude membacanya. Untuk informasi lebih lanjut tentang cara lapisan-lapisan ini bekerja bersama, lihat [pengumuman auto mode](https://claude.com/blog/auto-mode) dan [pembahasan mendalam dari tim engineering](https://www.anthropic.com/engineering/claude-code-auto-mode).

610 615 

611> **Bagaimana auto mode menangani subagent**616> [accordion] Bagaimana auto mode menangani subagent

612>617>

613> Pengklasifikasi memeriksa pekerjaan [subagent](https://code.claude.com/docs/id/sub-agents.md) di tiga titik:618> Pengklasifikasi memeriksa pekerjaan [subagent](https://code.claude.com/docs/id/sub-agents.md) di tiga titik:

614>619>


616> 2. Saat subagent berjalan, setiap tindakannya melalui [urutan keputusan](#how-the-classifier-evaluates-actions) yang sama seperti dalam sesi induk, dengan aturan blok dan allow yang sama. `permissionMode` apa pun dalam frontmatter subagent diabaikan.621> 2. Saat subagent berjalan, setiap tindakannya melalui [urutan keputusan](#how-the-classifier-evaluates-actions) yang sama seperti dalam sesi induk, dengan aturan blok dan allow yang sama. `permissionMode` apa pun dalam frontmatter subagent diabaikan.

617> 3. Ketika subagent selesai, pengklasifikasi meninjau pekerjaannya dan laporan akhirnya sebelum induk membaca laporan tersebut. Ketika pengklasifikasi menandai pekerjaan atau laporan subagent, atau pemeriksaan keamanan API yang terpisah menolak tinjauan tersebut, laporan tetap disampaikan, diawali dengan peringatan keamanan. Ketika pengklasifikasi tidak tersedia untuk tinjauan, laporan tiba dengan catatan untuk memverifikasi pekerjaan subagent sebelum menindaklanjutinya.622> 3. Ketika subagent selesai, pengklasifikasi meninjau pekerjaannya dan laporan akhirnya sebelum induk membaca laporan tersebut. Ketika pengklasifikasi menandai pekerjaan atau laporan subagent, atau pemeriksaan keamanan API yang terpisah menolak tinjauan tersebut, laporan tetap disampaikan, diawali dengan peringatan keamanan. Ketika pengklasifikasi tidak tersedia untuk tinjauan, laporan tiba dengan catatan untuk memverifikasi pekerjaan subagent sebelum menindaklanjutinya.

618 623 

619> **Biaya dan latensi**624> [accordion] Biaya dan latensi

620>625>

621> Permintaan pengklasifikasi Claude Code dapat berjalan pada model selain pilihan `/model` Anda. Lihat [model mana yang digunakannya](#default-classifier-model).626> Permintaan pengklasifikasi Claude Code dapat berjalan pada model selain pilihan `/model` Anda. Lihat [model mana yang digunakannya](#default-classifier-model).

622>627>


964 969 

965Untuk menjalankan perintah Bash `rm` dan `rmdir` yang menargetkan [jalur kritis](#critical-paths) tanpa prompt dalam mode `bypassPermissions`, mulai Claude Code dengan [`CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS=1`](https://code.claude.com/docs/id/env-vars#variables) di lingkungannya. Ini memerlukan Claude Code v2.1.311 atau lebih baru. Claude Code hanya membaca variabel tersebut dari lingkungan peluncuran dan [mengabaikannya dalam blok `env` file pengaturan](https://code.claude.com/docs/id/settings-reference#variables-claude-code-ignores-in-env). Misalnya, atur variabel tersebut di [shell Anda](https://code.claude.com/docs/id/env-vars.md#set-variables-in-your-shell) dan mulai `claude` dari sana:970Untuk menjalankan perintah Bash `rm` dan `rmdir` yang menargetkan [jalur kritis](#critical-paths) tanpa prompt dalam mode `bypassPermissions`, mulai Claude Code dengan [`CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS=1`](https://code.claude.com/docs/id/env-vars#variables) di lingkungannya. Ini memerlukan Claude Code v2.1.311 atau lebih baru. Claude Code hanya membaca variabel tersebut dari lingkungan peluncuran dan [mengabaikannya dalam blok `env` file pengaturan](https://code.claude.com/docs/id/settings-reference#variables-claude-code-ignores-in-env). Misalnya, atur variabel tersebut di [shell Anda](https://code.claude.com/docs/id/env-vars.md#set-variables-in-your-shell) dan mulai `claude` dari sana:

966 971 

967**macOS, Linux, WSL**972> [tab] macOS, Linux, WSL

968 973>

969```bash theme={null}974> ```bash theme={null}

970export CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS=1975> export CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS=1

971claude --permission-mode bypassPermissions976> claude --permission-mode bypassPermissions

972```977> ```

973 

974**Windows PowerShell**

975 

976```powershell theme={null}

977$env:CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS = "1"

978claude --permission-mode bypassPermissions

979```

980 978 

981**Windows CMD**979> [tab] Windows PowerShell

980>

981> ```powershell theme={null}

982> $env:CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS = "1"

983> claude --permission-mode bypassPermissions

984> ```

982 985 

983```batch theme={null}986> [tab] Windows CMD

984set CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS=1987>

985claude --permission-mode bypassPermissions988> ```batch theme={null}

986```989> set CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS=1

990> claude --permission-mode bypassPermissions

991> ```

987 992 

988> [!WARNING]993> [!WARNING]

989>994>

platforms.md +6 −6

Details

14 14 

15| Platform | Terbaik untuk | Yang Anda dapatkan |15| Platform | Terbaik untuk | Yang Anda dapatkan |

16| :- | :- | :- |16| :- | :- | :- |

17| [CLI](https://code.claude.com/docs/id/quickstart.md) | Alur kerja terminal, scripting, server jarak jauh | Set fitur lengkap, [Agent SDK](https://code.claude.com/docs/id/headless.md), [penggunaan komputer](https://code.claude.com/docs/id/computer-use.md) di macOS (Pro dan Max), penyedia pihak ketiga |17| [CLI](https://code.claude.com/docs/id/quickstart.md) | Alur kerja terminal, scripting, server jarak jauh | Set fitur lengkap, [Agent SDK](https://code.claude.com/docs/id/headless.md), [penggunaan komputer](https://code.claude.com/docs/id/computer-use.md) di macOS (Pro, Max, dan Ultra), penyedia pihak ketiga |

18| [Desktop](https://code.claude.com/docs/id/desktop.md) | Tinjauan visual, sesi paralel, pengaturan terkelola | Penampil diff, pratinjau aplikasi, [penggunaan komputer](https://code.claude.com/docs/id/desktop.md#let-claude-use-your-computer) dan [Dispatch](https://code.claude.com/docs/id/desktop.md#sessions-from-dispatch) pada Pro dan Max |18| [Desktop](https://code.claude.com/docs/id/desktop.md) | Tinjauan visual, sesi paralel, pengaturan terkelola | Penampil diff, pratinjau aplikasi, [penggunaan komputer](https://code.claude.com/docs/id/desktop.md#let-claude-use-your-computer) dan [Dispatch](https://code.claude.com/docs/id/desktop.md#sessions-from-dispatch) pada Pro, Max, dan Ultra |

19| [VS Code](https://code.claude.com/docs/id/vs-code.md) | Bekerja di dalam VS Code tanpa beralih ke terminal | Diff inline, terminal terintegrasi, konteks file |19| [VS Code](https://code.claude.com/docs/id/vs-code.md) | Bekerja di dalam VS Code tanpa beralih ke terminal | Diff inline, terminal terintegrasi, konteks file |

20| [JetBrains](https://code.claude.com/docs/id/jetbrains.md) | Bekerja di dalam IntelliJ, PyCharm, WebStorm, atau IDE JetBrains lainnya | Penampil diff, berbagi seleksi, sesi terminal |20| [JetBrains](https://code.claude.com/docs/id/jetbrains.md) | Bekerja di dalam IntelliJ, PyCharm, WebStorm, atau IDE JetBrains lainnya | Penampil diff, berbagi seleksi, sesi terminal |

21| [Web](https://code.claude.com/docs/id/claude-code-on-the-web.md) | Tugas yang berjalan lama yang tidak memerlukan banyak pengarahan, atau pekerjaan yang harus dilanjutkan saat Anda offline | Cloud, dikelola Anthropic secara default; berlanjut setelah Anda terputus |21| [Web](https://code.claude.com/docs/id/claude-code-on-the-web.md) | Tugas yang berjalan lama yang tidak memerlukan banyak pengarahan, atau pekerjaan yang harus dilanjutkan saat Anda offline | Cloud, dikelola Anthropic secara default; berlanjut setelah Anda terputus |

22| [Mobile](https://code.claude.com/docs/id/mobile.md) | Memulai dan memantau tugas saat jauh dari komputer Anda | Sesi cloud dari aplikasi Claude untuk iOS dan Android, [Remote Control](https://code.claude.com/docs/id/remote-control.md) untuk sesi lokal, [Dispatch](https://code.claude.com/docs/id/desktop.md#sessions-from-dispatch) ke Desktop pada Pro dan Max |22| [Mobile](https://code.claude.com/docs/id/mobile.md) | Memulai dan memantau tugas saat jauh dari komputer Anda | Sesi cloud dari aplikasi Claude untuk iOS dan Android, [Remote Control](https://code.claude.com/docs/id/remote-control.md) untuk sesi lokal, [Dispatch](https://code.claude.com/docs/id/desktop.md#sessions-from-dispatch) ke Desktop pada Pro, Max, dan Ultra |

23 23 

24CLI adalah permukaan paling lengkap untuk pekerjaan asli terminal: scripting dan Agent SDK hanya tersedia di CLI. Penyedia pihak ketiga juga bekerja di [VS Code](https://code.claude.com/docs/id/vs-code.md#use-third-party-providers) dan di [JetBrains](https://code.claude.com/docs/id/feature-availability.md#features-available-on-every-provider), yang menjalankan CLI di terminal IDE Anda. Penyebaran [Desktop](https://code.claude.com/docs/id/desktop.md) Enterprise mendukung Agent Platform Google Cloud, dan Desktop mendukung [penyedia gateway](https://code.claude.com/docs/id/llm-gateway-connect.md#desktop-app); untuk Amazon Bedrock atau Microsoft Foundry, gunakan CLI atau ekstensi IDE, atau [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview), yang menjalankan tab Code pada penyedia tersebut. Desktop dan ekstensi IDE menukar beberapa fitur khusus CLI untuk tinjauan visual dan integrasi editor yang lebih ketat. Web berjalan di cloud, jadi tugas terus berlanjut setelah Anda terputus. Mobile adalah klien tipis ke sesi cloud yang sama atau ke sesi lokal melalui Remote Control, dan dapat mengirim tugas ke Desktop dengan Dispatch.24CLI adalah permukaan paling lengkap untuk pekerjaan asli terminal: scripting dan Agent SDK hanya tersedia di CLI. Penyedia pihak ketiga juga bekerja di [VS Code](https://code.claude.com/docs/id/vs-code.md#use-third-party-providers) dan di [JetBrains](https://code.claude.com/docs/id/feature-availability.md#features-available-on-every-provider), yang menjalankan CLI di terminal IDE Anda. Penyebaran [Desktop](https://code.claude.com/docs/id/desktop.md) Enterprise mendukung Agent Platform Google Cloud, dan Desktop mendukung [penyedia gateway](https://code.claude.com/docs/id/llm-gateway-connect.md#desktop-app); untuk Amazon Bedrock atau Microsoft Foundry, gunakan CLI atau ekstensi IDE, atau [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview), yang menjalankan tab Code pada penyedia tersebut. Desktop dan ekstensi IDE menukar beberapa fitur khusus CLI untuk tinjauan visual dan integrasi editor yang lebih ketat. Web berjalan di cloud, jadi tugas terus berlanjut setelah Anda terputus. Mobile adalah klien tipis ke sesi cloud yang sama atau ke sesi lokal melalui Remote Control, dan dapat mengirim tugas ke Desktop dengan Dispatch.

25 25 


35| [GitHub Actions](https://code.claude.com/docs/id/github-actions.md) | Menjalankan Claude dalam pipeline CI Anda | Tinjauan PR otomatis, triase masalah, pemeliharaan terjadwal |35| [GitHub Actions](https://code.claude.com/docs/id/github-actions.md) | Menjalankan Claude dalam pipeline CI Anda | Tinjauan PR otomatis, triase masalah, pemeliharaan terjadwal |

36| [GitLab CI/CD](https://code.claude.com/docs/id/gitlab-ci-cd.md) | Sama seperti GitHub Actions untuk GitLab | Otomasi berbasis CI di GitLab |36| [GitLab CI/CD](https://code.claude.com/docs/id/gitlab-ci-cd.md) | Sama seperti GitHub Actions untuk GitLab | Otomasi berbasis CI di GitLab |

37| [Code Review](https://code.claude.com/docs/id/code-review.md) | Meninjau setiap PR secara otomatis | Menangkap bug sebelum tinjauan manusia |37| [Code Review](https://code.claude.com/docs/id/code-review.md) | Meninjau setiap PR secara otomatis | Menangkap bug sebelum tinjauan manusia |

38| [Slack](https://code.claude.com/docs/id/slack.md) | Merespons penyebutan `@Claude` di channel Anda, menggunakan akun Anda sendiri | Mengubah laporan bug menjadi pull request dari obrolan tim pada paket Pro dan Max |38| [Slack](https://code.claude.com/docs/id/slack.md) | Merespons penyebutan `@Claude` di channel Anda, menggunakan akun Anda sendiri | Mengubah laporan bug menjadi pull request dari obrolan tim pada paket Pro, Max, dan Ultra |

39| [Claude Tag](https://claude.com/docs/claude-tag) | Menjalankan `@Claude` sebagai identitas bersama organisasi Anda dengan akses yang dikonfigurasi admin | Akses tim bersama pada paket Team dan Enterprise, bukan sesi Slack per pengguna |39| [Claude Tag](https://claude.com/docs/claude-tag) | Menjalankan `@Claude` sebagai identitas bersama organisasi Anda dengan akses yang dikonfigurasi admin | Akses tim bersama pada paket Team dan Enterprise, bukan sesi Slack per pengguna |

40 40 

41Untuk integrasi yang tidak tercantum di sini, [server MCP](https://code.claude.com/docs/id/mcp.md) dan [konektor](https://code.claude.com/docs/id/desktop.md#connect-external-tools) memungkinkan Anda menghubungkan hampir apa pun: Linear, Notion, Google Drive, atau API internal Anda sendiri.41Untuk integrasi yang tidak tercantum di sini, [server MCP](https://code.claude.com/docs/id/mcp.md) dan [konektor](https://code.claude.com/docs/id/desktop.md#connect-external-tools) memungkinkan Anda menghubungkan hampir apa pun: Linear, Notion, Google Drive, atau API internal Anda sendiri.


49| [Dispatch](https://code.claude.com/docs/id/desktop.md#sessions-from-dispatch) | Kirim pesan tugas dari aplikasi mobile Claude | Mesin Anda (Desktop) | [Pasangkan aplikasi mobile dengan Desktop](https://support.claude.com/en/articles/13947068) | Mendelegasikan pekerjaan saat Anda pergi, pengaturan minimal |49| [Dispatch](https://code.claude.com/docs/id/desktop.md#sessions-from-dispatch) | Kirim pesan tugas dari aplikasi mobile Claude | Mesin Anda (Desktop) | [Pasangkan aplikasi mobile dengan Desktop](https://support.claude.com/en/articles/13947068) | Mendelegasikan pekerjaan saat Anda pergi, pengaturan minimal |

50| [Remote Control](https://code.claude.com/docs/id/remote-control.md) | Jalankan sesi yang sedang berjalan dari [claude.ai/code](https://claude.ai/code) atau aplikasi mobile Claude | Mesin Anda (CLI, Desktop, atau VS Code) | Jalankan [`claude remote-control` atau `/remote-control`](https://code.claude.com/docs/id/remote-control#start-a-remote-control-session) | Mengarahkan pekerjaan yang sedang berlangsung dari perangkat lain |50| [Remote Control](https://code.claude.com/docs/id/remote-control.md) | Jalankan sesi yang sedang berjalan dari [claude.ai/code](https://claude.ai/code) atau aplikasi mobile Claude | Mesin Anda (CLI, Desktop, atau VS Code) | Jalankan [`claude remote-control` atau `/remote-control`](https://code.claude.com/docs/id/remote-control#start-a-remote-control-session) | Mengarahkan pekerjaan yang sedang berlangsung dari perangkat lain |

51| [Channels](https://code.claude.com/docs/id/channels.md) | Dorong acara dari aplikasi chat seperti Telegram atau Discord, atau server Anda sendiri | Mesin Anda (CLI) | [Instal plugin channel](https://code.claude.com/docs/id/channels.md#quickstart) atau [buat milik Anda sendiri](https://code.claude.com/docs/id/channels-reference.md) | Bereaksi terhadap acara eksternal seperti kegagalan CI atau pesan chat |51| [Channels](https://code.claude.com/docs/id/channels.md) | Dorong acara dari aplikasi chat seperti Telegram atau Discord, atau server Anda sendiri | Mesin Anda (CLI) | [Instal plugin channel](https://code.claude.com/docs/id/channels.md#quickstart) atau [buat milik Anda sendiri](https://code.claude.com/docs/id/channels-reference.md) | Bereaksi terhadap acara eksternal seperti kegagalan CI atau pesan chat |

52| [Slack](https://code.claude.com/docs/id/slack.md) | Sebutkan `@Claude` di saluran tim | Cloud Anthropic | [Instal aplikasi Slack](https://code.claude.com/docs/id/slack.md#setting-up-claude-code-in-slack) dengan [Claude Code di web](https://code.claude.com/docs/id/claude-code-on-the-web.md) diaktifkan, pada paket Pro dan Max | PR dan ulasan dari chat tim |52| [Slack](https://code.claude.com/docs/id/slack.md) | Sebutkan `@Claude` di saluran tim | Cloud Anthropic | [Instal aplikasi Slack](https://code.claude.com/docs/id/slack.md#setting-up-claude-code-in-slack) dengan [Claude Code di web](https://code.claude.com/docs/id/claude-code-on-the-web.md) diaktifkan, pada paket Pro, Max, dan Ultra | PR dan ulasan dari chat tim |

53| [Self-hosted environments](https://code.claude.com/docs/id/self-hosted-environments) | Mulai [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) dan pilih lingkungan organisasi Anda | Infrastruktur organisasi Anda | [Terapkan runner](https://code.claude.com/docs/id/self-hosted-environments-quickstart.md), pada paket Team dan Enterprise | Sesi cloud yang harus berjalan di dalam jaringan Anda |53| [Self-hosted environments](https://code.claude.com/docs/id/self-hosted-environments) | Mulai [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) dan pilih lingkungan organisasi Anda | Infrastruktur organisasi Anda | [Terapkan runner](https://code.claude.com/docs/id/self-hosted-environments-quickstart.md), pada paket Team dan Enterprise | Sesi cloud yang harus berjalan di dalam jaringan Anda |

54| [Scheduled tasks](https://code.claude.com/docs/id/scheduled-tasks.md) | Atur jadwal | [CLI](https://code.claude.com/docs/id/scheduled-tasks.md), [Desktop](https://code.claude.com/docs/id/desktop-scheduled-tasks.md), atau [cloud](https://code.claude.com/docs/id/routines.md) | Pilih frekuensi | Otomasi berulang seperti ulasan harian |54| [Scheduled tasks](https://code.claude.com/docs/id/scheduled-tasks.md) | Atur jadwal | [CLI](https://code.claude.com/docs/id/scheduled-tasks.md), [Desktop](https://code.claude.com/docs/id/desktop-scheduled-tasks.md), atau [cloud](https://code.claude.com/docs/id/routines.md) | Pilih frekuensi | Otomasi berulang seperti ulasan harian |

55 55 


74* [GitHub Actions](https://code.claude.com/docs/id/github-actions.md): jalankan Claude dalam pipeline CI Anda74* [GitHub Actions](https://code.claude.com/docs/id/github-actions.md): jalankan Claude dalam pipeline CI Anda

75* [GitLab CI/CD](https://code.claude.com/docs/id/gitlab-ci-cd.md): yang sama untuk GitLab75* [GitLab CI/CD](https://code.claude.com/docs/id/gitlab-ci-cd.md): yang sama untuk GitLab

76* [Code Review](https://code.claude.com/docs/id/code-review.md): tinjauan otomatis pada setiap permintaan tarik76* [Code Review](https://code.claude.com/docs/id/code-review.md): tinjauan otomatis pada setiap permintaan tarik

77* [Slack](https://code.claude.com/docs/id/slack.md): kirim tugas dari obrolan tim dan dapatkan PR kembali, pada paket Pro dan Max77* [Slack](https://code.claude.com/docs/id/slack.md): kirim tugas dari obrolan tim dan dapatkan PR kembali, pada paket Pro, Max, dan Ultra

78* [Claude Tag](https://claude.com/docs/claude-tag): jalankan `@Claude` sebagai identitas bersama organisasi Anda pada paket Team dan Enterprise78* [Claude Tag](https://claude.com/docs/claude-tag): jalankan `@Claude` sebagai identitas bersama organisasi Anda pada paket Team dan Enterprise

79 79 

80### Akses jarak jauh80### Akses jarak jauh

plugins/install.md +96 −96

Details

27 27 

28Pilih tab untuk tempat Anda menjalankan Claude Code.28Pilih tab untuk tempat Anda menjalankan Claude Code.

29 29 

30**Terminal**30> [tab] Terminal

31 31>

32Mulai Claude Code dengan `claude` di proyek Anda, kemudian:32> Mulai Claude Code dengan `claude` di proyek Anda, kemudian:

33 33>

34**1. Buka detail plugin dengan perintah instalasi**34> **1. Buka detail plugin dengan perintah instalasi**

35 35>

36Jalankan `/plugin install` dengan nama plugin dan marketplace. Dalam sesi, perintah ini tidak langsung menginstal: ini membuka panel `/plugin` pada detail plugin itu sehingga Anda dapat meninjau dan memilih cakupan terlebih dahulu.36> Jalankan `/plugin install` dengan nama plugin dan marketplace. Dalam sesi, perintah ini tidak langsung menginstal: ini membuka panel `/plugin` pada detail plugin itu sehingga Anda dapat meninjau dan memilih cakupan terlebih dahulu.

37 37>

38```text theme={null}38> ```text theme={null}

39/plugin install commit-commands@claude-plugins-official39> /plugin install commit-commands@claude-plugins-official

40```40> ```

41 41>

42Untuk menjelajahi sebagai gantinya, jalankan `/plugin` tanpa nama plugin: panel membuka pada tab **Discover**, yang mencantumkan plugin dari marketplace Anda, dan Anda dapat mengetik untuk mencari, kemudian tekan **Enter** pada plugin untuk membuka detailnya.42> Untuk menjelajahi sebagai gantinya, jalankan `/plugin` tanpa nama plugin: panel membuka pada tab **Discover**, yang mencantumkan plugin dari marketplace Anda, dan Anda dapat mengetik untuk mencari, kemudian tekan **Enter** pada plugin untuk membuka detailnya.

43 43>

44**2. Tinjau apa yang ditambahkan plugin**44> **2. Tinjau apa yang ditambahkan plugin**

45 45>

46Panel detail menunjukkan deskripsi plugin. Ini juga dapat menunjukkan:46> Panel detail menunjukkan deskripsi plugin. Ini juga dapat menunjukkan:

47 47>

48* **Will install**: perintah, agents, skills, hooks, dan MCP dan LSP servers yang ditambahkan plugin.48> * **Will install**: perintah, agents, skills, hooks, dan MCP dan LSP servers yang ditambahkan plugin.

49* **Last updated**: ditampilkan untuk plugin di marketplace resmi Anthropic.49> * **Last updated**: ditampilkan untuk plugin di marketplace resmi Anthropic.

50* **Context cost**: untuk plugin di marketplace resmi Anthropic, dua perkiraan token. **Every turn** adalah apa yang ditambahkan plugin ke setiap pesan yang Anda kirim, dan **When invoked** adalah apa yang ditambahkan skills dan agents-nya setelah Claude memuatnya. Perkiraan muncul ketika Anda membuka plugin dengan menamai marketplace-nya, seperti yang dilakukan perintah langkah 1, atau dari tab **Marketplaces**. Panel detail yang Anda capai dari daftar **Discover** tidak menunjukkannya.50> * **Context cost**: untuk plugin di marketplace resmi Anthropic, dua perkiraan token. **Every turn** adalah apa yang ditambahkan plugin ke setiap pesan yang Anda kirim, dan **When invoked** adalah apa yang ditambahkan skills dan agents-nya setelah Claude memuatnya. Perkiraan muncul ketika Anda membuka plugin dengan menamai marketplace-nya, seperti yang dilakukan perintah langkah 1, atau dari tab **Marketplaces**. Panel detail yang Anda capai dari daftar **Discover** tidak menunjukkannya.

51 51>

52Plugin dari marketplace lokal atau kustom dapat menunjukkan `Components will be discovered at installation` sebagai gantinya.52> Plugin dari marketplace lokal atau kustom dapat menunjukkan `Components will be discovered at installation` sebagai gantinya.

53 53>

54Plugin dapat menjalankan hooks dan MCP servers, jadi baca panel sebelum Anda menginstal. Lihat [Plugin security and trust](https://code.claude.com/docs/id/plugins/security.md).54> Plugin dapat menjalankan hooks dan MCP servers, jadi baca panel sebelum Anda menginstal. Lihat [Plugin security and trust](https://code.claude.com/docs/id/plugins/security.md).

55 55>

56**3. Pilih cakupan**56> **3. Pilih cakupan**

57 57>

58Pilih salah satu dari tiga opsi instalasi:58> Pilih salah satu dari tiga opsi instalasi:

59 59>

60* **Install for you (user scope)**: Anda mendapatkan plugin di setiap proyek di mesin ini60> * **Install for you (user scope)**: Anda mendapatkan plugin di setiap proyek di mesin ini

61* **Install for all collaborators on this repository (project scope)**: ini diaktifkan untuk semua orang yang bekerja di repository ini61> * **Install for all collaborators on this repository (project scope)**: ini diaktifkan untuk semua orang yang bekerja di repository ini

62* **Install for you, in this repo only (local scope)**: Anda mendapatkannya di repository ini saja62> * **Install for you, in this repo only (local scope)**: Anda mendapatkannya di repository ini saja

63 63>

64[Pilih cakupan instalasi](#choose-an-install-scope) mengatakan file pengaturan mana yang ditulis masing-masing dan mana yang berlaku ketika plugin yang sama diatur di lebih dari satu.64> [Pilih cakupan instalasi](#choose-an-install-scope) mengatakan file pengaturan mana yang ditulis masing-masing dan mana yang berlaku ketika plugin yang sama diatur di lebih dari satu.

65 65>

66Setelah Anda memilih cakupan, Claude Code menginstal plugin bersama dengan dependensi apa pun yang dideklarasikannya, kemudian mencetak ringkasan instalasi.66> Setelah Anda memilih cakupan, Claude Code menginstal plugin bersama dengan dependensi apa pun yang dideklarasikannya, kemudian mencetak ringkasan instalasi.

67 67>

68**4. Baca ringkasan instalasi**68> **4. Baca ringkasan instalasi**

69 69>

70Kalimat terakhir ringkasan memberi tahu Anda apakah plugin dapat digunakan dalam sesi ini:70> Kalimat terakhir ringkasan memberi tahu Anda apakah plugin dapat digunakan dalam sesi ini:

71 71>

72* **Active now**: `Plugin is now active.` Tidak perlu reload.72> * **Active now**: `Plugin is now active.` Tidak perlu reload.

73* **Active, but a server needs setup**: `Plugin is now active.` diikuti oleh `Its bundled MCP server needs configuration before it can start`. [Bundled MCP server](https://code.claude.com/docs/id/plugins/components.md#include-a-packaged-mcpb-server) plugin tidak dapat dimulai sampai Anda mengatur opsinya. Pilih plugin di tab **Installed** di `/plugin` dan pilih **Configure** untuk mengatur opsi server.73> * **Active, but a server needs setup**: `Plugin is now active.` diikuti oleh `Its bundled MCP server needs configuration before it can start`. [Bundled MCP server](https://code.claude.com/docs/id/plugins/components.md#include-a-packaged-mcpb-server) plugin tidak dapat dimulai sampai Anda mengatur opsinya. Pilih plugin di tab **Installed** di `/plugin` dan pilih **Configure** untuk mengatur opsi server.

74* **Reload needed**: `Run /reload-plugins to apply.` Panel ditutup dan Claude Code menjalankan reload itu untuk Anda. Jika reload akan [membatalkan prompt cache](https://code.claude.com/docs/id/prompt-caching.md#enabling-or-disabling-a-plugin), itu memperingatkan dan meninggalkan plugin tertunda sebagai gantinya. Jalankan `/reload-plugins --force` untuk mengaktifkannya bagaimanapun, yang biaya satu permintaan uncached.74> * **Reload needed**: `Run /reload-plugins to apply.` Panel ditutup dan Claude Code menjalankan reload itu untuk Anda. Jika reload akan [membatalkan prompt cache](https://code.claude.com/docs/id/prompt-caching.md#enabling-or-disabling-a-plugin), itu memperingatkan dan meninggalkan plugin tertunda sebagai gantinya. Jalankan `/reload-plugins --force` untuk mengaktifkannya bagaimanapun, yang biaya satu permintaan uncached.

75* **Load failed**: `The plugin couldn't be loaded`. Buka tab **Errors** di `/plugin` untuk alasannya, kemudian lihat [After install: plugin not working](https://code.claude.com/docs/id/plugins/troubleshooting.md#plugin-installed-but-not-working).75> * **Load failed**: `The plugin couldn't be loaded`. Buka tab **Errors** di `/plugin` untuk alasannya, kemudian lihat [After install: plugin not working](https://code.claude.com/docs/id/plugins/troubleshooting.md#plugin-installed-but-not-working).

76 76>

77**5. Konfirmasi plugin berfungsi**77> **5. Konfirmasi plugin berfungsi**

78 78>

79Ketik `/` dan cari skills plugin di bawah namanya, dalam bentuk `/<plugin>:<skill>`. Untuk `commit-commands`, `/commit-commands:commit` muncul. Dua tempat lain juga mencantumkan plugin:79> Ketik `/` dan cari skills plugin di bawah namanya, dalam bentuk `/<plugin>:<skill>`. Untuk `commit-commands`, `/commit-commands:commit` muncul. Dua tempat lain juga mencantumkan plugin:

80 80>

81* Buka tab **Installed** di `/plugin`, yang mencantumkan plugin dengan cakupannya.81> * Buka tab **Installed** di `/plugin`, yang mencantumkan plugin dengan cakupannya.

82* Di shell Anda, jalankan `claude plugin list`, yang mencetak daftar yang sama dengan baris `Version`, `Scope`, dan `Status`.82> * Di shell Anda, jalankan `claude plugin list`, yang mencetak daftar yang sama dengan baris `Version`, `Scope`, dan `Status`.

83 83>

84Jika `/commit-commands:commit` tidak muncul, lihat [After install: plugin not working](https://code.claude.com/docs/id/plugins/troubleshooting.md#plugin-installed-but-not-working).84> Jika `/commit-commands:commit` tidak muncul, lihat [After install: plugin not working](https://code.claude.com/docs/id/plugins/troubleshooting.md#plugin-installed-but-not-working).

85 85>

86Menginstal dari marketplace lain apa pun memerlukan satu langkah ekstra terlebih dahulu: [tambahkan marketplace](#add-a-marketplace). Claude Code menambahkan marketplace resmi Anthropic untuk Anda pertama kali Anda memulai sesi terminal interaktif, itulah mengapa contoh melewati langkah itu. Jika Anda menemukan plugin di [claude.com/marketplace](https://claude.com/marketplace), tombol **Claude Code**-nya menyalin perintah instalasi dalam [bentuk shell](#install-from-your-shell)-nya, `claude plugin install <name>@claude-plugins-official`.86> Menginstal dari marketplace lain apa pun memerlukan satu langkah ekstra terlebih dahulu: [tambahkan marketplace](#add-a-marketplace). Claude Code menambahkan marketplace resmi Anthropic untuk Anda pertama kali Anda memulai sesi terminal interaktif, itulah mengapa contoh melewati langkah itu. Jika Anda menemukan plugin di [claude.com/marketplace](https://claude.com/marketplace), tombol **Claude Code**-nya menyalin perintah instalasi dalam [bentuk shell](#install-from-your-shell)-nya, `claude plugin install <name>@claude-plugins-official`.

87 

88**Desktop app**

89 

90Dalam sesi lokal atau SSH di tab **Code** aplikasi desktop:

91 

92**1. Buka browser plugin**

93 

94Klik tombol **+** di sebelah kotak prompt dan pilih **Add plugins**. Jika menu **+** menampilkan **Plugins** alih-alih **Add plugins**, pilih **Plugins**, kemudian **Browse plugins**. Browser plugin membuka dengan plugin dari marketplace Anda.

95 

96**2. Pilih plugin**

97 

98Temukan `commit-commands` dan pilih.

99 

100**3. Pilih cakupan**

101 

102Pilih [cakupan](#choose-an-install-scope): akun pengguna Anda, proyek ini, atau lokal saja.

103 

104Untuk mengaktifkan, menonaktifkan, atau mencopot plugin nanti, lihat [Install plugins in the desktop app](https://code.claude.com/docs/id/desktop.md#install-plugins).

105 

106**VS Code**

107 

108Di panel Claude Code di VS Code:

109 

110**1. Buka Manage plugins**

111 

112Ketik `/plugins` di kotak prompt untuk membuka **Manage plugins**.

113 

114**2. Instal plugin**

115 

116Di tab **Plugins**, cari `commit-commands` dan klik **Install**. Jika tab tidak mencantumkan plugin apa pun, tambahkan `anthropics/claude-plugins-official` di tab **Marketplaces** terlebih dahulu.

117 

118**3. Pilih cakupan**

119 

120Pilih [cakupan](#choose-an-install-scope): **Install for you**, **Install for this project**, atau **Install locally**.

121 

122Perubahan Anda berlaku untuk sesi terbuka tanpa restart. Lihat [Manage plugins in VS Code](https://code.claude.com/docs/id/vs-code.md#manage-plugins).

123 87 

124**Cloud session**88> [tab] Desktop app

89>

90> Dalam sesi lokal atau SSH di tab **Code** aplikasi desktop:

91>

92> **1. Buka browser plugin**

93>

94> Klik tombol **+** di sebelah kotak prompt dan pilih **Add plugins**. Jika menu **+** menampilkan **Plugins** alih-alih **Add plugins**, pilih **Plugins**, kemudian **Browse plugins**. Browser plugin membuka dengan plugin dari marketplace Anda.

95>

96> **2. Pilih plugin**

97>

98> Temukan `commit-commands` dan pilih.

99>

100> **3. Pilih cakupan**

101>

102> Pilih [cakupan](#choose-an-install-scope): akun pengguna Anda, proyek ini, atau lokal saja.

103>

104> Untuk mengaktifkan, menonaktifkan, atau mencopot plugin nanti, lihat [Install plugins in the desktop app](https://code.claude.com/docs/id/desktop.md#install-plugins).

125 105 

126[Sesi cloud](https://code.claude.com/docs/id/cloud-environments.md), termasuk [browser di claude.ai/code](https://code.claude.com/docs/id/claude-code-on-the-web.md), tidak memiliki browser plugin dan tidak memuat plugin yang Anda instal di mesin Anda sendiri atau yang diaktifkan `.claude/settings.json` repository Anda. Untuk plugin yang didistribusikan organisasi Anda melalui pengaturan terkelola, lihat [Manage plugins for your organization](https://code.claude.com/docs/id/plugins/org.md).106> [tab] VS Code

107>

108> Di panel Claude Code di VS Code:

109>

110> **1. Buka Manage plugins**

111>

112> Ketik `/plugins` di kotak prompt untuk membuka **Manage plugins**.

113>

114> **2. Instal plugin**

115>

116> Di tab **Plugins**, cari `commit-commands` dan klik **Install**. Jika tab tidak mencantumkan plugin apa pun, tambahkan `anthropics/claude-plugins-official` di tab **Marketplaces** terlebih dahulu.

117>

118> **3. Pilih cakupan**

119>

120> Pilih [cakupan](#choose-an-install-scope): **Install for you**, **Install for this project**, atau **Install locally**.

121>

122> Perubahan Anda berlaku untuk sesi terbuka tanpa restart. Lihat [Manage plugins in VS Code](https://code.claude.com/docs/id/vs-code.md#manage-plugins).

127 123 

128Lihat [bagian mana dari setup Anda yang juga tersedia di sesi cloud](https://code.claude.com/docs/id/cloud-environments.md#what-carries-over-from-your-setup) untuk sisa setup Anda.124> [tab] Cloud session

125>

126> [Sesi cloud](https://code.claude.com/docs/id/cloud-environments.md), termasuk [browser di claude.ai/code](https://code.claude.com/docs/id/claude-code-on-the-web.md), tidak memiliki browser plugin dan tidak memuat plugin yang Anda instal di mesin Anda sendiri atau yang diaktifkan `.claude/settings.json` repository Anda. Untuk plugin yang didistribusikan organisasi Anda melalui pengaturan terkelola, lihat [Manage plugins for your organization](https://code.claude.com/docs/id/plugins/org.md).

127>

128> Lihat [bagian mana dari setup Anda yang juga tersedia di sesi cloud](https://code.claude.com/docs/id/cloud-environments.md#what-carries-over-from-your-setup) untuk sisa setup Anda.

129 129 

130### Pilih cakupan instalasi130### Pilih cakupan instalasi

131 131 

Details

116 116 

117### Usage share in `/usage`117### Usage share in `/usage`

118 118 

119Pada paket Pro, Max, Team, atau Enterprise, breakdown `/usage` mengatribusikan penggunaan terbaru kepada skills, subagents, plugins, dan server MCP sebagai bagian dari total. Lihat [Using the `/usage` command](https://code.claude.com/docs/id/costs#using-the-/usage-command).119Pada paket Pro, Max, Ultra, Team, atau Enterprise, breakdown `/usage` mengatribusikan penggunaan terbaru kepada skills, subagent, plugins, dan server MCP sebagai bagian dari total. Lihat [Using the `/usage` command](https://code.claude.com/docs/id/costs#using-the-/usage-command).

120 120 

121## Measure across a fleet121## Measure across a fleet

122 122 

Details

92 92 

93Buat dua direktori yang menyimpan file:93Buat dua direktori yang menyimpan file:

94 94 

95**Bash atau Zsh**95> [tab] Bash atau Zsh

96 96>

97```bash theme={null}97> ```bash theme={null}

98mkdir -p first-mod/.claude-plugin first-mod/hooks98> mkdir -p first-mod/.claude-plugin first-mod/hooks

99```99> ```

100 

101**PowerShell**

102 100 

103```powershell theme={null}101> [tab] PowerShell

104New-Item -ItemType Directory -Force first-mod\.claude-plugin, first-mod\hooks102>

105```103> ```powershell theme={null}

104> New-Item -ItemType Directory -Force first-mod\.claude-plugin, first-mod\hooks

105> ```

106 106 

107**2. Tulis manifest**107**2. Tulis manifest**

108 108 

Details

181 181 

182Panel dan pita kosong sampai mod mengisinya. Pilih tab untuk melihat apa itu masing-masing dan cara menggambar di dalamnya:182Panel dan pita kosong sampai mod mengisinya. Pilih tab untuk melihat apa itu masing-masing dan cara menggambar di dalamnya:

183 183 

184**Pane**184> [tab] Pane

185 185>

186Panel adalah sidebar di samping transkrip dalam terminal fullscreen yang lebar, atau wilayah berbingkai di atas prompt sebaliknya. Dengan beberapa panel terbuka, masing-masing mendapat tab yang menampilkan judulnya.186> Panel adalah sidebar di samping transkrip dalam terminal fullscreen yang lebar, atau wilayah berbingkai di atas prompt sebaliknya. Dengan beberapa panel terbuka, masing-masing mendapat tab yang menampilkan judulnya.

187 187>

188Panel muncul saat mod Anda memanggil `$.ui.open` dengan `id` yang Anda pilih, seperti dalam `$.ui.open({ id: 'hello-tabs' })`. [Buka panel pada waktu yang tepat](#open-a-pane-at-the-right-time) mencakup bidang lain dan kapan panel menunggu terminal yang lebih lebar.188> Panel muncul saat mod Anda memanggil `$.ui.open` dengan `id` yang Anda pilih, seperti dalam `$.ui.open({ id: 'hello-tabs' })`. [Buka panel pada waktu yang tepat](#open-a-pane-at-the-right-time) mencakup bidang lain dan kapan panel menunggu terminal yang lebih lebar.

189 189>

190Untuk menggambar di panel Anda, filter pada `{ component: 'Pane' }` dan periksa bahwa `e.requestId` adalah `id` Anda.190> Untuk menggambar di panel Anda, filter pada `{ component: 'Pane' }` dan periksa bahwa `e.requestId` adalah `id` Anda.

191 

192**Band above the prompt**

193 

194Pita adalah strip langsung di atas input prompt. Selalu ada, dan setiap mod berbaginya.

195 

196Hook Anda mengembalikan pohon untuk menampilkan sesuatu di pita, atau `next(e)` untuk menampilkan tidak ada. Pohon menggantikan apa yang mod [setelah Anda](https://code.claude.com/docs/id/plugins/mods/events.md#the-order-mods-run-in) gambar di sana. Untuk menjaga milik mereka, letakkan hasil `await next(e)` di antara anak-anak [`Box`](#build-a-tree-from-elements) dalam pohon Anda.

197 191 

198Untuk menggambar di pita, filter pada `{ component: 'AbovePrompt' }`.192> [tab] Band above the prompt

193>

194> Pita adalah strip langsung di atas input prompt. Selalu ada, dan setiap mod berbaginya.

195>

196> Hook Anda mengembalikan pohon untuk menampilkan sesuatu di pita, atau `next(e)` untuk menampilkan tidak ada. Pohon menggantikan apa yang mod [setelah Anda](https://code.claude.com/docs/id/plugins/mods/events.md#the-order-mods-run-in) gambar di sana. Untuk menjaga milik mereka, letakkan hasil `await next(e)` di antara anak-anak [`Box`](#build-a-tree-from-elements) dalam pohon Anda.

197>

198> Untuk menggambar di pita, filter pada `{ component: 'AbovePrompt' }`.

199 199 

200### Ubah apa yang sudah digambar Claude Code200### Ubah apa yang sudah digambar Claude Code

201 201 


214 214 

215Di situs yang sudah digambar Claude Code, hook Anda dapat mengubah detail, mengganti gambar, atau membiarkannya. Pilih tab untuk melihat masing-masing diterapkan pada spinner. Contoh membaca variabel `calls` yang hook lain hitung, seperti dalam [mod tutorial](https://code.claude.com/docs/id/plugins/mods/create.md#write-a-mod-yourself).215Di situs yang sudah digambar Claude Code, hook Anda dapat mengubah detail, mengganti gambar, atau membiarkannya. Pilih tab untuk melihat masing-masing diterapkan pada spinner. Contoh membaca variabel `calls` yang hook lain hitung, seperti dalam [mod tutorial](https://code.claude.com/docs/id/plugins/mods/create.md#write-a-mod-yourself).

216 216 

217**Change a detail**217> [tab] Change a detail

218 218>

219Untuk menjaga gambar Claude Code dan mengubah satu bagian darinya, teruskan `next` salinan event dengan `props` yang diubah. Hook ini mengubah teks setelah kata spinner:219> Untuk menjaga gambar Claude Code dan mengubah satu bagian darinya, teruskan `next` salinan event dengan `props` yang diubah. Hook ini mengubah teks setelah kata spinner:

220 220>

221```javascript theme={null}221> ```javascript theme={null}

222on('ui.render', { component: 'Spinner' }, async ($, e, next) => {222> on('ui.render', { component: 'Spinner' }, async ($, e, next) => {

223 // Jaga spinner Claude Code, dan ubah teks setelah katanya223> // Jaga spinner Claude Code, dan ubah teks setelah katanya

224 return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })224> return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })

225})225> })

226```226> ```

227 227>

228Spinner menjaga animasi dan katanya, dan teks Anda mengikuti kata:228> Spinner menjaga animasi dan katanya, dan teks Anda mengikuti kata:

229 229>

230```text theme={null}230> ```text theme={null}

231Thinking · tool calls: 2…231> Thinking · tool calls: 2…

232```232> ```

233 

234**Replace the drawing**

235 

236Untuk menggambar sesuatu milik Anda sendiri di tempat situs, kembalikan pohon dan jangan panggil `next`. Hook ini menggambar satu baris teks di mana spinner akan berada:

237 

238```javascript theme={null}

239on('ui.render', { component: 'Spinner' }, async ($, e) => {

240 const { Text } = $.ui.resolve(e)

241 // Tidak ada panggilan ke next, jadi baris ini digambar di tempat spinner

242 return Text({ children: ['Claude has made ' + calls + ' tool calls'] })

243})

244```

245 

246Saat Claude bekerja, baris Anda menampilkan dan spinner Claude Code tidak:

247 

248```text theme={null}

249Claude has made 2 tool calls

250```

251 

252**Leave it alone**

253 

254Untuk meninggalkan situs seperti yang digambar Claude Code, kembalikan `next(e)`. Hook sering melakukan itu untuk beberapa event dan tidak untuk yang lain. Hook ini meninggalkan spinner saja sampai ada panggilan untuk dihitung:

255 

256```javascript theme={null}

257on('ui.render', { component: 'Spinner' }, async ($, e, next) => {

258 // Tidak ada yang ditampilkan dulu, jadi teruskan event tanpa perubahan

259 if (calls === 0) return next(e)

260 return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })

261})

262```

263 233 

264Sebelum panggilan tool pertama, spinner terlihat seperti tanpa mod:234> [tab] Replace the drawing

235>

236> Untuk menggambar sesuatu milik Anda sendiri di tempat situs, kembalikan pohon dan jangan panggil `next`. Hook ini menggambar satu baris teks di mana spinner akan berada:

237>

238> ```javascript theme={null}

239> on('ui.render', { component: 'Spinner' }, async ($, e) => {

240> const { Text } = $.ui.resolve(e)

241> // Tidak ada panggilan ke next, jadi baris ini digambar di tempat spinner

242> return Text({ children: ['Claude has made ' + calls + ' tool calls'] })

243> })

244> ```

245>

246> Saat Claude bekerja, baris Anda menampilkan dan spinner Claude Code tidak:

247>

248> ```text theme={null}

249> Claude has made 2 tool calls

250> ```

265 251 

266```text theme={null}252> [tab] Leave it alone

267Thinking…253>

268```254> Untuk meninggalkan situs seperti yang digambar Claude Code, kembalikan `next(e)`. Hook sering melakukan itu untuk beberapa event dan tidak untuk yang lain. Hook ini meninggalkan spinner saja sampai ada panggilan untuk dihitung:

255>

256> ```javascript theme={null}

257> on('ui.render', { component: 'Spinner' }, async ($, e, next) => {

258> // Tidak ada yang ditampilkan dulu, jadi teruskan event tanpa perubahan

259> if (calls === 0) return next(e)

260> return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })

261> })

262> ```

263>

264> Sebelum panggilan tool pertama, spinner terlihat seperti tanpa mod:

265>

266> ```text theme={null}

267> Thinking…

268> ```

269 269 

270Di situs-situs ini, `next(e)` mengembalikan referensi ke gambar Claude Code, `{ type: 'engine', ref }`, kecuali mod yang berjalan setelah milik Anda mengembalikan pohonnya sendiri. Untuk mengubah isi gambar tersebut, teruskan `next` salinan event dengan props yang berbeda, seperti yang dilakukan tab **Change a detail**. Anda dapat mengembalikan referensi apa adanya, atau menempatkannya dalam `Box` di samping elemen Anda sendiri:270Di situs-situs ini, `next(e)` mengembalikan referensi ke gambar Claude Code, `{ type: 'engine', ref }`, kecuali mod yang berjalan setelah milik Anda mengembalikan pohonnya sendiri. Untuk mengubah isi gambar tersebut, teruskan `next` salinan event dengan props yang berbeda, seperti yang dilakukan tab **Change a detail**. Anda dapat mengembalikan referensi apa adanya, atau menempatkannya dalam `Box` di samping elemen Anda sendiri:

271 271 


357 357 

358Pilih tab untuk melihat setiap elemen yang paling umum dan cara terminal menggambarnya:358Pilih tab untuk melihat setiap elemen yang paling umum dan cara terminal menggambarnya:

359 359 

360**Text**360> [tab] Text

361 361>

362`Text` menggambar string, dengan gaya opsional seperti `bold` dan `color`:362> `Text` menggambar string, dengan gaya opsional seperti `bold` dan `color`:

363 363>

364```javascript theme={null}364> ```javascript theme={null}

365Text({ children: ['This is the first tab.'] })365> Text({ children: ['This is the first tab.'] })

366```366> ```

367 367>

368```text theme={null}368> ```text theme={null}

369This is the first tab.369> This is the first tab.

370```370> ```

371 

372**Box**

373 

374`Box` mengatur apa yang ada di dalamnya, dalam baris atau kolom. Ini menempatkan tombol dan baris teks berdampingan, dua kolom terpisah:

375 

376```javascript theme={null}

377Box({

378 flexDirection: 'row',

379 columnGap: 2,

380 children: [

381 Button({ key: 'more', label: 'Add one', onPress: addOne }),

382 Text({ children: ['Count: 0'] }),

383 ],

384})

385```

386 

387```text theme={null}

388[ Add one ] Count: 0

389```

390 

391**Button**

392 

393`Button` adalah kontrol yang dapat ditekan pengguna. Ini menjalankan callback `onPress` Anda. Dengan `plain: true` tidak memiliki tanda kurung dan menampilkan pintasan keyboard:

394 

395```javascript theme={null}

396Button({ key: 'more', label: 'Add one', onPress: addOne })

397Button({ key: 'tab-one', label: 'One', hotkey: '1', plain: true, onPress: showTabOne })

398```

399 

400```text theme={null}

401[ Add one ]

4021: One

403```

404 

405**Input**

406 

407`Input` adalah bidang teks. Ini menjalankan callback `onSubmit` Anda dengan teks saat pengguna menekan Enter:

408 371 

409```javascript theme={null}372> [tab] Box

410Input({373>

411 key: 'new-note',374> `Box` mengatur apa yang ada di dalamnya, dalam baris atau kolom. Ini menempatkan tombol dan baris teks berdampingan, dua kolom terpisah:

412 label: 'Note',375>

413 placeholder: 'Type a note and press Enter',376> ```javascript theme={null}

414 value: '',377> Box({

415 submitLabel: 'add',378> flexDirection: 'row',

416 onSubmit: addNote,379> columnGap: 2,

417})380> children: [

418```381> Button({ key: 'more', label: 'Add one', onPress: addOne }),

382> Text({ children: ['Count: 0'] }),

383> ],

384> })

385> ```

386>

387> ```text theme={null}

388> [ Add one ] Count: 0

389> ```

419 390 

420```text theme={null}391> [tab] Button

421Note: Type a note and press Enter392>

422```393> `Button` adalah kontrol yang dapat ditekan pengguna. Ini menjalankan callback `onPress` Anda. Dengan `plain: true` tidak memiliki tanda kurung dan menampilkan pintasan keyboard:

394>

395> ```javascript theme={null}

396> Button({ key: 'more', label: 'Add one', onPress: addOne })

397> Button({ key: 'tab-one', label: 'One', hotkey: '1', plain: true, onPress: showTabOne })

398> ```

399>

400> ```text theme={null}

401> [ Add one ]

402> 1: One

403> ```

423 404 

424Atur `rows` ke 2 atau lebih untuk [bidang yang menampung beberapa baris](https://code.claude.com/docs/id/plugins/mods/gallery.md#input).405> [tab] Input

406>

407> `Input` adalah bidang teks. Ini menjalankan callback `onSubmit` Anda dengan teks saat pengguna menekan Enter:

408>

409> ```javascript theme={null}

410> Input({

411> key: 'new-note',

412> label: 'Note',

413> placeholder: 'Type a note and press Enter',

414> value: '',

415> submitLabel: 'add',

416> onSubmit: addNote,

417> })

418> ```

419>

420> ```text theme={null}

421> Note: Type a note and press Enter

422> ```

423>

424> Atur `rows` ke 2 atau lebih untuk [bidang yang menampung beberapa baris](https://code.claude.com/docs/id/plugins/mods/gallery.md#input).

425 425 

426[Galeri antarmuka](https://code.claude.com/docs/id/plugins/mods/gallery.md) memiliki contoh dan tangkapan layar dari sebagian besar elemen. Tabel ini mencantumkan setiap elemen:426[Galeri antarmuka](https://code.claude.com/docs/id/plugins/mods/gallery.md) memiliki contoh dan tangkapan layar dari sebagian besar elemen. Tabel ini mencantumkan setiap elemen:

427 427 

Details

132 132 

133**1. Konfirmasi bahwa Anda dapat mengirimkan**133**1. Konfirmasi bahwa Anda dapat mengirimkan**

134 134 

135Pengiriman memerlukan paket claude.ai berbayar. Di Pro dan Max Anda mengirimkan dari akun Anda sendiri. Di Team dan Enterprise, seorang Owner dapat mengirimkan, dan di Enterprise seorang Owner juga dapat memberikan izin **Directory** kepada anggota lain melalui peran khusus di bawah **Organization settings > Roles**. Lihat [Konfirmasi bahwa Anda dapat mengirimkan ke direktori](https://claude.com/docs/directory/publish#confirm-you-can-submit-to-the-directory).135Pengiriman memerlukan paket claude.ai berbayar. Di Pro, Max, dan Ultra Anda mengirimkan dari akun Anda sendiri. Di Team dan Enterprise, seorang Owner dapat mengirimkan, dan di Enterprise seorang Owner juga dapat memberikan izin **Directory** kepada anggota lain melalui peran khusus di bawah **Organization settings > Roles**. Lihat [Konfirmasi bahwa Anda dapat mengirimkan ke direktori](https://claude.com/docs/directory/publish#confirm-you-can-submit-to-the-directory).

136 136 

137**2. Validasi plugin secara lokal**137**2. Validasi plugin secara lokal**

138 138 

Details

302 302 

303Mengklon marketplace, dan mengklon ulang satu untuk memperbaruinya, mendapat 120 detik secara default. Untuk repository besar atau koneksi lambat, naikkan batasnya. Nilainya dalam milidetik:303Mengklon marketplace, dan mengklon ulang satu untuk memperbaruinya, mendapat 120 detik secara default. Untuk repository besar atau koneksi lambat, naikkan batasnya. Nilainya dalam milidetik:

304 304 

305**Bash or Zsh**305> [tab] Bash or Zsh

306 306>

307```bash theme={null}307> ```bash theme={null}

308export CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS=300000308> export CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS=300000

309```309> ```

310 

311**PowerShell**

312 310 

313```powershell theme={null}311> [tab] PowerShell

314$env:CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS = "300000"312>

315```313> ```powershell theme={null}

314> $env:CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS = "300000"

315> ```

316 316 

317Kemudian coba ulang di shell yang sama.317Kemudian coba ulang di shell yang sama.

318 318 


328 328 

329Atur variabel ini untuk melewati upaya re-clone dan terus menggunakan checkout yang ada ketika pemeriksaan tidak dapat menjangkau host:329Atur variabel ini untuk melewati upaya re-clone dan terus menggunakan checkout yang ada ketika pemeriksaan tidak dapat menjangkau host:

330 330 

331**Bash or Zsh**331> [tab] Bash or Zsh

332 332>

333```bash theme={null}333> ```bash theme={null}

334export CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1334> export CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1

335```335> ```

336 

337**PowerShell**

338 336 

339```powershell theme={null}337> [tab] PowerShell

340$env:CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE = "1"338>

341```339> ```powershell theme={null}

340> $env:CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE = "1"

341> ```

342 342 

343Dengan variabel yang diatur, Claude Code melewati re-clone hanya untuk checkout yang sudah berisi `.claude-plugin/marketplace.json`. Marketplace yang tidak pernah diklon atau yang klonnya berhenti di tengah jalan masih mendapat upaya klon, jadi tambahkan sekali saat online.343Dengan variabel yang diatur, Claude Code melewati re-clone hanya untuk checkout yang sudah berisi `.claude-plugin/marketplace.json`. Marketplace yang tidak pernah diklon atau yang klonnya berhenti di tengah jalan masih mendapat upaya klon, jadi tambahkan sekali saat online.

344 344 

quickstart.md +56 −56

Details

14 14 

15* Terminal atau command prompt yang terbuka15* Terminal atau command prompt yang terbuka

16* Proyek kode untuk dikerjakan16* Proyek kode untuk dikerjakan

17* [Langganan Claude](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_prereq) (Pro, Max, Team, atau Enterprise), akun [Claude Console](https://platform.claude.com/), atau akses melalui [penyedia cloud yang didukung](https://code.claude.com/docs/id/third-party-integrations.md)17* [Langganan Claude](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_prereq) (Pro, Max, Ultra, Team, atau Enterprise), akun [Claude Console](https://platform.claude.com/), atau akses melalui [penyedia cloud yang didukung](https://code.claude.com/docs/id/third-party-integrations.md)

18 18 

19> [!NOTE]19> [!NOTE]

20>20>


27 27 

28Untuk menginstal Claude Code, buka terminal dan jalankan perintah untuk sistem Anda. Jika Anda belum pernah menggunakan terminal sebelumnya, [panduan terminal](https://code.claude.com/docs/id/terminal-guide) menunjukkan cara membukanya dan menempel perintahnya.28Untuk menginstal Claude Code, buka terminal dan jalankan perintah untuk sistem Anda. Jika Anda belum pernah menggunakan terminal sebelumnya, [panduan terminal](https://code.claude.com/docs/id/terminal-guide) menunjukkan cara membukanya dan menempel perintahnya.

29 29 

30**Native Install (Direkomendasikan)**30> [tab] Native Install (Direkomendasikan)

31 

32**macOS, Linux, WSL:**

33 

34```bash theme={null}

35curl -fsSL https://claude.ai/install.sh | bash

36```

37 

38Di Windows, prompt Anda menunjukkan `PS C:\` ketika Anda berada di PowerShell dan `C:\` tanpa `PS` ketika Anda berada di CMD.

39 

40**Windows PowerShell:**

41 

42```powershell theme={null}

43irm https://claude.ai/install.ps1 | iex

44```

45 

46**Windows CMD:**

47 

48```batch theme={null}

49curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

50```

51 

52Perintah instalasi tidak menampilkan kemajuan saat mengunduh Claude Code. Ketika penginstal selesai, buka jendela terminal baru dan jalankan `claude --version`. Instalasi yang berfungsi dengan baik mencetak nomor versi. Jika shell Anda mengatakan `claude` tidak ditemukan atau tidak dikenali, direktori instalasi belum ada di PATH Anda: lihat [Perbaiki PATH Anda](https://code.claude.com/docs/id/troubleshoot-install.md#command-not-found-claude-after-installation).

53 

54Jika Anda melihat `The token '&&' is not a valid statement separator`, Anda berada di PowerShell, bukan CMD. Jika Anda melihat `'irm' is not recognized as an internal or external command`, Anda berada di CMD, bukan PowerShell.

55 

56Jika perintah instalasi gagal dengan `syntax error near unexpected token '<'`, `403`, atau kesalahan lainnya, lihat [Troubleshoot installation](https://code.claude.com/docs/id/troubleshoot-install.md#find-your-error) untuk mencocokkan kesalahan dengan perbaikan dan untuk metode instalasi alternatif.

57 

58[Git for Windows](https://git-scm.com/downloads/win) direkomendasikan pada Windows native sehingga Claude Code dapat menggunakan alat Bash. Jika Git for Windows tidak diinstal, Claude Code menggunakan PowerShell sebagai alat shell sebagai gantinya. Pengaturan WSL tidak memerlukan Git for Windows.

59 

60> [!NOTE]

61>31>

62> Instalasi native secara otomatis diperbarui di latar belakang untuk membuat Anda tetap menggunakan versi terbaru.32> **macOS, Linux, WSL:**

63 

64**Homebrew**

65 

66```bash theme={null}

67brew install --cask claude-code

68```

69 

70Homebrew menawarkan dua casks. `claude-code` melacak saluran rilis stabil, yang biasanya sekitar seminggu di belakang dan melewatkan rilis dengan regresi besar. `claude-code@latest` melacak saluran terbaru dan menerima versi baru segera setelah mereka dirilis.

71 

72> [!NOTE]

73>33>

74> Instalasi Homebrew tidak auto-update. Jalankan `brew upgrade claude-code` atau `brew upgrade claude-code@latest`, tergantung pada cask mana yang Anda instal, untuk mendapatkan fitur terbaru dan perbaikan keamanan.34> ```bash theme={null}

75 35> curl -fsSL https://claude.ai/install.sh | bash

76**WinGet**36> ```

37>

38> Di Windows, prompt Anda menunjukkan `PS C:\` ketika Anda berada di PowerShell dan `C:\` tanpa `PS` ketika Anda berada di CMD.

39>

40> **Windows PowerShell:**

41>

42> ```powershell theme={null}

43> irm https://claude.ai/install.ps1 | iex

44> ```

45>

46> **Windows CMD:**

47>

48> ```batch theme={null}

49> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

50> ```

51>

52> Perintah instalasi tidak menampilkan kemajuan saat mengunduh Claude Code. Ketika penginstal selesai, buka jendela terminal baru dan jalankan `claude --version`. Instalasi yang berfungsi dengan baik mencetak nomor versi. Jika shell Anda mengatakan `claude` tidak ditemukan atau tidak dikenali, direktori instalasi belum ada di PATH Anda: lihat [Perbaiki PATH Anda](https://code.claude.com/docs/id/troubleshoot-install.md#command-not-found-claude-after-installation).

53>

54> Jika Anda melihat `The token '&&' is not a valid statement separator`, Anda berada di PowerShell, bukan CMD. Jika Anda melihat `'irm' is not recognized as an internal or external command`, Anda berada di CMD, bukan PowerShell.

55>

56> Jika perintah instalasi gagal dengan `syntax error near unexpected token '<'`, `403`, atau kesalahan lainnya, lihat [Troubleshoot installation](https://code.claude.com/docs/id/troubleshoot-install.md#find-your-error) untuk mencocokkan kesalahan dengan perbaikan dan untuk metode instalasi alternatif.

57>

58> [Git for Windows](https://git-scm.com/downloads/win) direkomendasikan pada Windows native sehingga Claude Code dapat menggunakan alat Bash. Jika Git for Windows tidak diinstal, Claude Code menggunakan PowerShell sebagai alat shell sebagai gantinya. Pengaturan WSL tidak memerlukan Git for Windows.

59>

60> > [!NOTE]

61> >

62> > Instalasi native secara otomatis diperbarui di latar belakang untuk membuat Anda tetap menggunakan versi terbaru.

77 63 

78```powershell theme={null}64> [tab] Homebrew

79winget install Anthropic.ClaudeCode65>

80```66> ```bash theme={null}

67> brew install --cask claude-code

68> ```

69>

70> Homebrew menawarkan dua casks. `claude-code` melacak saluran rilis stabil, yang biasanya sekitar seminggu di belakang dan melewatkan rilis dengan regresi besar. `claude-code@latest` melacak saluran terbaru dan menerima versi baru segera setelah mereka dirilis.

71>

72> > [!NOTE]

73> >

74> > Instalasi Homebrew tidak auto-update. Jalankan `brew upgrade claude-code` atau `brew upgrade claude-code@latest`, tergantung pada cask mana yang Anda instal, untuk mendapatkan fitur terbaru dan perbaikan keamanan.

81 75 

82> [!NOTE]76> [tab] WinGet

77>

78> ```powershell theme={null}

79> winget install Anthropic.ClaudeCode

80> ```

83>81>

84> Instalasi WinGet tidak auto-update. Jalankan `winget upgrade Anthropic.ClaudeCode` secara berkala untuk mendapatkan fitur terbaru dan perbaikan keamanan.82> > [!NOTE]

83> >

84> > Instalasi WinGet tidak auto-update. Jalankan `winget upgrade Anthropic.ClaudeCode` secara berkala untuk mendapatkan fitur terbaru dan perbaikan keamanan.

85 85 

86Anda juga dapat menginstal dengan [apt, dnf, atau apk](https://code.claude.com/docs/id/setup.md#install-with-linux-package-managers) pada Debian, Fedora, RHEL, dan Alpine.86Anda juga dapat menginstal dengan [apt, dnf, atau apk](https://code.claude.com/docs/id/setup.md#install-with-linux-package-managers) pada Debian, Fedora, RHEL, dan Alpine.

87 87 


108 108 

109Anda dapat masuk menggunakan salah satu jenis akun berikut:109Anda dapat masuk menggunakan salah satu jenis akun berikut:

110 110 

111* [Claude Pro, Max, Team, atau Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_login) (direkomendasikan)111* [Claude Pro, Max, Ultra, Team, atau Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_login) (direkomendasikan)

112* [Claude Console](https://platform.claude.com/) (akses API dengan kredit prabayar). Saat pertama kali masuk, workspace "Claude Code" akan dibuat secara otomatis di Console untuk pelacakan biaya terpusat.112* [Claude Console](https://platform.claude.com/) (akses API dengan kredit prabayar). Saat pertama kali masuk, workspace "Claude Code" akan dibuat secara otomatis di Console untuk pelacakan biaya terpusat.

113* [Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry](https://code.claude.com/docs/id/third-party-integrations.md) (penyedia cloud enterprise)113* [Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry](https://code.claude.com/docs/id/third-party-integrations.md) (penyedia cloud enterprise)

114* [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway) yang di-host sendiri, jika organisasi Anda menjalankannya: admin Anda telah mengonfigurasi URL gateway sebelumnya, dan `/login` langsung terbuka di layar **Cloud gateway** agar Anda dapat masuk dengan SSO perusahaan114* [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway) yang di-host sendiri, jika organisasi Anda menjalankannya: admin Anda telah mengonfigurasi URL gateway sebelumnya, dan `/login` langsung terbuka di layar **Cloud gateway** agar Anda dapat masuk dengan SSO perusahaan


267 267 

268Untuk informasi lebih lanjut, lihat [praktik terbaik](https://code.claude.com/docs/id/best-practices.md) dan [alur kerja umum](https://code.claude.com/docs/id/common-workflows.md).268Untuk informasi lebih lanjut, lihat [praktik terbaik](https://code.claude.com/docs/id/best-practices.md) dan [alur kerja umum](https://code.claude.com/docs/id/common-workflows.md).

269 269 

270> **Jadilah spesifik dengan permintaan Anda**270> [accordion] Jadilah spesifik dengan permintaan Anda

271>271>

272> Alih-alih: "perbaiki bug"272> Alih-alih: "perbaiki bug"

273>273>

274> Coba: "perbaiki bug login di mana pengguna melihat layar kosong setelah memasukkan kredensial yang salah"274> Coba: "perbaiki bug login di mana pengguna melihat layar kosong setelah memasukkan kredensial yang salah"

275 275 

276> **Gunakan instruksi langkah demi langkah**276> [accordion] Gunakan instruksi langkah demi langkah

277>277>

278> Pecah tugas kompleks menjadi langkah-langkah:278> Pecah tugas kompleks menjadi langkah-langkah:

279>279>


283> 3. bangun halaman web yang memungkinkan pengguna melihat dan mengedit informasi mereka283> 3. bangun halaman web yang memungkinkan pengguna melihat dan mengedit informasi mereka

284> ```284> ```

285 285 

286> **Biarkan Claude menjelajahi terlebih dahulu**286> [accordion] Biarkan Claude menjelajahi terlebih dahulu

287>287>

288> Sebelum membuat perubahan, biarkan Claude memahami kode Anda:288> Sebelum membuat perubahan, biarkan Claude memahami kode Anda:

289>289>


295> bangun dasbor yang menampilkan produk yang paling sering dikembalikan oleh pelanggan Inggris kami295> bangun dasbor yang menampilkan produk yang paling sering dikembalikan oleh pelanggan Inggris kami

296> ```296> ```

297 297 

298> **Hemat waktu dengan pintasan keyboard**298> [accordion] Hemat waktu dengan pintasan keyboard

299>299>

300> * Tekan `/` untuk melihat perintah dan skills yang tersedia untuk Anda300> * Tekan `/` untuk melihat perintah dan skills yang tersedia untuk Anda

301> * Gunakan Tab untuk penyelesaian perintah301> * Gunakan Tab untuk penyelesaian perintah

remote-control.md +97 −97

Details

25 25 

26Sebelum menggunakan Remote Control, konfirmasi bahwa lingkungan Anda memenuhi kondisi berikut:26Sebelum menggunakan Remote Control, konfirmasi bahwa lingkungan Anda memenuhi kondisi berikut:

27 27 

28* **Langganan**: tersedia di paket Pro, Max, Tim, dan Enterprise. Kunci API tidak didukung. Di Tim dan Enterprise, seorang Pemilik harus terlebih dahulu mengaktifkan toggle Remote Control di [pengaturan admin Claude Code](https://claude.ai/admin-settings/claude-code).28* **Langganan**: tersedia di paket Pro, Max, Ultra, Team, dan Enterprise. Kunci API tidak didukung. Di Team dan Enterprise, seorang Owner harus terlebih dahulu mengaktifkan toggle Remote Control di [pengaturan admin Claude Code](https://claude.ai/admin-settings/claude-code).

29* **Peran kustom**: jika organisasi Enterprise Anda mengelola akses Anda dengan [peran kustom](https://support.claude.com/en/articles/13930452), peran Anda harus memberi Anda izin sesi cloud sekaligus izin **Claude Code remote control**. Jika salah satunya tidak ada, memulai Remote Control akan menampilkan [`Remote Control is disabled by your organization's policy`](#remote-control-is-disabled-by-your-organizations-policy). Minta seorang Owner untuk memeriksa peran Anda dan menambahkan yang kurang di [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).29* **Peran kustom**: jika organisasi Enterprise Anda mengelola akses Anda dengan [peran kustom](https://support.claude.com/en/articles/13930452), peran Anda harus memberi Anda izin sesi cloud sekaligus izin **Claude Code remote control**. Jika salah satunya tidak ada, memulai Remote Control akan menampilkan [`Remote Control is disabled by your organization's policy`](#remote-control-is-disabled-by-your-organizations-policy). Minta seorang Owner untuk memeriksa peran Anda dan menambahkan yang kurang di [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).

30* **Autentikasi**: jalankan `claude` dan gunakan `/login` untuk masuk melalui claude.ai jika Anda belum melakukannya. Tanpa login yang memenuhi syarat, `claude remote-control` keluar dengan kesalahan, sementara `claude --remote-control` tetap memulai sesi interaktif dan menampilkan notifikasi kegagalan Remote Control segera setelah peluncuran.30* **Autentikasi**: jalankan `claude` dan gunakan `/login` untuk masuk melalui claude.ai jika Anda belum melakukannya. Tanpa login yang memenuhi syarat, `claude remote-control` keluar dengan kesalahan, sementara `claude --remote-control` tetap memulai sesi interaktif dan menampilkan notifikasi kegagalan Remote Control segera setelah peluncuran.

31* **Titik akhir API**: tidak tersedia di salah satu konfigurasi berikut:31* **Titik akhir API**: tidak tersedia di salah satu konfigurasi berikut:


41 41 

42Anda dapat memulai sesi Remote Control dari CLI, [aplikasi Claude Desktop](https://code.claude.com/docs/id/desktop.md), atau ekstensi VS Code. CLI menawarkan tiga mode invokasi; aplikasi Desktop dan VS Code menggunakan perintah `/remote-control`.42Anda dapat memulai sesi Remote Control dari CLI, [aplikasi Claude Desktop](https://code.claude.com/docs/id/desktop.md), atau ekstensi VS Code. CLI menawarkan tiga mode invokasi; aplikasi Desktop dan VS Code menggunakan perintah `/remote-control`.

43 43 

44**Server mode**44> [tab] Server mode

45 45>

46Di direktori proyek Anda, jalankan:46> Di direktori proyek Anda, jalankan:

47 47>

48```bash theme={null}48> ```bash theme={null}

49claude remote-control49> claude remote-control

50```50> ```

51 51>

52Sampai Anda menerima konfirmasi satu kali Remote Control, `claude remote-control` menjelaskan apa yang dilakukannya dan menanyakan `Enable Remote Control? (y/n)` sebelum memulai server. Jawab `y` untuk menerima dan memulai server. Jika Anda menolak, Claude Code keluar tanpa memulai server dan menanyakan lagi saat Anda menjalankan perintah berikutnya.52> Sampai Anda menerima konfirmasi satu kali Remote Control, `claude remote-control` menjelaskan apa yang dilakukannya dan menanyakan `Enable Remote Control? (y/n)` sebelum memulai server. Jawab `y` untuk menerima dan memulai server. Jika Anda menolak, Claude Code keluar tanpa memulai server dan menanyakan lagi saat Anda menjalankan perintah berikutnya.

53 53>

54Proses tetap berjalan di terminal Anda dalam mode server, menunggu koneksi jarak jauh. Ini menampilkan URL sesi yang dapat Anda gunakan untuk [terhubung dari perangkat lain](#connect-from-another-device), dan Anda dapat menekan spacebar untuk menampilkan kode QR untuk akses cepat dari ponsel Anda. Saat sesi jarak jauh aktif, terminal menampilkan status koneksi dan aktivitas alat.54> Proses tetap berjalan di terminal Anda dalam mode server, menunggu koneksi jarak jauh. Ini menampilkan URL sesi yang dapat Anda gunakan untuk [terhubung dari perangkat lain](#connect-from-another-device), dan Anda dapat menekan spacebar untuk menampilkan kode QR untuk akses cepat dari ponsel Anda. Saat sesi jarak jauh aktif, terminal menampilkan status koneksi dan aktivitas alat.

55 55>

56Lewatkan salah satu flag ini setelah `remote-control`:56> Lewatkan salah satu flag ini setelah `remote-control`:

57 57>

58| Flag | Deskripsi |58> | Flag | Deskripsi |

59| - | - |59> | - | - |

60| `--name "My Project"` | Tetapkan judul sesi khusus yang terlihat dalam daftar sesi di claude.ai/code. |60> | `--name "My Project"` | Tetapkan judul sesi khusus yang terlihat dalam daftar sesi di claude.ai/code. |

61| `--remote-control-session-name-prefix <prefix>` | Awalan untuk nama sesi yang dibuat secara otomatis ketika tidak ada nama eksplisit yang ditetapkan. Default ke nama host mesin Anda, menghasilkan nama seperti `myhost-graceful-unicorn`. Atur `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` untuk efek yang sama. |61> | `--remote-control-session-name-prefix <prefix>` | Awalan untuk nama sesi yang dibuat secara otomatis ketika tidak ada nama eksplisit yang ditetapkan. Default ke nama host mesin Anda, menghasilkan nama seperti `myhost-graceful-unicorn`. Atur `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` untuk efek yang sama. |

62| `-c`, `--continue` | Bawa kembali sesi yang dimulai server terakhir di direktori ini, bukan membuat yang baru. Lihat [Resume sessions after stopping the server](#resume-sessions-after-stopping-the-server). Tidak dapat digabungkan dengan `--session-id`, `--spawn`, `--capacity`, atau `--create-session-in-dir`. Memerlukan Claude Code v2.1.200 atau lebih baru. |62> | `-c`, `--continue` | Bawa kembali sesi yang dimulai server terakhir di direktori ini, bukan membuat yang baru. Lihat [Resume sessions after stopping the server](#resume-sessions-after-stopping-the-server). Tidak dapat digabungkan dengan `--session-id`, `--spawn`, `--capacity`, atau `--create-session-in-dir`. Memerlukan Claude Code v2.1.200 atau lebih baru. |

63| `--session-id <id>` | Bawa kembali satu sesi berdasarkan ID-nya. Lihat [Resume sessions after stopping the server](#resume-sessions-after-stopping-the-server). Tidak dapat digabungkan dengan `--continue`, `--spawn`, `--capacity`, atau `--create-session-in-dir`. Memerlukan Claude Code v2.1.200 atau lebih baru. |63> | `--session-id <id>` | Bawa kembali satu sesi berdasarkan ID-nya. Lihat [Resume sessions after stopping the server](#resume-sessions-after-stopping-the-server). Tidak dapat digabungkan dengan `--continue`, `--spawn`, `--capacity`, atau `--create-session-in-dir`. Memerlukan Claude Code v2.1.200 atau lebih baru. |

64| `--spawn <mode>` | Bagaimana server membuat sesi. • `same-dir` (default ketika tidak ada mode yang disimpan): semua sesi berbagi direktori kerja saat ini, sehingga dapat bertentangan jika mengedit file yang sama. • `worktree`: setiap sesi sesuai permintaan mendapatkan [git worktree](https://code.claude.com/docs/id/worktrees.md) miliknya sendiri. Memerlukan repositori git atau [hook `WorktreeCreate`](https://code.claude.com/docs/id/hooks#worktreecreate). • `session`: mode sesi tunggal. Melayani tepat satu sesi dan menolak koneksi tambahan. Atur saat startup saja. Tekan `w` saat runtime untuk beralih antara `same-dir` dan `worktree`. Mode yang Anda pilih menjadi [default untuk proyek ini](#set-the-default-spawn-mode-for-a-project). |64> | `--spawn <mode>` | Bagaimana server membuat sesi. • `same-dir` (default ketika tidak ada mode yang disimpan): semua sesi berbagi direktori kerja saat ini, sehingga dapat bertentangan jika mengedit file yang sama. • `worktree`: setiap sesi sesuai permintaan mendapatkan [git worktree](https://code.claude.com/docs/id/worktrees.md) miliknya sendiri. Memerlukan repositori git atau [hook `WorktreeCreate`](https://code.claude.com/docs/id/hooks#worktreecreate). • `session`: mode sesi tunggal. Melayani tepat satu sesi dan menolak koneksi tambahan. Atur saat startup saja. Tekan `w` saat runtime untuk beralih antara `same-dir` dan `worktree`. Mode yang Anda pilih menjadi [default untuk proyek ini](#set-the-default-spawn-mode-for-a-project). |

65| `--capacity <N>` | Jumlah maksimum sesi bersamaan. Default adalah 32. Tidak dapat digunakan dengan `--spawn=session`. |65> | `--capacity <N>` | Jumlah maksimum sesi bersamaan. Default adalah 32. Tidak dapat digunakan dengan `--spawn=session`. |

66| `--[no-]create-session-in-dir` | Buat sesi di direktori saat ini ketika server dimulai, sehingga Anda memiliki tempat untuk mengetik segera. Dalam mode `worktree` sesi ini tetap berada di direktori saat ini sementara sesi sesuai permintaan mendapatkan worktree terisolasi. Aktif secara default. Jika Anda melewatkan `--no-create-session-in-dir` untuk memulai tanpa sesi, Claude Code mengarsipkan sesi server saat Anda menghentikannya, sehingga tidak ada yang dapat [dilanjutkan](#resume-sessions-after-stopping-the-server). |66> | `--[no-]create-session-in-dir` | Buat sesi di direktori saat ini ketika server dimulai, sehingga Anda memiliki tempat untuk mengetik segera. Dalam mode `worktree` sesi ini tetap berada di direktori saat ini sementara sesi sesuai permintaan mendapatkan worktree terisolasi. Aktif secara default. Jika Anda melewatkan `--no-create-session-in-dir` untuk memulai tanpa sesi, Claude Code mengarsipkan sesi server saat Anda menghentikannya, sehingga tidak ada yang dapat [dilanjutkan](#resume-sessions-after-stopping-the-server). |

67| `--permission-mode <mode>` | Atur [mode izin](https://code.claude.com/docs/id/permission-modes.md) awal untuk sesi server, seperti `acceptEdits`. Menerima `manual` sebagai alias untuk `default`; mode yang tidak dikenali menghentikan server saat startup dan mencantumkan mode yang valid. |67> | `--permission-mode <mode>` | Atur [mode izin](https://code.claude.com/docs/id/permission-modes.md) awal untuk sesi server, seperti `acceptEdits`. Menerima `manual` sebagai alias untuk `default`; mode yang tidak dikenali menghentikan server saat startup dan mencantumkan mode yang valid. |

68| `--chrome` / `--no-chrome` | Aktifkan atau matikan [integrasi Chrome](https://code.claude.com/docs/id/chrome.md) di sesi yang dibuat server, sehingga Claude dapat menggunakan Chrome di mesin Anda saat Anda bekerja dari perangkat lain. Tanpa salah satu flag, sesi yang dimulai server sebelumnya dan sesi apa pun yang Anda mulai sendiri dari claude.ai/code atau aplikasi Claude dimulai dengan Chrome mati, bahkan jika Anda [mengaktifkan Chrome secara default](https://code.claude.com/docs/id/chrome.md#enable-chrome-by-default). Sesi yang dimulai server untuk salah satu [project](https://code.claude.com/docs/id/claude-projects.md) thread Anda mengikuti pengaturan itu sebagai gantinya, kecuali dalam mode `bypassPermissions`. Memerlukan Claude Code v2.1.273 atau lebih baru. |68> | `--chrome` / `--no-chrome` | Aktifkan atau matikan [integrasi Chrome](https://code.claude.com/docs/id/chrome.md) di sesi yang dibuat server, sehingga Claude dapat menggunakan Chrome di mesin Anda saat Anda bekerja dari perangkat lain. Tanpa salah satu flag, sesi yang dimulai server sebelumnya dan sesi apa pun yang Anda mulai sendiri dari claude.ai/code atau aplikasi Claude dimulai dengan Chrome mati, bahkan jika Anda [mengaktifkan Chrome secara default](https://code.claude.com/docs/id/chrome.md#enable-chrome-by-default). Sesi yang dimulai server untuk salah satu [project](https://code.claude.com/docs/id/claude-projects.md) thread Anda mengikuti pengaturan itu sebagai gantinya, kecuali dalam mode `bypassPermissions`. Memerlukan Claude Code v2.1.273 atau lebih baru. |

69| `-d`, `--debug[=<filter>]` | Aktifkan logging debug untuk server, secara opsional disaring berdasarkan kategori. Lewatkan filter hanya dalam bentuk `=`, seperti `--debug=api,hooks`. Memerlukan Claude Code v2.1.282 atau lebih baru. |69> | `-d`, `--debug[=<filter>]` | Aktifkan logging debug untuk server, secara opsional disaring berdasarkan kategori. Lewatkan filter hanya dalam bentuk `=`, seperti `--debug=api,hooks`. Memerlukan Claude Code v2.1.282 atau lebih baru. |

70| `--debug-file <path>` | Tulis log debug ke file yang diberikan. |70> | `--debug-file <path>` | Tulis log debug ke file yang diberikan. |

71| `--verbose` | Tampilkan log koneksi dan sesi terperinci. |71> | `--verbose` | Tampilkan log koneksi dan sesi terperinci. |

72| `--sandbox`, `--no-sandbox` | Dihapus di v2.1.300. Jika Anda melewatkan salah satu flag ini, server [keluar dengan kesalahan](https://code.claude.com/docs/id/errors.md#sandbox-is-not-supported-by-claude-remote-control) alih-alih dimulai. |72> | `--sandbox`, `--no-sandbox` | Dihapus di v2.1.300. Jika Anda melewatkan salah satu flag ini, server [keluar dengan kesalahan](https://code.claude.com/docs/id/errors.md#sandbox-is-not-supported-by-claude-remote-control) alih-alih dimulai. |

73 73>

74Jika Anda melewatkan flag global `claude` sebelum `remote-control`, atau skrip wrapper menambahkan satu, Claude Code tidak membawa flag ke sesi yang dibuat server. Claude Code membiarkan flag melewati hanya ketika menjatuhkannya diketahui tidak mengubah apa yang dapat dilakukan sesi tersebut, seperti `--verbose` atau `--model`. Untuk flag lainnya, seperti `--settings`, Claude Code [menolak untuk memulai](https://code.claude.com/docs/id/errors.md#not-carried-over-to-the-sessions-remote-control-starts) dan menyebutkan flag yang akan dihapus.74> Jika Anda melewatkan flag global `claude` sebelum `remote-control`, atau skrip wrapper menambahkan satu, Claude Code tidak membawa flag ke sesi yang dibuat server. Claude Code membiarkan flag melewati hanya ketika menjatuhkannya diketahui tidak mengubah apa yang dapat dilakukan sesi tersebut, seperti `--verbose` atau `--model`. Untuk flag lainnya, seperti `--settings`, Claude Code [menolak untuk memulai](https://code.claude.com/docs/id/errors.md#not-carried-over-to-the-sessions-remote-control-starts) dan menyebutkan flag yang akan dihapus.

75 75>

76Untuk sandbox sesi yang dimulai server, aktifkan [sandboxing](https://code.claude.com/docs/id/sandboxing.md) dalam file pengaturan.76> Untuk sandbox sesi yang dimulai server, aktifkan [sandboxing](https://code.claude.com/docs/id/sandboxing.md) dalam file pengaturan.

77 77>

78Untuk mencetak flag `remote-control` di terminal Anda, jalankan `claude remote-control --help`. Sebelum v2.1.302, tanpa masuk dengan akun yang memenuhi syarat, perintah ini mengembalikan salah satu kesalahan di bawah [Pemecahan masalah](#troubleshooting) sebagai gantinya.78> Untuk mencetak flag `remote-control` di terminal Anda, jalankan `claude remote-control --help`. Sebelum v2.1.302, tanpa masuk dengan akun yang memenuhi syarat, perintah ini mengembalikan salah satu kesalahan di bawah [Pemecahan masalah](#troubleshooting) sebagai gantinya.

79 

80**Interactive session**

81 

82Untuk memulai sesi Claude Code interaktif normal dengan Remote Control diaktifkan, gunakan flag `--remote-control` (atau `--rc`):

83 

84```bash theme={null}

85claude --remote-control

86```

87 

88Secara opsional lewatkan nama untuk sesi:

89 

90```bash theme={null}

91claude --remote-control "My Project"

92```

93 

94Ini memberi Anda sesi interaktif penuh di terminal Anda yang juga dapat Anda kontrol dari claude.ai atau aplikasi Claude. Tidak seperti `claude remote-control` (server mode), Anda dapat mengetik pesan secara lokal sementara sesi juga tersedia dari jarak jauh.

95 

96**From an existing session**

97 

98Jika Anda sudah berada dalam sesi Claude Code dan ingin melanjutkannya dari jarak jauh, gunakan perintah `/remote-control` (atau `/rc`):

99 

100```text theme={null}

101/remote-control

102```

103 

104Lewatkan nama sebagai argumen untuk menetapkan judul sesi khusus:

105 

106```text theme={null}

107/remote-control My Project

108```

109 

110Ini memulai sesi Remote Control yang membawa riwayat percakapan Anda saat ini.

111 

112Sampai Anda menerima konfirmasi satu kali Remote Control, dialog muncul sebelum `/remote-control` terhubung. Pilih **Enable Remote Control** untuk menerima dan terhubung. Jika Anda memilih **Never mind** atau menekan Esc, Claude Code tidak terhubung dan menanyakan lagi saat Anda menjalankan `/remote-control` berikutnya.

113 

114Flag `--verbose` tidak tersedia dengan perintah ini.

115 

116**VS Code**

117 

118Di [ekstensi Claude Code VS Code](https://code.claude.com/docs/id/vs-code.md), ketik `/remote-control` atau `/rc` di kotak prompt.

119 

120```text theme={null}

121/remote-control

122```

123 

124Saat Remote Control aktif, Claude Code menampilkan indikator **Remote Control** di footer kotak prompt. Setelah sesi terhubung, klik indikator untuk langsung ke sesi, atau temukan di daftar sesi di [claude.ai/code](https://claude.ai/code). Claude Code juga memposting URL sesi dalam percakapan. Untuk memutuskan sambungan, jalankan `/remote-control` lagi.

125 

126Tidak seperti CLI, perintah VS Code tidak menerima argumen nama atau menampilkan kode QR. Judul sesi berasal dari riwayat percakapan Anda atau prompt pertama.

127 

128**Desktop app**

129 79 

130Dalam sesi lokal di [tab Code aplikasi Claude Desktop](https://code.claude.com/docs/id/desktop.md), ketik `/remote-control` atau `/rc` di kotak prompt.80> [tab] Interactive session

81>

82> Untuk memulai sesi Claude Code interaktif normal dengan Remote Control diaktifkan, gunakan flag `--remote-control` (atau `--rc`):

83>

84> ```bash theme={null}

85> claude --remote-control

86> ```

87>

88> Secara opsional lewatkan nama untuk sesi:

89>

90> ```bash theme={null}

91> claude --remote-control "My Project"

92> ```

93>

94> Ini memberi Anda sesi interaktif penuh di terminal Anda yang juga dapat Anda kontrol dari claude.ai atau aplikasi Claude. Tidak seperti `claude remote-control` (server mode), Anda dapat mengetik pesan secara lokal sementara sesi juga tersedia dari jarak jauh.

131 95 

132```text theme={null}96> [tab] From an existing session

133/remote-control97>

134```98> Jika Anda sudah berada dalam sesi Claude Code dan ingin melanjutkannya dari jarak jauh, gunakan perintah `/remote-control` (atau `/rc`):

99>

100> ```text theme={null}

101> /remote-control

102> ```

103>

104> Lewatkan nama sebagai argumen untuk menetapkan judul sesi khusus:

105>

106> ```text theme={null}

107> /remote-control My Project

108> ```

109>

110> Ini memulai sesi Remote Control yang membawa riwayat percakapan Anda saat ini.

111>

112> Sampai Anda menerima konfirmasi satu kali Remote Control, dialog muncul sebelum `/remote-control` terhubung. Pilih **Enable Remote Control** untuk menerima dan terhubung. Jika Anda memilih **Never mind** atau menekan Esc, Claude Code tidak terhubung dan menanyakan lagi saat Anda menjalankan `/remote-control` berikutnya.

113>

114> Flag `--verbose` tidak tersedia dengan perintah ini.

135 115 

136Setelah sesi terhubung, temukan di daftar sesi di [claude.ai/code](https://claude.ai/code). Untuk memutuskan sambungan, jalankan `/remote-control` lagi.116> [tab] VS Code

117>

118> Di [ekstensi Claude Code VS Code](https://code.claude.com/docs/id/vs-code.md), ketik `/remote-control` atau `/rc` di kotak prompt.

119>

120> ```text theme={null}

121> /remote-control

122> ```

123>

124> Saat Remote Control aktif, Claude Code menampilkan indikator **Remote Control** di footer kotak prompt. Setelah sesi terhubung, klik indikator untuk langsung ke sesi, atau temukan di daftar sesi di [claude.ai/code](https://claude.ai/code). Claude Code juga memposting URL sesi dalam percakapan. Untuk memutuskan sambungan, jalankan `/remote-control` lagi.

125>

126> Tidak seperti CLI, perintah VS Code tidak menerima argumen nama atau menampilkan kode QR. Judul sesi berasal dari riwayat percakapan Anda atau prompt pertama.

137 127 

138Untuk mengaktifkan Remote Control untuk setiap sesi secara default, lihat [Enable Remote Control for all sessions](#enable-remote-control-for-all-sessions).128> [tab] Desktop app

129>

130> Dalam sesi lokal di [tab Code aplikasi Claude Desktop](https://code.claude.com/docs/id/desktop.md), ketik `/remote-control` atau `/rc` di kotak prompt.

131>

132> ```text theme={null}

133> /remote-control

134> ```

135>

136> Setelah sesi terhubung, temukan di daftar sesi di [claude.ai/code](https://claude.ai/code). Untuk memutuskan sambungan, jalankan `/remote-control` lagi.

137>

138> Untuk mengaktifkan Remote Control untuk setiap sesi secara default, lihat [Enable Remote Control for all sessions](#enable-remote-control-for-all-sessions).

139 139 

140### Check connection status140### Check connection status

141 141 


250>250>

251> Perangkat Terpercaya saat ini dalam beta. Fitur dan fungsionalitas dapat berkembang seiring pengalaman disempurnakan.251> Perangkat Terpercaya saat ini dalam beta. Fitur dan fungsionalitas dapat berkembang seiring pengalaman disempurnakan.

252>252>

253> Perangkat Terpercaya tersedia di paket Pro, Max, Tim, dan Enterprise dan dimatikan secara default. Di paket Tim dan Enterprise, Pemilik mengaktifkannya untuk organisasi. Di paket Pro dan Max, Anda mengaktifkan **Require trusted devices** sendiri di pengaturan Anda, di halaman Cowork atau Account.253> Perangkat Terpercaya tersedia di paket Pro, Max, Ultra, Tim, dan Enterprise dan dimatikan secara default. Di paket Tim dan Enterprise, Pemilik mengaktifkannya untuk organisasi. Di paket Pro, Max, dan Ultra, Anda mengaktifkan **Require trusted devices** sendiri di pengaturan Anda, di halaman Cowork atau Account.

254 254 

255Perangkat Terpercaya memerlukan setiap anggota organisasi Anda, atau Anda sendiri di paket Pro atau Max, untuk memverifikasi perangkat mereka sebelum mereka dapat melihat atau mengarahkan sesi Remote Control dari claude.ai, aplikasi Claude mobile, atau Claude Desktop. Ini mengikat akses Remote Control ke perangkat yang dikenal dan autentikasi terbaru, bukan hanya akun yang masuk.255Perangkat Terpercaya memerlukan perangkat yang terverifikasi sebelum Anda dapat melihat atau mengarahkan sesi Remote Control dari claude.ai, aplikasi Claude mobile, atau Claude Desktop. Persyaratan ini berlaku untuk setiap anggota organisasi Anda, atau hanya Anda sendiri di paket Pro, Max, atau Ultra. Ini mengikat akses Remote Control ke perangkat yang dikenal dan autentikasi terbaru, bukan hanya akun yang masuk.

256 256 

257Ketika pengaturan aktif, berinteraksi dengan sesi Remote Control memerlukan keduanya:257Ketika pengaturan aktif, berinteraksi dengan sesi Remote Control memerlukan keduanya:

258 258 


310| [Dispatch](https://code.claude.com/docs/id/desktop.md#sessions-from-dispatch) | Kirim pesan tugas dari aplikasi mobile Claude | Mesin Anda (Desktop) | [Pasangkan aplikasi mobile dengan Desktop](https://support.claude.com/en/articles/13947068) | Mendelegasikan pekerjaan saat Anda pergi, pengaturan minimal |310| [Dispatch](https://code.claude.com/docs/id/desktop.md#sessions-from-dispatch) | Kirim pesan tugas dari aplikasi mobile Claude | Mesin Anda (Desktop) | [Pasangkan aplikasi mobile dengan Desktop](https://support.claude.com/en/articles/13947068) | Mendelegasikan pekerjaan saat Anda pergi, pengaturan minimal |

311| [Remote Control](https://code.claude.com/docs/id/remote-control.md) | Jalankan sesi yang sedang berjalan dari [claude.ai/code](https://claude.ai/code) atau aplikasi mobile Claude | Mesin Anda (CLI, Desktop, atau VS Code) | Jalankan [`claude remote-control` atau `/remote-control`](https://code.claude.com/docs/id/remote-control#start-a-remote-control-session) | Mengarahkan pekerjaan yang sedang berlangsung dari perangkat lain |311| [Remote Control](https://code.claude.com/docs/id/remote-control.md) | Jalankan sesi yang sedang berjalan dari [claude.ai/code](https://claude.ai/code) atau aplikasi mobile Claude | Mesin Anda (CLI, Desktop, atau VS Code) | Jalankan [`claude remote-control` atau `/remote-control`](https://code.claude.com/docs/id/remote-control#start-a-remote-control-session) | Mengarahkan pekerjaan yang sedang berlangsung dari perangkat lain |

312| [Channels](https://code.claude.com/docs/id/channels.md) | Dorong acara dari aplikasi chat seperti Telegram atau Discord, atau server Anda sendiri | Mesin Anda (CLI) | [Instal plugin channel](https://code.claude.com/docs/id/channels.md#quickstart) atau [buat milik Anda sendiri](https://code.claude.com/docs/id/channels-reference.md) | Bereaksi terhadap acara eksternal seperti kegagalan CI atau pesan chat |312| [Channels](https://code.claude.com/docs/id/channels.md) | Dorong acara dari aplikasi chat seperti Telegram atau Discord, atau server Anda sendiri | Mesin Anda (CLI) | [Instal plugin channel](https://code.claude.com/docs/id/channels.md#quickstart) atau [buat milik Anda sendiri](https://code.claude.com/docs/id/channels-reference.md) | Bereaksi terhadap acara eksternal seperti kegagalan CI atau pesan chat |

313| [Slack](https://code.claude.com/docs/id/slack.md) | Sebutkan `@Claude` di saluran tim | Cloud Anthropic | [Instal aplikasi Slack](https://code.claude.com/docs/id/slack.md#setting-up-claude-code-in-slack) dengan [Claude Code di web](https://code.claude.com/docs/id/claude-code-on-the-web.md) diaktifkan, pada paket Pro dan Max | PR dan ulasan dari chat tim |313| [Slack](https://code.claude.com/docs/id/slack.md) | Sebutkan `@Claude` di saluran tim | Cloud Anthropic | [Instal aplikasi Slack](https://code.claude.com/docs/id/slack.md#setting-up-claude-code-in-slack) dengan [Claude Code di web](https://code.claude.com/docs/id/claude-code-on-the-web.md) diaktifkan, pada paket Pro, Max, dan Ultra | PR dan ulasan dari chat tim |

314| [Self-hosted environments](https://code.claude.com/docs/id/self-hosted-environments) | Mulai [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) dan pilih lingkungan organisasi Anda | Infrastruktur organisasi Anda | [Terapkan runner](https://code.claude.com/docs/id/self-hosted-environments-quickstart.md), pada paket Team dan Enterprise | Sesi cloud yang harus berjalan di dalam jaringan Anda |314| [Self-hosted environments](https://code.claude.com/docs/id/self-hosted-environments) | Mulai [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) dan pilih lingkungan organisasi Anda | Infrastruktur organisasi Anda | [Terapkan runner](https://code.claude.com/docs/id/self-hosted-environments-quickstart.md), pada paket Team dan Enterprise | Sesi cloud yang harus berjalan di dalam jaringan Anda |

315| [Scheduled tasks](https://code.claude.com/docs/id/scheduled-tasks.md) | Atur jadwal | [CLI](https://code.claude.com/docs/id/scheduled-tasks.md), [Desktop](https://code.claude.com/docs/id/desktop-scheduled-tasks.md), atau [cloud](https://code.claude.com/docs/id/routines.md) | Pilih frekuensi | Otomasi berulang seperti ulasan harian |315| [Scheduled tasks](https://code.claude.com/docs/id/scheduled-tasks.md) | Atur jadwal | [CLI](https://code.claude.com/docs/id/scheduled-tasks.md), [Desktop](https://code.claude.com/docs/id/desktop-scheduled-tasks.md), atau [cloud](https://code.claude.com/docs/id/routines.md) | Pilih frekuensi | Otomasi berulang seperti ulasan harian |

316 316 


444[Environment variable](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching) yang mematikan evaluasi feature-flag diatur, dan pesan lengkap menyebutkan variabel yang ditemukan Claude Code. Pada versi sebelum 2.1.154, konfigurasi yang sama menghasilkan "Remote Control is not yet enabled for your account" sebagai gantinya. Apa yang harus dilakukan tergantung pada variabel yang disebutkan pesan:444[Environment variable](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching) yang mematikan evaluasi feature-flag diatur, dan pesan lengkap menyebutkan variabel yang ditemukan Claude Code. Pada versi sebelum 2.1.154, konfigurasi yang sama menghasilkan "Remote Control is not yet enabled for your account" sebagai gantinya. Apa yang harus dilakukan tergantung pada variabel yang disebutkan pesan:

445 445 

446* **`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` atau `DISABLE_GROWTHBOOK`**: batalkan pengaturan variabel di mana pun itu diatur, di lingkungan shell Anda atau di blok `env` dari [file `settings.json`](https://code.claude.com/docs/id/settings-reference#all-settings).446* **`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` atau `DISABLE_GROWTHBOOK`**: batalkan pengaturan variabel di mana pun itu diatur, di lingkungan shell Anda atau di blok `env` dari [file `settings.json`](https://code.claude.com/docs/id/settings-reference#all-settings).

447* **`DISABLE_TELEMETRY` atau `DO_NOT_TRACK`**: pada paket Pro, Max, Team, atau Enterprise dengan `DISABLE_GROWTHBOOK` tidak diatur, variabel ini meninggalkan Remote Control tersedia kecuali organisasi Anda memerlukan [Trusted Devices](#trusted-devices). Jika demikian, batalkan pengaturan variabel di mana pun itu diatur untuk menggunakan Remote Control. Pada v2.1.154 hingga v2.1.282, Anda melihat pesan ini jika salah satu variabel diatur, jadi perbarui Claude Code ke versi yang memenuhi [persyaratan untuk variabel-variabel ini](#requirements).447* **`DISABLE_TELEMETRY` atau `DO_NOT_TRACK`**: pada paket Pro, Max, Ultra, Team, atau Enterprise dengan `DISABLE_GROWTHBOOK` tidak diatur, Remote Control tetap tersedia meskipun variabel ini diatur, kecuali organisasi Anda memerlukan [Trusted Devices](#trusted-devices). Jika demikian, batalkan pengaturan variabel di mana pun itu diatur untuk menggunakan Remote Control. Pada v2.1.154 hingga v2.1.282, Anda melihat pesan ini jika salah satu variabel diatur, jadi perbarui Claude Code ke versi yang memenuhi [persyaratan untuk variabel-variabel ini](#requirements).

448 448 

449### "Remote Control is only available when using Claude via api.anthropic.com"449### "Remote Control is only available when using Claude via api.anthropic.com"

450 450 


457Kebijakan memblokir Remote Control. Periksa penyebab ini secara berurutan:457Kebijakan memblokir Remote Control. Periksa penyebab ini secara berurutan:

458 458 

459* **Kesalahan menyebutkan `disableRemoteControl`**: administrator IT Anda telah menonaktifkan Remote Control di perangkat ini melalui [pengaturan terkelola](https://code.claude.com/docs/id/managed-settings.md), terlepas dari toggle organisasi-lebar dan bagaimana Anda masuk.459* **Kesalahan menyebutkan `disableRemoteControl`**: administrator IT Anda telah menonaktifkan Remote Control di perangkat ini melalui [pengaturan terkelola](https://code.claude.com/docs/id/managed-settings.md), terlepas dari toggle organisasi-lebar dan bagaimana Anda masuk.

460* **Paket claude.ai Anda adalah Pro atau Max**: Claude Code masih masuk di bawah organisasi Team atau Enterprise dari login sebelumnya, jadi itu memeriksa kebijakan Remote Control organisasi itu. Jalankan `/status` untuk melihat paket dan organisasi mana yang digunakan sign-in Anda. Jalankan `claude auth logout` kemudian `claude auth login` untuk masuk lagi di bawah paket Anda saat ini.460* **Paket claude.ai Anda adalah Pro, Max, atau Ultra**: Claude Code masih masuk di bawah organisasi Team atau Enterprise dari login sebelumnya, jadi itu memeriksa kebijakan Remote Control organisasi itu. Jalankan `/status` untuk melihat paket dan organisasi mana yang digunakan sign-in Anda. Jalankan `claude auth logout` kemudian `claude auth login` untuk masuk lagi di bawah paket Anda saat ini.

461* **Pesan tidak mengatakan untuk menghubungi admin organisasi Anda**: organisasi Anda menerapkan [konfigurasi HIPAA](https://code.claude.com/docs/id/hipaa-setup.md), yang mematikan Remote Control. Untuk memastikannya, jalankan `/status` dan cari `HIPAA` di baris `Organization configuration`. Owner melihat toggle **Remote Control** diarsir di [pengaturan admin](https://claude.ai/admin-settings/claude-code) dan tidak dapat mengaktifkannya. Jika Anda memiliki pertanyaan tentang konfigurasi tersebut, tanyakan kepada Owner, yang dapat menghubungi tim akun Anthropic organisasi Anda. Sebelum v2.1.267, kasus ini menunjukkan "Remote Control isn't available for your organization due to its compliance policy" sebagai gantinya.461* **Pesan tidak mengatakan untuk menghubungi admin organisasi Anda**: organisasi Anda menerapkan [konfigurasi HIPAA](https://code.claude.com/docs/id/hipaa-setup.md), yang mematikan Remote Control. Untuk memastikannya, jalankan `/status` dan cari `HIPAA` di baris `Organization configuration`. Owner melihat toggle **Remote Control** diarsir di [pengaturan admin](https://claude.ai/admin-settings/claude-code) dan tidak dapat mengaktifkannya. Jika Anda memiliki pertanyaan tentang konfigurasi tersebut, tanyakan kepada Owner, yang dapat menghubungi tim akun Anthropic organisasi Anda. Sebelum v2.1.267, kasus ini menunjukkan "Remote Control isn't available for your organization due to its compliance policy" sebagai gantinya.

462* **Remote Control berfungsi untuk orang lain di organisasi Anda tetapi tidak untuk Anda**: jika organisasi Enterprise Anda mengelola akses Anda dengan [peran kustom](https://support.claude.com/en/articles/13930452), peran Anda dapat menjadi penyebabnya. Remote Control memerlukan izin sesi cloud sekaligus izin **Claude Code remote control**. Minta Owner untuk memeriksa apakah peran Anda mencakup keduanya dan menambahkan yang kurang di [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).462* **Remote Control berfungsi untuk orang lain di organisasi Anda tetapi tidak untuk Anda**: jika organisasi Enterprise Anda mengelola akses Anda dengan [peran kustom](https://support.claude.com/en/articles/13930452), peran Anda dapat menjadi penyebabnya. Remote Control memerlukan izin sesi cloud sekaligus izin **Claude Code remote control**. Minta Owner untuk memeriksa apakah peran Anda mencakup keduanya dan menambahkan yang kurang di [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).

463* **Jika tidak, Owner belum mengaktifkannya untuk organisasi Anda**: Remote Control mati secara default pada paket Team dan Enterprise. Owner dapat mengaktifkannya di [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) dengan mengaktifkan toggle **Remote Control**. Toggle ini adalah pengaturan organisasi sisi server.463* **Jika tidak, Owner belum mengaktifkannya untuk organisasi Anda**: Remote Control mati secara default pada paket Team dan Enterprise. Owner dapat mengaktifkannya di [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) dengan mengaktifkan toggle **Remote Control**. Toggle ini adalah pengaturan organisasi sisi server.

routines.md +11 −11

Details

25* Tugas yang hanya memiliki pemicu API berjalan ketika Anda memanggil endpoint-nya.25* Tugas yang hanya memiliki pemicu API berjalan ketika Anda memanggil endpoint-nya.

26* Tugas yang hanya memiliki pemicu GitHub berjalan ketika peristiwa repositori yang cocok terjadi.26* Tugas yang hanya memiliki pemicu GitHub berjalan ketika peristiwa repositori yang cocok terjadi.

27 27 

28Tugas terjadwal tersedia pada paket Pro, Max, Team, dan Enterprise. Buat dan kelola di [claude.ai/code/routines](https://claude.ai/code/routines), atau dari CLI dengan `/schedule`. Nama sebelumnya, routines, [masih muncul](#where-the-name-routines-still-appears).28Tugas terjadwal tersedia pada paket Pro, Max, Ultra, Team, dan Enterprise. Buat dan kelola di [claude.ai/code/routines](https://claude.ai/code/routines), atau dari CLI dengan `/schedule`. Nama sebelumnya, routines, [masih muncul](#where-the-name-routines-still-appears).

29 29 

30> [!NOTE]30> [!NOTE]

31>31>


85 85 

86Di baris **Trigger**, pilih bagaimana tugas dimulai. Untuk menggabungkan beberapa pemicu, klik **+** di ujung baris.86Di baris **Trigger**, pilih bagaimana tugas dimulai. Untuk menggabungkan beberapa pemicu, klik **+** di ujung baris.

87 87 

88**Schedule**88> [tab] Schedule

89 89>

90Pilih frekuensi preset untuk eksekusi berulang. Lihat [Tambahkan pemicu jadwal](#add-a-schedule-trigger) untuk penanganan zona waktu, mulai yang terlambat, interval cron khusus, dan eksekusi satu kali.90> Pilih frekuensi preset untuk eksekusi berulang. Lihat [Tambahkan pemicu jadwal](#add-a-schedule-trigger) untuk penanganan zona waktu, mulai yang terlambat, interval cron khusus, dan eksekusi satu kali.

91 

92**GitHub event**

93 

94Pilih repositori, peristiwa yang akan direspons, dan filter opsional. Lihat [Tambahkan pemicu GitHub](#add-a-github-trigger) untuk daftar lengkap peristiwa dan kolom filter yang didukung.

95 91 

96**API**92> [tab] GitHub event

93>

94> Pilih repositori, peristiwa yang akan direspons, dan filter opsional. Lihat [Tambahkan pemicu GitHub](#add-a-github-trigger) untuk daftar lengkap peristiwa dan kolom filter yang didukung.

97 95 

98Pilih **API** di sini. Saat Anda mengklik **Create**, dialog **API token** menampilkan token sekali, jadi salin sebelum Anda menutup dialog. Lihat [Tambahkan pemicu API](#add-an-api-trigger) untuk menyalin URL atau membuat token baru.96> [tab] API

97>

98> Pilih **API** di sini. Saat Anda mengklik **Create**, dialog **API token** menampilkan token sekali, jadi salin sebelum Anda menutup dialog. Lihat [Tambahkan pemicu API](#add-an-api-trigger) untuk menyalin URL atau membuat token baru.

99 99 

100**4. Pilih repositori**100**4. Pilih repositori**

101 101 


502* Owner [menonaktifkan tugas terjadwal](#routines-are-disabled-by-your-organizations-policy) untuk organisasi Team atau Enterprise Anda. Sebelum v2.1.227, perintah tetap muncul dalam kasus ini, dan claude.ai menolak tugas ketika Claude mencoba membuat atau menjalankannya502* Owner [menonaktifkan tugas terjadwal](#routines-are-disabled-by-your-organizations-policy) untuk organisasi Team atau Enterprise Anda. Sebelum v2.1.227, perintah tetap muncul dalam kasus ini, dan claude.ai menolak tugas ketika Claude mencoba membuat atau menjalankannya

503* Organisasi Enterprise Anda mengelola akses Anda dengan [peran kustom](https://support.claude.com/en/articles/13930452), dan tidak ada peran Anda yang mencakup izin tugas terjadwal di bawah **Remote sessions**. Minta Owner untuk menambahkannya ke salah satu peran Anda503* Organisasi Enterprise Anda mengelola akses Anda dengan [peran kustom](https://support.claude.com/en/articles/13930452), dan tidak ada peran Anda yang mencakup izin tugas terjadwal di bawah **Remote sessions**. Minta Owner untuk menambahkannya ke salah satu peran Anda

504 504 

505Jika penyebabnya adalah login CLI Anda atau karena Anda berada di dalam sesi cloud, Anda tetap dapat membuat dan mengelola tugas terjadwal di [claude.ai/code/routines](https://claude.ai/code/routines). Anda memerlukan akun Pro, Max, Team, atau Enterprise di sana. Jika tugas terjadwal atau sesi cloud dinonaktifkan untuk organisasi Anda atau tidak ada dalam peran Anda, Anda juga tidak dapat membuatnya di web.505Jika penyebabnya adalah login CLI Anda atau karena Anda berada di dalam sesi cloud, Anda tetap dapat membuat dan mengelola tugas terjadwal di [claude.ai/code/routines](https://claude.ai/code/routines). Anda memerlukan akun Pro, Max, Ultra, Team, atau Enterprise di sana. Jika tugas terjadwal atau sesi cloud dinonaktifkan untuk organisasi Anda atau tidak ada dalam peran Anda, Anda juga tidak dapat membuatnya di web.

506 506 

507### "Routines are disabled by your organization's policy"507### "Routines are disabled by your organization's policy"

508 508 

sandboxing.md +12 −12

Details

119 119 

120Instal paket-paket tersebut dengan package manager distribusi Anda:120Instal paket-paket tersebut dengan package manager distribusi Anda:

121 121 

122**Ubuntu/Debian**122> [tab] Ubuntu/Debian

123 123>

124```bash theme={null}124> ```bash theme={null}

125sudo apt-get install bubblewrap socat125> sudo apt-get install bubblewrap socat

126```126> ```

127 

128**Fedora**

129 127 

130```bash theme={null}128> [tab] Fedora

131sudo dnf install bubblewrap socat129>

132```130> ```bash theme={null}

131> sudo dnf install bubblewrap socat

132> ```

133 133 

134Ketika ada dependensi yang belum terpasang, tab Dependencies di `/sandbox` mencantumkan mana di antara `ripgrep`, `bubblewrap`, `socat`, dan filter seccomp yang tidak dimiliki platform Anda. Jika Anda tidak melihat tab tersebut setelah menginstal dan memulai ulang Claude Code, berarti semua dependensi sudah tersedia.134Ketika ada dependensi yang belum terpasang, tab Dependencies di `/sandbox` mencantumkan mana di antara `ripgrep`, `bubblewrap`, `socat`, dan filter seccomp yang tidak dimiliki platform Anda. Jika Anda tidak melihat tab tersebut setelah menginstal dan memulai ulang Claude Code, berarti semua dependensi sudah tersedia.

135 135 


137 137 

138Ketika dependensi wajib belum terpasang, tab Dependencies adalah satu-satunya tab yang ditampilkan hingga Anda menginstalnya. Ketika hanya filter seccomp opsional yang belum terpasang, tab Dependencies muncul bersama tab lainnya. Pemeriksaan dependensi berjalan saat startup, jadi mulai ulang Claude Code setelah menginstal paket agar `/sandbox` dapat mendeteksinya.138Ketika dependensi wajib belum terpasang, tab Dependencies adalah satu-satunya tab yang ditampilkan hingga Anda menginstalnya. Ketika hanya filter seccomp opsional yang belum terpasang, tab Dependencies muncul bersama tab lainnya. Pemeriksaan dependensi berjalan saat startup, jadi mulai ulang Claude Code setelah menginstal paket agar `/sandbox` dapat mendeteksinya.

139 139 

140> **Ubuntu 24.04 dan yang lebih baru: izinkan bubblewrap membuat user namespace**140> [accordion] Ubuntu 24.04 dan yang lebih baru: izinkan bubblewrap membuat user namespace

141>141>

142> Di Ubuntu 24.04 dan yang lebih baru, kebijakan AppArmor default mencegah bubblewrap membuat user namespace yang dibutuhkannya untuk isolasi.142> Di Ubuntu 24.04 dan yang lebih baru, kebijakan AppArmor default mencegah bubblewrap membuat user namespace yang dibutuhkannya untuk isolasi.

143>143>


161> sudo systemctl reload apparmor161> sudo systemctl reload apparmor

162> ```162> ```

163 163 

164> **Catatan WSL2**164> [accordion] Catatan WSL2

165>165>

166> Periksa versi WSL Anda dengan `wsl -l -v` dari PowerShell. Jika Anda melihat `Sandboxing requires WSL2`, distribusi Anda berjalan di WSL1. Tingkatkan ke WSL2 atau jalankan Claude Code tanpa sandboxing.166> Periksa versi WSL Anda dengan `wsl -l -v` dari PowerShell. Jika Anda melihat `Sandboxing requires WSL2`, distribusi Anda berjalan di WSL1. Tingkatkan ke WSL2 atau jalankan Claude Code tanpa sandboxing.

167>167>

security.md +1 −1

Details

53* Akses terbatas ke data sesi pengguna53* Akses terbatas ke data sesi pengguna

54* Kontrol pengguna atas preferensi pelatihan data. Pengguna konsumen dapat mengubah [pengaturan privasi](https://claude.ai/settings/privacy) mereka kapan saja.54* Kontrol pengguna atas preferensi pelatihan data. Pengguna konsumen dapat mengubah [pengaturan privasi](https://claude.ai/settings/privacy) mereka kapan saja.

55 55 

56Untuk detail lengkap, silakan tinjau [Commercial Terms of Service](https://www.anthropic.com/legal/commercial-terms) kami (untuk pengguna Team, Enterprise, dan API) atau [Consumer Terms](https://www.anthropic.com/legal/consumer-terms) (untuk pengguna Free, Pro, dan Max) dan [Privacy Policy](https://www.anthropic.com/legal/privacy).56Untuk detail lengkap, silakan tinjau [Commercial Terms of Service](https://www.anthropic.com/legal/commercial-terms) kami (untuk pengguna Team, Enterprise, dan API) atau [Consumer Terms](https://www.anthropic.com/legal/consumer-terms) (untuk pengguna Free, Pro, Max, dan Ultra) dan [Privacy Policy](https://www.anthropic.com/legal/privacy).

57 57 

58### Perlindungan tambahan58### Perlindungan tambahan

59 59 

Details

14 14 

15Dalam lingkungan yang di-host sendiri, sesi yang sama tersebut dijalankan di dalam jaringan Anda. Selebihnya, pengalaman pengembang sama, kecuali perbedaan dalam [Ketersediaan dan batasan](#availability-and-limitations) dan [masalah yang diketahui](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#known-issues-and-limitations) halaman deploy.15Dalam lingkungan yang di-host sendiri, sesi yang sama tersebut dijalankan di dalam jaringan Anda. Selebihnya, pengalaman pengembang sama, kecuali perbedaan dalam [Ketersediaan dan batasan](#availability-and-limitations) dan [masalah yang diketahui](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#known-issues-and-limitations) halaman deploy.

16 16 

17Jika tim Anda tidak menggunakan sesi cloud, tidak ada yang perlu dikonfigurasi di sini: sesi di terminal atau IDE selalu berjalan di mesin pengembang sendiri. Jika Anda ingin menjalankan Claude Code pada mesin yang selalu aktif milik Anda dan menggerakkannya dari perangkat lain, gunakan [Remote Control](https://code.claude.com/docs/id/remote-control.md), yang juga tersedia pada paket Pro dan Max. Ketika Anda siap untuk menyiapkan, langsung ke [quickstart](https://code.claude.com/docs/id/self-hosted-environments-quickstart.md); untuk meninjau postur keamanan terlebih dahulu, mulai dengan [Deploy ke produksi](https://code.claude.com/docs/id/self-hosted-environments-deploy.md). Sisa halaman ini menjelaskan cara kerja self-hosting dan kapan memilihnya.17* Jika tim Anda tidak menggunakan sesi cloud, tidak ada yang perlu dikonfigurasi di sini: sesi di terminal atau IDE selalu berjalan di mesin pengembang sendiri

18* Untuk menjalankan Claude Code pada mesin yang selalu aktif milik Anda dan menggerakkannya dari perangkat lain, gunakan [Remote Control](https://code.claude.com/docs/id/remote-control.md), yang juga tersedia pada paket Pro, Max, dan Ultra

19* Ketika Anda siap untuk menyiapkan, langsung ke [mulai cepat](https://code.claude.com/docs/id/self-hosted-environments-quickstart.md); untuk meninjau postur keamanan terlebih dahulu, mulai dengan [Deploy ke produksi](https://code.claude.com/docs/id/self-hosted-environments-deploy.md)

20 

21Untuk mempelajari cara kerja self-hosting dan kapan memilihnya, baca [Cara kerja lingkungan yang di-host sendiri](#how-self-hosted-environments-work) dan [Mengapa melakukan self-hosting](#why-self-host).

18 22 

19## Cara kerja lingkungan yang di-host sendiri23## Cara kerja lingkungan yang di-host sendiri

20 24 

Details

531 531 

532Mulai runner ini dengan [`--confine-repo-settings enforce`](https://code.claude.com/docs/id/self-hosted-environments-deploy#harden-your-deployment). Flag ini menolak sesi pada repositori yang pengaturan ter-commit-nya ditandai, jadi jalankan terlebih dahulu dalam mode default `warn` dan selesaikan apa yang dicatatnya di log.532Mulai runner ini dengan [`--confine-repo-settings enforce`](https://code.claude.com/docs/id/self-hosted-environments-deploy#harden-your-deployment). Flag ini menolak sesi pada repositori yang pengaturan ter-commit-nya ditandai, jadi jalankan terlebih dahulu dalam mode default `warn` dan selesaikan apa yang dicatatnya di log.

533 533 

534**Amazon Bedrock**534> [tab] Amazon Bedrock

535 535>

536Ganti region dengan milik Anda:536> Ganti region dengan milik Anda:

537 537>

538```bash theme={null}538> ```bash theme={null}

539export CLAUDE_CODE_USE_BEDROCK=1539> export CLAUDE_CODE_USE_BEDROCK=1

540export AWS_REGION=us-east-1540> export AWS_REGION=us-east-1

541```541> ```

542 542>

543Untuk cara Claude Code menentukan region, lihat [Mengonfigurasi Claude Code](https://code.claude.com/docs/id/amazon-bedrock.md#3-configure-claude-code). Untuk prefiks inference profile yang digunakan Claude Code untuk region Anda, lihat [Prefiks inference profile lintas region](https://code.claude.com/docs/id/amazon-bedrock.md#cross-region-inference-profile-prefixes).543> Untuk cara Claude Code menentukan region, lihat [Mengonfigurasi Claude Code](https://code.claude.com/docs/id/amazon-bedrock.md#3-configure-claude-code). Untuk prefiks inference profile yang digunakan Claude Code untuk region Anda, lihat [Prefiks inference profile lintas region](https://code.claude.com/docs/id/amazon-bedrock.md#cross-region-inference-profile-prefixes).

544 

545**Google Cloud's Agent Platform**

546 

547Ganti region dan ID proyek dengan milik Anda:

548 

549```bash theme={null}

550export CLAUDE_CODE_USE_VERTEX=1

551export CLOUD_ML_REGION=global

552export ANTHROPIC_VERTEX_PROJECT_ID=YOUR-PROJECT-ID

553```

554 544 

555Untuk memilih region, lihat [Konfigurasi region](https://code.claude.com/docs/id/google-vertex-ai.md#region-configuration).545> [tab] Google Cloud's Agent Platform

546>

547> Ganti region dan ID proyek dengan milik Anda:

548>

549> ```bash theme={null}

550> export CLAUDE_CODE_USE_VERTEX=1

551> export CLOUD_ML_REGION=global

552> export ANTHROPIC_VERTEX_PROJECT_ID=YOUR-PROJECT-ID

553> ```

554>

555> Untuk memilih region, lihat [Konfigurasi region](https://code.claude.com/docs/id/google-vertex-ai.md#region-configuration).

556 556 

557**4. Periksa bahwa variabel telah sampai ke sesi**557**4. Periksa bahwa variabel telah sampai ke sesi**

558 558 

Details

90 90 

91Pemeriksaan memetakan langsung ke perpustakaan JWT standar. Contoh di bawah mengimplementasikan urutan lengkap di Node.js dengan [`jose`](https://www.npmjs.com/package/jose), yang menangani pengambilan JWKS, caching, dan pemilihan `kid`, dan di Python dengan [`PyJWT`](https://pyjwt.readthedocs.io/) dan klien JWKS bawaan-nya.91Pemeriksaan memetakan langsung ke perpustakaan JWT standar. Contoh di bawah mengimplementasikan urutan lengkap di Node.js dengan [`jose`](https://www.npmjs.com/package/jose), yang menangani pengambilan JWKS, caching, dan pemilihan `kid`, dan di Python dengan [`PyJWT`](https://pyjwt.readthedocs.io/) dan klien JWKS bawaan-nya.

92 92 

93**Node.js (jose)**93> [tab] Node.js (jose)

94 94>

95```typescript theme={null}95> ```typescript theme={null}

96import { createRemoteJWKSet, jwtVerify } from "jose";96> import { createRemoteJWKSet, jwtVerify } from "jose";

97 97>

98const JWKS = createRemoteJWKSet(98> const JWKS = createRemoteJWKSet(

99 new URL("https://api.anthropic.com/v1/code/.well-known/jwks.json")99> new URL("https://api.anthropic.com/v1/code/.well-known/jwks.json")

100);100> );

101 101>

102const PREFIX = "sk-ant-cc-";102> const PREFIX = "sk-ant-cc-";

103const EXPECTED_POOL_ID = "ccpool_...";103> const EXPECTED_POOL_ID = "ccpool_...";

104 104>

105export async function verifySessionToken(raw: string) {105> export async function verifySessionToken(raw: string) {

106 if (!raw.startsWith(PREFIX)) {106> if (!raw.startsWith(PREFIX)) {

107 throw new Error("not a self-hosted runner session token");107> throw new Error("not a self-hosted runner session token");

108 }108> }

109 const jwt = raw.slice(PREFIX.length);109> const jwt = raw.slice(PREFIX.length);

110 110>

111 const { payload } = await jwtVerify(jwt, JWKS, {111> const { payload } = await jwtVerify(jwt, JWKS, {

112 issuer: "ccr",112> issuer: "ccr",

113 audience: EXPECTED_POOL_ID,113> audience: EXPECTED_POOL_ID,

114 algorithms: ["ES256"],114> algorithms: ["ES256"],

115 });115> });

116 116>

117 if (payload["ccr:role"] !== "session_worker") {117> if (payload["ccr:role"] !== "session_worker") {

118 throw new Error("token is not a session_worker token");118> throw new Error("token is not a session_worker token");

119 }119> }

120 120>

121 const act = payload.act as { email?: string; sub?: string };121> const act = payload.act as { email?: string; sub?: string };

122 return {122> return {

123 sessionId: payload["ccr:session_id"] as string,123> sessionId: payload["ccr:session_id"] as string,

124 poolId: payload["ccr:pool_id"] as string,124> poolId: payload["ccr:pool_id"] as string,

125 orgId: payload["ccr:org_id"] as string,125> orgId: payload["ccr:org_id"] as string,

126 creatorEmail: act?.email,126> creatorEmail: act?.email,

127 creatorSub: act?.sub,127> creatorSub: act?.sub,

128 };128> };

129}129> }

130```130> ```

131 131 

132**Python (PyJWT)**132> [tab] Python (PyJWT)

133 133>

134```python theme={null}134> ```python theme={null}

135import jwt135> import jwt

136from jwt import PyJWKClient136> from jwt import PyJWKClient

137 137>

138JWKS_URL = "https://api.anthropic.com/v1/code/.well-known/jwks.json"138> JWKS_URL = "https://api.anthropic.com/v1/code/.well-known/jwks.json"

139PREFIX = "sk-ant-cc-"139> PREFIX = "sk-ant-cc-"

140EXPECTED_POOL_ID = "ccpool_..."140> EXPECTED_POOL_ID = "ccpool_..."

141 141>

142jwks = PyJWKClient(JWKS_URL)142> jwks = PyJWKClient(JWKS_URL)

143 143>

144 144>

145def verify_session_token(raw: str) -> dict:145> def verify_session_token(raw: str) -> dict:

146 if not raw.startswith(PREFIX):146> if not raw.startswith(PREFIX):

147 raise ValueError("not a self-hosted runner session token")147> raise ValueError("not a self-hosted runner session token")

148 token = raw.removeprefix(PREFIX)148> token = raw.removeprefix(PREFIX)

149 149>

150 signing_key = jwks.get_signing_key_from_jwt(token)150> signing_key = jwks.get_signing_key_from_jwt(token)

151 payload = jwt.decode(151> payload = jwt.decode(

152 token,152> token,

153 signing_key.key,153> signing_key.key,

154 algorithms=["ES256"],154> algorithms=["ES256"],

155 issuer="ccr",155> issuer="ccr",

156 audience=EXPECTED_POOL_ID,156> audience=EXPECTED_POOL_ID,

157 )157> )

158 158>

159 if payload.get("ccr:role") != "session_worker":159> if payload.get("ccr:role") != "session_worker":

160 raise ValueError("token is not a session_worker token")160> raise ValueError("token is not a session_worker token")

161 161>

162 act = payload.get("act") or {}162> act = payload.get("act") or {}

163 return {163> return {

164 "session_id": payload["ccr:session_id"],164> "session_id": payload["ccr:session_id"],

165 "pool_id": payload["ccr:pool_id"],165> "pool_id": payload["ccr:pool_id"],

166 "org_id": payload["ccr:org_id"],166> "org_id": payload["ccr:org_id"],

167 "creator_email": act.get("email"),167> "creator_email": act.get("email"),

168 "creator_sub": act.get("sub"),168> "creator_sub": act.get("sub"),

169 }169> }

170```170> ```

171 171 

172### Verifikasi token di dalam sesi172### Verifikasi token di dalam sesi

173 173 

sessions.md +1 −1

Details

95 95 

96Jika Anda melihat dialog "Resume this conversation?" saat melanjutkan sesi, estimasinya adalah porsi batas penggunaan 5 jam Anda yang akan digunakan oleh percakapan tersimpan itu saja. Estimasi tersebut tidak menghitung apa yang telah Anda gunakan.96Jika Anda melihat dialog "Resume this conversation?" saat melanjutkan sesi, estimasinya adalah porsi batas penggunaan 5 jam Anda yang akan digunakan oleh percakapan tersimpan itu saja. Estimasi tersebut tidak menghitung apa yang telah Anda gunakan.

97 97 

98Pada paket Pro dan Max, dialog ini dapat muncul ketika Anda melanjutkan percakapan panjang [setelah jeda yang lama](https://code.claude.com/docs/id/prompt-caching.md#resuming-a-session) atau pada model yang berbeda. Penggunaan yang diestimasi terjadi ketika Anda mengirim pesan pertama setelah **Resume**, bukan ketika Anda memilihnya. Pilih berdasarkan apakah tugas Anda berikutnya masih memerlukan percakapan tersimpan:98Pada paket Pro, Max, dan Ultra, dialog ini dapat muncul ketika Anda melanjutkan percakapan panjang [setelah jeda yang lama](https://code.claude.com/docs/id/prompt-caching.md#resuming-a-session) atau pada model yang berbeda. Penggunaan yang diestimasi terjadi ketika Anda mengirim pesan pertama setelah **Resume**, bukan ketika Anda memilihnya. Pilih berdasarkan apakah tugas Anda berikutnya masih memerlukan percakapan tersimpan:

99 99 

100* **Resume**: terus bekerja dalam percakapan tersimpan.100* **Resume**: terus bekerja dalam percakapan tersimpan.

101* **Start a new conversation**: beralih ke pekerjaan yang tidak memerlukan percakapan tersimpan. Untuk membukanya kembali nanti, jalankan [`/resume`](#use-the-session-picker) di prompt. Estimasi tersebut tidak berlaku untuk pesan pertama Anda dalam percakapan baru. Jika opsi tersebut menyatakan bahwa Claude dapat mencari percakapan ini, Anda masih dapat merujuk ke pekerjaan sebelumnya dalam percakapan baru.101* **Start a new conversation**: beralih ke pekerjaan yang tidak memerlukan percakapan tersimpan. Untuk membukanya kembali nanti, jalankan [`/resume`](#use-the-session-picker) di prompt. Estimasi tersebut tidak berlaku untuk pesan pertama Anda dalam percakapan baru. Jika opsi tersebut menyatakan bahwa Claude dapat mencari percakapan ini, Anda masih dapat merujuk ke pekerjaan sebelumnya dalam percakapan baru.

settings-example.md +325 −325

Details

20 20 

21Pengaturan pribadi satu pengembang. Ini memilih model dan upaya, menyesuaikan terminal, dan pra-menyetujui perintah baca-saja dan satu pembacaan file. Semua yang tidak tercantum mempertahankan defaultnya. File seperti ini masuk ke `~/.claude/settings.json`, di mana file ini berlaku untuk setiap proyek yang Anda buka.21Pengaturan pribadi satu pengembang. Ini memilih model dan upaya, menyesuaikan terminal, dan pra-menyetujui perintah baca-saja dan satu pembacaan file. Semua yang tidak tercantum mempertahankan defaultnya. File seperti ini masuk ke `~/.claude/settings.json`, di mana file ini berlaku untuk setiap proyek yang Anda buka.

22 22 

23**Copyable settings file**23> [tab] Copyable settings file

24 24>

25Simpan ini sebagai `~/.claude/settings.json`. Ini adalah JSON yang valid tanpa komentar, jadi Anda dapat menempelkannya apa adanya dan menghapus kunci yang tidak Anda inginkan.25> Simpan ini sebagai `~/.claude/settings.json`. Ini adalah JSON yang valid tanpa komentar, jadi Anda dapat menempelkannya apa adanya dan menghapus kunci yang tidak Anda inginkan.

26 26>

27```json ~/.claude/settings.json theme={null}27> ```json ~/.claude/settings.json theme={null}

28{28> {

29 "model": "claude-sonnet-5",29> "model": "claude-sonnet-5",

30 "modelSettings": {30> "modelSettings": {

31 "claude-sonnet-5": { "effortLevel": "xhigh" }31> "claude-sonnet-5": { "effortLevel": "xhigh" }

32 },32> },

33 "editorMode": "vim",33> "editorMode": "vim",

34 "theme": "light-daltonized",34> "theme": "light-daltonized",

35 "statusLine": {35> "statusLine": {

36 "type": "command",36> "type": "command",

37 "command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'",37> "command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'",

38 "padding": 238> "padding": 2

39 },39> },

40 "spinnerTipsEnabled": false,40> "spinnerTipsEnabled": false,

41 "preferredNotifChannel": "terminal_bell",41> "preferredNotifChannel": "terminal_bell",

42 "permissions": {42> "permissions": {

43 "allow": [43> "allow": [

44 "Bash(git diff *)",44> "Bash(git diff *)",

45 "Read(~/.zshrc)"45> "Read(~/.zshrc)"

46 ]46> ]

47 },47> },

48 "autoUpdatesChannel": "stable",48> "autoUpdatesChannel": "stable",

49 "cleanupPeriodDays": 2049> "cleanupPeriodDays": 20

50}50> }

51```51> ```

52 52 

53**What each key does**53> [tab] What each key does

54 54>

55File yang sama dengan komentar di atas setiap kunci. Bacalah di sini; salin dari tab lain, karena Claude Code tidak menerima komentar dalam file pengaturan.55> File yang sama dengan komentar di atas setiap kunci. Bacalah di sini; salin dari tab lain, karena Claude Code tidak menerima komentar dalam file pengaturan.

56 56>

57```jsonc ~/.claude/settings.json theme={null}57> ```jsonc ~/.claude/settings.json theme={null}

58{58> {

59 // Mulai setiap sesi di Sonnet 559> // Mulai setiap sesi di Sonnet 5

60 "model": "claude-sonnet-5",60> "model": "claude-sonnet-5",

61 // Jalankan Sonnet 5 di atas tingkat tinggi defaultnya; /effort menyimpan tingkat per model, dan --effort menetapkan satu untuk sesi tunggal61> // Jalankan Sonnet 5 di atas tingkat tinggi defaultnya; /effort menyimpan tingkat per model, dan --effort menetapkan satu untuk sesi tunggal

62 "modelSettings": {62> "modelSettings": {

63 "claude-sonnet-5": { "effortLevel": "xhigh" }63> "claude-sonnet-5": { "effortLevel": "xhigh" }

64 },64> },

65 // Pintasan keyboard Vim dalam prompt65> // Pintasan keyboard Vim dalam prompt

66 "editorMode": "vim",66> "editorMode": "vim",

67 // Tema terang yang ramah buta warna67> // Tema terang yang ramah buta warna

68 "theme": "light-daltonized",68> "theme": "light-daltonized",

69 // Baris status di bawah prompt: nama model dan konteks yang digunakan69> // Baris status di bawah prompt: nama model dan konteks yang digunakan

70 "statusLine": {70> "statusLine": {

71 "type": "command",71> "type": "command",

72 "command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'",72> "command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'",

73 "padding": 273> "padding": 2

74 },74> },

75 // Sembunyikan tips yang berputar di bawah spinner75> // Sembunyikan tips yang berputar di bawah spinner

76 "spinnerTipsEnabled": false,76> "spinnerTipsEnabled": false,

77 // Bunyikan bel terminal untuk notifikasi, seperti tugas yang selesai atau prompt izin yang menunggu77> // Bunyikan bel terminal untuk notifikasi, seperti tugas yang selesai atau prompt izin yang menunggu

78 "preferredNotifChannel": "terminal_bell",78> "preferredNotifChannel": "terminal_bell",

79 // Biarkan Claude Code menjalankan git diff dan membaca .zshrc Anda tanpa bertanya79> // Biarkan Claude Code menjalankan git diff dan membaca .zshrc Anda tanpa bertanya

80 "permissions": {80> "permissions": {

81 "allow": [81> "allow": [

82 "Bash(git diff *)",82> "Bash(git diff *)",

83 "Read(~/.zshrc)"83> "Read(~/.zshrc)"

84 ]84> ]

85 },85> },

86 // Ambil pembaruan dari saluran stabil86> // Ambil pembaruan dari saluran stabil

87 "autoUpdatesChannel": "stable",87> "autoUpdatesChannel": "stable",

88 // Hapus transkrip sesi dan data sesi lokal lainnya yang lebih lama dari 20 hari88> // Hapus transkrip sesi dan data sesi lokal lainnya yang lebih lama dari 20 hari

89 "cleanupPeriodDays": 2089> "cleanupPeriodDays": 20

90}90> }

91```91> ```

92 92 

93## Pengaturan bersama tim93## Pengaturan bersama tim

94 94 


100* **Hook adalah skrip di repo.** Hook file ini menjalankan `.claude/hooks/block-rm.sh`; [How a hook resolves](https://code.claude.com/docs/id/hooks.md#how-a-hook-resolves) memandu penulisannya.100* **Hook adalah skrip di repo.** Hook file ini menjalankan `.claude/hooks/block-rm.sh`; [How a hook resolves](https://code.claude.com/docs/id/hooks.md#how-a-hook-resolves) memandu penulisannya.

101* **Aturan cocok dengan perintah dan jalur seperti yang ditulis.** `Bash(git push *)` tidak cocok dengan [`git -C . push`](https://code.claude.com/docs/id/permissions#bash-rule-limits). `Read(./.env)` sendiri menghentikan alat file dan perintah yang menyebutkan file, seperti `cat .env`, tetapi bukan [`grep -r` dijalankan di seluruh direktori](https://code.claude.com/docs/id/permissions#read-and-edit); blok `sandbox` dalam file ini menutup celah itu, karena sandbox [menambahkan jalur deny `Read` Anda](https://code.claude.com/docs/id/settings-reference#sandbox-filesystem-denyread) ke apa yang tidak dapat dibaca oleh setiap perintah yang di-sandbox.101* **Aturan cocok dengan perintah dan jalur seperti yang ditulis.** `Bash(git push *)` tidak cocok dengan [`git -C . push`](https://code.claude.com/docs/id/permissions#bash-rule-limits). `Read(./.env)` sendiri menghentikan alat file dan perintah yang menyebutkan file, seperti `cat .env`, tetapi bukan [`grep -r` dijalankan di seluruh direktori](https://code.claude.com/docs/id/permissions#read-and-edit); blok `sandbox` dalam file ini menutup celah itu, karena sandbox [menambahkan jalur deny `Read` Anda](https://code.claude.com/docs/id/settings-reference#sandbox-filesystem-denyread) ke apa yang tidak dapat dibaca oleh setiap perintah yang di-sandbox.

102 102 

103**Copyable settings file**103> [tab] Copyable settings file

104 104>

105Simpan ini sebagai `.claude/settings.json` di bagian atas repositori dan komitnya. Ini adalah JSON yang valid tanpa komentar, jadi Anda dapat menempelkannya apa adanya dan menghapus kunci yang tidak Anda inginkan.105> Simpan ini sebagai `.claude/settings.json` di bagian atas repositori dan komitnya. Ini adalah JSON yang valid tanpa komentar, jadi Anda dapat menempelkannya apa adanya dan menghapus kunci yang tidak Anda inginkan.

106 106>

107```json .claude/settings.json theme={null}107> ```json .claude/settings.json theme={null}

108{108> {

109 "permissions": {109> "permissions": {

110 "allow": [110> "allow": [

111 "Bash(npm run *)"111> "Bash(npm run *)"

112 ],112> ],

113 "ask": [113> "ask": [

114 "Bash(git push *)"114> "Bash(git push *)"

115 ],115> ],

116 "deny": [116> "deny": [

117 "Read(./.env)",117> "Read(./.env)",

118 "Read(./.env.*)",118> "Read(./.env.*)",

119 "Read(./secrets/**)"119> "Read(./secrets/**)"

120 ]120> ]

121 },121> },

122 "hooks": {122> "hooks": {

123 "PreToolUse": [123> "PreToolUse": [

124 {124> {

125 "matcher": "Bash",125> "matcher": "Bash",

126 "hooks": [126> "hooks": [

127 {127> {

128 "type": "command",128> "type": "command",

129 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh"129> "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh"

130 }130> }

131 ]131> ]

132 }132> }

133 ]133> ]

134 },134> },

135 "extraKnownMarketplaces": {135> "extraKnownMarketplaces": {

136 "acme-tools": {136> "acme-tools": {

137 "source": {137> "source": {

138 "source": "github",138> "source": "github",

139 "repo": "acme-corp/claude-plugins"139> "repo": "acme-corp/claude-plugins"

140 }140> }

141 }141> }

142 },142> },

143 "enabledPlugins": {143> "enabledPlugins": {

144 "code-formatter@acme-tools": true144> "code-formatter@acme-tools": true

145 },145> },

146 "sandbox": {146> "sandbox": {

147 "enabled": true,147> "enabled": true,

148 "filesystem": {148> "filesystem": {

149 "allowWrite": [149> "allowWrite": [

150 "/tmp/build"150> "/tmp/build"

151 ]151> ]

152 },152> },

153 "network": {153> "network": {

154 "allowedDomains": [154> "allowedDomains": [

155 "registry.npmjs.org",155> "registry.npmjs.org",

156 "*.example.com"156> "*.example.com"

157 ]157> ]

158 }158> }

159 },159> },

160 "plansDirectory": "./plans"160> "plansDirectory": "./plans"

161}161> }

162```162> ```

163 163 

164**What each key does**164> [tab] What each key does

165 165>

166File yang sama dengan komentar di atas setiap kunci. Bacalah di sini; salin dari tab lain, karena Claude Code tidak menerima komentar dalam file pengaturan.166> File yang sama dengan komentar di atas setiap kunci. Bacalah di sini; salin dari tab lain, karena Claude Code tidak menerima komentar dalam file pengaturan.

167 167>

168```jsonc .claude/settings.json theme={null}168> ```jsonc .claude/settings.json theme={null}

169{169> {

170 "permissions": {170> "permissions": {

171 // Jalankan skrip npm tanpa bertanya171> // Jalankan skrip npm tanpa bertanya

172 "allow": [172> "allow": [

173 "Bash(npm run *)"173> "Bash(npm run *)"

174 ],174> ],

175 // Konfirmasi sebelum perintah git push175> // Konfirmasi sebelum perintah git push

176 "ask": [176> "ask": [

177 "Bash(git push *)"177> "Bash(git push *)"

178 ],178> ],

179 // Tolak pembacaan file env dan folder secrets oleh tool file dan perintah yang membaca file179> // Tolak pembacaan file env dan folder secrets oleh tool file dan perintah yang membaca file

180 "deny": [180> "deny": [

181 "Read(./.env)",181> "Read(./.env)",

182 "Read(./.env.*)",182> "Read(./.env.*)",

183 "Read(./secrets/**)"183> "Read(./secrets/**)"

184 ]184> ]

185 },185> },

186 // Sebelum setiap perintah Bash, jalankan skrip di repo yang dapat membloknya186> // Sebelum setiap perintah Bash, jalankan skrip di repo yang dapat membloknya

187 "hooks": {187> "hooks": {

188 "PreToolUse": [188> "PreToolUse": [

189 {189> {

190 "matcher": "Bash",190> "matcher": "Bash",

191 "hooks": [191> "hooks": [

192 {192> {

193 "type": "command",193> "type": "command",

194 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh"194> "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh"

195 }195> }

196 ]196> ]

197 }197> }

198 ]198> ]

199 },199> },

200 // Daftarkan marketplace plugin tim di setiap klon200> // Daftarkan marketplace plugin tim di setiap klon

201 "extraKnownMarketplaces": {201> "extraKnownMarketplaces": {

202 "acme-tools": {202> "acme-tools": {

203 "source": {203> "source": {

204 "source": "github",204> "source": "github",

205 "repo": "acme-corp/claude-plugins"205> "repo": "acme-corp/claude-plugins"

206 }206> }

207 }207> }

208 },208> },

209 // Aktifkan satu plugin dari marketplace itu; plugin dari sumber eksternal seperti repositori GitHub masih memerlukan setiap orang untuk menginstalnya sekali209> // Aktifkan satu plugin dari marketplace itu; plugin dari sumber eksternal seperti repositori GitHub masih memerlukan setiap orang untuk menginstalnya sekali

210 "enabledPlugins": {210> "enabledPlugins": {

211 "code-formatter@acme-tools": true211> "code-formatter@acme-tools": true

212 },212> },

213 // Perintah sandbox: direktori build yang dapat ditulis; npm dan example.com pra-diizinkan213> // Perintah sandbox: direktori build yang dapat ditulis; npm dan example.com pra-diizinkan

214 "sandbox": {214> "sandbox": {

215 "enabled": true,215> "enabled": true,

216 "filesystem": {216> "filesystem": {

217 "allowWrite": [217> "allowWrite": [

218 "/tmp/build"218> "/tmp/build"

219 ]219> ]

220 },220> },

221 "network": {221> "network": {

222 "allowedDomains": [222> "allowedDomains": [

223 "registry.npmjs.org",223> "registry.npmjs.org",

224 "*.example.com"224> "*.example.com"

225 ]225> ]

226 }226> }

227 },227> },

228 // Simpan file rencana di dalam repo228> // Simpan file rencana di dalam repo

229 "plansDirectory": "./plans"229> "plansDirectory": "./plans"

230}230> }

231```231> ```

232 232 

233## Pengaturan terkelola organisasi233## Pengaturan terkelola organisasi

234 234 


247 247 

248Administrator menerapkan file seperti ini sebagai `managed-settings.json`, atau JSON yang sama melalui MDM atau [server-managed settings](https://code.claude.com/docs/id/server-managed-settings.md). Satu file yang diterapkan berlaku untuk setiap mesin atau akun yang dicapainya. Untuk memberikan grup nilai yang berbeda, terapkan file atau profil yang berbeda ke grup itu, karena [server-managed settings belum mendukung kebijakan per-grup](https://code.claude.com/docs/id/server-managed-settings.md#current-limitations).248Administrator menerapkan file seperti ini sebagai `managed-settings.json`, atau JSON yang sama melalui MDM atau [server-managed settings](https://code.claude.com/docs/id/server-managed-settings.md). Satu file yang diterapkan berlaku untuk setiap mesin atau akun yang dicapainya. Untuk memberikan grup nilai yang berbeda, terapkan file atau profil yang berbeda ke grup itu, karena [server-managed settings belum mendukung kebijakan per-grup](https://code.claude.com/docs/id/server-managed-settings.md#current-limitations).

249 249 

250**Copyable settings file**250> [tab] Copyable settings file

251 251>

252Terapkan ini sebagai `managed-settings.json`, atau JSON yang sama melalui MDM atau konsol claude.ai. Ini adalah JSON yang valid tanpa komentar; ganti UUID organisasi contoh, URL server, dan marketplace dengan milik Anda sendiri dan hapus kunci yang tidak Anda inginkan.252> Terapkan ini sebagai `managed-settings.json`, atau JSON yang sama melalui MDM atau konsol claude.ai. Ini adalah JSON yang valid tanpa komentar; ganti UUID organisasi contoh, URL server, dan marketplace dengan milik Anda sendiri dan hapus kunci yang tidak Anda inginkan.

253 253>

254```json managed-settings.json theme={null}254> ```json managed-settings.json theme={null}

255{255> {

256 "forceLoginMethod": "claudeai",256> "forceLoginMethod": "claudeai",

257 "forceLoginOrgUUID": [257> "forceLoginOrgUUID": [

258 "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"258> "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

259 ],259> ],

260 "availableModels": [260> "availableModels": [

261 "opus",261> "opus",

262 "sonnet"262> "sonnet"

263 ],263> ],

264 "enforceAvailableModels": true,264> "enforceAvailableModels": true,

265 "permissions": {265> "permissions": {

266 "deny": [266> "deny": [

267 "Bash(curl *)",267> "Bash(curl *)",

268 "Read(./.env)",268> "Read(./.env)",

269 "Read(./secrets/**)"269> "Read(./secrets/**)"

270 ],270> ],

271 "disableBypassPermissionsMode": "disable"271> "disableBypassPermissionsMode": "disable"

272 },272> },

273 "allowManagedPermissionRulesOnly": true,273> "allowManagedPermissionRulesOnly": true,

274 "allowedMcpServers": [274> "allowedMcpServers": [

275 {275> {

276 "serverUrl": "https://api.githubcopilot.com/*"276> "serverUrl": "https://api.githubcopilot.com/*"

277 }277> }

278 ],278> ],

279 "allowManagedMcpServersOnly": true,279> "allowManagedMcpServersOnly": true,

280 "strictKnownMarketplaces": [280> "strictKnownMarketplaces": [

281 {281> {

282 "source": "github",282> "source": "github",

283 "repo": "acme-corp/approved-plugins"283> "repo": "acme-corp/approved-plugins"

284 }284> }

285 ],285> ],

286 "sandbox": {286> "sandbox": {

287 "enabled": true,287> "enabled": true,

288 "failIfUnavailable": true,288> "failIfUnavailable": true,

289 "allowUnsandboxedCommands": false,289> "allowUnsandboxedCommands": false,

290 "network": {290> "network": {

291 "allowedDomains": [291> "allowedDomains": [

292 "registry.npmjs.org",292> "registry.npmjs.org",

293 "github.com"293> "github.com"

294 ],294> ],

295 "allowManagedDomainsOnly": true295> "allowManagedDomainsOnly": true

296 }296> }

297 },297> },

298 "requiredMinimumVersion": "2.1.150",298> "requiredMinimumVersion": "2.1.150",

299 "cleanupPeriodDays": 7,299> "cleanupPeriodDays": 7,

300 "companyAnnouncements": [300> "companyAnnouncements": [

301 "Welcome to Acme Corp! Review our code guidelines at docs.example.com"301> "Welcome to Acme Corp! Review our code guidelines at docs.example.com"

302 ]302> ]

303}303> }

304```304> ```

305 305 

306**What each key does**306> [tab] What each key does

307 307>

308File yang sama dengan komentar di atas setiap kunci. Bacalah di sini; salin dari tab lain, karena Claude Code tidak menerima komentar dalam file pengaturan.308> File yang sama dengan komentar di atas setiap kunci. Bacalah di sini; salin dari tab lain, karena Claude Code tidak menerima komentar dalam file pengaturan.

309 309>

310```jsonc managed-settings.json theme={null}310> ```jsonc managed-settings.json theme={null}

311{311> {

312 // Hanya login claude.ai, dan hanya di organisasi ini312> // Hanya login claude.ai, dan hanya di organisasi ini

313 "forceLoginMethod": "claudeai",313> "forceLoginMethod": "claudeai",

314 "forceLoginOrgUUID": [314> "forceLoginOrgUUID": [

315 "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"315> "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

316 ],316> ],

317 // Hanya model Opus dan Sonnet; dengan enforceAvailableModels, opsi Default juga mematuhi daftar317> // Hanya model Opus dan Sonnet; dengan enforceAvailableModels, opsi Default juga mematuhi daftar

318 "availableModels": [318> "availableModels": [

319 "opus",319> "opus",

320 "sonnet"320> "sonnet"

321 ],321> ],

322 "enforceAvailableModels": true,322> "enforceAvailableModels": true,

323 "permissions": {323> "permissions": {

324 // Blokir perintah curl dan pembacaan file .env proyek dan folder secrets di setiap mesin324> // Blokir perintah curl dan pembacaan file .env proyek dan folder secrets di setiap mesin

325 "deny": [325> "deny": [

326 "Bash(curl *)",326> "Bash(curl *)",

327 "Read(./.env)",327> "Read(./.env)",

328 "Read(./secrets/**)"328> "Read(./secrets/**)"

329 ],329> ],

330 // Hapus mode bypass-permissions dari setiap sesi330> // Hapus mode bypass-permissions dari setiap sesi

331 "disableBypassPermissionsMode": "disable"331> "disableBypassPermissionsMode": "disable"

332 },332> },

333 // Abaikan aturan izin dari pengaturan pengguna, proyek, dan lokal333> // Abaikan aturan izin dari pengaturan pengguna, proyek, dan lokal

334 "allowManagedPermissionRulesOnly": true,334> "allowManagedPermissionRulesOnly": true,

335 // Hanya server MCP GitHub, cocok dengan URL daripada dengan nama, karena pengguna dapat335> // Hanya server MCP GitHub, cocok dengan URL daripada dengan nama, karena pengguna dapat

336 // memberi nama server apa pun "github". Server yang ditambahkan pengguna yang tidak cocok tidak dimuat, termasuk336> // memberi nama server apa pun "github". Server yang ditambahkan pengguna yang tidak cocok tidak dimuat, termasuk

337 // setiap server stdio ketika daftar hanya memiliki entri URL. Kunci allowManagedMcpServersOnly337> // setiap server stdio ketika daftar hanya memiliki entri URL. Kunci allowManagedMcpServersOnly

338 // di bawah membuat daftar terkelola ini satu-satunya daftar izin yang berlaku338> // di bawah membuat daftar terkelola ini satu-satunya daftar izin yang berlaku

339 "allowedMcpServers": [339> "allowedMcpServers": [

340 {340> {

341 "serverUrl": "https://api.githubcopilot.com/*"341> "serverUrl": "https://api.githubcopilot.com/*"

342 }342> }

343 ],343> ],

344 "allowManagedMcpServersOnly": true,344> "allowManagedMcpServersOnly": true,

345 // Plugin hanya dapat berasal dari marketplace ini345> // Plugin hanya dapat berasal dari marketplace ini

346 "strictKnownMarketplaces": [346> "strictKnownMarketplaces": [

347 {347> {

348 "source": "github",348> "source": "github",

349 "repo": "acme-corp/approved-plugins"349> "repo": "acme-corp/approved-plugins"

350 }350> }

351 ],351> ],

352 // Sandbox setiap perintah yang dijalankan Claude, tolak untuk memulai jika sandbox tidak dapat352> // Sandbox setiap perintah yang dijalankan Claude, tolak untuk memulai jika sandbox tidak dapat

353 // diatur, dan jangan pernah biarkan perintah yang diblokir mencoba lagi di luar sandbox; jaringan353> // diatur, dan jangan pernah biarkan perintah yang diblokir mencoba lagi di luar sandbox; jaringan

354 // terbatas pada npm dan GitHub, dan pengguna tidak dapat menambahkan domain354> // terbatas pada npm dan GitHub, dan pengguna tidak dapat menambahkan domain

355 "sandbox": {355> "sandbox": {

356 "enabled": true,356> "enabled": true,

357 "failIfUnavailable": true,357> "failIfUnavailable": true,

358 "allowUnsandboxedCommands": false,358> "allowUnsandboxedCommands": false,

359 "network": {359> "network": {

360 "allowedDomains": [360> "allowedDomains": [

361 "registry.npmjs.org",361> "registry.npmjs.org",

362 "github.com"362> "github.com"

363 ],363> ],

364 "allowManagedDomainsOnly": true364> "allowManagedDomainsOnly": true

365 }365> }

366 },366> },

367 // Tolak untuk memulai pada versi yang lebih lama dari 2.1.150367> // Tolak untuk memulai pada versi yang lebih lama dari 2.1.150

368 "requiredMinimumVersion": "2.1.150",368> "requiredMinimumVersion": "2.1.150",

369 // Hapus transkrip sesi dan data sesi lokal lainnya setelah 7 hari369> // Hapus transkrip sesi dan data sesi lokal lainnya setelah 7 hari

370 "cleanupPeriodDays": 7,370> "cleanupPeriodDays": 7,

371 // Pesan yang dilihat setiap pengguna saat startup371> // Pesan yang dilihat setiap pengguna saat startup

372 "companyAnnouncements": [372> "companyAnnouncements": [

373 "Welcome to Acme Corp! Review our code guidelines at docs.example.com"373> "Welcome to Acme Corp! Review our code guidelines at docs.example.com"

374 ]374> ]

375}375> }

376```376> ```

Details

3865* **Type**: Boolean3865* **Type**: Boolean

3866 * `true`: Claude Code mengizinkan channels untuk organisasi Anda3866 * `true`: Claude Code mengizinkan channels untuk organisasi Anda

3867 * `false`: sama dengan unset; apakah channels diblokir tergantung pada paket Anda, seperti yang dikatakan Default3867 * `false`: sama dengan unset; apakah channels diblokir tergantung pada paket Anda, seperti yang dikatakan Default

3868* **Default**: unset; channels diblokir pada paket Team dan Enterprise dan pada akun Console dengan managed settings, dan diizinkan pada paket Pro dan Max dan pada akun Console tanpa managed settings3868* **Default**: unset; channels diblokir pada paket Team dan Enterprise dan pada akun Console dengan managed settings, dan diizinkan pada paket Pro, Max, dan Ultra dan pada akun Console tanpa managed settings

3869 3869 

3870```json managed-settings.json theme={null}3870```json managed-settings.json theme={null}

3871{3871{

setup.md +251 −251

Details

35 35 

36Untuk menginstal Claude Code, buka terminal dan jalankan perintah untuk sistem Anda. Jika Anda belum pernah menggunakan terminal sebelumnya, [panduan terminal](https://code.claude.com/docs/id/terminal-guide) menunjukkan cara membukanya dan menempel perintahnya.36Untuk menginstal Claude Code, buka terminal dan jalankan perintah untuk sistem Anda. Jika Anda belum pernah menggunakan terminal sebelumnya, [panduan terminal](https://code.claude.com/docs/id/terminal-guide) menunjukkan cara membukanya dan menempel perintahnya.

37 37 

38**Native Install (Direkomendasikan)**38> [tab] Native Install (Direkomendasikan)

39 

40**macOS, Linux, WSL:**

41 

42```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

43curl -fsSL https://claude.ai/install.sh | bash

44```

45 

46Di Windows, prompt Anda menunjukkan `PS C:\` ketika Anda berada di PowerShell dan `C:\` tanpa `PS` ketika Anda berada di CMD.

47 

48**Windows PowerShell:**

49 

50```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

51irm https://claude.ai/install.ps1 | iex

52```

53 

54**Windows CMD:**

55 

56```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

57curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

58```

59 

60Perintah instalasi tidak menampilkan kemajuan saat mengunduh Claude Code. Ketika penginstal selesai, buka jendela terminal baru dan jalankan `claude --version`. Instalasi yang berfungsi dengan baik mencetak nomor versi. Jika shell Anda mengatakan `claude` tidak ditemukan atau tidak dikenali, direktori instalasi belum ada di PATH Anda: lihat [Perbaiki PATH Anda](https://code.claude.com/docs/id/troubleshoot-install.md#command-not-found-claude-after-installation).

61 

62Jika Anda melihat `The token '&&' is not a valid statement separator`, Anda berada di PowerShell, bukan CMD. Jika Anda melihat `'irm' is not recognized as an internal or external command`, Anda berada di CMD, bukan PowerShell.

63 

64Jika perintah instalasi gagal dengan `syntax error near unexpected token '<'`, `403`, atau kesalahan lainnya, lihat [Troubleshoot installation](https://code.claude.com/docs/id/troubleshoot-install.md#find-your-error) untuk mencocokkan kesalahan dengan perbaikan dan untuk metode instalasi alternatif.

65 

66[Git for Windows](https://git-scm.com/downloads/win) direkomendasikan pada Windows native sehingga Claude Code dapat menggunakan alat Bash. Jika Git for Windows tidak diinstal, Claude Code menggunakan PowerShell sebagai alat shell sebagai gantinya. Pengaturan WSL tidak memerlukan Git for Windows.

67 

68> [!NOTE]

69>39>

70> Instalasi native secara otomatis diperbarui di latar belakang untuk membuat Anda tetap menggunakan versi terbaru.40> **macOS, Linux, WSL:**

71 

72**Homebrew**

73 

74```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

75brew install --cask claude-code

76```

77 

78Homebrew menawarkan dua casks. `claude-code` melacak saluran rilis stabil, yang biasanya sekitar seminggu di belakang dan melewatkan rilis dengan regresi besar. `claude-code@latest` melacak saluran terbaru dan menerima versi baru segera setelah mereka dirilis.

79 

80> [!NOTE]

81>41>

82> Instalasi Homebrew tidak auto-update. Jalankan `brew upgrade claude-code` atau `brew upgrade claude-code@latest`, tergantung pada cask mana yang Anda instal, untuk mendapatkan fitur terbaru dan perbaikan keamanan.42> ```bash theme={null}

83 43> curl -fsSL https://claude.ai/install.sh | bash

84**WinGet**44> ```

45>

46> Di Windows, prompt Anda menunjukkan `PS C:\` ketika Anda berada di PowerShell dan `C:\` tanpa `PS` ketika Anda berada di CMD.

47>

48> **Windows PowerShell:**

49>

50> ```powershell theme={null}

51> irm https://claude.ai/install.ps1 | iex

52> ```

53>

54> **Windows CMD:**

55>

56> ```batch theme={null}

57> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

58> ```

59>

60> Perintah instalasi tidak menampilkan kemajuan saat mengunduh Claude Code. Ketika penginstal selesai, buka jendela terminal baru dan jalankan `claude --version`. Instalasi yang berfungsi dengan baik mencetak nomor versi. Jika shell Anda mengatakan `claude` tidak ditemukan atau tidak dikenali, direktori instalasi belum ada di PATH Anda: lihat [Perbaiki PATH Anda](https://code.claude.com/docs/id/troubleshoot-install.md#command-not-found-claude-after-installation).

61>

62> Jika Anda melihat `The token '&&' is not a valid statement separator`, Anda berada di PowerShell, bukan CMD. Jika Anda melihat `'irm' is not recognized as an internal or external command`, Anda berada di CMD, bukan PowerShell.

63>

64> Jika perintah instalasi gagal dengan `syntax error near unexpected token '<'`, `403`, atau kesalahan lainnya, lihat [Troubleshoot installation](https://code.claude.com/docs/id/troubleshoot-install.md#find-your-error) untuk mencocokkan kesalahan dengan perbaikan dan untuk metode instalasi alternatif.

65>

66> [Git for Windows](https://git-scm.com/downloads/win) direkomendasikan pada Windows native sehingga Claude Code dapat menggunakan alat Bash. Jika Git for Windows tidak diinstal, Claude Code menggunakan PowerShell sebagai alat shell sebagai gantinya. Pengaturan WSL tidak memerlukan Git for Windows.

67>

68> > [!NOTE]

69> >

70> > Instalasi native secara otomatis diperbarui di latar belakang untuk membuat Anda tetap menggunakan versi terbaru.

85 71 

86```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}72> [tab] Homebrew

87winget install Anthropic.ClaudeCode73>

88```74> ```bash theme={null}

75> brew install --cask claude-code

76> ```

77>

78> Homebrew menawarkan dua casks. `claude-code` melacak saluran rilis stabil, yang biasanya sekitar seminggu di belakang dan melewatkan rilis dengan regresi besar. `claude-code@latest` melacak saluran terbaru dan menerima versi baru segera setelah mereka dirilis.

79>

80> > [!NOTE]

81> >

82> > Instalasi Homebrew tidak auto-update. Jalankan `brew upgrade claude-code` atau `brew upgrade claude-code@latest`, tergantung pada cask mana yang Anda instal, untuk mendapatkan fitur terbaru dan perbaikan keamanan.

89 83 

90> [!NOTE]84> [tab] WinGet

85>

86> ```powershell theme={null}

87> winget install Anthropic.ClaudeCode

88> ```

91>89>

92> Instalasi WinGet tidak auto-update. Jalankan `winget upgrade Anthropic.ClaudeCode` secara berkala untuk mendapatkan fitur terbaru dan perbaikan keamanan.90> > [!NOTE]

91> >

92> > Instalasi WinGet tidak auto-update. Jalankan `winget upgrade Anthropic.ClaudeCode` secara berkala untuk mendapatkan fitur terbaru dan perbaikan keamanan.

93 93 

94Anda juga dapat menginstal dengan [apt, dnf, atau apk](https://code.claude.com/docs/id/setup.md#install-with-linux-package-managers) pada Debian, Fedora, RHEL, dan Alpine.94Anda juga dapat menginstal dengan [apt, dnf, atau apk](https://code.claude.com/docs/id/setup.md#install-with-linux-package-managers) pada Debian, Fedora, RHEL, dan Alpine.

95 95 


188 188 

189## Autentikasi189## Autentikasi

190 190 

191Claude Code memerlukan akun Pro, Max, Team, Enterprise, atau Console. Paket Claude.ai gratis tidak termasuk akses Claude Code. Anda juga dapat menggunakan Claude Code dengan penyedia API pihak ketiga seperti [Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/id/google-vertex-ai.md), atau [Microsoft Foundry](https://code.claude.com/docs/id/microsoft-foundry.md).191Claude Code memerlukan akun Pro, Max, Ultra, Team, Enterprise, atau Console. Paket claude.ai gratis tidak termasuk akses Claude Code. Anda juga dapat menggunakan Claude Code dengan penyedia API pihak ketiga seperti [Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/id/google-vertex-ai.md), atau [Microsoft Foundry](https://code.claude.com/docs/id/microsoft-foundry.md).

192 192 

193Setelah menginstal, masuk dengan menjalankan `claude` dan mengikuti petunjuk browser. Jika Anda telah mengatur environment variable `ANTHROPIC_API_KEY` dan Anda menyetujui kunci tersebut saat Claude Code menanyakan apakah akan menggunakannya, Claude Code akan melewati permintaan login. Lihat [Autentikasi](https://code.claude.com/docs/id/authentication.md) untuk semua jenis akun dan opsi pengaturan tim.193Setelah menginstal, masuk dengan menjalankan `claude` dan mengikuti petunjuk browser. Jika Anda telah mengatur environment variable `ANTHROPIC_API_KEY` dan Anda menyetujui kunci tersebut saat Claude Code menanyakan apakah akan menggunakannya, Claude Code akan melewati permintaan login. Lihat [Autentikasi](https://code.claude.com/docs/id/authentication.md) untuk semua jenis akun dan opsi pengaturan tim.

194 194 


300 300 

301Untuk menginstal versi terbaru (default):301Untuk menginstal versi terbaru (default):

302 302 

303**macOS, Linux, WSL**303> [tab] macOS, Linux, WSL

304 304>

305```bash theme={null}305> ```bash theme={null}

306curl -fsSL https://claude.ai/install.sh | bash306> curl -fsSL https://claude.ai/install.sh | bash

307```307> ```

308 

309**Windows PowerShell**

310 

311```powershell theme={null}

312irm https://claude.ai/install.ps1 | iex

313```

314 308 

315**Windows CMD**309> [tab] Windows PowerShell

310>

311> ```powershell theme={null}

312> irm https://claude.ai/install.ps1 | iex

313> ```

316 314 

317```batch theme={null}315> [tab] Windows CMD

318curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd316>

319```317> ```batch theme={null}

318> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

319> ```

320 320 

321Untuk menginstal versi stabil:321Untuk menginstal versi stabil:

322 322 

323**macOS, Linux, WSL**323> [tab] macOS, Linux, WSL

324 324>

325```bash theme={null}325> ```bash theme={null}

326curl -fsSL https://claude.ai/install.sh | bash -s stable326> curl -fsSL https://claude.ai/install.sh | bash -s stable

327```327> ```

328 

329**Windows PowerShell**

330 

331```powershell theme={null}

332& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) stable

333```

334 328 

335**Windows CMD**329> [tab] Windows PowerShell

330>

331> ```powershell theme={null}

332> & ([scriptblock]::Create((irm https://claude.ai/install.ps1))) stable

333> ```

336 334 

337```batch theme={null}335> [tab] Windows CMD

338curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd stable && del install.cmd336>

339```337> ```batch theme={null}

338> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd stable && del install.cmd

339> ```

340 340 

341Untuk menginstal nomor versi tertentu:341Untuk menginstal nomor versi tertentu:

342 342 

343**macOS, Linux, WSL**343> [tab] macOS, Linux, WSL

344 344>

345```bash theme={null}345> ```bash theme={null}

346curl -fsSL https://claude.ai/install.sh | bash -s 2.1.89346> curl -fsSL https://claude.ai/install.sh | bash -s 2.1.89

347```347> ```

348 

349**Windows PowerShell**

350 

351```powershell theme={null}

352& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 2.1.89

353```

354 348 

355**Windows CMD**349> [tab] Windows PowerShell

350>

351> ```powershell theme={null}

352> & ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 2.1.89

353> ```

356 354 

357```batch theme={null}355> [tab] Windows CMD

358curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd 2.1.89 && del install.cmd356>

359```357> ```batch theme={null}

358> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd 2.1.89 && del install.cmd

359> ```

360 360 

361Untuk mengkonfirmasi versi mana yang terinstal, jalankan `claude --version`: perintah mencetak versi yang tepat yang Anda lewatkan, seperti `2.1.89 (Claude Code)`.361Untuk mengkonfirmasi versi mana yang terinstal, jalankan `claude --version`: perintah mencetak versi yang tepat yang Anda lewatkan, seperti `2.1.89 (Claude Code)`.

362 362 


366 366 

367Semua repositori ditandatangani dengan [kunci penandatanganan rilis Claude Code](#binary-integrity-and-code-signing). Sebelum mempercayai kunci, verifikasi seperti yang dijelaskan di setiap tab.367Semua repositori ditandatangani dengan [kunci penandatanganan rilis Claude Code](#binary-integrity-and-code-signing). Sebelum mempercayai kunci, verifikasi seperti yang dijelaskan di setiap tab.

368 368 

369**apt**369> [tab] apt

370 370>

371Untuk Debian dan Ubuntu. Perintah instalasi di bawah mengunduh kunci penandatanganan dengan `curl` dan memverifikasinya dengan `gpg`, yang instalasi Debian dan Ubuntu segar mungkin tidak sertakan. Jika salah satu perintah melaporkan `command not found`, instal keduanya terlebih dahulu:371> Untuk Debian dan Ubuntu. Perintah instalasi di bawah mengunduh kunci penandatanganan dengan `curl` dan memverifikasinya dengan `gpg`, yang instalasi Debian dan Ubuntu segar mungkin tidak sertakan. Jika salah satu perintah melaporkan `command not found`, instal keduanya terlebih dahulu:

372 372>

373```bash theme={null}373> ```bash theme={null}

374sudo apt install curl gnupg374> sudo apt install curl gnupg

375```375> ```

376 376>

377Unduh kunci penandatanganan:377> Unduh kunci penandatanganan:

378 378>

379```bash theme={null}379> ```bash theme={null}

380sudo install -d -m 0755 /etc/apt/keyrings380> sudo install -d -m 0755 /etc/apt/keyrings

381sudo curl -fsSL https://downloads.claude.ai/keys/claude-code.asc \381> sudo curl -fsSL https://downloads.claude.ai/keys/claude-code.asc \

382 -o /etc/apt/keyrings/claude-code.asc382> -o /etc/apt/keyrings/claude-code.asc

383```383> ```

384 384>

385Jika unduhan ini gagal, `apt update` nanti gagal dengan `NO_PUBKEY BAA929FF1A7ECACE`. Konfirmasi kunci diunduh dan milik Anthropic sebelum melanjutkan:385> Jika unduhan ini gagal, `apt update` nanti gagal dengan `NO_PUBKEY BAA929FF1A7ECACE`. Konfirmasi kunci diunduh dan milik Anthropic sebelum melanjutkan:

386 386>

387```bash theme={null}387> ```bash theme={null}

388gpg --show-keys /etc/apt/keyrings/claude-code.asc388> gpg --show-keys /etc/apt/keyrings/claude-code.asc

389```389> ```

390 390>

391Sidik jari yang dicetak gpg harus `31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE`. Jika gpg melaporkan bahwa file tidak dapat dibuka atau tidak berisi data OpenPGP yang valid, unduhan gagal atau mengembalikan konten yang salah: konfirmasi jaringan Anda dapat menjangkau `downloads.claude.ai`, kemudian jalankan kembali perintah unduh.391> Sidik jari yang dicetak gpg harus `31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE`. Jika gpg melaporkan bahwa file tidak dapat dibuka atau tidak berisi data OpenPGP yang valid, unduhan gagal atau mengembalikan konten yang salah: konfirmasi jaringan Anda dapat menjangkau `downloads.claude.ai`, kemudian jalankan kembali perintah unduh.

392 392>

393Daftarkan repositori di saluran `stable` dan instal:393> Daftarkan repositori di saluran `stable` dan instal:

394 394>

395```bash theme={null}395> ```bash theme={null}

396echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/stable stable main" \396> echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/stable stable main" \

397 | sudo tee /etc/apt/sources.list.d/claude-code.list397> | sudo tee /etc/apt/sources.list.d/claude-code.list

398sudo apt update398> sudo apt update

399sudo apt install claude-code399> sudo apt install claude-code

400```400> ```

401 401>

402Untuk menggunakan saluran `latest` sebagai gantinya, jalur URL dan nama suite keduanya berubah. Gunakan baris `deb` ini:402> Untuk menggunakan saluran `latest` sebagai gantinya, jalur URL dan nama suite keduanya berubah. Gunakan baris `deb` ini:

403 403>

404```bash theme={null}404> ```bash theme={null}

405echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/latest latest main" \405> echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/latest latest main" \

406 | sudo tee /etc/apt/sources.list.d/claude-code.list406> | sudo tee /etc/apt/sources.list.d/claude-code.list

407```407> ```

408 408>

409Untuk upgrade nanti, jalankan `sudo apt update && sudo apt upgrade claude-code`.409> Untuk upgrade nanti, jalankan `sudo apt update && sudo apt upgrade claude-code`.

410 

411**dnf**

412 

413Untuk Fedora dan RHEL. Perintah berikut mengonfigurasi saluran `stable`:

414 

415```bash theme={null}

416sudo tee /etc/yum.repos.d/claude-code.repo <<'EOF'

417[claude-code]

418name=Claude Code

419baseurl=https://downloads.claude.ai/claude-code/rpm/stable

420enabled=1

421gpgcheck=1

422gpgkey=https://downloads.claude.ai/keys/claude-code.asc

423EOF

424sudo dnf install claude-code

425```

426 

427Untuk menggunakan saluran `latest` sebagai gantinya, atur `baseurl` ke repositori `latest`:

428 

429```ini theme={null}

430baseurl=https://downloads.claude.ai/claude-code/rpm/latest

431```

432 

433dnf mengunduh kunci pada instalasi pertama dan meminta Anda untuk mengkonfirmasi sidik jari. Verifikasi itu cocok dengan `31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE` sebelum menerima.

434 

435Untuk upgrade nanti, jalankan `sudo dnf upgrade claude-code`.

436 

437**apk**

438 

439Untuk Alpine Linux. Perintah berikut mengonfigurasi saluran `stable`:

440 

441```sh theme={null}

442wget -O /etc/apk/keys/claude-code.rsa.pub \

443 https://downloads.claude.ai/keys/claude-code.rsa.pub

444echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories

445apk add claude-code

446```

447 

448Untuk beralih ke saluran `latest`, hapus baris repositori `stable` dan tambahkan repositori `latest`:

449 

450```sh theme={null}

451sed -i '\|downloads.claude.ai/claude-code/apk/stable|d' /etc/apk/repositories

452echo "https://downloads.claude.ai/claude-code/apk/latest" >> /etc/apk/repositories

453```

454 410 

455Verifikasi kunci yang diunduh dengan `sha256sum /etc/apk/keys/claude-code.rsa.pub`, yang harus melaporkan `395759c1f7449ef4cdef305a42e820f3c766d6090d142634ebdb049f113168b6`.411> [tab] dnf

412>

413> Untuk Fedora dan RHEL. Perintah berikut mengonfigurasi saluran `stable`:

414>

415> ```bash theme={null}

416> sudo tee /etc/yum.repos.d/claude-code.repo <<'EOF'

417> [claude-code]

418> name=Claude Code

419> baseurl=https://downloads.claude.ai/claude-code/rpm/stable

420> enabled=1

421> gpgcheck=1

422> gpgkey=https://downloads.claude.ai/keys/claude-code.asc

423> EOF

424> sudo dnf install claude-code

425> ```

426>

427> Untuk menggunakan saluran `latest` sebagai gantinya, atur `baseurl` ke repositori `latest`:

428>

429> ```ini theme={null}

430> baseurl=https://downloads.claude.ai/claude-code/rpm/latest

431> ```

432>

433> dnf mengunduh kunci pada instalasi pertama dan meminta Anda untuk mengkonfirmasi sidik jari. Verifikasi itu cocok dengan `31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE` sebelum menerima.

434>

435> Untuk upgrade nanti, jalankan `sudo dnf upgrade claude-code`.

456 436 

457Untuk upgrade nanti, jalankan `apk update && apk upgrade claude-code`.437> [tab] apk

438>

439> Untuk Alpine Linux. Perintah berikut mengonfigurasi saluran `stable`:

440>

441> ```sh theme={null}

442> wget -O /etc/apk/keys/claude-code.rsa.pub \

443> https://downloads.claude.ai/keys/claude-code.rsa.pub

444> echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories

445> apk add claude-code

446> ```

447>

448> Untuk beralih ke saluran `latest`, hapus baris repositori `stable` dan tambahkan repositori `latest`:

449>

450> ```sh theme={null}

451> sed -i '\|downloads.claude.ai/claude-code/apk/stable|d' /etc/apk/repositories

452> echo "https://downloads.claude.ai/claude-code/apk/latest" >> /etc/apk/repositories

453> ```

454>

455> Verifikasi kunci yang diunduh dengan `sha256sum /etc/apk/keys/claude-code.rsa.pub`, yang harus melaporkan `395759c1f7449ef4cdef305a42e820f3c766d6090d142634ebdb049f113168b6`.

456>

457> Untuk upgrade nanti, jalankan `apk update && apk upgrade claude-code`.

458 458 

459### Instal dengan npm459### Instal dengan npm

460 460 


546 546 

547Bandingkan checksum SHA256 biner dengan nilai yang tercantum di bawah `platforms.<platform>.checksum` di `manifest.json`. Perintah di bawah mengasumsikan biner `claude` di direktori saat ini. Untuk memverifikasi biner asli yang terinstal sebagai gantinya, jalankan perintah terhadap `~/.local/share/claude/versions/VERSION`, mengganti VERSION dengan rilis yang Anda atur di Langkah 2.547Bandingkan checksum SHA256 biner dengan nilai yang tercantum di bawah `platforms.<platform>.checksum` di `manifest.json`. Perintah di bawah mengasumsikan biner `claude` di direktori saat ini. Untuk memverifikasi biner asli yang terinstal sebagai gantinya, jalankan perintah terhadap `~/.local/share/claude/versions/VERSION`, mengganti VERSION dengan rilis yang Anda atur di Langkah 2.

548 548 

549**Linux**549> [tab] Linux

550 550>

551```bash theme={null}551> ```bash theme={null}

552sha256sum claude552> sha256sum claude

553```553> ```

554 

555**macOS**

556 

557```bash theme={null}

558shasum -a 256 claude

559```

560 554 

561**Windows PowerShell**555> [tab] macOS

556>

557> ```bash theme={null}

558> shasum -a 256 claude

559> ```

562 560 

563```powershell theme={null}561> [tab] Windows PowerShell

564(Get-FileHash claude.exe -Algorithm SHA256).Hash.ToLower()562>

565```563> ```powershell theme={null}

564> (Get-FileHash claude.exe -Algorithm SHA256).Hash.ToLower()

565> ```

566 566 

567> [!NOTE]567> [!NOTE]

568>568>


584 584 

585Hapus biner Claude Code dan file versi:585Hapus biner Claude Code dan file versi:

586 586 

587**macOS, Linux, WSL**587> [tab] macOS, Linux, WSL

588 588>

589```bash theme={null}589> ```bash theme={null}

590rm -f ~/.local/bin/claude590> rm -f ~/.local/bin/claude

591rm -rf ~/.local/share/claude591> rm -rf ~/.local/share/claude

592```592> ```

593 

594**Windows PowerShell**

595 593 

596```powershell theme={null}594> [tab] Windows PowerShell

597Remove-Item -Path "$env:USERPROFILE\.local\bin\claude.exe" -Force595>

598Remove-Item -Path "$env:USERPROFILE\.local\share\claude" -Recurse -Force596> ```powershell theme={null}

599```597> Remove-Item -Path "$env:USERPROFILE\.local\bin\claude.exe" -Force

598> Remove-Item -Path "$env:USERPROFILE\.local\share\claude" -Recurse -Force

599> ```

600 600 

601### Hapus instalasi dengan Homebrew601### Hapus instalasi dengan Homebrew

602 602 


624 624 

625Hapus paket dan konfigurasi repositori:625Hapus paket dan konfigurasi repositori:

626 626 

627**apt**627> [tab] apt

628 628>

629```bash theme={null}629> ```bash theme={null}

630sudo apt remove claude-code630> sudo apt remove claude-code

631sudo rm /etc/apt/sources.list.d/claude-code.list /etc/apt/keyrings/claude-code.asc631> sudo rm /etc/apt/sources.list.d/claude-code.list /etc/apt/keyrings/claude-code.asc

632```632> ```

633 

634**dnf**

635 

636```bash theme={null}

637sudo dnf remove claude-code

638sudo rm /etc/yum.repos.d/claude-code.repo

639```

640 633 

641**apk**634> [tab] dnf

635>

636> ```bash theme={null}

637> sudo dnf remove claude-code

638> sudo rm /etc/yum.repos.d/claude-code.repo

639> ```

642 640 

643```sh theme={null}641> [tab] apk

644apk del claude-code642>

645sed -i '\|downloads.claude.ai/claude-code/apk|d' /etc/apk/repositories643> ```sh theme={null}

646rm /etc/apk/keys/claude-code.rsa.pub644> apk del claude-code

647```645> sed -i '\|downloads.claude.ai/claude-code/apk|d' /etc/apk/repositories

646> rm /etc/apk/keys/claude-code.rsa.pub

647> ```

648 648 

649### Hapus instalasi dengan npm649### Hapus instalasi dengan npm

650 650 


664 664 

665Untuk menghapus pengaturan Claude Code dan data cache:665Untuk menghapus pengaturan Claude Code dan data cache:

666 666 

667**macOS, Linux, WSL**667> [tab] macOS, Linux, WSL

668 668>

669```bash theme={null}669> ```bash theme={null}

670# Hapus pengaturan pengguna dan status670> # Hapus pengaturan pengguna dan status

671rm -rf ~/.claude671> rm -rf ~/.claude

672rm ~/.claude.json672> rm ~/.claude.json

673 673>

674# Hapus pengaturan khusus proyek (jalankan dari direktori proyek Anda)674> # Hapus pengaturan khusus proyek (jalankan dari direktori proyek Anda)

675rm -rf .claude675> rm -rf .claude

676rm -f .mcp.json676> rm -f .mcp.json

677```677> ```

678 

679**Windows PowerShell**

680 

681```powershell theme={null}

682# Hapus pengaturan pengguna dan status

683Remove-Item -Path "$env:USERPROFILE\.claude" -Recurse -Force

684Remove-Item -Path "$env:USERPROFILE\.claude.json" -Force

685 678 

686# Hapus pengaturan khusus proyek (jalankan dari direktori proyek Anda)679> [tab] Windows PowerShell

687Remove-Item -Path ".claude" -Recurse -Force680>

688Remove-Item -Path ".mcp.json" -Force681> ```powershell theme={null}

689```682> # Hapus pengaturan pengguna dan status

683> Remove-Item -Path "$env:USERPROFILE\.claude" -Recurse -Force

684> Remove-Item -Path "$env:USERPROFILE\.claude.json" -Force

685>

686> # Hapus pengaturan khusus proyek (jalankan dari direktori proyek Anda)

687> Remove-Item -Path ".claude" -Recurse -Force

688> Remove-Item -Path ".mcp.json" -Force

689> ```

skills.md +1 −1

Details

42* **Ekstensi**: skill, server MCP, dan plugin yang tidak digunakan dibandingkan dengan biaya konteksnya, serta [hook](https://code.claude.com/docs/id/hooks.md) yang lambat42* **Ekstensi**: skill, server MCP, dan plugin yang tidak digunakan dibandingkan dengan biaya konteksnya, serta [hook](https://code.claude.com/docs/id/hooks.md) yang lambat

43* **File `CLAUDE.md`**: file `CLAUDE.md` lokal yang menduplikasi file yang di-check-in, [konten `CLAUDE.md` yang di-check-in yang dapat disimpulkan Claude dari codebase](https://code.claude.com/docs/id/memory#my-claude-md-is-too-large), dan panduan yang selalu dimuat yang tersisa, yang ditawarkan Claude untuk dimigrasikan ke skill dan file `CLAUDE.md` bertingkat yang dimuat sesuai kebutuhan43* **File `CLAUDE.md`**: file `CLAUDE.md` lokal yang menduplikasi file yang di-check-in, [konten `CLAUDE.md` yang di-check-in yang dapat disimpulkan Claude dari codebase](https://code.claude.com/docs/id/memory#my-claude-md-is-too-large), dan panduan yang selalu dimuat yang tersisa, yang ditawarkan Claude untuk dimigrasikan ke skill dan file `CLAUDE.md` bertingkat yang dimuat sesuai kebutuhan

44* **Izin**: tawaran untuk menjadikan [auto mode](https://code.claude.com/docs/id/permissions.md#permission-modes) sebagai mode izin default Anda dan untuk [menyetujui terlebih dahulu](https://code.claude.com/docs/id/permissions.md) perintah read-only yang sering Anda tolak44* **Izin**: tawaran untuk menjadikan [auto mode](https://code.claude.com/docs/id/permissions.md#permission-modes) sebagai mode izin default Anda dan untuk [menyetujui terlebih dahulu](https://code.claude.com/docs/id/permissions.md) perintah read-only yang sering Anda tolak

45* **Penggunaan**: pada paket Pro, Max, Team, atau Enterprise, [perubahan yang direkomendasikan `/usage`](https://code.claude.com/docs/id/costs#plan-usage-breakdown) untuk menurunkan penggunaan paket Anda, yang diukur selama 7 hari terakhir. Claude mengusulkan perubahan yang dapat dilakukannya sendiri dan melaporkan sisanya sebagai saran, seperti perintah untuk Anda jalankan. Pemeriksaan penggunaan memerlukan Claude Code v2.1.305 atau yang lebih baru, dan `/doctor` melewatinya saat [Remote Control](https://code.claude.com/docs/id/remote-control.md) terhubung.45* **Penggunaan**: pada paket Pro, Max, Ultra, Team, atau Enterprise, [perubahan yang direkomendasikan `/usage`](https://code.claude.com/docs/id/costs#plan-usage-breakdown) untuk menurunkan penggunaan paket Anda, yang diukur selama 7 hari terakhir. Claude mengusulkan perubahan yang dapat dilakukannya sendiri dan melaporkan sisanya sebagai saran, seperti perintah untuk Anda jalankan. Pemeriksaan penggunaan memerlukan Claude Code v2.1.305 atau yang lebih baru, dan `/doctor` melewatinya saat [Remote Control](https://code.claude.com/docs/id/remote-control.md) terhubung.

46 46 

47Untuk diagnostik instalasi read-only tanpa memulai sesi, jalankan `claude doctor` di terminal Anda sebagai gantinya.47Untuk diagnostik instalasi read-only tanpa memulai sesi, jalankan `claude doctor` di terminal Anda sebagai gantinya.

48 48 

slack.md +11 −11

Details

4 4 

5# Claude Code di Slack5# Claude Code di Slack

6 6 

7> Delegasikan tugas coding dari Slack. Versi awal ini hanya menjawab mention di channel dari akun Pro dan Max di workspace yang tidak terhubung ke Claude Tag.7> Delegasikan tugas coding dari Slack. Versi awal ini hanya menjawab mention dari akun Pro, Max, dan Ultra di workspace yang tidak terhubung ke Claude Tag.

8 8 

9> [!WARNING]9> [!WARNING]

10>10>

11> Halaman ini mendokumentasikan Claude Code di Slack versi awal, yang menjalankan setiap sesi di bawah akun pengguna individual. Versi ini hanya menjawab @mention di channel dari akun Pro dan Max, dan hanya di workspace Slack yang belum dihubungkan oleh organisasi mana pun ke [Claude Tag](https://claude.com/product/tag). Claude Tag menjalankan @Claude sebagai identitas bersama organisasi Anda dengan akses yang dikonfigurasi admin.11> Claude Code di Slack versi awal ini hanya menjawab @mention di channel dari akun Pro, Max, dan Ultra, dan hanya di workspace Slack yang belum dihubungkan oleh organisasi mana pun ke [Claude Tag](https://claude.com/product/tag). Setiap sesi berjalan di bawah akun pengguna individual. Claude Tag menjalankan @Claude sebagai identitas bersama organisasi Anda dengan akses yang dikonfigurasi admin.

12>12>

13> * **Paket Pro dan Max:** Claude Tag tidak tersedia pada paket individual, jadi halaman ini tetap menjadi jalur setup di workspace yang tidak terhubung ke Claude Tag.13> * **Paket Pro, Max, dan Ultra:** Claude Tag tidak tersedia pada paket individual, jadi [atur versi ini](#setting-up-claude-code-in-slack) di workspace yang tidak terhubung ke Claude Tag.

14> * **Paket Team dan Enterprise:** aplikasi Slack dan handle @Claude yang sudah ada tetap ada. [Atur Claude Tag](https://claude.com/docs/claude-tag/overview) untuk workspace baru; untuk memindahkan workspace yang sudah menggunakan versi ini, lihat [Migrasi dari Claude di Slack yang lebih awal](https://claude.com/docs/claude-tag/admins/migrate-from-earlier).14> * **Paket Team dan Enterprise:** aplikasi Slack dan handle @Claude yang sudah ada tetap ada. [Atur Claude Tag](https://claude.com/docs/claude-tag/overview) untuk workspace baru; untuk memindahkan workspace yang sudah menggunakan versi ini, lihat [Migrasi dari Claude di Slack yang lebih awal](https://claude.com/docs/claude-tag/admins/migrate-from-earlier).

15> * **Pemberitahuan alih-alih jawaban:** cari [pemberitahuan setup](#this-workspace-isnt-set-up-for-claude-tag-yet) atau [pemberitahuan penghentian](#the-legacy-claude-in-slack-bot-is-retired) yang dibalas oleh @Claude.15> * **Pemberitahuan alih-alih jawaban:** cari [pemberitahuan setup](#this-workspace-isnt-set-up-for-claude-tag-yet) atau [pemberitahuan penghentian](#the-legacy-claude-in-slack-bot-is-retired) yang dibalas oleh @Claude.

16 16 


31 31 

32| Persyaratan | Detail |32| Persyaratan | Detail |

33| :- | :- |33| :- | :- |

34| Claude Plan | Pro atau Max |34| Claude Plan | Pro, Max, atau Ultra |

35| Slack workspace | Tidak terhubung ke [Claude Tag](https://claude.com/docs/claude-tag/overview) oleh organisasi mana pun. Jika @Claude membalas dengan [pemberitahuan penghentian](#the-legacy-claude-in-slack-bot-is-retired), workspace tersebut terhubung |35| Slack workspace | Tidak terhubung ke [Claude Tag](https://claude.com/docs/claude-tag/overview) oleh organisasi mana pun. Jika @Claude membalas dengan [pemberitahuan penghentian](#the-legacy-claude-in-slack-bot-is-retired), workspace tersebut terhubung |

36| Cloud sessions | [Cloud sessions](https://code.claude.com/docs/id/claude-code-on-the-web.md) diaktifkan untuk akun Anda |36| Cloud sessions | [Cloud sessions](https://code.claude.com/docs/id/claude-code-on-the-web.md) diaktifkan untuk akun Anda |

37| Akun GitHub | Terhubung di [claude.ai/code](https://claude.ai/code) dengan setidaknya satu repositori yang terauthentikasi |37| Akun GitHub | Terhubung di [claude.ai/code](https://claude.ai/code) dengan setidaknya satu repositori yang terauthentikasi |


178@Claude membalas di thread dengan pemberitahuan ini alih-alih jawaban apabila kedua kondisi berikut terpenuhi:178@Claude membalas di thread dengan pemberitahuan ini alih-alih jawaban apabila kedua kondisi berikut terpenuhi:

179 179 

180* Tidak ada organisasi yang telah menghubungkan workspace Slack Anda ke [Claude Tag](https://claude.com/docs/claude-tag/overview).180* Tidak ada organisasi yang telah menghubungkan workspace Slack Anda ke [Claude Tag](https://claude.com/docs/claude-tag/overview).

181* Akun Claude yang Anda tautkan di Slack tidak menggunakan paket Pro atau Max.181* Akun Claude yang Anda tautkan di Slack tidak menggunakan paket Pro, Max, atau Ultra.

182 182 

183Claude Tag tersedia pada paket Team dan Enterprise. Untuk menghubungkan workspace, mulailah dengan perintah `@Claude connect` yang disebutkan dalam pemberitahuan, lalu ikuti [Menyiapkan Claude Tag](https://claude.com/docs/claude-tag/overview).183Claude Tag tersedia pada paket Team dan Enterprise. Untuk menghubungkan workspace, mulailah dengan perintah `@Claude connect` yang disebutkan dalam pemberitahuan, lalu ikuti [Menyiapkan Claude Tag](https://claude.com/docs/claude-tag/overview).

184 184 

185### "The legacy Claude in Slack bot is retired"185### "The legacy Claude in Slack bot is retired"

186 186 

187Pemberitahuan ini diawali dengan `The legacy Claude in Slack bot is retired effective October 5, 2026 and no longer responds in channels.` Workspace Slack Anda terhubung ke organisasi Claude, dan versi sebelumnya masih dipilih untuk channel, workspace, atau default organisasi dalam pengaturan Claude Tag organisasi tersebut. Pemberitahuan ini tidak bergantung pada paket Anda sendiri, sehingga akun Pro dan Max juga menerimanya.187Pemberitahuan ini diawali dengan `The legacy Claude in Slack bot is retired effective October 5, 2026 and no longer responds in channels.` Workspace Slack Anda terhubung ke organisasi Claude. Versi sebelumnya masih dipilih untuk channel, workspace, atau default organisasi dalam pengaturan Claude Tag organisasi tersebut. Pemberitahuan ini tidak bergantung pada paket Anda sendiri, sehingga akun Pro, Max, dan Ultra juga menerimanya.

188 188 

189Jika Anda adalah Owner organisasi tersebut, buka [pengaturan admin Claude](https://claude.ai/admin-settings/claude-tag) dan aktifkan Claude Tag untuk channel tersebut. Untuk memperbaiki setiap channel yang mewarisi pengaturan tersebut, ubahlah pada workspace atau default organisasi. Untuk perpindahan lengkap, lihat [Migrasi dari Claude in Slack versi sebelumnya](https://claude.com/docs/claude-tag/admins/migrate-from-earlier). Jika Anda bukan Owner, kirimkan entri ini ke salah satu Owner.189Jika Anda adalah Owner organisasi tersebut, buka [pengaturan admin Claude](https://claude.ai/admin-settings/claude-tag) dan aktifkan Claude Tag untuk channel tersebut. Untuk memperbaiki setiap channel yang mewarisi pengaturan tersebut, ubahlah pada workspace atau default organisasi. Untuk perpindahan lengkap, lihat [Migrasi dari Claude in Slack versi sebelumnya](https://claude.com/docs/claude-tag/admins/migrate-from-earlier). Jika Anda bukan Owner, kirimkan entri ini ke salah satu Owner.

190 190 


235 235 

236## Sumber daya terkait236## Sumber daya terkait

237 237 

238> **[Claude Code di cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md)**238> [card] [Claude Code di cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md)

239>239>

240> Pelajari lebih lanjut tentang sesi cloud240> Pelajari lebih lanjut tentang sesi cloud

241 241 

242> **[Claude untuk Slack](https://claude.com/claude-and-slack)**242> [card] [Claude untuk Slack](https://claude.com/claude-and-slack)

243>243>

244> Dokumentasi Claude untuk Slack umum244> Dokumentasi Claude untuk Slack umum

245 245 

246> **[Claude Tag](https://claude.com/docs/claude-tag/overview)**246> [card] [Claude Tag](https://claude.com/docs/claude-tag/overview)

247>247>

248> @Claude yang dikelola organisasi di Slack dengan akses yang dikonfigurasi admin248> @Claude yang dikelola organisasi di Slack dengan akses yang dikonfigurasi admin

249 249 

250> **[Slack App Marketplace](https://slack.com/marketplace/A08SF47R6P4)**250> [card] [Slack App Marketplace](https://slack.com/marketplace/A08SF47R6P4)

251>251>

252> Instal aplikasi Claude dari Slack Marketplace252> Instal aplikasi Claude dari Slack Marketplace

253 253 

254> **[Claude Help Center](https://support.claude.com)**254> [card] [Claude Help Center](https://support.claude.com)

255>255>

256> Dapatkan dukungan tambahan256> Dapatkan dukungan tambahan

statusline.md +4 −4

Details

212| `worktree.original_cwd` | Direktori tempat Claude berada sebelum memasuki worktree |212| `worktree.original_cwd` | Direktori tempat Claude berada sebelum memasuki worktree |

213| `worktree.original_branch` | Cabang Git yang diperiksa sebelum memasuki worktree. Tidak ada untuk worktree berbasis hook |213| `worktree.original_branch` | Cabang Git yang diperiksa sebelum memasuki worktree. Tidak ada untuk worktree berbasis hook |

214 214 

215> **Skema JSON lengkap**215> [accordion] Skema JSON lengkap

216>216>

217> Perintah baris status Anda menerima struktur JSON ini melalui stdin:217> Perintah baris status Anda menerima struktur JSON ini melalui stdin:

218>218>


341> * `agent`: muncul hanya saat menjalankan dengan bendera `--agent` atau pengaturan agen dikonfigurasi341> * `agent`: muncul hanya saat menjalankan dengan bendera `--agent` atau pengaturan agen dikonfigurasi

342> * `pr`: muncul hanya saat PR terbuka atau merge request GitLab ditemukan untuk cabang saat ini, dan dihapus setelah digabungkan atau ditutup. `pr.review_state` dan `pr.kind` mungkin secara independen tidak ada342> * `pr`: muncul hanya saat PR terbuka atau merge request GitLab ditemukan untuk cabang saat ini, dan dihapus setelah digabungkan atau ditutup. `pr.review_state` dan `pr.kind` mungkin secara independen tidak ada

343> * `worktree`: muncul hanya saat sesi berada dalam [sesi worktree](https://code.claude.com/docs/id/worktrees.md). Ketika ada, `branch` dan `original_branch` juga mungkin tidak ada untuk worktree berbasis hook343> * `worktree`: muncul hanya saat sesi berada dalam [sesi worktree](https://code.claude.com/docs/id/worktrees.md). Ketika ada, `branch` dan `original_branch` juga mungkin tidak ada untuk worktree berbasis hook

344> * `rate_limits`: muncul hanya untuk pelanggan Claude.ai Pro dan Max, atau di balik gateway aplikasi Claude yang menetapkan batas pengeluaran untuk Anda, dan hanya setelah respons API pertama dalam sesi. Setiap jendela (`five_hour`, `seven_day`, `spend_limit`) mungkin secara independen tidak ada, dan Claude Code menghapus jendela setelah waktu `resets_at` berlalu. Gunakan `jq -r '.rate_limits.five_hour.used_percentage // empty'` untuk menangani ketiadaan dengan anggun.344> * `rate_limits`: muncul hanya untuk pelanggan claude.ai Pro, Max, dan Ultra, atau di balik gateway aplikasi Claude yang menetapkan batas pengeluaran untuk Anda. Bahkan dalam kasus tersebut, bidang ini hanya muncul setelah respons API pertama dalam sesi. Setiap jendela (`five_hour`, `seven_day`, `spend_limit`) mungkin secara independen tidak ada, dan Claude Code menghapus jendela setelah waktu `resets_at` berlalu. Gunakan `jq -r '.rate_limits.five_hour.used_percentage // empty'` untuk menangani ketiadaan dengan anggun.

345> * `prompt_cache`: muncul setelah respons API pertama percakapan utama. Lihat [bidang prompt cache](#prompt-cache-fields)345> * `prompt_cache`: muncul setelah respons API pertama percakapan utama. Lihat [bidang prompt cache](#prompt-cache-fields)

346>346>

347> **Bidang yang mungkin `null`**:347> **Bidang yang mungkin `null`**:


819 819 

820### Penggunaan batas laju820### Penggunaan batas laju

821 821 

822Tampilkan penggunaan rate limit langganan claude.ai, atau pengeluaran Anda terhadap batas pengeluaran gateway aplikasi Claude, dalam baris status. Untuk pelanggan, objek `rate_limits` berisi jendela bergulir `five_hour` dan jendela mingguan `seven_day`. Setiap jendela menyediakan `used_percentage`, dari 0 hingga 100, dan `resets_at`, detik epoch Unix ketika jendela direset. Di balik gateway, baca objek `spend_limit`, yang dijelaskan di [bidang batas pengeluaran](#spend-limit-fields).822Tampilkan penggunaan rate limit langganan claude.ai, atau pengeluaran Anda terhadap batas pengeluaran gateway aplikasi Claude, dalam baris status. Untuk pelanggan, objek `rate_limits` dapat berisi jendela bergulir `five_hour` dan jendela mingguan `seven_day`. Setiap jendela menyediakan `used_percentage`, dari 0 hingga 100, dan `resets_at`, detik epoch Unix ketika jendela direset. Di balik gateway, baca objek `spend_limit`, yang dijelaskan di [bidang batas pengeluaran](#spend-limit-fields).

823 823 

824Objek `rate_limits` hanya ada untuk pelanggan claude.ai Pro dan Max, atau di balik gateway aplikasi Claude dengan batas pengeluaran, dan hanya setelah respons API pertama. Setiap skrip menangani bidang yang tidak ada dengan anggun, dan di balik gateway mencetak `spend: $314.12 / $500`, atau `spend: 63%` selama bidang dolar tidak ada:824Objek `rate_limits` hanya ada untuk pelanggan claude.ai Pro, Max, dan Ultra, atau di balik gateway aplikasi Claude dengan batas pengeluaran, dan hanya setelah respons API pertama. Setiap skrip menangani bidang yang tidak ada dengan anggun, dan di balik gateway mencetak `spend: $314.12 / $500`, atau `spend: 63%` selama bidang dolar tidak ada:

825 825 

826```bash Bash theme={null}826```bash Bash theme={null}

827#!/bin/bash827#!/bin/bash

sub-agents.md +77 −77

Details

32 32 

33Explore dan Plan dimulai tanpa file CLAUDE.md Anda dan snapshot status git untuk menjaga penelitian tetap cepat dan hemat biaya. Subagent bawaan lainnya dan [subagent khusus](#configure-subagents) memuat keduanya, kecuali Anda menetapkan [`omitClaudeMd`](#supported-frontmatter-fields) dalam definisi subagent khusus untuk memulainya tanpa file CLAUDE.md pengguna, proyek, dan lokal. Untuk rincian lengkap tentang apa yang mencapai subagent, lihat [apa yang dimuat saat startup](#what-loads-at-startup).33Explore dan Plan dimulai tanpa file CLAUDE.md Anda dan snapshot status git untuk menjaga penelitian tetap cepat dan hemat biaya. Subagent bawaan lainnya dan [subagent khusus](#configure-subagents) memuat keduanya, kecuali Anda menetapkan [`omitClaudeMd`](#supported-frontmatter-fields) dalam definisi subagent khusus untuk memulainya tanpa file CLAUDE.md pengguna, proyek, dan lokal. Untuk rincian lengkap tentang apa yang mencapai subagent, lihat [apa yang dimuat saat startup](#what-loads-at-startup).

34 34 

35**Explore**35> [tab] Explore

36 36>

37Agen cepat yang dioptimalkan hanya-baca untuk mencari dan menganalisis basis kode.37> Agen cepat yang dioptimalkan hanya-baca untuk mencari dan menganalisis basis kode.

38 38>

39* **Model**: model percakapan utama. Ketika percakapan utama menjalankan Fable, model Explore bergantung pada cara Anda terhubung:39> * **Model**: model percakapan utama. Ketika percakapan utama menjalankan Fable, model Explore bergantung pada cara Anda terhubung:

40 * Dengan langganan Claude, akun Anthropic Console, atau [LLM gateway](https://code.claude.com/docs/id/llm-gateway) yang dijangkau melalui `ANTHROPIC_BASE_URL`, Explore berjalan pada model Opus yang dirujuk oleh [alias `opus`](https://code.claude.com/docs/id/model-config#model-aliases).40> * Dengan langganan Claude, akun Anthropic Console, atau [LLM gateway](https://code.claude.com/docs/id/llm-gateway) yang dijangkau melalui `ANTHROPIC_BASE_URL`, Explore berjalan pada model Opus yang dirujuk oleh [alias `opus`](https://code.claude.com/docs/id/model-config#model-aliases).

41 * Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, [Claude Platform on AWS](https://code.claude.com/docs/id/claude-platform-on-aws.md), atau [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway), Explore tetap menggunakan model percakapan utama.41> * Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, [Claude Platform on AWS](https://code.claude.com/docs/id/claude-platform-on-aws.md), atau [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway), Explore tetap menggunakan model percakapan utama.

42* **Tools**: tool read-only; Write dan Edit ditolak42> * **Tools**: tool read-only; Write dan Edit ditolak

43* **Purpose**: penemuan file, pencarian kode, eksplorasi codebase43> * **Purpose**: penemuan file, pencarian kode, eksplorasi codebase

44 44>

45[User atau project subagent](#choose-the-subagent-scope) bernama `Explore` menimpa yang bawaan dan menyimpan bidang `model` miliknya sendiri, jadi tentukan satu dengan `model: haiku` untuk menjalankan eksplorasi pada model dengan biaya lebih rendah. Untuk memaksakan satu model ke setiap subagent, termasuk Explore, lihat [Jalankan setiap subagent pada satu model](#run-every-subagent-on-one-model).45> [User atau project subagent](#choose-the-subagent-scope) bernama `Explore` menimpa yang bawaan dan menyimpan bidang `model` miliknya sendiri, jadi tentukan satu dengan `model: haiku` untuk menjalankan eksplorasi pada model dengan biaya lebih rendah. Untuk memaksakan satu model ke setiap subagent, termasuk Explore, lihat [Jalankan setiap subagent pada satu model](#run-every-subagent-on-one-model).

46 46>

47Claude mendelegasikan ke Explore ketika perlu mencari atau memahami basis kode tanpa membuat perubahan. Ini menjaga hasil eksplorasi di luar konteks percakapan utama Anda.47> Claude mendelegasikan ke Explore ketika perlu mencari atau memahami basis kode tanpa membuat perubahan. Ini menjaga hasil eksplorasi di luar konteks percakapan utama Anda.

48 48>

49Saat memanggil Explore, Claude menentukan tingkat ketelitian: **quick** untuk pencarian yang ditargetkan, **medium** untuk eksplorasi seimbang, atau **very thorough** untuk analisis komprehensif.49> Saat memanggil Explore, Claude menentukan tingkat ketelitian: **quick** untuk pencarian yang ditargetkan, **medium** untuk eksplorasi seimbang, atau **very thorough** untuk analisis komprehensif.

50 

51**Plan**

52 

53Agen penelitian yang digunakan selama [plan mode](https://code.claude.com/docs/id/permission-modes.md#analyze-before-you-edit-with-plan-mode) untuk mengumpulkan konteks sebelum menyajikan rencana.

54 

55* **Model**: mewarisi dari percakapan utama, kecuali Anda menetapkan `CLAUDE_CODE_SUBAGENT_MODEL` dan [memaksanya ke setiap subagent](#run-every-subagent-on-one-model)

56* **Tools**: alat hanya-baca; Write dan Edit ditolak

57* **Purpose**: penelitian basis kode untuk perencanaan

58 

59Ketika Anda dalam plan mode dan Claude perlu memahami basis kode Anda, Claude mendelegasikan penelitian ke subagent Plan sehingga output eksplorasi tetap dalam jendela konteks terpisah sementara percakapan utama tetap hanya-baca.

60 

61**General-purpose**

62 

63Agen yang mampu untuk tugas kompleks multi-langkah yang memerlukan eksplorasi dan tindakan.

64 

65* **Model**: model [`CLAUDE_CODE_SUBAGENT_MODEL`](#choose-a-model) jika Anda menetapkan satu dan tidak ada yang menetapkan model dengan cara lain, jika tidak model percakapan utama; [Pilih model](#choose-a-model) menyatakan urutan lengkap, dan [Jalankan setiap subagent pada satu model](#run-every-subagent-on-one-model) menunjukkan cara membuat variabel menggantikan sumber-sumber tersebut

66* **Tools**: setiap alat [tersedia untuk subagent](#available-tools)

67* **Purpose**: penelitian kompleks, operasi multi-langkah, modifikasi kode

68 

69Claude mendelegasikan ke general-purpose ketika tugas memerlukan eksplorasi dan modifikasi, penalaran kompleks untuk menafsirkan hasil, atau beberapa langkah yang saling bergantung.

70 50 

71**Other**51> [tab] Plan

52>

53> Agen penelitian yang digunakan selama [plan mode](https://code.claude.com/docs/id/permission-modes.md#analyze-before-you-edit-with-plan-mode) untuk mengumpulkan konteks sebelum menyajikan rencana.

54>

55> * **Model**: mewarisi dari percakapan utama, kecuali Anda menetapkan `CLAUDE_CODE_SUBAGENT_MODEL` dan [memaksanya ke setiap subagent](#run-every-subagent-on-one-model)

56> * **Tools**: alat hanya-baca; Write dan Edit ditolak

57> * **Purpose**: penelitian basis kode untuk perencanaan

58>

59> Ketika Anda dalam plan mode dan Claude perlu memahami basis kode Anda, Claude mendelegasikan penelitian ke subagent Plan sehingga output eksplorasi tetap dalam jendela konteks terpisah sementara percakapan utama tetap hanya-baca.

72 60 

73Claude Code mencakup agen pembantu tambahan untuk tugas tertentu. Ini biasanya dipanggil secara otomatis, jadi Anda tidak perlu menggunakannya secara langsung.61> [tab] General-purpose

62>

63> Agen yang mampu untuk tugas kompleks multi-langkah yang memerlukan eksplorasi dan tindakan.

64>

65> * **Model**: model [`CLAUDE_CODE_SUBAGENT_MODEL`](#choose-a-model) jika Anda menetapkan satu dan tidak ada yang menetapkan model dengan cara lain, jika tidak model percakapan utama; [Pilih model](#choose-a-model) menyatakan urutan lengkap, dan [Jalankan setiap subagent pada satu model](#run-every-subagent-on-one-model) menunjukkan cara membuat variabel menggantikan sumber-sumber tersebut

66> * **Tools**: setiap alat [tersedia untuk subagent](#available-tools)

67> * **Purpose**: penelitian kompleks, operasi multi-langkah, modifikasi kode

68>

69> Claude mendelegasikan ke general-purpose ketika tugas memerlukan eksplorasi dan modifikasi, penalaran kompleks untuk menafsirkan hasil, atau beberapa langkah yang saling bergantung.

74 70 

75| Agen | Model | Kapan Claude menggunakannya |71> [tab] Other

76| :- | :- | :- |72>

77| claude | Tidak ada miliknya sendiri; mengikuti [urutan model](#choose-a-model) ketika Claude menelurkannya sebagai subagent | Ketika tugas tidak sesuai dengan agen yang lebih khusus. Catch-all dengan setiap alat [tersedia untuk subagent](#available-tools). Juga agen default untuk [sesi latar belakang](https://code.claude.com/docs/id/agent-view.md) yang dikirim; [mode izin mana yang dimulainya](https://code.claude.com/docs/id/agent-view.md#permission-mode-model-and-effort) tergantung pada cara sesi dimulai |73> Claude Code mencakup agen pembantu tambahan untuk tugas tertentu. Ini biasanya dipanggil secara otomatis, jadi Anda tidak perlu menggunakannya secara langsung.

78| statusline-setup | Sonnet | Ketika Anda menjalankan `/statusline` untuk mengonfigurasi baris status Anda |74>

79| claude-code-guide | Haiku | Ketika Anda mengajukan pertanyaan tentang fitur Claude Code |75> | Agen | Model | Kapan Claude menggunakannya |

76> | :- | :- | :- |

77> | claude | Tidak ada miliknya sendiri; mengikuti [urutan model](#choose-a-model) ketika Claude menelurkannya sebagai subagent | Ketika tugas tidak sesuai dengan agen yang lebih khusus. Catch-all dengan setiap alat [tersedia untuk subagent](#available-tools). Juga agen default untuk [sesi latar belakang](https://code.claude.com/docs/id/agent-view.md) yang dikirim; [mode izin mana yang dimulainya](https://code.claude.com/docs/id/agent-view.md#permission-mode-model-and-effort) tergantung pada cara sesi dimulai |

78> | statusline-setup | Sonnet | Ketika Anda menjalankan `/statusline` untuk mengonfigurasi baris status Anda |

79> | claude-code-guide | Haiku | Ketika Anda mengajukan pertanyaan tentang fitur Claude Code |

80 80 

81Subagent bawaan terdaftar secara default dalam sesi interaktif. Untuk membatasi mereka:81Subagent bawaan terdaftar secara default dalam sesi interaktif. Untuk membatasi mereka:

82 82 


179 179 

180**Subagent yang didefinisikan CLI** dilewatkan sebagai JSON saat meluncurkan Claude Code. Mereka hanya ada untuk sesi itu dan tidak disimpan ke disk, menjadikannya berguna untuk pengujian cepat atau skrip otomasi. Anda dapat mendefinisikan beberapa subagent dalam satu panggilan `--agents`:180**Subagent yang didefinisikan CLI** dilewatkan sebagai JSON saat meluncurkan Claude Code. Mereka hanya ada untuk sesi itu dan tidak disimpan ke disk, menjadikannya berguna untuk pengujian cepat atau skrip otomasi. Anda dapat mendefinisikan beberapa subagent dalam satu panggilan `--agents`:

181 181 

182**macOS, Linux, WSL**182> [tab] macOS, Linux, WSL

183 183>

184```bash theme={null}184> ```bash theme={null}

185claude --agents '{185> claude --agents '{

186 "code-reviewer": {186> "code-reviewer": {

187 "description": "Expert code reviewer. Use proactively after code changes.",187> "description": "Expert code reviewer. Use proactively after code changes.",

188 "prompt": "You are a senior code reviewer. Focus on code quality, security, and best practices.",188> "prompt": "You are a senior code reviewer. Focus on code quality, security, and best practices.",

189 "tools": ["Read", "Grep", "Glob", "Bash"],189> "tools": ["Read", "Grep", "Glob", "Bash"],

190 "model": "sonnet"190> "model": "sonnet"

191 },191> },

192 "debugger": {192> "debugger": {

193 "description": "Debugging specialist for errors and test failures.",193> "description": "Debugging specialist for errors and test failures.",

194 "prompt": "You are an expert debugger. Analyze errors, identify root causes, and provide fixes."194> "prompt": "You are an expert debugger. Analyze errors, identify root causes, and provide fixes."

195 }195> }

196}'196> }'

197```197> ```

198 198 

199**Windows PowerShell**199> [tab] Windows PowerShell

200 200>

201```powershell theme={null}201> ```powershell theme={null}

202claude --agents @'202> claude --agents @'

203{203> {

204 "code-reviewer": {204> "code-reviewer": {

205 "description": "Expert code reviewer. Use proactively after code changes.",205> "description": "Expert code reviewer. Use proactively after code changes.",

206 "prompt": "You are a senior code reviewer. Focus on code quality, security, and best practices.",206> "prompt": "You are a senior code reviewer. Focus on code quality, security, and best practices.",

207 "tools": ["Read", "Grep", "Glob", "Bash"],207> "tools": ["Read", "Grep", "Glob", "Bash"],

208 "model": "sonnet"208> "model": "sonnet"

209 },209> },

210 "debugger": {210> "debugger": {

211 "description": "Debugging specialist for errors and test failures.",211> "description": "Debugging specialist for errors and test failures.",

212 "prompt": "You are an expert debugger. Analyze errors, identify root causes, and provide fixes."212> "prompt": "You are an expert debugger. Analyze errors, identify root causes, and provide fixes."

213 }213> }

214}214> }

215'@215> '@

216```216> ```

217 217 

218Dalam [mode non-interaktif](https://code.claude.com/docs/id/headless.md), `--agents` juga menerima jalur ke file JSON yang menyimpan objek yang sama, untuk definisi yang terlalu besar untuk dilewatkan di baris perintah. Misalnya, `claude -p --agents ./agents.json "Review my changes"` membaca definisi dari file itu. Dalam sesi interaktif, Claude Code menolak jalur file. Bentuk file memerlukan Claude Code v2.1.281 atau lebih baru.218Dalam [mode non-interaktif](https://code.claude.com/docs/id/headless.md), `--agents` juga menerima jalur ke file JSON yang menyimpan objek yang sama, untuk definisi yang terlalu besar untuk dilewatkan di baris perintah. Misalnya, `claude -p --agents ./agents.json "Review my changes"` membaca definisi dari file itu. Dalam sesi interaktif, Claude Code menolak jalur file. Bentuk file memerlukan Claude Code v2.1.281 atau lebih baru.

219 219 

terminal-config.md +16 −16

Details

48 48 

49Beberapa pintasan keyboard Claude Code menggunakan tombol Option, seperti Option+Enter untuk baris baru atau Option+P untuk beralih model. Di macOS, sebagian besar terminal tidak mengirimkan Option sebagai pengubah secara default, sehingga pintasan ini tidak berfungsi sampai Anda mengaktifkannya. Pengaturan terminal untuk ini biasanya berlabel "Use Option as Meta Key"; Meta adalah nama Unix historis untuk tombol yang sekarang berlabel Option atau Alt.49Beberapa pintasan keyboard Claude Code menggunakan tombol Option, seperti Option+Enter untuk baris baru atau Option+P untuk beralih model. Di macOS, sebagian besar terminal tidak mengirimkan Option sebagai pengubah secara default, sehingga pintasan ini tidak berfungsi sampai Anda mengaktifkannya. Pengaturan terminal untuk ini biasanya berlabel "Use Option as Meta Key"; Meta adalah nama Unix historis untuk tombol yang sekarang berlabel Option atau Alt.

50 50 

51**Apple Terminal**51> [tab] Apple Terminal

52 52>

53Buka Settings → Profiles → Keyboard dan centang "Use Option as Meta Key".53> Buka Settings → Profiles → Keyboard dan centang "Use Option as Meta Key".

54 54>

55Jika Anda menerima prompt pengaturan terminal first-run Claude Code, ini sudah selesai. Prompt tersebut menjalankan `/terminal-setup` untuk Anda, yang mengaktifkan Option sebagai Meta dan mematikan bel audibel di profil Apple Terminal Anda.55> Jika Anda menerima prompt pengaturan terminal first-run Claude Code, ini sudah selesai. Prompt tersebut menjalankan `/terminal-setup` untuk Anda, yang mengaktifkan Option sebagai Meta dan mematikan bel audibel di profil Apple Terminal Anda.

56 56>

57Dalam [mode pembaca layar](https://code.claude.com/docs/id/accessibility.md), `/terminal-setup` membiarkan pengaturan bel tidak berubah sehingga bel terminal tetap audibel. Jika penjalankan sebelumnya mematikan bel, aktifkan kembali di Settings → Profiles → Advanced → "Audible bell".57> Dalam [mode pembaca layar](https://code.claude.com/docs/id/accessibility.md), `/terminal-setup` membiarkan pengaturan bel tidak berubah sehingga bel terminal tetap audibel. Jika penjalankan sebelumnya mematikan bel, aktifkan kembali di Settings → Profiles → Advanced → "Audible bell".

58 

59**iTerm2**

60 

61Buka Settings → Profiles → Keys → General dan atur Left Option key dan Right Option key ke "Esc+".

62 

63Menjalankan `/terminal-setup` di iTerm2 mengaktifkan "Applications in terminal may access clipboard" di Settings → General → Selection sehingga perintah `/copy` dapat menulis ke clipboard sistem Anda. Perintah mendeteksi iTerm2 bahkan ketika dijalankan dari dalam tmux. Mulai ulang iTerm2 agar perubahan berlaku.

64 58 

65**VS Code**59> [tab] iTerm2

60>

61> Buka Settings → Profiles → Keys → General dan atur Left Option key dan Right Option key ke "Esc+".

62>

63> Menjalankan `/terminal-setup` di iTerm2 mengaktifkan "Applications in terminal may access clipboard" di Settings → General → Selection sehingga perintah `/copy` dapat menulis ke clipboard sistem Anda. Perintah mendeteksi iTerm2 bahkan ketika dijalankan dari dalam tmux. Mulai ulang iTerm2 agar perubahan berlaku.

66 64 

67Tambahkan `"terminal.integrated.macOptionIsMeta": true` ke pengaturan VS Code Anda.65> [tab] VS Code

66>

67> Tambahkan `"terminal.integrated.macOptionIsMeta": true` ke pengaturan VS Code Anda.

68 68 

69Untuk Ghostty, Kitty, dan terminal lainnya, cari pengaturan Option-as-Alt atau Option-as-Meta dalam file konfigurasi terminal.69Untuk Ghostty, Kitty, dan terminal lainnya, cari pengaturan Option-as-Alt atau Option-as-Meta dalam file konfigurasi terminal.

70 70 


188 188 

189Referensi di bawah mencakup token yang dapat Anda atur di `overrides`. Editor interaktif di `/theme` menampilkan token yang sama dengan pratinjau langsung, ditambah beberapa aksen tujuan tunggal seperti warna layar onboarding yang dihilangkan di sini.189Referensi di bawah mencakup token yang dapat Anda atur di `overrides`. Editor interaktif di `/theme` menampilkan token yang sama dengan pratinjau langsung, ditambah beberapa aksen tujuan tunggal seperti warna layar onboarding yang dihilangkan di sini.

190 190 

191> **Color token reference**191> [accordion] Color token reference

192>192>

193> Contoh berikut menggabungkan token dari beberapa grup di bawah: aksen merek, batas mode rencana, latar belakang diff, dan latar belakang pesan.193> Contoh berikut menggabungkan token dari beberapa grup di bawah: aksen merek, batas mode rencana, latar belakang diff, dan latar belakang pesan.

194>194>

Details

19| Tool | Deskripsi | Izin diperlukan |19| Tool | Deskripsi | Izin diperlukan |

20| :- | :- | :- |20| :- | :- | :- |

21| `Agent` | Menjalankan [subagent](https://code.claude.com/docs/id/sub-agents.md) dengan jendela konteks sendiri untuk menangani tugas. Dengan [tim agent](https://code.claude.com/docs/id/agent-teams.md) diaktifkan, panggilan yang membawa `name` dapat meluncurkan [rekan tim](https://code.claude.com/docs/id/agent-teams.md#how-claude-starts-agent-teams) sebagai gantinya. Lihat [Perilaku tool Agent](#agent-tool-behavior) | Tidak |21| `Agent` | Menjalankan [subagent](https://code.claude.com/docs/id/sub-agents.md) dengan jendela konteks sendiri untuk menangani tugas. Dengan [tim agent](https://code.claude.com/docs/id/agent-teams.md) diaktifkan, panggilan yang membawa `name` dapat meluncurkan [rekan tim](https://code.claude.com/docs/id/agent-teams.md#how-claude-starts-agent-teams) sebagai gantinya. Lihat [Perilaku tool Agent](#agent-tool-behavior) | Tidak |

22| `Artifact` | Menerbitkan file HTML atau Markdown sebagai [artifact](https://code.claude.com/docs/id/artifacts.md): halaman pribadi dan interaktif di claude.ai. Anda dapat membagikannya dengan tautan publik, atau di dalam organisasi Anda pada paket Team dan Enterprise, di mana berbagi publik memerlukan Owner untuk [mengaktifkannya](https://code.claude.com/docs/id/artifacts.md#control-public-sharing). Memerlukan paket Pro, Max, Team, atau Enterprise dan autentikasi `/login`; lihat [Ketersediaan](https://code.claude.com/docs/id/artifacts.md#availability) | Ya |22| `Artifact` | Menerbitkan file HTML atau Markdown ke claude.ai sebagai [artifact](https://code.claude.com/docs/id/artifacts.md): halaman pribadi dan interaktif. Anda dapat membagikannya dengan tautan publik, atau di dalam organisasi Anda pada paket Team dan Enterprise, di mana berbagi publik memerlukan Owner untuk [mengaktifkannya](https://code.claude.com/docs/id/artifacts.md#control-public-sharing). Memerlukan paket Pro, Max, Ultra, Team, atau Enterprise dan autentikasi `/login`; lihat [Ketersediaan](https://code.claude.com/docs/id/artifacts.md#availability) | Ya |

23| `AskUserQuestion` | Mengajukan pertanyaan pilihan ganda untuk mengumpulkan persyaratan atau mengklarifikasi ambiguitas. Pertanyaan tetap terbuka sampai Anda menjawabnya secara default. Lihat [Perilaku tool AskUserQuestion](#askuserquestion-tool-behavior) | Tidak |23| `AskUserQuestion` | Mengajukan pertanyaan pilihan ganda untuk mengumpulkan persyaratan atau mengklarifikasi ambiguitas. Pertanyaan tetap terbuka sampai Anda menjawabnya secara default. Lihat [Perilaku tool AskUserQuestion](#askuserquestion-tool-behavior) | Tidak |

24| `Bash` | Menjalankan perintah shell di lingkungan Anda. Lihat [Perilaku tool Bash](#bash-tool-behavior) | Ya |24| `Bash` | Menjalankan perintah shell di lingkungan Anda. Lihat [Perilaku tool Bash](#bash-tool-behavior) | Ya |

25| `CronCreate` | Menjadwalkan prompt berulang atau satu kali dalam sesi saat ini. Tugas terbatas pada lingkup sesi dan dipulihkan pada `--resume` atau `--continue` jika belum kedaluwarsa. Lihat [tugas terjadwal dalam lingkup sesi](https://code.claude.com/docs/id/scheduled-tasks.md) | Tidak |25| `CronCreate` | Menjadwalkan prompt berulang atau satu kali dalam sesi saat ini. Tugas terbatas pada lingkup sesi dan dipulihkan pada `--resume` atau `--continue` jika belum kedaluwarsa. Lihat [tugas terjadwal dalam lingkup sesi](https://code.claude.com/docs/id/scheduled-tasks.md) | Tidak |


42| `PushNotification` | Mengirim notifikasi desktop, dan push ponsel ketika [Remote Control](https://code.claude.com/docs/id/remote-control.md) terhubung, sehingga tugas yang berjalan lama atau [tugas terjadwal dalam lingkup sesi](https://code.claude.com/docs/id/scheduled-tasks.md) dapat menjangkau Anda ketika Anda pergi. Pengiriman push berjalan melalui infrastruktur yang dihosting Anthropic, yang tidak dapat diakses dari Amazon Bedrock, Claude Platform di AWS, Agent Platform Google Cloud, atau Microsoft Foundry | Tidak |42| `PushNotification` | Mengirim notifikasi desktop, dan push ponsel ketika [Remote Control](https://code.claude.com/docs/id/remote-control.md) terhubung, sehingga tugas yang berjalan lama atau [tugas terjadwal dalam lingkup sesi](https://code.claude.com/docs/id/scheduled-tasks.md) dapat menjangkau Anda ketika Anda pergi. Pengiriman push berjalan melalui infrastruktur yang dihosting Anthropic, yang tidak dapat diakses dari Amazon Bedrock, Claude Platform di AWS, Agent Platform Google Cloud, atau Microsoft Foundry | Tidak |

43| `Read` | Membaca konten file. Lihat [Perilaku tool Read](#read-tool-behavior) | Tidak |43| `Read` | Membaca konten file. Lihat [Perilaku tool Read](#read-tool-behavior) | Tidak |

44| `ReadMcpResourceTool` | Membaca sumber daya MCP tertentu berdasarkan URI | Tidak |44| `ReadMcpResourceTool` | Membaca sumber daya MCP tertentu berdasarkan URI | Tidak |

45| `RemoteTrigger` | Membuat, memperbarui, menjalankan, dan mencantumkan [tugas terjadwal cloud](https://code.claude.com/docs/id/routines.md), sebelumnya bernama routine, di claude.ai. Mendukung perintah `/schedule`. [Referensi input `RemoteTrigger`](https://code.claude.com/docs/id/agent-sdk/typescript#remotetrigger) mendokumentasikan setiap tindakan dan kebijakan organisasi yang menghapus tool. Tugas terjadwal cloud berada di claude.ai dan memerlukan paket Pro, Max, Team, atau Enterprise. Oleh karena itu, tool ini tidak dapat diakses dari Amazon Bedrock, Claude Platform di AWS, Agent Platform Google Cloud, atau Microsoft Foundry | Tidak |45| `RemoteTrigger` | Membuat, memperbarui, menjalankan, dan mencantumkan [tugas terjadwal cloud](https://code.claude.com/docs/id/routines.md), sebelumnya bernama routine, di claude.ai. Mendukung perintah `/schedule`. [Referensi input `RemoteTrigger`](https://code.claude.com/docs/id/agent-sdk/typescript#remotetrigger) mendokumentasikan setiap tindakan dan kebijakan organisasi yang menghapus tool. Tugas terjadwal cloud berada di claude.ai dan memerlukan paket Pro, Max, Ultra, Team, atau Enterprise. Oleh karena itu, tool ini tidak dapat diakses dari Amazon Bedrock, Claude Platform di AWS, Agent Platform Google Cloud, atau Microsoft Foundry | Tidak |

46| `ReportFindings` | Melaporkan temuan code review sebagai daftar terstruktur, dengan file, ringkasan, dan skenario kegagalan per temuan, sehingga Claude Code dapat merendernya alih-alih mencetaknya sebagai teks. Claude memanggilnya ketika instruksi code review yang aktif memberitahunya untuk melakukannya. Temuan juga dapat membawa slug `category` opsional, seperti `correctness` atau `test-coverage`, yang ditampilkan di sebelah lokasi file dalam daftar yang dirender | Tidak |46| `ReportFindings` | Melaporkan temuan code review sebagai daftar terstruktur, dengan file, ringkasan, dan skenario kegagalan per temuan, sehingga Claude Code dapat merendernya alih-alih mencetaknya sebagai teks. Claude memanggilnya ketika instruksi code review yang aktif memberitahunya untuk melakukannya. Temuan juga dapat membawa slug `category` opsional, seperti `correctness` atau `test-coverage`, yang ditampilkan di sebelah lokasi file dalam daftar yang dirender | Tidak |

47| `ScheduleWakeup` | Menjadwalkan ulang iterasi berikutnya dari [`/loop` yang berjalan sendiri](https://code.claude.com/docs/id/scheduled-tasks#let-claude-choose-the-interval). Claude memanggilnya di akhir setiap iterasi untuk memilih kapan yang berikutnya berjalan, antara satu menit dan satu jam ke depan; Anda tidak memanggilnya secara langsung. Untuk mengakhiri loop sebagai gantinya, Claude memanggilnya dengan `stop: true`, yang membatalkan wakeup yang tertunda. Wakeup yang tertunda muncul dalam `session_crons` dalam [Input hook Stop](https://code.claude.com/docs/id/hooks.md#stop-input) | Tidak |47| `ScheduleWakeup` | Menjadwalkan ulang iterasi berikutnya dari [`/loop` yang berjalan sendiri](https://code.claude.com/docs/id/scheduled-tasks#let-claude-choose-the-interval). Claude memanggilnya di akhir setiap iterasi untuk memilih kapan yang berikutnya berjalan, antara satu menit dan satu jam ke depan; Anda tidak memanggilnya secara langsung. Untuk mengakhiri loop sebagai gantinya, Claude memanggilnya dengan `stop: true`, yang membatalkan wakeup yang tertunda. Wakeup yang tertunda muncul dalam `session_crons` dalam [Input hook Stop](https://code.claude.com/docs/id/hooks.md#stop-input) | Tidak |

48| `SendFeedback` | Menyusun laporan umpan balik tentang Claude Code, mencakup masalah produk atau perilaku Claude sendiri dalam sesi, dan mengantreannya di mesin Anda untuk Anda tinjau. Claude Code tidak mengirim apa pun sampai Anda memilih untuk mengirim draf. Lihat [Perilaku tool SendFeedback](#sendfeedback-tool-behavior). Memerlukan Claude Code v2.1.238 atau lebih baru | Tidak |48| `SendFeedback` | Menyusun laporan umpan balik tentang Claude Code, mencakup masalah produk atau perilaku Claude sendiri dalam sesi, dan mengantreannya di mesin Anda untuk Anda tinjau. Claude Code tidak mengirim apa pun sampai Anda memilih untuk mengirim draf. Lihat [Perilaku tool SendFeedback](#sendfeedback-tool-behavior). Memerlukan Claude Code v2.1.238 atau lebih baru | Tidak |

Details

75 75 

76Installer mengunduh dari `downloads.claude.ai`. Verifikasi Anda dapat menjangkaunya:76Installer mengunduh dari `downloads.claude.ai`. Verifikasi Anda dapat menjangkaunya:

77 77 

78**macOS/Linux**78> [tab] macOS/Linux

79 79>

80```bash theme={null}80> ```bash theme={null}

81curl -sI https://downloads.claude.ai/claude-code-releases/latest81> curl -sI https://downloads.claude.ai/claude-code-releases/latest

82```82> ```

83 

84**Windows PowerShell**

85 

86```powershell theme={null}

87curl.exe -sI https://downloads.claude.ai/claude-code-releases/latest

88```

89 83 

90PowerShell membuat alias `curl` ke `Invoke-WebRequest`, yang menolak flag `-sI`, jadi panggil `curl.exe` secara eksplisit.84> [tab] Windows PowerShell

85>

86> ```powershell theme={null}

87> curl.exe -sI https://downloads.claude.ai/claude-code-releases/latest

88> ```

89>

90> PowerShell membuat alias `curl` ke `Invoke-WebRequest`, yang menolak flag `-sI`, jadi panggil `curl.exe` secara eksplisit.

91 91 

92Anda menjangkau server jika baris pertama menunjukkan status `200`. Anda melihat `HTTP/2 200` di macOS dan Linux, dan `HTTP/1.1 200 OK` dari `curl.exe` yang disertakan dengan Windows. Hasil lainnya menunjukkan penyebabnya:92Anda menjangkau server jika baris pertama menunjukkan status `200`. Anda melihat `HTTP/2 200` di macOS dan Linux, dan `HTTP/1.1 200 OK` dari `curl.exe` yang disertakan dengan Windows. Hasil lainnya menunjukkan penyebabnya:

93 93 


104 104 

105Contoh ini mengatur kedua variabel proxy, kemudian menjalankan installer melalui proxy Anda:105Contoh ini mengatur kedua variabel proxy, kemudian menjalankan installer melalui proxy Anda:

106 106 

107**macOS/Linux**107> [tab] macOS/Linux

108 108>

109```bash theme={null}109> ```bash theme={null}

110export HTTP_PROXY=http://proxy.example.com:8080110> export HTTP_PROXY=http://proxy.example.com:8080

111export HTTPS_PROXY=http://proxy.example.com:8080111> export HTTPS_PROXY=http://proxy.example.com:8080

112curl -fsSL https://claude.ai/install.sh | bash112> curl -fsSL https://claude.ai/install.sh | bash

113```113> ```

114 

115**Windows PowerShell**

116 114 

117```powershell theme={null}115> [tab] Windows PowerShell

118$env:HTTP_PROXY = 'http://proxy.example.com:8080'116>

119$env:HTTPS_PROXY = 'http://proxy.example.com:8080'117> ```powershell theme={null}

120irm https://claude.ai/install.ps1 | iex118> $env:HTTP_PROXY = 'http://proxy.example.com:8080'

121```119> $env:HTTPS_PROXY = 'http://proxy.example.com:8080'

120> irm https://claude.ai/install.ps1 | iex

121> ```

122 122 

123### Verifikasi PATH Anda123### Verifikasi PATH Anda

124 124 


132 132 

133Pertama, periksa apakah program tersebut memang ada, lalu periksa apakah foldernya ada di PATH Anda. Perbaikan PATH bersifat permanen, jadi Anda cukup menerapkannya sekali. Pilih tab platform Anda dan jalankan perintahnya di sana: di terminal Anda di macOS dan Linux, atau di PowerShell atau Command Prompt di Windows.133Pertama, periksa apakah program tersebut memang ada, lalu periksa apakah foldernya ada di PATH Anda. Perbaikan PATH bersifat permanen, jadi Anda cukup menerapkannya sekali. Pilih tab platform Anda dan jalankan perintahnya di sana: di terminal Anda di macOS dan Linux, atau di PowerShell atau Command Prompt di Windows.

134 134 

135**macOS/Linux**135> [tab] macOS/Linux

136 136>

137Periksa apakah installer telah menempatkan program:137> Periksa apakah installer telah menempatkan program:

138 138>

139```bash theme={null}139> ```bash theme={null}

140ls -la ~/.local/bin/claude140> ls -la ~/.local/bin/claude

141```141> ```

142 142>

143* **`No such file or directory`**: tidak ada native install. Jika Anda belum menginstal Claude Code dengan cara lain, seperti dengan npm, Homebrew, atau package manager Linux, [instal Claude Code](https://code.claude.com/docs/id/setup.md#install-claude-code). Jika Anda menginstalnya dengan cara lain, lihat [Periksa instalasi yang bertentangan](#check-for-conflicting-installations).143> * **`No such file or directory`**: tidak ada native install. Jika Anda belum menginstal Claude Code dengan cara lain, seperti dengan npm, Homebrew, atau package manager Linux, [instal Claude Code](https://code.claude.com/docs/id/setup.md#install-claude-code). Jika Anda menginstalnya dengan cara lain, lihat [Periksa instalasi yang bertentangan](#check-for-conflicting-installations).

144* **Daftar untuk file tersebut**: program ada. Periksa PATH Anda selanjutnya.144> * **Daftar untuk file tersebut**: program ada. Periksa PATH Anda selanjutnya.

145 145>

146Buat daftar entri PATH Anda dan filter untuk folder instalasi:146> Buat daftar entri PATH Anda dan filter untuk folder instalasi:

147 147>

148```bash theme={null}148> ```bash theme={null}

149echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"149> echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"

150```150> ```

151 151>

152Jika ini mencetak `/Users/you/.local/bin` atau `/home/you/.local/bin`, direktori ada di PATH Anda dan Anda dapat melompat ke [Periksa instalasi yang bertentangan](#check-for-conflicting-installations). Jika tidak ada output, tambahkan ke konfigurasi shell Anda dengan dua perintah untuk shell Anda. Perintah `echo` menyimpan pengaturan untuk setiap terminal baru, dan `source` menerapkannya ke jendela yang sedang Anda gunakan. Perintah `echo` tidak mencetak apa pun jika berhasil.152> Jika ini mencetak `/Users/you/.local/bin` atau `/home/you/.local/bin`, direktori ada di PATH Anda dan Anda dapat melompat ke [Periksa instalasi yang bertentangan](#check-for-conflicting-installations). Jika tidak ada output, tambahkan ke konfigurasi shell Anda dengan dua perintah untuk shell Anda. Perintah `echo` menyimpan pengaturan untuk setiap terminal baru, dan `source` menerapkannya ke jendela yang sedang Anda gunakan. Perintah `echo` tidak mencetak apa pun jika berhasil.

153 153>

154Untuk Zsh, default di macOS:154> Untuk Zsh, default di macOS:

155 155>

156```bash theme={null}156> ```bash theme={null}

157echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc157> echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc

158source ~/.zshrc158> source ~/.zshrc

159```159> ```

160 160>

161Untuk Bash di Linux, di mana ini adalah default di sebagian besar distribusi:161> Untuk Bash di Linux, di mana ini adalah default di sebagian besar distribusi:

162 162>

163```bash theme={null}163> ```bash theme={null}

164echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc164> echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

165source ~/.bashrc165> source ~/.bashrc

166```166> ```

167 167>

168Untuk Bash di macOS, tambahkan baris ke `~/.bash_profile` sebagai gantinya. Terminal di macOS memulai Bash sebagai login shell, yang mengabaikan `~/.bashrc` dan hanya membaca yang pertama dari `~/.bash_profile`, `~/.bash_login`, atau `~/.profile` yang ada. Jika Anda sudah memiliki `~/.bash_login` atau `~/.profile` dan tidak ada `~/.bash_profile`, letakkan baris di file itu daripada membuat `~/.bash_profile`:168> Untuk Bash di macOS, tambahkan baris ke `~/.bash_profile` sebagai gantinya. Terminal di macOS memulai Bash sebagai login shell, yang mengabaikan `~/.bashrc` dan hanya membaca yang pertama dari `~/.bash_profile`, `~/.bash_login`, atau `~/.profile` yang ada. Jika Anda sudah memiliki `~/.bash_login` atau `~/.profile` dan tidak ada `~/.bash_profile`, letakkan baris di file itu daripada membuat `~/.bash_profile`:

169 169>

170```bash theme={null}170> ```bash theme={null}

171echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bash_profile171> echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bash_profile

172source ~/.bash_profile172> source ~/.bash_profile

173```173> ```

174 174>

175Atau, tutup dan buka kembali terminal Anda.175> Atau, tutup dan buka kembali terminal Anda.

176 176>

177Jika perintah `echo` mencetak `permission denied`, lihat [`permission denied` saat menambahkan ke PATH Anda](#permission-denied-when-adding-to-your-path).177> Jika perintah `echo` mencetak `permission denied`, lihat [`permission denied` saat menambahkan ke PATH Anda](#permission-denied-when-adding-to-your-path).

178 178>

179Untuk shell lain seperti fish atau Nushell, tambahkan `~/.local/bin` ke PATH Anda menggunakan sintaks konfigurasi shell Anda sendiri, kemudian restart terminal Anda.179> Untuk shell lain seperti fish atau Nushell, tambahkan `~/.local/bin` ke PATH Anda menggunakan sintaks konfigurasi shell Anda sendiri, kemudian restart terminal Anda.

180 180>

181Verifikasi perbaikan berhasil:181> Verifikasi perbaikan berhasil:

182 182>

183```bash theme={null}183> ```bash theme={null}

184claude --version184> claude --version

185```185> ```

186 186>

187Jika `claude` masih tidak ditemukan, periksa penyebab berikut:187> Jika `claude` masih tidak ditemukan, periksa penyebab berikut:

188 188>

189* **Terminal dibuka sebelum perubahan**: jendela yang sudah terbuka tetap menggunakan PATH lamanya, dan terminal di dalam editor mengambil PATH-nya dari editor. Buka jendela baru, atau keluar dan buka kembali editor.189> * **Terminal dibuka sebelum perubahan**: jendela yang sudah terbuka tetap menggunakan PATH lamanya, dan terminal di dalam editor mengambil PATH-nya dari editor. Buka jendela baru, atau keluar dan buka kembali editor.

190* **Baris tidak tersimpan**: jalankan `grep -n '.local/bin' ~/.zshrc`, menggunakan nama file shell Anda. Perintah ini mencetak baris beserta nomor barisnya jika baris tersebut ada. Jika tidak mencetak apa pun, jalankan kembali dua perintah PATH.190> * **Baris tidak tersimpan**: jalankan `grep -n '.local/bin' ~/.zshrc`, menggunakan nama file shell Anda. Perintah ini mencetak baris beserta nomor barisnya jika baris tersebut ada. Jika tidak mencetak apa pun, jalankan kembali dua perintah PATH.

191* **Baris masuk ke file shell lain**: jalankan `echo $0` untuk melihat shell Anda, lalu jalankan dua perintah PATH untuk shell tersebut.191> * **Baris masuk ke file shell lain**: jalankan `echo $0` untuk melihat shell Anda, lalu jalankan dua perintah PATH untuk shell tersebut.

192 

193**Windows PowerShell**

194 

195Periksa apakah installer telah menempatkan program:

196 

197```powershell theme={null}

198Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

199```

200 

201* **`False`**: tidak ada native install. Jika Anda belum menginstal Claude Code dengan cara lain, seperti dengan npm atau WinGet, [instal Claude Code](https://code.claude.com/docs/id/setup.md#install-claude-code). Jika Anda menginstalnya dengan cara lain, lihat [Periksa instalasi yang bertentangan](#check-for-conflicting-installations).

202* **`True`**: program ada. Periksa PATH Anda selanjutnya.

203 

204Buat daftar entri PATH Anda dan filter untuk folder instalasi:

205 

206```powershell theme={null}

207$env:PATH -split ';' | Select-String '\.local\\bin'

208```

209 

210Jika ini mencetak `C:\Users\you\.local\bin`, direktori ada di PATH Anda dan Anda dapat melompat ke [Periksa instalasi yang bertentangan](#check-for-conflicting-installations). Jika tidak ada output, tambahkan direktori instalasi ke User PATH Anda:

211 

212```powershell theme={null}

213$currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')

214[Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')

215```

216 

217Restart terminal Anda agar perubahan berlaku.

218 

219Verifikasi perbaikan berhasil:

220 

221```powershell theme={null}

222claude --version

223```

224 

225Jika `claude` masih tidak ditemukan di terminal baru, periksa penyebab berikut:

226 

227* **Terminal berjalan di dalam editor**: terminal mengambil PATH-nya dari editor, jadi keluar dan buka kembali editor.

228* **Perubahan tidak tersimpan**: jalankan `[Environment]::GetEnvironmentVariable('PATH', 'User')` dan cari `.local\bin` di PATH yang dicetaknya. Jika tidak ada, jalankan kembali kedua perintah tersebut.

229 

230**Windows CMD**

231 

232Periksa apakah installer telah menempatkan program:

233 

234```batch theme={null}

235dir "%USERPROFILE%\.local\bin\claude.exe"

236```

237 

238* **`File Not Found` atau `The system cannot find the path specified.`**: tidak ada native install. Jika Anda belum menginstal Claude Code dengan cara lain, seperti dengan npm atau WinGet, [instal Claude Code](https://code.claude.com/docs/id/setup.md#install-claude-code). Jika Anda menginstalnya dengan cara lain, lihat [Periksa instalasi yang bertentangan](#check-for-conflicting-installations).

239* **Daftar untuk `claude.exe`**: program ada. Periksa PATH Anda selanjutnya.

240 

241Buat daftar entri PATH Anda dan filter untuk folder instalasi:

242 

243```batch theme={null}

244echo %PATH% | findstr /i "local\bin"

245```

246 

247Jika tidak ada output, buka System Settings, buka Environment Variables, dan tambahkan `%USERPROFILE%\.local\bin` ke variabel User PATH Anda. Restart terminal Anda.

248 

249Verifikasi perbaikan berhasil:

250 192 

251```batch theme={null}193> [tab] Windows PowerShell

252claude --version194>

253```195> Periksa apakah installer telah menempatkan program:

196>

197> ```powershell theme={null}

198> Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

199> ```

200>

201> * **`False`**: tidak ada native install. Jika Anda belum menginstal Claude Code dengan cara lain, seperti dengan npm atau WinGet, [instal Claude Code](https://code.claude.com/docs/id/setup.md#install-claude-code). Jika Anda menginstalnya dengan cara lain, lihat [Periksa instalasi yang bertentangan](#check-for-conflicting-installations).

202> * **`True`**: program ada. Periksa PATH Anda selanjutnya.

203>

204> Buat daftar entri PATH Anda dan filter untuk folder instalasi:

205>

206> ```powershell theme={null}

207> $env:PATH -split ';' | Select-String '\.local\\bin'

208> ```

209>

210> Jika ini mencetak `C:\Users\you\.local\bin`, direktori ada di PATH Anda dan Anda dapat melompat ke [Periksa instalasi yang bertentangan](#check-for-conflicting-installations). Jika tidak ada output, tambahkan direktori instalasi ke User PATH Anda:

211>

212> ```powershell theme={null}

213> $currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')

214> [Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')

215> ```

216>

217> Restart terminal Anda agar perubahan berlaku.

218>

219> Verifikasi perbaikan berhasil:

220>

221> ```powershell theme={null}

222> claude --version

223> ```

224>

225> Jika `claude` masih tidak ditemukan di terminal baru, periksa penyebab berikut:

226>

227> * **Terminal berjalan di dalam editor**: terminal mengambil PATH-nya dari editor, jadi keluar dan buka kembali editor.

228> * **Perubahan tidak tersimpan**: jalankan `[Environment]::GetEnvironmentVariable('PATH', 'User')` dan cari `.local\bin` di PATH yang dicetaknya. Jika tidak ada, jalankan kembali kedua perintah tersebut.

254 229 

255Jika `claude` masih tidak ditemukan di terminal baru, terminal di dalam editor mengambil PATH-nya dari editor, jadi keluar dan buka kembali editor juga.230> [tab] Windows CMD

231>

232> Periksa apakah installer telah menempatkan program:

233>

234> ```batch theme={null}

235> dir "%USERPROFILE%\.local\bin\claude.exe"

236> ```

237>

238> * **`File Not Found` atau `The system cannot find the path specified.`**: tidak ada native install. Jika Anda belum menginstal Claude Code dengan cara lain, seperti dengan npm atau WinGet, [instal Claude Code](https://code.claude.com/docs/id/setup.md#install-claude-code). Jika Anda menginstalnya dengan cara lain, lihat [Periksa instalasi yang bertentangan](#check-for-conflicting-installations).

239> * **Daftar untuk `claude.exe`**: program ada. Periksa PATH Anda selanjutnya.

240>

241> Buat daftar entri PATH Anda dan filter untuk folder instalasi:

242>

243> ```batch theme={null}

244> echo %PATH% | findstr /i "local\bin"

245> ```

246>

247> Jika tidak ada output, buka System Settings, buka Environment Variables, dan tambahkan `%USERPROFILE%\.local\bin` ke variabel User PATH Anda. Restart terminal Anda.

248>

249> Verifikasi perbaikan berhasil:

250>

251> ```batch theme={null}

252> claude --version

253> ```

254>

255> Jika `claude` masih tidak ditemukan di terminal baru, terminal di dalam editor mengambil PATH-nya dari editor, jadi keluar dan buka kembali editor juga.

256 256 

257### Periksa instalasi yang bertentangan257### Periksa instalasi yang bertentangan

258 258 

259Beberapa instalasi Claude Code dapat menyebabkan ketidakcocokan versi atau perilaku yang tidak terduga. Periksa apa yang terinstal:259Beberapa instalasi Claude Code dapat menyebabkan ketidakcocokan versi atau perilaku yang tidak terduga. Periksa apa yang terinstal:

260 260 

261**macOS/Linux**261> [tab] macOS/Linux

262 262>

263Buat daftar semua binary `claude` yang ditemukan di PATH Anda:263> Buat daftar semua binary `claude` yang ditemukan di PATH Anda:

264 264>

265```bash theme={null}265> ```bash theme={null}

266which -a claude266> which -a claude

267```267> ```

268 268>

269Jika ini mencetak `claude not found`, baris `no claude in`, atau tidak mencetak apa pun, tidak ada `claude` di PATH Anda. Pemeriksaan berikutnya menunjukkan apakah `claude` terinstal sama sekali.269> Jika ini mencetak `claude not found`, baris `no claude in`, atau tidak mencetak apa pun, tidak ada `claude` di PATH Anda. Pemeriksaan berikutnya menunjukkan apakah `claude` terinstal sama sekali.

270 270>

271Periksa tiga lokasi tempat binary `claude` dapat berasal. `~/.local/bin/claude` adalah native installer, `~/.claude/local/` adalah legacy local npm install yang dibuat oleh versi Claude Code yang lebih lama, dan npm global list menunjukkan instalasi `-g`:271> Periksa tiga lokasi tempat binary `claude` dapat berasal. `~/.local/bin/claude` adalah native installer, `~/.claude/local/` adalah legacy local npm install yang dibuat oleh versi Claude Code yang lebih lama, dan npm global list menunjukkan instalasi `-g`:

272 272>

273```bash theme={null}273> ```bash theme={null}

274ls -la ~/.local/bin/claude274> ls -la ~/.local/bin/claude

275```275> ```

276 276>

277Native install menunjukkan symlink ke `~/.local/share/claude/versions/`. Script atau symlink yang Anda buat sendiri di path ini adalah custom launcher, yang [auto-update meninggalkan di tempat](https://code.claude.com/docs/id/setup.md#auto-updates).277> Native install menunjukkan symlink ke `~/.local/share/claude/versions/`. Script atau symlink yang Anda buat sendiri di path ini adalah custom launcher, yang [auto-update meninggalkan di tempat](https://code.claude.com/docs/id/setup.md#auto-updates).

278 278>

279Jika salah satu perintah `ls` mencetak `No such file or directory`, itu bukan error. Ini berarti tidak ada yang terinstal di lokasi itu, jadi lanjutkan ke pemeriksaan berikutnya.279> Jika salah satu perintah `ls` mencetak `No such file or directory`, itu bukan error. Ini berarti tidak ada yang terinstal di lokasi itu, jadi lanjutkan ke pemeriksaan berikutnya.

280 280>

281```bash theme={null}281> ```bash theme={null}

282ls -la ~/.claude/local/282> ls -la ~/.claude/local/

283```283> ```

284 284>

285```bash theme={null}285> ```bash theme={null}

286npm -g ls @anthropic-ai/claude-code 2>/dev/null286> npm -g ls @anthropic-ai/claude-code 2>/dev/null

287```287> ```

288 288>

289Jika `ls -la ~/.local/bin/claude` mencetak `No such file or directory`, tidak ada native install. Jika Anda belum menginstal Claude Code dengan cara lain, seperti dengan npm, Homebrew, atau package manager Linux, [instal Claude Code](https://code.claude.com/docs/id/setup.md#install-claude-code). Jika `~/.local/bin/claude` ada tetapi `which -a claude` tidak mencantumkannya, folder tersebut tidak ada di PATH Anda: lihat [Verifikasi PATH Anda](#verify-your-path).289> Jika `ls -la ~/.local/bin/claude` mencetak `No such file or directory`, tidak ada native install. Jika Anda belum menginstal Claude Code dengan cara lain, seperti dengan npm, Homebrew, atau package manager Linux, [instal Claude Code](https://code.claude.com/docs/id/setup.md#install-claude-code). Jika `~/.local/bin/claude` ada tetapi `which -a claude` tidak mencantumkannya, folder tersebut tidak ada di PATH Anda: lihat [Verifikasi PATH Anda](#verify-your-path).

290 

291**Windows PowerShell**

292 

293Buat daftar semua binary `claude` yang ditemukan di PATH Anda:

294 

295```powershell theme={null}

296where.exe claude

297```

298 

299Jika ini mencetak `INFO: Could not find files for the given pattern(s).`, tidak ada `claude` di PATH Anda.

300 

301Periksa apakah native installer menempatkan binary:

302 

303```powershell theme={null}

304Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

305```

306 290 

307* **`True`**: native install ada. Jika `where.exe` tidak menemukan apa pun, foldernya tidak ada di PATH Anda: lihat [Verifikasi PATH Anda](#verify-your-path).291> [tab] Windows PowerShell

308* **`False`**: tidak ada native install. Jika Anda belum menginstal Claude Code dengan cara lain, seperti dengan npm atau WinGet, [instal Claude Code](https://code.claude.com/docs/id/setup.md#install-claude-code).292>

293> Buat daftar semua binary `claude` yang ditemukan di PATH Anda:

294>

295> ```powershell theme={null}

296> where.exe claude

297> ```

298>

299> Jika ini mencetak `INFO: Could not find files for the given pattern(s).`, tidak ada `claude` di PATH Anda.

300>

301> Periksa apakah native installer menempatkan binary:

302>

303> ```powershell theme={null}

304> Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

305> ```

306>

307> * **`True`**: native install ada. Jika `where.exe` tidak menemukan apa pun, foldernya tidak ada di PATH Anda: lihat [Verifikasi PATH Anda](#verify-your-path).

308> * **`False`**: tidak ada native install. Jika Anda belum menginstal Claude Code dengan cara lain, seperti dengan npm atau WinGet, [instal Claude Code](https://code.claude.com/docs/id/setup.md#install-claude-code).

309 309 

310Jika Anda menemukan beberapa instalasi, pertahankan hanya satu. Native install di `~/.local/bin/claude` di macOS/Linux atau `%USERPROFILE%\.local\bin\claude.exe` di Windows direkomendasikan. Hapus yang lainnya:310Jika Anda menemukan beberapa instalasi, pertahankan hanya satu. Native install di `~/.local/bin/claude` di macOS/Linux atau `%USERPROFILE%\.local\bin\claude.exe` di Windows direkomendasikan. Hapus yang lainnya:

311 311 


317 317 

318Hapus legacy local npm install:318Hapus legacy local npm install:

319 319 

320**macOS/Linux**320> [tab] macOS/Linux

321 321>

322```bash theme={null}322> ```bash theme={null}

323rm -rf ~/.claude/local323> rm -rf ~/.claude/local

324```324> ```

325 

326**Windows PowerShell**

327 325 

328```powershell theme={null}326> [tab] Windows PowerShell

329Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\local"327>

330```328> ```powershell theme={null}

329> Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\local"

330> ```

331 331 

332Hapus instalasi Homebrew di macOS. Jika Anda menginstal cask `claude-code@latest`, ganti nama itu:332Hapus instalasi Homebrew di macOS. Jika Anda menginstal cask `claude-code@latest`, ganti nama itu:

333 333 


376 376 

377Konfirmasi binary ada dan dapat dieksekusi:377Konfirmasi binary ada dan dapat dieksekusi:

378 378 

379**macOS/Linux**379> [tab] macOS/Linux

380 380>

381```bash theme={null}381> ```bash theme={null}

382ls -la "$(command -v claude)"382> ls -la "$(command -v claude)"

383```383> ```

384 

385**Windows PowerShell**

386 384 

387```powershell theme={null}385> [tab] Windows PowerShell

388Get-Command claude | Select-Object Source386>

389```387> ```powershell theme={null}

388> Get-Command claude | Select-Object Source

389> ```

390 390 

391Di Linux, periksa shared libraries yang hilang. Jika `ldd` menunjukkan library yang hilang, Anda mungkin perlu menginstal paket sistem. Di Alpine Linux dan distribusi berbasis musl lainnya, lihat [Alpine Linux setup](https://code.claude.com/docs/id/setup.md#alpine-linux-and-musl-based-distributions).391Di Linux, periksa shared libraries yang hilang. Jika `ldd` menunjukkan library yang hilang, Anda mungkin perlu menginstal paket sistem. Di Alpine Linux dan distribusi berbasis musl lainnya, lihat [Alpine Linux setup](https://code.claude.com/docs/id/setup.md#alpine-linux-and-musl-based-distributions).

392 392 


568 568 

5693. **Periksa gangguan proxy atau firewall**: proxy perusahaan yang melakukan TLS inspection dapat menyebabkan error ini, termasuk `unable to get local issuer certificate` dan `SELF_SIGNED_CERT_IN_CHAIN`. Untuk langkah instalasi, arahkan download install untuk mempercayai CA proxy perusahaan Anda:5693. **Periksa gangguan proxy atau firewall**: proxy perusahaan yang melakukan TLS inspection dapat menyebabkan error ini, termasuk `unable to get local issuer certificate` dan `SELF_SIGNED_CERT_IN_CHAIN`. Untuk langkah instalasi, arahkan download install untuk mempercayai CA proxy perusahaan Anda:

570 570 

571 **macOS/Linux**571 > [tab] macOS/Linux

572 >

573 > ```bash theme={null}

574 > curl --cacert /path/to/corporate-ca.pem -fsSL https://claude.ai/install.sh | bash

575 > ```

572 576 

573 ```bash theme={null}577 > [tab] Windows PowerShell

574 curl --cacert /path/to/corporate-ca.pem -fsSL https://claude.ai/install.sh | bash578 >

575 ```579 > PowerShell installer mengunduh melalui .NET, yang memvalidasi TLS terhadap Windows certificate store. Minta tim IT Anda untuk menambahkan sertifikat CA proxy ke Windows store jika belum ada, kemudian jalankan installer:

576 580 >

577 **Windows PowerShell**581 > ```powershell theme={null}

578 582 > irm https://claude.ai/install.ps1 | iex

579 PowerShell installer mengunduh melalui .NET, yang memvalidasi TLS terhadap Windows certificate store. Minta tim IT Anda untuk menambahkan sertifikat CA proxy ke Windows store jika belum ada, kemudian jalankan installer:583 > ```

580 

581 ```powershell theme={null}

582 irm https://claude.ai/install.ps1 | iex

583 ```

584 584 

585 Untuk Claude Code itu sendiri setelah diinstal, atur `NODE_EXTRA_CA_CERTS` sehingga permintaan API mempercayai bundle yang sama:585 Untuk Claude Code itu sendiri setelah diinstal, atur `NODE_EXTRA_CA_CERTS` sehingga permintaan API mempercayai bundle yang sama:

586 586 

587 **macOS/Linux**587 > [tab] macOS/Linux

588 588 >

589 ```bash theme={null}589 > ```bash theme={null}

590 export NODE_EXTRA_CA_CERTS=/path/to/corporate-ca.pem590 > export NODE_EXTRA_CA_CERTS=/path/to/corporate-ca.pem

591 ```591 > ```

592 

593 **Windows PowerShell**

594 592 

595 ```powershell theme={null}593 > [tab] Windows PowerShell

596 $env:NODE_EXTRA_CA_CERTS = 'C:\path\to\corporate-ca.pem'594 >

597 ```595 > ```powershell theme={null}

596 > $env:NODE_EXTRA_CA_CERTS = 'C:\path\to\corporate-ca.pem'

597 > ```

598 598 

599 Tanyakan tim IT Anda untuk file sertifikat jika Anda tidak memilikinya. Anda juga dapat mencoba koneksi langsung untuk mengonfirmasi proxy adalah penyebabnya.599 Tanyakan tim IT Anda untuk file sertifikat jika Anda tidak memilikinya. Anda juga dapat mencoba koneksi langsung untuk mengonfirmasi proxy adalah penyebabnya.

600 600 


827 827 

828Di setiap konfigurasi lain, menjalankan ulang installer melewati error ini, karena script menjalankan perintah `install` rilis terbaru bahkan ketika Anda memintanya untuk menginstal versi yang lebih lama. Jalankan ulang perintah untuk platform Anda:828Di setiap konfigurasi lain, menjalankan ulang installer melewati error ini, karena script menjalankan perintah `install` rilis terbaru bahkan ketika Anda memintanya untuk menginstal versi yang lebih lama. Jalankan ulang perintah untuk platform Anda:

829 829 

830**macOS/Linux**830> [tab] macOS/Linux

831 831>

832```bash theme={null}832> ```bash theme={null}

833curl -fsSL https://claude.ai/install.sh | bash833> curl -fsSL https://claude.ai/install.sh | bash

834```834> ```

835 

836**Windows PowerShell**

837 835 

838```powershell theme={null}836> [tab] Windows PowerShell

839irm https://claude.ai/install.ps1 | iex837>

840```838> ```powershell theme={null}

839> irm https://claude.ai/install.ps1 | iex

840> ```

841 841 

842`claude --version` mencetak versi yang diinstal oleh eksekusi ulang tersebut.842`claude --version` mencetak versi yang diinstal oleh eksekusi ulang tersebut.

843 843 


1108 1108 

1109Baris `npm error path` menyebutkan direktori yang tidak dapat dipindahkan npm. Hapus direktori itu dan direktori `.claude-code-*` sisa apa pun di sebelahnya, yang dapat ditinggalkan oleh eksekusi sebelumnya yang terputus. Perintah di bawah menemukan direktori paket global Anda dengan `npm root -g`; jika direktori yang disebutkan baris `npm error path` tidak berada di bawah direktori yang dicetak `npm root -g`, misalnya karena Anda beralih versi Node dengan nvm, hapus direktori yang disebutkan error sebagai gantinya:1109Baris `npm error path` menyebutkan direktori yang tidak dapat dipindahkan npm. Hapus direktori itu dan direktori `.claude-code-*` sisa apa pun di sebelahnya, yang dapat ditinggalkan oleh eksekusi sebelumnya yang terputus. Perintah di bawah menemukan direktori paket global Anda dengan `npm root -g`; jika direktori yang disebutkan baris `npm error path` tidak berada di bawah direktori yang dicetak `npm root -g`, misalnya karena Anda beralih versi Node dengan nvm, hapus direktori yang disebutkan error sebagai gantinya:

1110 1110 

1111**macOS/Linux**1111> [tab] macOS/Linux

1112 1112>

1113```bash theme={null}1113> ```bash theme={null}

1114rm -rf "$(npm root -g)/@anthropic-ai/claude-code"1114> rm -rf "$(npm root -g)/@anthropic-ai/claude-code"

1115```1115> ```

1116 1116>

1117Kemudian hapus direktori temp sisa apa pun. Jika Zsh mencetak `no matches found`, tidak ada yang perlu dihapus:1117> Kemudian hapus direktori temp sisa apa pun. Jika Zsh mencetak `no matches found`, tidak ada yang perlu dihapus:

1118 1118>

1119```bash theme={null}1119> ```bash theme={null}

1120rm -rf "$(npm root -g)/@anthropic-ai/.claude-code-"*1120> rm -rf "$(npm root -g)/@anthropic-ai/.claude-code-"*

1121```1121> ```

1122 

1123**Windows PowerShell**

1124 1122 

1125```powershell theme={null}1123> [tab] Windows PowerShell

1126Remove-Item -Recurse -Force "$(npm root -g)/@anthropic-ai/claude-code", "$(npm root -g)/@anthropic-ai/.claude-code-*"1124>

1127```1125> ```powershell theme={null}

1126> Remove-Item -Recurse -Force "$(npm root -g)/@anthropic-ai/claude-code", "$(npm root -g)/@anthropic-ai/.claude-code-*"

1127> ```

1128 1128 

1129Kemudian instal ulang. Di npm 12, ikuti [Memperbaiki instalasi npm 12](#fix-an-npm-12-install). Jika tidak, jalankan:1129Kemudian instal ulang. Di npm 12, ikuti [Memperbaiki instalasi npm 12](#fix-an-npm-12-install). Jika tidak, jalankan:

1130 1130 


1162 1162 

1163Jika Anda melihat `API Error: 403 Request not allowed` setelah login:1163Jika Anda melihat `API Error: 403 Request not allowed` setelah login:

1164 1164 

1165* **Pengguna Claude Pro/Max**: verifikasi langganan Anda aktif di [claude.ai/settings](https://claude.ai/settings)1165* **Pengguna Claude Pro/Max/Ultra**: verifikasi langganan Anda aktif di [claude.ai/settings](https://claude.ai/settings)

1166* **Pengguna Anthropic Console**: konfirmasi akun Anda memiliki role "Claude Code" atau "Developer". Admin menetapkan ini di halaman Members pada Console di [platform.claude.com/settings/members](https://platform.claude.com/settings/members).1166* **Pengguna Anthropic Console**: konfirmasi akun Anda memiliki role "Claude Code" atau "Developer". Admin menetapkan ini di halaman Members pada Console di [platform.claude.com/settings/members](https://platform.claude.com/settings/members).

1167* **Di belakang proxy**: proxy perusahaan dapat mengganggu permintaan API. Lihat [konfigurasi jaringan](https://code.claude.com/docs/id/network-config.md) untuk setup proxy.1167* **Di belakang proxy**: proxy perusahaan dapat mengganggu permintaan API. Lihat [konfigurasi jaringan](https://code.claude.com/docs/id/network-config.md) untuk setup proxy.

1168 1168 


1183 1183 

1184Untuk menggunakan langganan Anda sebagai gantinya, unset environment variable dan hapus dari shell profile Anda:1184Untuk menggunakan langganan Anda sebagai gantinya, unset environment variable dan hapus dari shell profile Anda:

1185 1185 

1186**macOS/Linux**1186> [tab] macOS/Linux

1187 1187>

1188```bash theme={null}1188> ```bash theme={null}

1189unset ANTHROPIC_API_KEY1189> unset ANTHROPIC_API_KEY

1190claude1190> claude

1191```1191> ```

1192 

1193**Windows PowerShell**

1194 1192 

1195```powershell theme={null}1193> [tab] Windows PowerShell

1196Remove-Item Env:ANTHROPIC_API_KEY1194>

1197claude1195> ```powershell theme={null}

1198```1196> Remove-Item Env:ANTHROPIC_API_KEY

1197> claude

1198> ```

1199 1199 

1200Periksa `~/.zshrc`, `~/.bashrc`, atau `~/.profile` untuk baris `export ANTHROPIC_API_KEY=...` dan hapus untuk membuat perubahan permanen. Di Windows, periksa PowerShell profile Anda di `$PROFILE` dan User environment variables Anda untuk `ANTHROPIC_API_KEY`. Jalankan `/status` di dalam Claude Code untuk mengkonfirmasi metode autentikasi mana yang aktif.1200Periksa `~/.zshrc`, `~/.bashrc`, atau `~/.profile` untuk baris `export ANTHROPIC_API_KEY=...` dan hapus untuk membuat perubahan permanen. Di Windows, periksa PowerShell profile Anda di `$PROFILE` dan User environment variables Anda untuk `ANTHROPIC_API_KEY`. Jalankan `/status` di dalam Claude Code untuk mengkonfirmasi metode autentikasi mana yang aktif.

1201 1201 

troubleshooting.md +27 −27

Details

134 134 

135Jika Search tool, `@file` mentions, custom agents, atau custom skills tidak menemukan file, binary `ripgrep` bundel mungkin tidak berjalan di sistem Anda. Instal paket `ripgrep` platform Anda dan beri tahu Claude Code untuk menggunakannya sebagai gantinya:135Jika Search tool, `@file` mentions, custom agents, atau custom skills tidak menemukan file, binary `ripgrep` bundel mungkin tidak berjalan di sistem Anda. Instal paket `ripgrep` platform Anda dan beri tahu Claude Code untuk menggunakannya sebagai gantinya:

136 136 

137**macOS**137> [tab] macOS

138 138>

139```bash theme={null}139> ```bash theme={null}

140brew install ripgrep140> brew install ripgrep

141```141> ```

142 

143**Ubuntu/Debian**

144 

145```bash theme={null}

146sudo apt install ripgrep

147```

148 

149**Alpine**

150 

151```bash theme={null}

152apk add ripgrep

153```

154 

155`ripgrep` berada di repositori komunitas Alpine. Jika `apk` melaporkan bahwa paket hilang, lihat [Alpine Linux setup](https://code.claude.com/docs/id/setup.md#alpine-linux-and-musl-based-distributions).

156 142 

157**Arch**143> [tab] Ubuntu/Debian

144>

145> ```bash theme={null}

146> sudo apt install ripgrep

147> ```

158 148 

159```bash theme={null}149> [tab] Alpine

160pacman -S ripgrep150>

161```151> ```bash theme={null}

152> apk add ripgrep

153> ```

154>

155> `ripgrep` berada di repositori komunitas Alpine. Jika `apk` melaporkan bahwa paket hilang, lihat [Alpine Linux setup](https://code.claude.com/docs/id/setup.md#alpine-linux-and-musl-based-distributions).

162 156 

163**Windows**157> [tab] Arch

158>

159> ```bash theme={null}

160> pacman -S ripgrep

161> ```

164 162 

165```powershell theme={null}163> [tab] Windows

166winget install BurntSushi.ripgrep.MSVC164>

167```165> ```powershell theme={null}

166> winget install BurntSushi.ripgrep.MSVC

167> ```

168 168 

169Kemudian atur `USE_BUILTIN_RIPGREP` ke `0`, baik di [environment](https://code.claude.com/docs/id/env-vars.md) shell Anda atau di blok `env` dari [`settings.json`](https://code.claude.com/docs/id/settings-reference#all-settings) Anda:169Kemudian atur `USE_BUILTIN_RIPGREP` ke `0`, baik di [environment](https://code.claude.com/docs/id/env-vars.md) shell Anda atau di blok `env` dari [`settings.json`](https://code.claude.com/docs/id/settings-reference#all-settings) Anda:

170 170 

ultrareview.md +2 −1

Details

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

121| Pro | 3 run gratis | ditagih sebagai [penggunaan ekstra](https://support.claude.com/id/articles/12429409-extra-usage-for-paid-claude-plans) |121| Pro | 3 run gratis | ditagih sebagai [penggunaan ekstra](https://support.claude.com/id/articles/12429409-extra-usage-for-paid-claude-plans) |

122| Max | 3 run gratis | ditagih sebagai [penggunaan ekstra](https://support.claude.com/id/articles/12429409-extra-usage-for-paid-claude-plans) |122| Max | 3 run gratis | ditagih sebagai [penggunaan ekstra](https://support.claude.com/id/articles/12429409-extra-usage-for-paid-claude-plans) |

123| Ultra | 3 run gratis | ditagih sebagai [kredit penggunaan](https://support.claude.com/id/articles/12429409-extra-usage-for-paid-claude-plans) |

123 124 

124* **Run gratis**: tiga run Pro dan Max adalah alokasi satu kali per akun dan tidak diperbarui.125* **Run gratis**: tiga run Pro, Max, dan Ultra adalah alokasi satu kali per akun dan tidak diperbarui.

125* **Biaya per tinjauan**: setelah Anda menggunakan run gratis, biasanya \$5 hingga \$25 dalam penggunaan ekstra tergantung pada ukuran perubahan, sesuai dengan perkiraan yang ditampilkan dialog peluncuran sebelum setiap run.126* **Biaya per tinjauan**: setelah Anda menggunakan run gratis, biasanya \$5 hingga \$25 dalam penggunaan ekstra tergantung pada ukuran perubahan, sesuai dengan perkiraan yang ditampilkan dialog peluncuran sebelum setiap run.

126* **Kapan run dihitung**: setelah sesi cloud dimulai. Tinjauan yang Anda hentikan lebih awal atau yang gagal diselesaikan masih menggunakan run gratis; tinjauan berbayar hanya ditagih untuk bagian yang berjalan.127* **Kapan run dihitung**: setelah sesi cloud dimulai. Tinjauan yang Anda hentikan lebih awal atau yang gagal diselesaikan masih menggunakan run gratis; tinjauan berbayar hanya ditagih untuk bagian yang berjalan.

127 128 

Details

105 105 

106Dikte suara menggunakan pengaturan [`language`](https://code.claude.com/docs/id/settings-reference#language) yang sama yang mengontrol bahasa respons Claude. Jika pengaturan itu kosong, dikte default ke Bahasa Inggris. Di ekstensi VS Code, jika `language` kosong, dikte menggunakan pengaturan `accessibility.voice.speechLanguage` VS Code sebelum default ke Bahasa Inggris.106Dikte suara menggunakan pengaturan [`language`](https://code.claude.com/docs/id/settings-reference#language) yang sama yang mengontrol bahasa respons Claude. Jika pengaturan itu kosong, dikte default ke Bahasa Inggris. Di ekstensi VS Code, jika `language` kosong, dikte menggunakan pengaturan `accessibility.voice.speechLanguage` VS Code sebelum default ke Bahasa Inggris.

107 107 

108> **Bahasa dikte yang didukung**108> [accordion] Bahasa dikte yang didukung

109>109>

110> | Bahasa | Kode |110> | Bahasa | Kode |

111> | :- | :- |111> | :- | :- |

vs-code.md +34 −30

Details

23Sebelum menginstal, pastikan Anda memiliki:23Sebelum menginstal, pastikan Anda memiliki:

24 24 

25* VS Code 1.94.0 atau lebih tinggi25* VS Code 1.94.0 atau lebih tinggi

26* Akun Anthropic: langganan Claude berbayar apa pun (Pro, Max, Team, atau Enterprise) atau akun Claude Console berfungsi, dan tidak ada kunci API yang diperlukan. Anda akan [masuk](https://code.claude.com/docs/id/authentication.md#log-in-to-claude-code) dengan akun ini saat pertama kali membuka ekstensi. Jika Anda mengakses Claude melalui penyedia pihak ketiga seperti Amazon Bedrock atau Google Cloud's Agent Platform, lihat [Gunakan penyedia pihak ketiga](#use-third-party-providers) untuk petunjuk penyiapan.26* Akun Anthropic: langganan Claude berbayar apa pun (Pro, Max, Ultra, Team, atau Enterprise) atau akun Claude Console berfungsi, dan tidak ada kunci API yang diperlukan. Anda akan [masuk](https://code.claude.com/docs/id/authentication.md#log-in-to-claude-code) dengan akun ini saat pertama kali membuka ekstensi. Jika Anda mengakses Claude melalui penyedia pihak ketiga seperti Amazon Bedrock atau Google Cloud's Agent Platform, lihat [Gunakan penyedia pihak ketiga](#use-third-party-providers) untuk petunjuk penyiapan.

27 27 

28> [!TIP]28> [!TIP]

29>29>


38 38 

39Atau di VS Code, tekan `Cmd+Shift+X` (Mac) atau `Ctrl+Shift+X` (Windows/Linux) untuk membuka tampilan Extensions, cari "Claude Code", lalu klik **Install**.39Atau di VS Code, tekan `Cmd+Shift+X` (Mac) atau `Ctrl+Shift+X` (Windows/Linux) untuk membuka tampilan Extensions, cari "Claude Code", lalu klik **Install**.

40 40 

41> [!NOTE]

42>

43> Marketplace ekstensi adalah perangkat lunak pihak ketiga yang tidak didukung, dikelola, atau diaudit oleh Anthropic. Anthropic mengirimkan ekstensi untuk dipublikasikan ke Visual Studio Marketplace dan Open VSX Registry.

44 

41Nomor versi ekstensi adalah versi Claude Code yang dibundelnya. Misalnya, fitur yang memerlukan Claude Code v2.1.286 atau yang lebih baru membutuhkan ekstensi versi 2.1.286 atau yang lebih baru, yang ditampilkan di tampilan Extensions.45Nomor versi ekstensi adalah versi Claude Code yang dibundelnya. Misalnya, fitur yang memerlukan Claude Code v2.1.286 atau yang lebih baru membutuhkan ekstensi versi 2.1.286 atau yang lebih baru, yang ditampilkan di tampilan Extensions.

42 46 

43Claude Code juga berjalan di editor dan container lain:47Claude Code juga berjalan di editor dan container lain:

44 48 

45* **Fork VS Code lainnya**: ekstensi ini juga dapat diinstal di fork seperti Devin Desktop atau Kiro. Cari "Claude Code" di tampilan Extensions pada editor, atau instal dari [registri Open VSX](https://open-vsx.org/extension/Anthropic/claude-code).49* **Fork VS Code lainnya**: ekstensi ini juga dapat diinstal di fork seperti Devin Desktop atau Kiro. Cari "Claude Code" di tampilan Extensions pada editor, atau instal dari [Open VSX Registry](https://open-vsx.org/extension/Anthropic/claude-code).

46* **Editor yang tidak dapat menginstal ekstensi**: [instal CLI](https://code.claude.com/docs/id/quickstart.md) dan jalankan `claude` di terminal terintegrasi editor sebagai gantinya. CLI berfungsi di terminal mana pun.50* **Editor yang tidak dapat menginstal ekstensi**: [instal CLI](https://code.claude.com/docs/id/quickstart.md) dan jalankan `claude` di terminal terintegrasi editor sebagai gantinya. CLI berfungsi di terminal mana pun.

47* **Dev container**: untuk menjalankan Claude Code di dalam dev container, lihat [Development container](https://code.claude.com/docs/id/devcontainer.md).51* **Dev container**: untuk menjalankan Claude Code di dalam dev container, lihat [Development container](https://code.claude.com/docs/id/devcontainer.md).

48 52 


117 121 

118Kotak prompt mendukung beberapa fitur:122Kotak prompt mendukung beberapa fitur:

119 123 

120* **Mode izin**: klik indikator mode di bagian bawah kotak prompt untuk beralih mode izin. Dengan Claude Code v2.1.283 atau yang lebih baru, Auto adalah mode izin awal bawaan, dan pada versi sebelumnya hanya pada paket Pro, Max, dan Team. Lihat [cara ekstensi memilih mode izin awal](https://code.claude.com/docs/id/permission-modes.md#switch-permission-modes) untuk mengetahui apa yang mengubahnya, serta setiap mode izin yang ditawarkan indikator.124* **Mode izin**: klik indikator mode di bagian bawah kotak prompt untuk beralih mode izin. Dengan Claude Code v2.1.283 atau yang lebih baru, Auto adalah mode izin awal bawaan, dan pada versi sebelumnya hanya pada paket Pro, Max, Ultra, dan Team. Lihat [cara ekstensi memilih mode izin awal](https://code.claude.com/docs/id/permission-modes.md#switch-permission-modes) untuk mengetahui apa yang mengubahnya, serta setiap mode izin yang ditawarkan indikator.

121 * **Auto**: pengklasifikasi meninjau sebagian besar tindakan alih-alih bertanya kepada Anda. Lihat [auto mode](https://code.claude.com/docs/id/permission-modes.md#eliminate-prompts-with-auto-mode) untuk mengetahui apa yang ditinjau dan diblokirnya.125 * **Auto**: pengklasifikasi meninjau sebagian besar tindakan alih-alih bertanya kepada Anda. Lihat [auto mode](https://code.claude.com/docs/id/permission-modes.md#eliminate-prompts-with-auto-mode) untuk mengetahui apa yang ditinjau dan diblokirnya.

122 * **Manual**: Claude meminta izin sebelum mengedit file dan menjalankan sebagian besar perintah shell.126 * **Manual**: Claude meminta izin sebelum mengedit file dan menjalankan sebagian besar perintah shell.

123 * **Plan**: Claude menjelaskan apa yang akan dilakukannya dan menunggu persetujuan sebelum membuat perubahan. VS Code secara otomatis membuka rencana sebagai dokumen Markdown lengkap tempat Anda dapat menambahkan komentar inline untuk memberikan masukan sebelum Claude memulai.127 * **Plan**: Claude menjelaskan apa yang akan dilakukannya dan menunggu persetujuan sebelum membuat perubahan. VS Code secara otomatis membuka rencana sebagai dokumen Markdown lengkap tempat Anda dapat menambahkan komentar inline untuk memberikan masukan sebelum Claude memulai.


656 660 

657Panggil handler dengan pembuka URL dari sistem operasi Anda.661Panggil handler dengan pembuka URL dari sistem operasi Anda.

658 662 

659**macOS**663> [tab] macOS

660 664>

661```bash theme={null}665> ```bash theme={null}

662open "vscode://anthropic.claude-code/open"666> open "vscode://anthropic.claude-code/open"

663```667> ```

664 

665**Linux**

666 

667```bash theme={null}

668xdg-open "vscode://anthropic.claude-code/open"

669```

670 

671Perintah `xdg-open` berasal dari paket `xdg-utils`. Jika shell melaporkan bahwa perintah tersebut tidak ditemukan, lihat [xdg-open tidak ditemukan di Linux](https://code.claude.com/docs/id/deep-links.md#xdg-open-is-not-found-on-linux).

672 

673**Windows**

674 

675Di PowerShell:

676 

677```powershell theme={null}

678Start-Process "vscode://anthropic.claude-code/open"

679```

680 668 

681Di `cmd.exe`, `start` memperlakukan argumen pertama yang diapit tanda kutip sebagai judul jendela, jadi berikan judul kosong sebelum URL:669> [tab] Linux

670>

671> ```bash theme={null}

672> xdg-open "vscode://anthropic.claude-code/open"

673> ```

674>

675> Perintah `xdg-open` berasal dari paket `xdg-utils`. Jika shell melaporkan bahwa perintah tersebut tidak ditemukan, lihat [xdg-open tidak ditemukan di Linux](https://code.claude.com/docs/id/deep-links.md#xdg-open-is-not-found-on-linux).

682 676 

683```cmd theme={null}677> [tab] Windows

684start "" "vscode://anthropic.claude-code/open"678>

685```679> Di PowerShell:

680>

681> ```powershell theme={null}

682> Start-Process "vscode://anthropic.claude-code/open"

683> ```

684>

685> Di `cmd.exe`, `start` memperlakukan argumen pertama yang diapit tanda kutip sebagai judul jendela, jadi berikan judul kosong sebelum URL:

686>

687> ```cmd theme={null}

688> start "" "vscode://anthropic.claude-code/open"

689> ```

686 690 

687Handler menerima dua parameter kueri opsional:691Handler menerima dua parameter kueri opsional:

688 692 


704Anda mengonfigurasi ekstensi di dua tempat, yaitu pengaturan ekstensi VS Code dan file pengaturan Claude Code:708Anda mengonfigurasi ekstensi di dua tempat, yaitu pengaturan ekstensi VS Code dan file pengaturan Claude Code:

705 709 

706* **Pengaturan ekstensi** di VS Code: mengontrol perilaku ekstensi di dalam VS Code. Buka dengan `Cmd+,` (Mac) atau `Ctrl+,` (Windows/Linux), lalu buka **Extensions > Claude Code**. Anda juga dapat mengetik `/` dan memilih **General config…** untuk membuka pengaturan.710* **Pengaturan ekstensi** di VS Code: mengontrol perilaku ekstensi di dalam VS Code. Buka dengan `Cmd+,` (Mac) atau `Ctrl+,` (Windows/Linux), lalu buka **Extensions > Claude Code**. Anda juga dapat mengetik `/` dan memilih **General config…** untuk membuka pengaturan.

707* **Pengaturan Claude Code** di `~/.claude/settings.json`: digunakan bersama oleh ekstensi dan CLI. Gunakan untuk perintah yang diizinkan, environment variable, hook, dan server MCP. Dengan Claude Code v2.1.283 atau yang lebih baru, pengaturan ini juga menjadi salah satu masukan untuk mode izin yang digunakan saat percakapan dimulai, sedangkan pada versi sebelumnya hanya berlaku pada paket Pro, Max, dan Team. [Beralih mode izin](https://code.claude.com/docs/id/permission-modes.md#switch-permission-modes) mencantumkan urutannya. Lihat [Pengaturan](https://code.claude.com/docs/id/settings.md) untuk detailnya.711* **Pengaturan Claude Code** di `~/.claude/settings.json`: digunakan bersama oleh ekstensi dan CLI. Gunakan untuk perintah yang diizinkan, environment variable, hook, dan server MCP. Dengan Claude Code v2.1.283 atau yang lebih baru, Anda juga dapat menggunakannya sebagai salah satu masukan untuk mode izin yang digunakan saat percakapan dimulai. Pada versi sebelumnya, Anda hanya dapat melakukan ini pada paket Pro, Max, Ultra, dan Team. [Beralih mode izin](https://code.claude.com/docs/id/permission-modes.md#switch-permission-modes) mencantumkan urutannya. Lihat [Pengaturan](https://code.claude.com/docs/id/settings.md) untuk detailnya.

708 712 

709> [!TIP]713> [!TIP]

710>714>


933 937 

934* Pastikan Anda memiliki versi VS Code yang kompatibel (1.94.0 atau lebih baru)938* Pastikan Anda memiliki versi VS Code yang kompatibel (1.94.0 atau lebih baru)

935* Periksa apakah VS Code memiliki izin untuk menginstal ekstensi939* Periksa apakah VS Code memiliki izin untuk menginstal ekstensi

936* Coba instal langsung dari [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code)940* Coba instal langsung dari [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code)

937 941 

938### Ikon Spark tidak terlihat942### Ikon Spark tidak terlihat

939 943 

web-quickstart.md +26 −26

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> Sesi cloud tersedia di paket Pro, Max, dan Team, serta untuk pengguna Enterprise dengan kursi premium atau kursi Chat + Claude Code.11> Sesi cloud tersedia di paket Pro, Max, Ultra, dan Team, serta untuk pengguna Enterprise dengan kursi premium atau kursi Chat + Claude Code.

12 12 

13Sesi cloud menjalankan Claude Code pada infrastruktur cloud alih-alih mesin Anda, dikelola Anthropic secara default. Panduan singkat ini memulai satu dari [claude.ai/code](https://claude.ai/code) di browser Anda. Anda juga dapat memulai satu dari aplikasi mobile Claude, aplikasi Desktop, atau terminal Anda dengan `claude --cloud`.13Sesi cloud menjalankan Claude Code pada infrastruktur cloud alih-alih mesin Anda, dikelola Anthropic secara default. Panduan singkat ini memulai satu dari [claude.ai/code](https://claude.ai/code) di browser Anda. Anda juga dapat memulai satu dari aplikasi mobile Claude, aplikasi Desktop, atau terminal Anda dengan `claude --cloud`.

14 14 


53 53 

54## Hubungkan GitHub54## Hubungkan GitHub

55 55 

56Menghubungkan GitHub adalah langkah satu kali. Jika Anda sudah menggunakan GitHub CLI, Anda dapat [melakukan ini dari terminal Anda](#connect-from-your-terminal) alih-alih browser.56Menghubungkan GitHub adalah langkah yang hanya perlu dilakukan sekali. Jika Anda sudah menggunakan GitHub CLI, Anda dapat [melakukannya dari terminal Anda](#connect-from-your-terminal) alih-alih melalui browser.

57 57 

58> [!NOTE]58> [!NOTE]

59>59>

60> Pada paket Team dan Enterprise, langkah **Sign in with GitHub** hanya berfungsi setelah [Owner](https://code.claude.com/docs/id/server-managed-settings.md#access-control) organisasi Claude Anda mengaktifkan konektor GitHub di [**Organization settings > Connectors**](https://claude.ai/admin-settings/connectors). Sampai saat itu, langkah tersebut menampilkan "GitHub access is required for Claude Code cloud sessions" alih-alih tombol sign-in. Setelah konektor aktif, muat ulang [claude.ai/code](https://claude.ai/code) dan mulai lagi dari langkah pertama. Toggle kedua, [Quick setup](https://code.claude.com/docs/id/claude-code-on-the-web.md#quick-setup-for-team-and-enterprise) di [**Organization settings > Claude Code**](https://claude.ai/admin-settings/claude-code), bersifat opsional: dengan toggle aktif, `/web-setup` berfungsi dan onboarding membuat lingkungan untuk anggota.60> Pada paket Team dan Enterprise, langkah **Sign in with GitHub** hanya berfungsi setelah seorang [Owner](https://code.claude.com/docs/id/server-managed-settings.md#access-control) dari organisasi Claude Anda mengaktifkan konektor GitHub di [**Organization settings > Connectors**](https://claude.ai/admin-settings/connectors). Sebelum itu, langkah tersebut menampilkan "GitHub access is required for Claude Code cloud sessions" alih-alih tombol masuk. Setelah konektor aktif, muat ulang [claude.ai/code](https://claude.ai/code) dan mulai lagi dari langkah pertama. Sakelar kedua, [Quick setup](https://code.claude.com/docs/id/claude-code-on-the-web.md#quick-setup-for-team-and-enterprise) di [**Organization settings > Claude Code**](https://claude.ai/admin-settings/claude-code), bersifat opsional: jika diaktifkan, `/web-setup` berfungsi dan proses onboarding membuat environment untuk para anggota.

61 61 

62**1. Visit claude.ai/code**62**1. Kunjungi claude.ai/code**

63 63 

64Buka [claude.ai/code](https://claude.ai/code) dan masuk dengan akun claude.ai Anda.64Buka [claude.ai/code](https://claude.ai/code) dan masuk dengan akun claude.ai Anda.

65 65 

66**2. Sign in with GitHub**66**2. Masuk dengan GitHub**

67 67 

68Setelah Anda masuk, claude.ai/code meminta Anda untuk menghubungkan GitHub. Ikuti prompt, dan claude.ai/code mengirimkan Anda ke halaman otorisasi GitHub. Setujui permintaan otorisasi, dan GitHub mengembalikan Anda ke claude.ai/code. Sesi cloud bekerja dengan repositori GitHub yang ada. Untuk memulai proyek baru, [buat repositori dengan README di GitHub](https://github.com/new) terlebih dahulu.68Setelah Anda masuk, claude.ai/code meminta Anda untuk menghubungkan GitHub. Ikuti petunjuknya, dan claude.ai/code akan mengarahkan Anda ke halaman otorisasi GitHub. Setujui permintaan otorisasi, dan GitHub akan mengembalikan Anda ke claude.ai/code. Sesi cloud bekerja dengan repositori GitHub yang sudah ada. Untuk memulai proyek baru, [buat repositori dengan README di GitHub](https://github.com/new) terlebih dahulu.

69 69 

70Dengan koneksi ini, sesi dapat mengkloning repositori publik apa pun, tetapi dapat bekerja di repositori pribadi hanya ketika Claude GitHub App diinstal di dalamnya. [Instal Claude GitHub App](https://github.com/apps/claude/installations/new) di setiap akun GitHub atau organisasi yang repositori pribadinya ingin Anda gunakan. Di organisasi GitHub, pemilik organisasi mungkin perlu menyetujui instalasi. Menginstal Aplikasi juga mengaktifkan [Auto-fix](https://code.claude.com/docs/id/claude-code-on-the-web.md#auto-fix-pull-requests), yang memungkinkan Claude merespons kegagalan CI dan komentar review pada pull request di repositori tersebut.70Dengan koneksi ini, sebuah sesi dapat melakukan clone terhadap repositori publik mana pun, tetapi hanya dapat bekerja di repositori privat jika Claude GitHub App terpasang di repositori tersebut. [Pasang Claude GitHub App](https://github.com/apps/claude/installations/new) di setiap akun atau organisasi GitHub yang repositori privatnya ingin Anda gunakan. Pada organisasi GitHub, pemilik organisasi mungkin perlu menyetujui pemasangan tersebut. Memasangnya juga mengaktifkan [Auto-fix](https://code.claude.com/docs/id/claude-code-on-the-web.md#auto-fix-pull-requests), yang memungkinkan Claude merespons kegagalan CI dan komentar tinjauan pada pull request di repositori tersebut.

71 71 

72Saat Anda menghubungkan, Claude juga menautkan akun GitHub yang Anda miliki ke organisasi Claude Anda, jika akun tersebut telah menginstal Claude GitHub App. Pada paket Team dan Enterprise, admin melihat akun-akun tersebut di [daftar akun GitHub yang terhubung](https://code.claude.com/docs/id/admin-setup.md#connected-github-accounts).72Saat Anda terhubung, Claude juga menautkan akun GitHub yang Anda miliki ke organisasi Claude Anda, jika akun tersebut telah memasang Claude GitHub App. Pada paket Team dan Enterprise, admin dapat melihat akun-akun tersebut di [daftar akun GitHub yang terhubung](https://code.claude.com/docs/id/admin-setup.md#connected-github-accounts).

73 73 

74Jika onboarding meminta Anda untuk menginstal Claude GitHub App pada titik ini dan Anda lebih suka melakukannya nanti, klik **Skip**.74Jika proses onboarding meminta Anda untuk memasang Claude GitHub App pada tahap ini dan Anda lebih memilih melakukannya nanti, klik **Skip**.

75 75 

76**3. Set up your Default environment**76**3. Siapkan environment Default Anda**

77 77 

78[Cloud environment](https://code.claude.com/docs/id/cloud-environments.md) adalah konfigurasi yang disimpan yang mengontrol akses jaringan apa yang dimiliki Claude selama sesi dan apa yang berjalan ketika sesi dimulai. Apa yang terjadi setelah Anda menghubungkan GitHub tergantung pada paket Anda:78[Cloud environment](https://code.claude.com/docs/id/cloud-environments.md) adalah konfigurasi tersimpan yang mengontrol akses jaringan apa yang dimiliki Claude selama sesi dan apa yang dijalankan saat sesi dimulai. Apa yang terjadi setelah Anda menghubungkan GitHub bergantung pada paket Anda:

79 79 

80* **Pro dan Max**: onboarding membuat lingkungan bernama **Default** untuk Anda.80* **Pro, Max, dan Ultra**: Anda mendapatkan environment bernama **Default** secara otomatis.

81* **Team dan Enterprise**: onboarding menampilkan formulir **Create your first cloud environment**. Biarkan nama yang sudah diisi sebelumnya dan akses jaringan tidak berubah dan klik **Create & finish** untuk membuat lingkungan **Default**. Jika Owner telah mengaktifkan [Quick setup](https://code.claude.com/docs/id/claude-code-on-the-web.md#quick-setup-for-team-and-enterprise), onboarding membuat **Default** untuk Anda sebagai gantinya.81* **Team dan Enterprise**: proses onboarding menampilkan formulir **Create your first cloud environment**. Biarkan nama dan akses jaringan yang sudah terisi tidak berubah, lalu klik **Create & finish** untuk membuat environment **Default**. Jika seorang Owner telah mengaktifkan [Quick setup](https://code.claude.com/docs/id/claude-code-on-the-web.md#quick-setup-for-team-and-enterprise), proses onboarding akan membuat **Default** untuk Anda.

82 82 

83**Default** menggunakan [`Trusted` network access](https://code.claude.com/docs/id/cloud-environments#access-levels): sesi menjangkau [registri paket umum](https://code.claude.com/docs/id/cloud-environments.md#default-allowed-domains) dan domain lain yang diizinkan, dan tidak ada yang lain melalui jaringan sesi. Lihat [Installed tools](https://code.claude.com/docs/id/cloud-environments.md#installed-tools) untuk apa yang tersedia tanpa konfigurasi apa pun.83**Default** menggunakan [akses jaringan `Trusted`](https://code.claude.com/docs/id/cloud-environments#access-levels): sesi dapat menjangkau [registri paket umum](https://code.claude.com/docs/id/cloud-environments.md#default-allowed-domains) dan domain lain yang ada di daftar izin, dan tidak ada yang lain melalui jaringan sesi. Lihat [Tool terpasang](https://code.claude.com/docs/id/cloud-environments.md#installed-tools) untuk mengetahui apa saja yang tersedia tanpa konfigurasi apa pun.

84 84 

85Untuk proyek pertama, lingkungan **Default** berfungsi apa adanya. Untuk mengubah akses jaringannya, menambahkan variabel lingkungan, atau menjalankan [setup script](https://code.claude.com/docs/id/cloud-environments.md#setup-scripts) sebelum sesi dimulai, [edit atau buat lingkungan tambahan](https://code.claude.com/docs/id/cloud-environments.md#configure-your-environment).85Untuk proyek pertama, environment **Default** dapat digunakan apa adanya. Untuk mengubah akses jaringannya, menambahkan environment variable, atau menjalankan [skrip penyiapan](https://code.claude.com/docs/id/cloud-environments.md#setup-scripts) sebelum sesi dimulai, [edit environment tersebut atau buat environment tambahan](https://code.claude.com/docs/id/cloud-environments.md#configure-your-environment).

86 86 

87### Hubungkan dari terminal Anda87### Hubungkan dari terminal Anda

88 88 

89Jika Anda sudah menggunakan GitHub CLI (`gh`), Anda dapat menghubungkan GitHub untuk sesi cloud dari terminal Anda. Ini memerlukan [Claude Code CLI](https://code.claude.com/docs/id/quickstart.md). Pada paket Team dan Enterprise, `/web-setup` tersedia hanya setelah Owner mengaktifkan [Quick setup](https://code.claude.com/docs/id/claude-code-on-the-web.md#quick-setup-for-team-and-enterprise).89Jika Anda sudah menggunakan GitHub CLI (`gh`), Anda dapat menghubungkan GitHub untuk sesi cloud dari terminal Anda. Ini memerlukan [Claude Code CLI](https://code.claude.com/docs/id/quickstart.md). Pada paket Team dan Enterprise, `/web-setup` hanya tersedia setelah seorang Owner mengaktifkan [Quick setup](https://code.claude.com/docs/id/claude-code-on-the-web.md#quick-setup-for-team-and-enterprise).

90 90 

91Ketika Anda menjalankan `/web-setup`, Claude Code membaca token yang dicetak `gh auth token`, meminta Anda untuk mengonfirmasi, dan mengirimkan token ke Anthropic. Anthropic menyimpannya terenkripsi dengan akun claude.ai Anda, dan sesi cloud Anda menggunakannya untuk akses GitHub sampai Anda [menghapusnya](#remove-the-web-setup-token). Sesi cloud yang Anda mulai sendiri kemudian dapat mengakses repositori apa pun yang dapat diakses token tersebut, tanpa instalasi Claude GitHub App. Thread dalam [proyek](https://code.claude.com/docs/id/claude-projects.md#set-up-github-access) masih memerlukan Claude GitHub App.91Saat Anda menjalankan `/web-setup`, Claude Code membaca token yang dicetak oleh `gh auth token`, meminta konfirmasi Anda, lalu mengirimkan token tersebut ke Anthropic. Anthropic menyimpannya dalam bentuk terenkripsi bersama akun claude.ai Anda, dan sesi cloud Anda menggunakannya untuk akses GitHub hingga Anda [menghapusnya](#remove-the-web-setup-token). Sesi cloud yang Anda mulai sendiri kemudian dapat mengakses repositori apa pun yang dapat diakses oleh token tersebut, tanpa pemasangan Claude GitHub App. Thread dalam sebuah [proyek](https://code.claude.com/docs/id/claude-projects.md#set-up-github-access) tetap memerlukan Claude GitHub App.

92 92 

93Jika Anda sudah menghubungkan GitHub di browser, `/web-setup` memperingatkan Anda bahwa melanjutkan menggantikan koneksi tersebut untuk sesi cloud Anda.93Jika Anda sudah menghubungkan GitHub melalui browser, `/web-setup` akan memperingatkan Anda bahwa melanjutkan proses akan menggantikan koneksi tersebut untuk sesi cloud Anda.

94 94 

95> [!NOTE]95> [!NOTE]

96>96>

97> Organisasi dengan [Zero Data Retention](https://code.claude.com/docs/id/zero-data-retention.md) yang diaktifkan, atau dengan [konfigurasi HIPAA](https://code.claude.com/docs/id/hipaa-setup.md) yang diterapkan, tidak dapat menggunakan `/web-setup` atau fitur sesi cloud lainnya. Organisasi yang menggunakan [kunci enkripsi yang dikelola pelanggan](https://platform.claude.com/docs/en/manage-claude/cmek) (CMEK) juga tidak dapat memulai sesi cloud. Jika GitHub CLI tidak diinstal atau tidak diautentikasi, Claude Code membuka alur onboarding browser sebagai gantinya.97> Organisasi yang mengaktifkan [Zero Data Retention](https://code.claude.com/docs/id/zero-data-retention.md), atau yang menerapkan [konfigurasi HIPAA](https://code.claude.com/docs/id/hipaa-setup.md), tidak dapat menggunakan `/web-setup` maupun fitur sesi cloud lainnya. Organisasi yang menggunakan [kunci enkripsi yang dikelola pelanggan](https://platform.claude.com/docs/en/manage-claude/cmek) (CMEK) juga tidak dapat memulai sesi cloud. Jika GitHub CLI tidak terpasang atau belum diautentikasi, Claude Code akan membuka alur onboarding di browser sebagai gantinya.

98 98 

99**1. Authenticate with the GitHub CLI**99**1. Autentikasi dengan GitHub CLI**

100 100 

101Di shell Anda, autentikasi GitHub CLI jika Anda belum melakukannya:101Di shell Anda, autentikasi GitHub CLI jika Anda belum melakukannya:

102 102 


104gh auth login104gh auth login

105```105```

106 106 

107**2. Sign in to Claude**107**2. Masuk ke Claude**

108 108 

109Di Claude Code CLI, jalankan `/login` untuk masuk dengan akun claude.ai Anda. Lewati langkah ini jika Anda sudah masuk dengan akun claude.ai. Mengautentikasi dengan kunci API tidak dihitung. Untuk memeriksa, jalankan `/status` dan konfirmasi baris **Login method** menampilkan akun claude.ai.109Di Claude Code CLI, jalankan `/login` untuk masuk dengan akun claude.ai Anda. Lewati langkah ini jika Anda sudah masuk dengan akun claude.ai. Autentikasi dengan kunci API tidak dihitung. Untuk memeriksanya, jalankan `/status` dan pastikan baris **Login method** menampilkan akun claude.ai.

110 110 

111**3. Run /web-setup**111**3. Jalankan /web-setup**

112 112 

113Di Claude Code CLI, jalankan:113Di Claude Code CLI, jalankan:

114 114 


116/web-setup116/web-setup

117```117```

118 118 

119Konfirmasi prompt untuk mengirimkan token `gh` Anda ke akun Claude Anda. Jika berhasil, Claude Code mencetak `Connected as <your-github-username>` dan membuka [claude.ai/code](https://claude.ai/code) di browser Anda. Jika Anda belum memiliki lingkungan cloud, `/web-setup` membuat satu dengan akses jaringan Trusted dan tanpa setup script. Anda dapat [mengedit lingkungan atau menambahkan variabel](https://code.claude.com/docs/id/cloud-environments.md#configure-your-environment) setelahnya. Setelah `/web-setup` selesai, Anda dapat memulai sesi cloud dari terminal Anda dengan [`--cloud`](https://code.claude.com/docs/id/claude-code-on-the-web#from-terminal-to-cloud) atau mengatur tugas berulang dengan [`/schedule`](https://code.claude.com/docs/id/routines).119Konfirmasikan permintaan untuk mengirim token `gh` Anda ke akun Claude Anda. Jika berhasil, Claude Code mencetak `Connected as <your-github-username>` dan membuka [claude.ai/code](https://claude.ai/code) di browser Anda. Jika Anda belum memiliki cloud environment, `/web-setup` akan membuatnya dengan akses jaringan Trusted dan tanpa skrip penyiapan. Anda dapat [mengedit environment atau menambahkan variabel](https://code.claude.com/docs/id/cloud-environments.md#configure-your-environment) setelahnya. Setelah `/web-setup` selesai, Anda dapat memulai sesi cloud dari terminal Anda dengan [`--cloud`](https://code.claude.com/docs/id/claude-code-on-the-web#from-terminal-to-cloud) atau menyiapkan tugas berulang dengan [`/schedule`](https://code.claude.com/docs/id/routines).

120 120 

121#### Hapus token `/web-setup`121#### Hapus token `/web-setup`

122 122 

123Untuk menghapus token dari akun Claude Anda, putuskan GitHub di [claude.ai/customize/connectors](https://claude.ai/customize/connectors). Memutuskan menghapus kredensial GitHub yang digunakan sesi cloud Anda, baik berasal dari browser atau dari `/web-setup`, jadi sesi cloud kehilangan akses GitHub sampai Anda menghubungkan lagi. `gh` lokal Anda tetap masuk, dan token tetap valid di GitHub.123Untuk menghapus token dari akun Claude Anda, putuskan koneksi GitHub di [claude.ai/customize/connectors](https://claude.ai/customize/connectors). Memutuskan koneksi akan menghapus kredensial GitHub yang digunakan oleh sesi cloud Anda, baik yang berasal dari browser maupun dari `/web-setup`, sehingga sesi cloud kehilangan akses GitHub hingga Anda menghubungkannya kembali. `gh` lokal Anda tetap dalam keadaan masuk, dan token tetap valid di GitHub.

124 124 

125Untuk membatalkan token itu sendiri, cabut di GitHub. Jika Anda masuk ke `gh` melalui browser, token milik entri **GitHub CLI** di bawah [**Settings > Applications > Authorized OAuth Apps**](https://github.com/settings/applications) di GitHub, dan mencabut entri tersebut juga menandatangani GitHub CLI di mesin Anda. Sesi cloud kemudian kehilangan akses GitHub sampai Anda menjalankan `gh auth login` dan `/web-setup` lagi.125Untuk membatalkan validitas token itu sendiri, cabut token tersebut di GitHub. Jika Anda masuk ke `gh` melalui browser, token tersebut termasuk dalam entri **GitHub CLI** di bawah [**Settings > Applications > Authorized OAuth Apps**](https://github.com/settings/applications) di GitHub, dan mencabut entri tersebut juga akan mengeluarkan (log out) GitHub CLI dari mesin-mesin Anda. Sesi cloud kemudian kehilangan akses GitHub hingga Anda menjalankan `gh auth login` dan `/web-setup` lagi.

126 126 

127## Mulai tugas127## Mulai tugas

128 128