4 4
5# Gunakan Claude Code di web5# Gunakan Claude Code di web
6 6
7> Konfigurasikan lingkungan cloud, skrip setup, akses jaringan, dan Docker di sandbox Anthropic. Pindahkan sesi antara web dan terminal dengan `--cloud` dan `--teleport`.7> Pindahkan sesi antara web dan terminal dengan `--cloud` dan `--teleport`, kelola dan bagikan sesi, serta auto-fix pull request dari cloud.
8 8
9<Note>9<Note>
10 Claude Code di web sedang dalam pratinjau penelitian untuk pengguna Pro, Max, dan Team, serta untuk pengguna Enterprise dengan kursi premium atau kursi Chat + Claude Code.10 Claude Code di web sedang dalam pratinjau penelitian untuk pengguna Pro, Max, dan Team, serta untuk pengguna Enterprise dengan kursi premium atau kursi Chat + Claude Code.
11</Note>11</Note>
12 12
13Claude Code di web menjalankan tugas pada infrastruktur cloud yang dikelola Anthropic di [claude.ai/code](https://claude.ai/code). Sesi bertahan bahkan jika Anda menutup browser, dan Anda dapat memantaunya dari aplikasi mobile Claude.13Claude Code di web menjalankan tugas pada infrastruktur cloud yang dikelola Anthropic di [claude.ai/code](https://claude.ai/code), atau pada [lingkungan self-hosted](/docs/id/self-hosted-environments) organisasi Anda saat dialihkan ke sana. Sesi bertahan bahkan jika Anda menutup browser, dan Anda dapat memantaunya dari aplikasi mobile Claude.
14 14
15<Tip>15<Tip>
16 Baru mengenal Claude Code di web? Mulai dengan [Memulai](/docs/id/web-quickstart) untuk menghubungkan akun GitHub Anda dan mengirimkan tugas pertama Anda.16 Baru mengenal Claude Code di web? Mulai dengan [Memulai](/docs/id/web-quickstart) untuk menghubungkan akun GitHub Anda dan mengirimkan tugas pertama Anda.
17</Tip>17</Tip>
18 18
19Halaman ini mencakup:19Halaman ini mencakup produk web itu sendiri:
20 20
21* [Lingkungan cloud](#cloud-environments): tempat sesi berjalan, dan cara mengonfigurasinya
21* [Opsi autentikasi GitHub](#github-authentication-options): dua cara untuk menghubungkan GitHub22* [Opsi autentikasi GitHub](#github-authentication-options): dua cara untuk menghubungkan GitHub
22* [Lingkungan cloud](#the-cloud-environment): konfigurasi apa yang terbawa, alat apa yang diinstal, dan cara mengonfigurasi lingkungan
23* [Skrip setup](#setup-scripts) dan manajemen dependensi
24* [Akses jaringan](#network-access): tingkat, proxy, dan daftar putih default
25* [Pindahkan tugas antara web dan terminal](#move-tasks-between-web-and-terminal) dengan `--cloud` dan `--teleport`23* [Pindahkan tugas antara web dan terminal](#move-tasks-between-web-and-terminal) dengan `--cloud` dan `--teleport`
26* [Bekerja dengan sesi](#work-with-sessions): meninjau, berbagi, mengarsipkan, menghapus24* [Bekerja dengan sesi](#work-with-sessions): mode izin, meninjau, berbagi, mengarsipkan, menghapus
27* [Auto-fix pull request](#auto-fix-pull-requests): merespons secara otomatis kegagalan CI dan komentar ulasan25* [Auto-fix pull request](#auto-fix-pull-requests): merespons secara otomatis kegagalan CI dan komentar ulasan
28* [Keamanan dan isolasi](#security-and-isolation): bagaimana sesi diisolasi26* [Keamanan dan isolasi](#security-and-isolation): bagaimana sesi diisolasi
29* [Batasan](#limitations): batas laju dan pembatasan platform27* [Batasan](#limitations): batas laju dan pembatasan platform
30 28
29<h2 id="cloud-environments">
30 Lingkungan cloud
31</h2>
32
33Setiap sesi cloud berjalan dalam [lingkungan cloud](/docs/id/cloud-environments), konfigurasi yang disimpan yang mengontrol akses jaringan, variabel lingkungan, dan skrip setup. Jika Anda belum memiliki lingkungan, onboarding menyiapkan lingkungan **Default** dengan akses jaringan [**Trusted**](/docs/id/cloud-environments#access-levels), baik dengan membuatnya untuk Anda atau dengan meminta Anda membuatnya. Lihat [Lingkungan Default](/docs/id/cloud-environments#the-default-environment) untuk mengetahui mana yang terjadi pada paket Anda dan bagaimana sesi memilih lingkungan saat Anda memiliki lebih dari satu.
34
35Lingkungan yang sama berlaku di mana pun Anda memulai sesi cloud: web, terminal, [Claude Tag](https://claude.com/docs/claude-tag/overview), [routines](/docs/id/routines), dan aplikasi mobile dan Desktop. Sesi saluran Claude Tag menggunakan lingkungan tingkat organisasi saja, baik [lingkungan bersama](/docs/id/cloud-environments#organization-shared-environments) atau [lingkungan self-hosted](/docs/id/self-hosted-environments).
36
37Lihat [Konfigurasi lingkungan cloud](/docs/id/cloud-environments) untuk mengubah apa yang diizinkan lingkungan, menetapkan variabel, atau menambahkan skrip setup, dan [Alat yang diinstal](/docs/id/cloud-environments#installed-tools) untuk apa yang disertakan sesi tanpa konfigurasi apa pun.
38
31<h2 id="github-authentication-options">39<h2 id="github-authentication-options">
32 Opsi autentikasi GitHub40 Opsi autentikasi GitHub
33</h2>41</h2>
43 Dengan salah satu metode, sesi cloud dapat mengakses repositori apa pun yang dapat dilihat akun GitHub yang terhubung, bukan hanya repositori tempat Claude GitHub App diinstal. Instalasi App memungkinkan webhook PR untuk [Auto-fix](#auto-fix-pull-requests); ini bukan kontrol akses tingkat sesi. Untuk membatasi repositori mana yang dapat dijangkau tim Anda dari sesi cloud, batasi akses di GitHub itu sendiri, misalnya dengan membatasi keanggotaan tim atau repositori untuk akun GitHub yang terhubung.51 Dengan salah satu metode, sesi cloud dapat mengakses repositori apa pun yang dapat dilihat akun GitHub yang terhubung, bukan hanya repositori tempat Claude GitHub App diinstal. Instalasi App memungkinkan webhook PR untuk [Auto-fix](#auto-fix-pull-requests); ini bukan kontrol akses tingkat sesi. Untuk membatasi repositori mana yang dapat dijangkau tim Anda dari sesi cloud, batasi akses di GitHub itu sendiri, misalnya dengan membatasi keanggotaan tim atau repositori untuk akun GitHub yang terhubung.
44</Note>52</Note>
45 53
46Salah satu metode berfungsi. [`/schedule`](/docs/id/routines) memeriksa salah satu bentuk akses dan meminta Anda menjalankan `/web-setup` jika tidak ada yang dikonfigurasi. Lihat [Hubungkan dari terminal Anda](/docs/id/web-quickstart#connect-from-your-terminal) untuk panduan `/web-setup`.54Salah satu metode berfungsi. Untuk cara `/schedule` memeriksa akses sebelum membuat routine, lihat [Repositori dan izin cabang](/docs/id/routines#repositories-and-branch-permissions). Lihat [Hubungkan dari terminal Anda](/docs/id/web-quickstart#connect-from-your-terminal) untuk panduan `/web-setup`.
47 55
48GitHub App diperlukan untuk [Auto-fix](#auto-fix-pull-requests), yang menggunakan App untuk menerima webhook PR. Jika Anda terhubung dengan `/web-setup` dan kemudian menginginkan Auto-fix, instal App di repositori tersebut.56Quick web setup adalah pengaturan organisasi yang memungkinkan anggota menghubungkan GitHub dengan `/web-setup`, melewati prompt instalasi Claude GitHub App selama onboarding browser, dan membuat onboarding browser membuat lingkungan [**Default**](/docs/id/cloud-environments#the-default-environment) untuk mereka alih-alih menampilkan formulir lingkungan. Pada paket Team dan Enterprise, ini dimatikan secara default, yang menyembunyikan `/web-setup`. [Owner](/docs/id/server-managed-settings#access-control) mengaktifkannya dengan toggle **Quick web setup** di [**Admin settings > Claude Code**](https://claude.ai/admin-settings/claude-code).
49
50Admin Team dan Enterprise dapat menonaktifkan `/web-setup` dengan toggle Quick web setup di [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code).
51 57
52<Note>58<Note>
53 Organisasi dengan [Zero Data Retention](/docs/id/zero-data-retention) yang diaktifkan tidak dapat menggunakan `/web-setup` atau fitur sesi cloud lainnya.59 Organisasi dengan [Zero Data Retention](/docs/id/zero-data-retention) yang diaktifkan tidak dapat menggunakan `/web-setup` atau fitur sesi cloud lainnya.
54</Note>60</Note>
55 61
56<h2 id="the-cloud-environment">
57 Lingkungan cloud
58</h2>
59
60Setiap sesi berjalan di VM yang dikelola Anthropic yang segar dengan repositori Anda dikloning. Bagian ini mencakup apa yang tersedia saat sesi dimulai dan cara menyesuaikannya.
61
62<h3 id="what’s-available-in-cloud-sessions">
63 Apa yang tersedia di sesi cloud
64</h3>
65
66Sesi cloud dimulai dari klon segar repositori Anda. Apa pun yang dikomit ke repo tersedia. Apa pun yang Anda instal atau konfigurasikan hanya di mesin Anda sendiri tidak tersedia di sesi. Kebijakan organisasi Anda tiba secara terpisah melalui [pengaturan yang dikelola server](/docs/id/server-managed-settings).
67
68| | Tersedia di sesi cloud | Mengapa |
69| :----------------------------------------------------------------------------- | :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
70| `CLAUDE.md` repositori Anda | Ya | Bagian dari klon |
71| Hook `.claude/settings.json` repositori Anda | Ya | Bagian dari klon |
72| Server MCP `.mcp.json` repositori Anda | Ya | Bagian dari klon |
73| `.claude/rules/` repositori Anda | Ya | Bagian dari klon |
74| `.claude/skills/`, `.claude/agents/`, `.claude/commands/` repositori Anda | Ya | Bagian dari klon |
75| Plugin yang dideklarasikan di `.claude/settings.json` | Ya | Diinstal saat startup sesi dari [marketplace](/docs/id/plugin-marketplaces) yang Anda deklarasikan. Memerlukan akses jaringan untuk menjangkau sumber marketplace |
76| [Pengaturan yang dikelola server](/docs/id/server-managed-settings) organisasi Anda | Ya | Diambil dari server Anthropic saat sesi dimulai. Lihat [Cakupan permukaan](/docs/id/model-config#surface-coverage) untuk cara `availableModels` diterapkan di sesi cloud. Pengaturan yang diterapkan ke perangkat Anda melalui MDM atau file pengaturan yang dikelola tidak berlaku, karena sesi berjalan di VM yang dikelola Anthropic |
77| `~/.claude/CLAUDE.md` pengguna Anda | Tidak | Hidup di mesin Anda, bukan di repo |
78| `~/.claude/skills/`, `~/.claude/agents/`, `~/.claude/commands/` pengguna Anda | Tidak | Hidup di mesin Anda, bukan di repo. Komitkan ke direktori `.claude/` repo sebagai gantinya. Skill yang Anda aktifkan di claude.ai dimuat ke sesi cloud secara otomatis |
79| Plugin yang diaktifkan hanya di pengaturan pengguna Anda | Tidak | `enabledPlugins` bersistem hidup di `~/.claude/settings.json`. Deklarasikan di `.claude/settings.json` repo sebagai gantinya |
80| Server MCP yang Anda tambahkan dengan `claude mcp add` | Tidak | Itu menulis ke konfigurasi pengguna lokal Anda, bukan repo. Deklarasikan server di [`.mcp.json`](/docs/id/mcp#project-scope) sebagai gantinya |
81| Token API statis dan kredensial | Tidak | Tidak ada penyimpanan rahasia khusus yang ada. Lihat di bawah |
82| Autentikasi interaktif seperti AWS SSO | Tidak | Tidak didukung. SSO memerlukan login berbasis browser yang tidak dapat berjalan di sesi cloud |
83
84Untuk membuat konfigurasi Anda sendiri tersedia di sesi cloud, komitkan ke repo; kebijakan organisasi tiba secara terpisah melalui [pengaturan yang dikelola server](/docs/id/server-managed-settings).
85
86Penyimpanan rahasia khusus belum tersedia. Baik variabel lingkungan maupun skrip setup disimpan dalam konfigurasi lingkungan, terlihat oleh siapa pun yang dapat mengedit lingkungan itu. Jika Anda memerlukan rahasia di sesi cloud, tambahkan sebagai variabel lingkungan dengan visibilitas itu dalam pikiran.
87
88<h3 id="installed-tools">
89 Alat yang diinstal
90</h3>
91
92Sesi cloud dilengkapi dengan runtime bahasa umum, alat build, dan database yang sudah diinstal sebelumnya. Tabel di bawah merangkum apa yang disertakan menurut kategori.
93
94| Kategori | Disertakan |
95| :------------ | :--------------------------------------------------------------------------------------- |
96| **Python** | Python 3.x dengan pip, poetry, uv, black, mypy, pytest, ruff |
97| **Node.js** | 20, 21, dan 22 melalui nvm, dengan npm, yarn, pnpm, bun¹, eslint, prettier, chromedriver |
98| **Ruby** | 3.1, 3.2, 3.3 dengan gem, bundler, rbenv |
99| **PHP** | 8.4 dengan Composer |
100| **Java** | OpenJDK 21 dengan Maven dan Gradle |
101| **Go** | stabil terbaru dengan dukungan modul |
102| **Rust** | rustc dan cargo |
103| **C/C++** | GCC, Clang, cmake, ninja, conan |
104| **Docker** | docker, dockerd, docker compose |
105| **Databases** | PostgreSQL 16, Redis 7.0 |
106| **Utilities** | git, jq, yq, ripgrep, tmux, vim, nano |
107
108¹ Bun diinstal tetapi memiliki [masalah kompatibilitas proxy](#install-dependencies-with-a-sessionstart-hook) yang diketahui untuk pengambilan paket.
109
110Untuk versi yang tepat, minta Claude menjalankan `check-tools` di sesi cloud. Perintah ini hanya ada di sesi cloud.
111
112<h3 id="work-with-github-issues-and-pull-requests">
113 Bekerja dengan masalah GitHub dan pull request
114</h3>
115
116Sesi cloud menyertakan alat GitHub bawaan yang memungkinkan Claude membaca masalah, membuat daftar pull request, mengambil diff, dan memposting komentar tanpa setup apa pun. Alat ini mengautentikasi melalui [proxy GitHub](#github-proxy) menggunakan metode apa pun yang Anda konfigurasikan di bawah [Opsi autentikasi GitHub](#github-authentication-options), jadi token Anda tidak pernah memasuki kontainer.
117
118Anda dapat mengatur `GH_TOKEN` atau `GITHUB_TOKEN` sendiri di [pengaturan lingkungan](#configure-your-environment), atau biarkan keduanya tidak diatur dan biarkan [proxy GitHub](#github-proxy) mengautentikasi untuk Anda:
119
120* Jika Anda mengatur token, itu melewati ke kontainer tanpa perubahan, jadi `gh` dan skrip Anda menggunakannya secara langsung.
121* Jika Anda tidak mengatur keduanya, kontainer mengatur kedua variabel ke string placeholder `proxy-injected` dan proxy mengganti kredensial nyata Anda pada permintaan GitHub keluar. `gh` bekerja tanpa token Anda sendiri, tetapi skrip yang membaca `GITHUB_TOKEN` secara langsung mendapatkan placeholder, bukan token yang dapat digunakan.
122
123Untuk memeriksa kasus mana yang berlaku untuk sesi Anda, minta Claude menjalankan `echo $GH_TOKEN`.
124
125CLI `gh` tidak diinstal sebelumnya. Jika Anda memerlukan perintah `gh` yang tidak dicakup alat bawaan, seperti `gh release` atau `gh workflow run`, instal dan autentikasi sendiri:
126
127<Steps>
128 <Step title="Instal gh di skrip setup Anda">
129 Tambahkan `apt update && apt install -y gh` ke [skrip setup](#setup-scripts) Anda.
130 </Step>
131
132 <Step title="Sediakan token jika proxy tidak menangani autentikasi">
133 Jika `echo $GH_TOKEN` mencetak `proxy-injected`, [proxy GitHub](#github-proxy) mengautentikasi `gh` untuk Anda dan langkah ini tidak perlu. Jika tidak, tambahkan variabel lingkungan `GH_TOKEN` ke [pengaturan lingkungan](#configure-your-environment) Anda dengan token akses pribadi GitHub. `gh` membaca `GH_TOKEN` secara otomatis, jadi tidak ada langkah `gh auth login` yang diperlukan.
134 </Step>
135</Steps>
136
137<h3 id="link-output-back-to-the-session">
138 Tautkan output kembali ke sesi
139</h3>
140
141Setiap sesi cloud memiliki URL transkrip di claude.ai, dan sesi dapat membaca ID-nya sendiri dari variabel lingkungan `CLAUDE_CODE_REMOTE_SESSION_ID`. Gunakan ini untuk menempatkan tautan yang dapat dilacak di badan PR, pesan komit, posting Slack, atau laporan yang dihasilkan sehingga pengulas dapat membuka jalannya yang menghasilkannya.
142
143Mulai dari v2.1.179, komit yang dibuat Claude di sesi web menyertakan trailer git `Claude-Session: <url>`, dan badan PR menyertakan URL sesi di barisnya sendiri. Dari v2.1.182, atur [`attribution.sessionUrl`](/docs/id/settings#attribution-settings) ke `false` untuk menghilangkan trailer dan tautan badan PR.
144
145Untuk menyertakan tautan sesi dalam sesuatu selain komit atau PR, seperti pesan Slack yang diposting Claude atau file laporan yang ditulisnya, minta Claude menjalankan perintah berikut dan gunakan outputnya. Perintah mengonversi awalan `cse_` dalam nilai variabel lingkungan ke awalan `session_` yang diharapkan URL transkrip:
146
147```bash theme={null}
148echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID/#cse_/session_}"
149```
150
151<h3 id="run-tests-start-services-and-add-packages">
152 Jalankan tes, mulai layanan, dan tambahkan paket
153</h3>
154
155Claude menjalankan tes sebagai bagian dari mengerjakan tugas. Minta di prompt Anda, seperti "perbaiki tes yang gagal di `tests/`" atau "jalankan pytest setelah setiap perubahan." Pelari tes seperti pytest, jest, dan cargo test sudah diinstal sebelumnya dan bekerja tanpa setup tambahan.
156
157PostgreSQL dan Redis sudah diinstal tetapi tidak berjalan secara default. Minta Claude untuk memulai masing-masing selama sesi:
158
159```bash theme={null}
160service postgresql start
161```
162
163```bash theme={null}
164service redis-server start
165```
166
167Docker tersedia untuk menjalankan layanan terkontainerisasi. Minta Claude menjalankan `docker compose up` untuk memulai layanan proyek Anda. Akses jaringan untuk menarik gambar mengikuti [tingkat akses](#access-levels) lingkungan Anda, dan [default yang dipercaya](#default-allowed-domains) mencakup Docker Hub dan registri umum lainnya.
168
169Jika gambar Anda besar atau lambat untuk ditarik, tambahkan `docker compose pull` atau `docker compose build` ke [skrip setup](#setup-scripts) Anda. Gambar yang ditarik disimpan di [lingkungan yang di-cache](#environment-caching), jadi setiap sesi baru memilikinya di disk. Cache menyimpan file saja, bukan proses yang berjalan, jadi Claude masih memulai kontainer setiap sesi.
170
171Untuk menambahkan paket yang tidak diinstal sebelumnya, gunakan [skrip setup](#setup-scripts). Output skrip [di-cache](#environment-caching), jadi paket yang Anda instal di sana tersedia di awal setiap sesi tanpa menginstal ulang setiap kali. Anda juga dapat meminta Claude menginstal paket selama sesi, tetapi instalasi itu tidak bertahan di sesi lain.
172
173<h3 id="resource-limits">
174 Batas sumber daya
175</h3>
176
177Sesi cloud berjalan dengan batas sumber daya perkiraan yang mungkin berubah seiring waktu:
178
179* 4 vCPU
180* 16 GB RAM
181* 30 GB disk
182
183Tugas yang memerlukan memori jauh lebih banyak, seperti pekerjaan build besar atau tes intensif memori, mungkin gagal atau dihentikan. Untuk beban kerja di luar batas ini, gunakan [Remote Control](/docs/id/remote-control) untuk menjalankan Claude Code pada perangkat keras Anda sendiri.
184
185<h3 id="configure-your-environment">
186 Konfigurasikan lingkungan Anda
187</h3>
188
189Lingkungan mengontrol [akses jaringan](#network-access), variabel lingkungan, dan [skrip setup](#setup-scripts) yang berjalan sebelum sesi dimulai. Lihat [Alat yang diinstal](#installed-tools) untuk apa yang tersedia tanpa konfigurasi apa pun. Anda dapat mengelola lingkungan dari antarmuka web atau terminal:
190
191| Tindakan | Cara |
192| :------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
193| Tambahkan lingkungan | Pilih lingkungan saat ini untuk membuka pemilih, kemudian pilih **Tambahkan lingkungan**. Dialog mencakup nama, tingkat akses jaringan, variabel lingkungan, dan skrip setup. |
194| Edit lingkungan | Pilih ikon cloud yang menunjukkan nama lingkungan saat ini untuk membuka pemilih, arahkan ke lingkungan, dan klik ikon pengaturan yang muncul di sebelah kanan. |
195| Arsipkan lingkungan | Buka lingkungan untuk pengeditan dan pilih **Arsipkan**. Lingkungan yang diarsipkan disembunyikan dari pemilih tetapi sesi yang ada terus berjalan. |
196| Atur lingkungan default untuk sesi cloud CLI | Jalankan `/remote-env` di terminal Anda. Jika Anda memiliki satu lingkungan, perintah ini menunjukkan konfigurasi saat ini Anda. `/remote-env` hanya memilih default; tambahkan, edit, dan arsipkan lingkungan dari antarmuka web. |
197
198Variabel lingkungan menggunakan format `.env` dengan satu pasangan `KEY=value` per baris. Jangan bungkus nilai dalam tanda kutip, karena tanda kutip disimpan sebagai bagian dari nilai. Contoh ini mendefinisikan tiga variabel:
199
200```text theme={null}
201NODE_ENV=development
202LOG_LEVEL=debug
203DATABASE_URL=postgres://localhost:5432/myapp
204```
205
206<h3 id="organization-shared-environments">
207 Lingkungan bersama organisasi
208</h3>
209
210Pemilik dan admin pada paket Team dan Enterprise dapat membuat lingkungan cloud yang dibagikan dengan setiap anggota organisasi. Lingkungan bersama muncul di pemilih lingkungan setiap anggota bersama dengan yang pribadi, jadi tim dapat menstandarkan satu konfigurasi alih-alih setiap anggota membuatnya ulang.
211
212Kelola lingkungan bersama dari halaman **Cloud environments** di [pengaturan admin](https://claude.ai/admin-settings). Dari sana Anda dapat:
213
214* Membuat, mengedit, dan mengarsipkan lingkungan bersama. Masing-masing memiliki bidang yang sama dengan lingkungan pribadi: nama, [tingkat akses jaringan](#access-levels), [variabel lingkungan](#configure-your-environment) dalam format `.env`, dan [skrip setup](#setup-scripts).
215* Atur lingkungan default untuk organisasi.
216
217Nilai dalam lingkungan bersama mencapai sesi setiap anggota di lingkungan itu. Seperti lingkungan pribadi, lingkungan bersama tidak memiliki penyimpanan rahasia khusus, jadi jangan sertakan rahasia.
218
219<h2 id="setup-scripts">
220 Skrip setup
221</h2>
222
223Skrip setup adalah skrip Bash yang berjalan saat sesi cloud baru dimulai, sebelum Claude Code diluncurkan. Gunakan skrip setup untuk menginstal dependensi, mengonfigurasi alat, atau mengambil apa pun yang dibutuhkan sesi yang tidak diinstal sebelumnya.
224
225Skrip berjalan sebagai root di Ubuntu 24.04, jadi `apt install` dan sebagian besar pengelola paket bahasa bekerja.
226
227Untuk menambahkan skrip setup, buka dialog pengaturan lingkungan dan masukkan skrip Anda di bidang **Skrip setup**.
228
229Contoh ini menginstal CLI `gh`, yang tidak diinstal sebelumnya:
230
231```bash theme={null}
232#!/bin/bash
233apt update && apt install -y gh
234```
235
236Jika skrip keluar dengan non-zero, sesi gagal dimulai. Tambahkan `|| true` ke perintah non-kritis untuk menghindari pemblokiran sesi pada kegagalan instalasi yang tidak stabil.
237
238Jaga total runtime skrip di bawah kira-kira lima menit sehingga [cache lingkungan](#environment-caching) dapat dibangun. Jalankan instalasi independen secara paralel dengan `&` dan `wait`. Jika satu unduhan tidak akan cocok dalam batas lima menit, pindahkan ke hook [SessionStart](#setup-scripts-vs-sessionstart-hooks) yang meluncurkannya di latar belakang.
239
240<Note>
241 Skrip setup yang menginstal paket memerlukan akses jaringan untuk menjangkau registri. Akses jaringan **Trusted** default memungkinkan koneksi ke [domain paket umum](#default-allowed-domains) termasuk npm, PyPI, RubyGems, dan crates.io. Skrip akan gagal menginstal paket jika lingkungan Anda menggunakan akses jaringan **None**.
242</Note>
243
244<h3 id="environment-caching">
245 Caching lingkungan
246</h3>
247
248Skrip setup berjalan pertama kali Anda memulai sesi di lingkungan. Setelah selesai, Anthropic membuat snapshot sistem file dan menggunakan kembali snapshot itu sebagai titik awal untuk sesi nanti. Sesi baru dimulai dengan dependensi, alat, dan gambar Docker Anda sudah di disk, dan langkah skrip setup dilewati. Ini membuat startup tetap cepat bahkan ketika skrip menginstal toolchain besar atau menarik gambar kontainer.
249
250Cache menangkap file, bukan proses yang berjalan. Apa pun yang ditulis skrip setup ke disk terbawa. Layanan atau kontainer yang dimulainya tidak, jadi mulai itu per sesi dengan meminta Claude atau dengan hook [SessionStart](#setup-scripts-vs-sessionstart-hooks).
251
252Skrip setup berjalan lagi untuk membangun kembali cache saat Anda mengubah skrip setup lingkungan atau host jaringan yang diizinkan, dan ketika cache mencapai kedaluwarsa setelah kira-kira tujuh hari. Melanjutkan sesi yang ada tidak pernah menjalankan kembali skrip setup.
253
254Anda tidak perlu mengaktifkan caching atau mengelola snapshot sendiri.
255
256<h3 id="setup-scripts-vs-sessionstart-hooks">
257 Skrip setup vs. hook SessionStart
258</h3>
259
260Gunakan skrip setup untuk menginstal hal-hal yang dibutuhkan cloud tetapi laptop Anda sudah memiliki, seperti runtime bahasa atau alat CLI. Gunakan hook [SessionStart](/docs/id/hooks#sessionstart) untuk penyiapan proyek yang harus berjalan di mana-mana, cloud dan lokal, seperti `npm install`.
261
262Keduanya berjalan di awal sesi, tetapi mereka termasuk di tempat yang berbeda:
263
264| | Skrip setup | Hook SessionStart |
265| ---------------- | ----------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
266| Terlampir pada | Lingkungan cloud | Repositori Anda |
267| Dikonfigurasi di | UI lingkungan cloud | `.claude/settings.json` di repo Anda |
268| Berjalan | Sebelum Claude Code diluncurkan, ketika tidak ada [lingkungan yang di-cache](#environment-caching) tersedia | Setelah Claude Code diluncurkan, pada setiap sesi termasuk yang dilanjutkan |
269| Cakupan | Hanya lingkungan cloud | Lokal dan cloud |
270
271Hook SessionStart juga dapat didefinisikan di `~/.claude/settings.json` tingkat pengguna Anda secara lokal, tetapi pengaturan tingkat pengguna tidak terbawa ke sesi cloud. Di cloud, hook berasal dari repo dan dari [pengaturan yang dikelola server](/docs/id/server-managed-settings) organisasi Anda.
272
273<h3 id="install-dependencies-with-a-sessionstart-hook">
274 Instal dependensi dengan hook SessionStart
275</h3>
276
277Untuk menginstal dependensi hanya di sesi cloud, tambahkan hook SessionStart ke `.claude/settings.json` repo Anda:
278
279```json theme={null}
280{
281 "hooks": {
282 "SessionStart": [
283 {
284 "matcher": "startup|resume",
285 "hooks": [
286 {
287 "type": "command",
288 "command": "\"$CLAUDE_PROJECT_DIR\"/scripts/install_pkgs.sh"
289 }
290 ]
291 }
292 ]
293 }
294}
295```
296
297Buat skrip di `scripts/install_pkgs.sh` dan buat dapat dieksekusi dengan `chmod +x`. Variabel lingkungan `CLAUDE_CODE_REMOTE` diatur ke `true` di sesi cloud, jadi Anda dapat menggunakannya untuk melewati eksekusi lokal:
298
299```bash theme={null}
300#!/bin/bash
301
302if [ "$CLAUDE_CODE_REMOTE" != "true" ]; then
303 exit 0
304fi
305
306npm install
307pip install -r requirements.txt
308exit 0
309```
310
311Hook SessionStart memiliki beberapa batasan di sesi cloud:
312
313* **Tidak ada scoping khusus cloud**: hook berjalan di sesi lokal dan cloud. Untuk melewati eksekusi lokal, periksa variabel lingkungan `CLAUDE_CODE_REMOTE` seperti yang ditunjukkan di atas.
314* **Memerlukan akses jaringan**: perintah install perlu menjangkau registri paket. Jika lingkungan Anda menggunakan akses jaringan **None**, hook ini gagal. [Daftar putih default](#default-allowed-domains) di bawah **Trusted** mencakup npm, PyPI, RubyGems, dan crates.io.
315* **Kompatibilitas proxy**: semua lalu lintas keluar melewati [proxy keamanan](#security-proxy). Beberapa pengelola paket tidak bekerja dengan benar dengan proxy ini. Bun adalah contoh yang diketahui.
316* **Menambah latensi startup**: hook berjalan setiap kali sesi dimulai atau dilanjutkan, tidak seperti skrip setup yang mendapat manfaat dari [caching lingkungan](#environment-caching). Jaga skrip install tetap cepat dengan memeriksa apakah dependensi sudah ada sebelum menginstal ulang.
317
318Untuk mempertahankan variabel lingkungan untuk perintah Bash berikutnya, tulis ke file di `$CLAUDE_ENV_FILE`. Lihat [hook SessionStart](/docs/id/hooks#sessionstart) untuk detail.
319
320Mengganti gambar dasar dengan gambar Docker Anda sendiri belum didukung. Gunakan skrip setup untuk menginstal apa yang Anda butuhkan di atas [gambar yang disediakan](#installed-tools), atau jalankan gambar Anda sebagai kontainer bersama Claude dengan `docker compose`.
321
322<h2 id="network-access">
323 Akses jaringan
324</h2>
325
326Akses jaringan mengontrol koneksi keluar dari lingkungan cloud. Setiap lingkungan menentukan satu tingkat akses, dan Anda dapat memperluas dengan domain yang diizinkan khusus. Default adalah **Trusted**, yang memungkinkan registri paket dan [domain yang diizinkan lainnya](#default-allowed-domains).
327
328Untuk mengubah akses jaringan lingkungan, [buka untuk pengeditan](#configure-your-environment) dan gunakan pemilih **Akses jaringan** di dialog. Tidak ada halaman Environments terpisah. Ikon cloud muncul di mana pun Anda memulai sesi cloud atau mengonfigurasi [routine](/docs/id/routines#environments-and-network-access).
329
330<Note>
331 Lalu lintas konektor MCP dirutekan melalui server Anthropic, jadi konektor yang Anda aktifkan pada sesi atau routine berfungsi tanpa menambahkan host mereka ke **Domain yang diizinkan**. Konektor dikonfigurasi per sesi atau per routine; hapus yang tidak Anda butuhkan untuk membatasi alat mana yang dapat dijangkau Claude. Ini bergantung pada saluran terikat Anthropic yang sama yang dicatat di bawah [Keamanan dan isolasi](#security-and-isolation).
332</Note>
333
334<h3 id="access-levels">
335 Tingkat akses
336</h3>
337
338Pilih tingkat akses saat Anda membuat atau mengedit lingkungan:
339
340| Tingkat | Koneksi keluar |
341| :---------- | :---------------------------------------------------------------------------------------- |
342| **None** | Tidak ada akses jaringan keluar |
343| **Trusted** | [Domain yang diizinkan](#default-allowed-domains) saja: registri paket, GitHub, SDK cloud |
344| **Full** | Domain apa pun |
345| **Custom** | Daftar putih Anda sendiri, secara opsional termasuk default |
346
347Operasi GitHub menggunakan [proxy terpisah](#github-proxy) yang independen dari pengaturan ini.
348
349<h3 id="allow-specific-domains">
350 Izinkan domain tertentu
351</h3>
352
353Untuk mengizinkan domain yang tidak ada di daftar Trusted, pilih **Custom** di pengaturan akses jaringan lingkungan. Bidang **Domain yang diizinkan** muncul. Masukkan satu domain per baris:
354
355```text theme={null}
356api.example.com
357*.internal.example.com
358registry.example.com
359```
360
361Gunakan `*.` untuk pencocokan subdomain wildcard. Periksa **Juga sertakan daftar default pengelola paket umum** untuk menjaga [domain Trusted](#default-allowed-domains) bersama entri khusus Anda, atau biarkan tidak dicentang untuk hanya mengizinkan apa yang Anda daftarkan.
362
363Domain yang diizinkan dikonfigurasi per lingkungan. Tidak ada daftar putih tingkat organisasi yang dapat didorong Owners ke lingkungan semua pengguna; [pengaturan yang dikelola server](/docs/id/server-managed-settings) dapat membatasi sesi cloud tetapi tidak dapat menambahkan domain yang diizinkan.
364
365<h3 id="github-proxy">
366 Proxy GitHub
367</h3>
368
369Untuk keamanan, semua operasi GitHub melewati layanan proxy khusus yang menjaga kredensial GitHub asli Anda di luar sandbox. Proxy mengautentikasi dua jenis lalu lintas:
370
371* Interaksi Git: klien git di dalam sandbox menggunakan kredensial bersistem yang dibuat khusus, yang diverifikasi proxy dan diterjemahkan ke token autentikasi GitHub aktual Anda
372* Permintaan API GitHub: proxy mengganti kredensial asli Anda pada permintaan dari alat GitHub bawaan, dan dari `gh` ketika sesi Anda menetapkan placeholder `proxy-injected` yang dijelaskan dalam [Bekerja dengan masalah dan permintaan tarik GitHub](#work-with-github-issues-and-pull-requests)
373
374Proxy juga membatasi operasi git push ke cabang kerja saat ini untuk keamanan, dan memungkinkan kloning, pengambilan, dan operasi PR sambil mempertahankan batas keamanan.
375
376Proxy membatasi permintaan API GitHub dan aset rilis ke repositori yang terlampir pada sesi, terlepas dari [tingkat akses jaringan](#access-levels) lingkungan. Skrip setup yang mengunduh aset rilis dari repositori yang tidak terlampir mengembalikan 403. File yang berkomitmen dari repositori publik diambil melalui `raw.githubusercontent.com`, yang ditangani oleh [proxy keamanan](#security-proxy) sebagai gantinya. Domain itu ada di daftar [Trusted](#default-allowed-domains) default, jadi file tetap dapat diakses kecuali [tingkat akses](#access-levels) lingkungan mengecualikannya.
377
378<h3 id="security-proxy">
379 Proxy keamanan
380</h3>
381
382Lingkungan berjalan di belakang proxy jaringan HTTP/HTTPS untuk tujuan keamanan dan pencegahan penyalahgunaan. Semua lalu lintas internet keluar melewati proxy ini, yang menyediakan:
383
384* Perlindungan terhadap permintaan berbahaya
385* Pembatasan laju dan pencegahan penyalahgunaan
386* Penyaringan konten untuk keamanan yang ditingkatkan
387* Jejak audit tingkat DNS dari nama host yang diminta
388
389<h3 id="default-allowed-domains">
390 Domain yang diizinkan secara default
391</h3>
392
393Saat menggunakan akses jaringan **Trusted**, domain berikut diizinkan secara default. Domain yang ditandai dengan `*` menunjukkan pencocokan subdomain wildcard, jadi `*.gcr.io` memungkinkan subdomain apa pun dari `gcr.io`.
394
395<AccordionGroup>
396 <Accordion title="Layanan Anthropic">
397 * api.anthropic.com
398 * statsig.anthropic.com
399 * docs.claude.com
400 * platform.claude.com
401 * code.claude.com
402 * claude.ai
403 </Accordion>
404
405 <Accordion title="Kontrol versi">
406 * github.com
407 * [www.github.com](http://www.github.com)
408 * api.github.com
409 * npm.pkg.github.com
410 * raw\.githubusercontent.com
411 * pkg-npm.githubusercontent.com
412 * objects.githubusercontent.com
413 * release-assets.githubusercontent.com
414 * codeload.github.com
415 * avatars.githubusercontent.com
416 * camo.githubusercontent.com
417 * gist.github.com
418 * gitlab.com
419 * [www.gitlab.com](http://www.gitlab.com)
420 * registry.gitlab.com
421 * bitbucket.org
422 * [www.bitbucket.org](http://www.bitbucket.org)
423 * api.bitbucket.org
424 </Accordion>
425
426 <Accordion title="Registri kontainer">
427 * registry-1.docker.io
428 * auth.docker.io
429 * index.docker.io
430 * hub.docker.com
431 * [www.docker.com](http://www.docker.com)
432 * production.cloudflare.docker.com
433 * download.docker.com
434 * gcr.io
435 * \*.gcr.io
436 * ghcr.io
437 * mcr.microsoft.com
438 * \*.data.mcr.microsoft.com
439 * public.ecr.aws
440 </Accordion>
441
442 <Accordion title="Platform cloud">
443 * cloud.google.com
444 * accounts.google.com
445 * gcloud.google.com
446 * \*.googleapis.com
447 * storage.googleapis.com
448 * compute.googleapis.com
449 * container.googleapis.com
450 * azure.com
451 * portal.azure.com
452 * microsoft.com
453 * [www.microsoft.com](http://www.microsoft.com)
454 * \*.microsoftonline.com
455 * packages.microsoft.com
456 * dotnet.microsoft.com
457 * dot.net
458 * visualstudio.com
459 * dev.azure.com
460 * \*.amazonaws.com
461 * \*.api.aws
462 * oracle.com
463 * [www.oracle.com](http://www.oracle.com)
464 * java.com
465 * [www.java.com](http://www.java.com)
466 * java.net
467 * [www.java.net](http://www.java.net)
468 * download.oracle.com
469 * yum.oracle.com
470 </Accordion>
471
472 <Accordion title="Pengelola paket JavaScript dan Node">
473 * registry.npmjs.org
474 * [www.npmjs.com](http://www.npmjs.com)
475 * [www.npmjs.org](http://www.npmjs.org)
476 * npmjs.com
477 * npmjs.org
478 * yarnpkg.com
479 * registry.yarnpkg.com
480 </Accordion>
481
482 <Accordion title="Pengelola paket Python">
483 * pypi.org
484 * [www.pypi.org](http://www.pypi.org)
485 * files.pythonhosted.org
486 * pythonhosted.org
487 * test.pypi.org
488 * pypi.python.org
489 * pypa.io
490 * [www.pypa.io](http://www.pypa.io)
491 </Accordion>
492
493 <Accordion title="Pengelola paket Ruby">
494 * rubygems.org
495 * [www.rubygems.org](http://www.rubygems.org)
496 * api.rubygems.org
497 * index.rubygems.org
498 * ruby-lang.org
499 * [www.ruby-lang.org](http://www.ruby-lang.org)
500 * rubyforge.org
501 * [www.rubyforge.org](http://www.rubyforge.org)
502 * rubyonrails.org
503 * [www.rubyonrails.org](http://www.rubyonrails.org)
504 * rvm.io
505 * get.rvm.io
506 </Accordion>
507
508 <Accordion title="Pengelola paket Rust">
509 * crates.io
510 * [www.crates.io](http://www.crates.io)
511 * index.crates.io
512 * static.crates.io
513 * rustup.rs
514 * static.rust-lang.org
515 * [www.rust-lang.org](http://www.rust-lang.org)
516 </Accordion>
517
518 <Accordion title="Pengelola paket Go">
519 * proxy.golang.org
520 * sum.golang.org
521 * index.golang.org
522 * golang.org
523 * [www.golang.org](http://www.golang.org)
524 * goproxy.io
525 * pkg.go.dev
526 </Accordion>
527
528 <Accordion title="Pengelola paket JVM">
529 * maven.org
530 * repo.maven.org
531 * central.maven.org
532 * repo1.maven.org
533 * repo.maven.apache.org
534 * jcenter.bintray.com
535 * gradle.org
536 * [www.gradle.org](http://www.gradle.org)
537 * services.gradle.org
538 * plugins.gradle.org
539 * kotlinlang.org
540 * [www.kotlinlang.org](http://www.kotlinlang.org)
541 * spring.io
542 * repo.spring.io
543 </Accordion>
544
545 <Accordion title="Pengelola paket lainnya">
546 * packagist.org (PHP Composer)
547 * [www.packagist.org](http://www.packagist.org)
548 * repo.packagist.org
549 * nuget.org (.NET NuGet)
550 * [www.nuget.org](http://www.nuget.org)
551 * api.nuget.org
552 * pub.dev (Dart/Flutter)
553 * api.pub.dev
554 * hex.pm (Elixir/Erlang)
555 * [www.hex.pm](http://www.hex.pm)
556 * cpan.org (Perl CPAN)
557 * [www.cpan.org](http://www.cpan.org)
558 * metacpan.org
559 * [www.metacpan.org](http://www.metacpan.org)
560 * api.metacpan.org
561 * cocoapods.org (iOS/macOS)
562 * [www.cocoapods.org](http://www.cocoapods.org)
563 * cdn.cocoapods.org
564 * haskell.org
565 * [www.haskell.org](http://www.haskell.org)
566 * hackage.haskell.org
567 * swift.org
568 * [www.swift.org](http://www.swift.org)
569 </Accordion>
570
571 <Accordion title="Distribusi Linux">
572 * archive.ubuntu.com
573 * security.ubuntu.com
574 * ubuntu.com
575 * [www.ubuntu.com](http://www.ubuntu.com)
576 * \*.ubuntu.com
577 * ppa.launchpad.net
578 * launchpad.net
579 * [www.launchpad.net](http://www.launchpad.net)
580 * \*.nixos.org
581 </Accordion>
582
583 <Accordion title="Alat pengembangan dan platform">
584 * dl.k8s.io (Kubernetes)
585 * pkgs.k8s.io
586 * k8s.io
587 * [www.k8s.io](http://www.k8s.io)
588 * releases.hashicorp.com (HashiCorp)
589 * apt.releases.hashicorp.com
590 * rpm.releases.hashicorp.com
591 * archive.releases.hashicorp.com
592 * hashicorp.com
593 * [www.hashicorp.com](http://www.hashicorp.com)
594 * repo.anaconda.com (Anaconda/Conda)
595 * conda.anaconda.org
596 * anaconda.org
597 * [www.anaconda.com](http://www.anaconda.com)
598 * anaconda.com
599 * continuum.io
600 * apache.org (Apache)
601 * [www.apache.org](http://www.apache.org)
602 * archive.apache.org
603 * downloads.apache.org
604 * eclipse.org (Eclipse)
605 * [www.eclipse.org](http://www.eclipse.org)
606 * download.eclipse.org
607 * nodejs.org (Node.js)
608 * [www.nodejs.org](http://www.nodejs.org)
609 * developer.apple.com
610 * developer.android.com
611 * pkg.stainless.com
612 * binaries.prisma.sh
613 </Accordion>
614
615 <Accordion title="Layanan cloud dan monitoring">
616 * statsig.com
617 * [www.statsig.com](http://www.statsig.com)
618 * api.statsig.com
619 * sentry.io
620 * \*.sentry.io
621 * downloads.sentry-cdn.com
622 * http-intake.logs.datadoghq.com
623 * browser-intake-us5-datadoghq.com
624 * \*.datadoghq.com
625 * \*.datadoghq.eu
626 * api.honeycomb.io
627 </Accordion>
628
629 <Accordion title="Pengiriman konten dan mirror">
630 * sourceforge.net
631 * \*.sourceforge.net
632 * packagecloud.io
633 * \*.packagecloud.io
634 * fonts.googleapis.com
635 * fonts.gstatic.com
636 </Accordion>
637
638 <Accordion title="Skema dan konfigurasi">
639 * json-schema.org
640 * [www.json-schema.org](http://www.json-schema.org)
641 * json.schemastore.org
642 * [www.schemastore.org](http://www.schemastore.org)
643 </Accordion>
644
645 <Accordion title="Model Context Protocol">
646 * \*.modelcontextprotocol.io
647 </Accordion>
648</AccordionGroup>
649
650<h2 id="move-tasks-between-web-and-terminal">62<h2 id="move-tasks-between-web-and-terminal">
651 Pindahkan tugas antara web dan terminal63 Pindahkan tugas antara web dan terminal
652</h2>64</h2>
654Alur kerja ini memerlukan [Claude Code CLI](/docs/id/quickstart) yang masuk ke akun claude.ai yang sama. Anda dapat memulai sesi cloud baru dari terminal, atau menarik sesi cloud ke terminal untuk melanjutkan secara lokal. Sesi cloud bertahan bahkan jika Anda menutup laptop, dan Anda dapat memantaunya dari mana saja termasuk aplikasi mobile Claude.66Alur kerja ini memerlukan [Claude Code CLI](/docs/id/quickstart) yang masuk ke akun claude.ai yang sama. Anda dapat memulai sesi cloud baru dari terminal, atau menarik sesi cloud ke terminal untuk melanjutkan secara lokal. Sesi cloud bertahan bahkan jika Anda menutup laptop, dan Anda dapat memantaunya dari mana saja termasuk aplikasi mobile Claude.
655 67
656<Note>68<Note>
657 Dari CLI, handoff sesi adalah satu arah: Anda dapat menarik sesi cloud ke terminal Anda dengan `--teleport`, tetapi Anda tidak dapat mendorong sesi terminal yang ada ke web. Bendera `--cloud` membuat sesi cloud baru untuk repositori saat ini Anda. [Aplikasi Desktop](/docs/id/desktop#continue-in-another-surface) menyediakan menu Continue in yang dapat mengirim sesi lokal ke web.69 Dari CLI, handoff sesi adalah satu arah: Anda dapat menarik sesi cloud ke terminal Anda dengan `--teleport`, tetapi Anda tidak dapat mendorong sesi terminal yang ada ke web. Bendera `--cloud` dengan deskripsi tugas membuat sesi cloud baru untuk repositori saat ini Anda; dengan `-p` dan ID sesi atau URL claude.ai/code, itu malah [antri pesan ke sesi yang ada](/docs/id/claude-code-on-the-web#send-follow-ups-from-the-cli). [Aplikasi Desktop](/docs/id/desktop#continue-in-another-surface) menyediakan menu Continue in yang dapat mengirim sesi lokal ke web.
658</Note>70</Note>
659 71
660<h3 id="from-terminal-to-web">72<h3 id="from-terminal-to-web">
667claude --cloud "Fix the authentication bug in src/auth/login.ts"79claude --cloud "Fix the authentication bug in src/auth/login.ts"
668```80```
669 81
670Ini membuat sesi cloud baru di claude.ai. Sesi mengkloning remote GitHub direktori saat ini Anda di cabang saat ini Anda, jadi dorong terlebih dahulu jika Anda memiliki komit lokal, karena VM mengkloning dari GitHub daripada mesin Anda. `--cloud` bekerja dengan satu repositori pada satu waktu. Tugas berjalan di cloud sementara Anda terus bekerja secara lokal. Ejaan `--remote` yang lebih lama masih berfungsi sebagai alias yang sudah usang untuk `--cloud`.82Ini membuat sesi cloud baru di claude.ai. VM cloud mengkloning remote GitHub direktori saat ini Anda di cabang saat ini Anda, bukan checkout lokal Anda, jadi dorong terlebih dahulu jika Anda memiliki komit lokal. `--cloud` bekerja dengan satu repositori pada satu waktu. Tugas berjalan di cloud sementara Anda terus bekerja secara lokal. Ejaan `--remote` yang lebih lama masih berfungsi sebagai alias yang sudah usang untuk `--cloud`.
671 83
672Mulai dari v2.1.195, CLI menampilkan daftar periksa langsung dari langkah-langkah penyiapan, seperti mengkloning repositori dan menjalankan [skrip penyiapan Anda](#setup-scripts), sementara kontainer cloud dimulai. Pesan yang Anda ketik saat kontainer sedang disediakan antri dan dikirim setelah sesi siap.84Saat kontainer cloud dimulai, CLI menampilkan daftar periksa langsung dari langkah-langkah setup, seperti mengkloning repositori dan menjalankan [skrip setup](/docs/id/cloud-environments#setup-scripts) Anda. Itu antri pesan yang Anda ketik selama provisioning dan mengirimnya setelah sesi siap.
673 85
674<Note>86<Note>
675 `--cloud` membuat sesi cloud. `--remote-control` tidak terkait: itu mengekspos sesi CLI lokal untuk pemantauan dari web. Lihat [Remote Control](/docs/id/remote-control).87 `--cloud` membuat sesi cloud. `--remote-control` tidak terkait: itu mengekspos sesi CLI lokal untuk pemantauan dari web. Lihat [Remote Control](/docs/id/remote-control).
677 89
678Gunakan `/tasks` di Claude Code CLI untuk memeriksa kemajuan, atau buka sesi di claude.ai atau aplikasi mobile Claude untuk berinteraksi langsung. Dari sana Anda dapat mengarahkan Claude, memberikan umpan balik, atau menjawab pertanyaan seperti percakapan lainnya.90Gunakan `/tasks` di Claude Code CLI untuk memeriksa kemajuan, atau buka sesi di claude.ai atau aplikasi mobile Claude untuk berinteraksi langsung. Dari sana Anda dapat mengarahkan Claude, memberikan umpan balik, atau menjawab pertanyaan seperti percakapan lainnya.
679 91
92Jika Claude mengajukan pertanyaan dan sesi tetap idle, Anda masih dapat menjawab saat Anda kembali, hingga [environment expiry](#environment-expired), dan sesi berlanjut dari jawaban Anda.
93
680<h4 id="tips-for-cloud-tasks">94<h4 id="tips-for-cloud-tasks">
681 Tips untuk tugas cloud95 Tips untuk tugas cloud
682</h4>96</h4>
693claude --cloud "Execute the migration plan in docs/migration-plan.md"107claude --cloud "Execute the migration plan in docs/migration-plan.md"
694```108```
695 109
696Pola ini memberi Anda kontrol atas strategi sambil membiarkan Claude mengeksekusi secara otonom di cloud.
697
698**Rencanakan di cloud dengan ultraplan**: untuk menyusun dan meninjau rencana itu sendiri dalam sesi web, gunakan [ultraplan](/docs/id/ultraplan). Claude menghasilkan rencana di Claude Code di web sementara Anda terus bekerja, kemudian Anda berkomentar pada bagian di browser Anda dan memilih untuk mengeksekusi dari jarak jauh atau mengirim rencana kembali ke terminal Anda.
699
700**Jalankan tugas secara paralel**: setiap perintah `--cloud` membuat sesi cloud sendiri yang berjalan secara independen. Anda dapat memulai beberapa tugas dan semuanya akan berjalan secara bersamaan dalam sesi terpisah:110**Jalankan tugas secara paralel**: setiap perintah `--cloud` membuat sesi cloud sendiri yang berjalan secara independen. Anda dapat memulai beberapa tugas dan semuanya akan berjalan secara bersamaan dalam sesi terpisah:
701 111
702```bash theme={null}112```bash theme={null}
713 123
714Saat Anda menjalankan `claude --cloud` dari repositori yang tidak terhubung ke GitHub, Claude Code membundel repositori lokal Anda dan mengunggahnya langsung ke sesi cloud. Bundle mencakup riwayat repositori lengkap Anda di semua cabang, ditambah perubahan yang tidak dikomit ke file yang dilacak.124Saat Anda menjalankan `claude --cloud` dari repositori yang tidak terhubung ke GitHub, Claude Code membundel repositori lokal Anda dan mengunggahnya langsung ke sesi cloud. Bundle mencakup riwayat repositori lengkap Anda di semua cabang, ditambah perubahan yang tidak dikomit ke file yang dilacak.
715 125
126Pada macOS, Linux, dan WSL, Claude Code meninggalkan perubahan yang tidak dikomit ke file yang dinamai seperti kredensial atau kunci dari upload dan memberi nama file yang ditinggalkannya. Ini mencakup file `.env`, file Terraform `*.tfvars`, dan file kunci seperti `id_rsa` dan `*.pem`. Sesi dimulai dengan versi yang dikomit dari masing-masing, atau tanpa file jika tidak ada yang dikomit. Dalam worktree tertaut, submodule, atau tata letak serupa, Claude Code mengunggah perubahan ini dengan sisanya dan memberi nama file yang diunggahnya.
127
716Fallback ini diaktifkan secara otomatis saat akses GitHub tidak tersedia. Untuk memaksanya bahkan saat GitHub terhubung, atur `CCR_FORCE_BUNDLE=1`:128Fallback ini diaktifkan secara otomatis saat akses GitHub tidak tersedia. Untuk memaksanya bahkan saat GitHub terhubung, atur `CCR_FORCE_BUNDLE=1`:
717 129
718```bash theme={null}130```bash theme={null}
726* File yang tidak dilacak tidak disertakan; jalankan `git add` pada file yang ingin dilihat sesi cloud138* File yang tidak dilacak tidak disertakan; jalankan `git add` pada file yang ingin dilihat sesi cloud
727* Sesi yang dibuat dari bundle tidak dapat didorong kembali ke remote kecuali Anda juga memiliki [autentikasi GitHub](#github-authentication-options) yang dikonfigurasi139* Sesi yang dibuat dari bundle tidak dapat didorong kembali ke remote kecuali Anda juga memiliki [autentikasi GitHub](#github-authentication-options) yang dikonfigurasi
728 140
141<h3 id="send-follow-ups-from-the-cli">
142 Kirim follow-up dari CLI
143</h3>
144
145Setelah sesi cloud berjalan, di mana pun itu dijalankan, kirimkan pesan follow-up darinya dari CLI `claude` pada mesin apa pun tempat Anda masuk dengan `claude auth login`. CLI mengautentikasi dengan kredensial akun Anthropic Anda dan mengirim tidak ada status sesi lokal, jadi perintah tidak perlu berjalan dari mesin yang memulai sesi, dan itu sama di setiap shell, termasuk PowerShell.
146
147Perintah memposting satu pesan dan keluar:
148
149```bash theme={null}
150claude -p "your message" --cloud <session-id>
151```
152
153CLI antri pesan ke sesi dan keluar tanpa menunggu balasan. Gunakan untuk mengarahkan sesi yang berjalan lama, antri langkah berikutnya sementara yang saat ini masih selesai, atau kirim follow-up dari [skrip CI](/docs/id/self-hosted-environments-testing#run-the-test-loop). Anda juga dapat menyalurkan pesan pada stdin alih-alih meneruskannya sebagai argumen: `echo "your message" | claude -p --cloud <session-id>`.
154
155Untuk `<session-id>`, teruskan ID telanjang, seperti `session_...` atau `cse_...`, atau URL `claude.ai/code/<id>` sesi, dengan atau tanpa skema atau string kueri. Temukan ID dalam daftar sesi Anda di claude.ai/code.
156
157<Note>
158 `--cloud` memerlukan akun Anthropic. Itu tidak tersedia saat Claude Code dikonfigurasi untuk Amazon Bedrock, Google Cloud's Agent Platform, atau penyedia pihak ketiga lainnya. [LLM gateway](/docs/id/llm-gateway) yang dikonfigurasi hanya melalui `ANTHROPIC_BASE_URL` tidak dihitung sebagai penyedia pihak ketiga untuk pemeriksaan ini, tetapi Anda masih perlu masuk dengan `claude auth login`. Kebijakan `allow_remote_sessions` organisasi Anda juga harus diaktifkan. Owner dapat mengaktifkannya di pengaturan admin Claude Code di claude.ai/admin-settings/claude-code.
159</Note>
160
161<h4 id="output-and-errors">
162 Output dan kesalahan
163</h4>
164
165Saat berhasil, perintah mencetak ID sesi dan tautan untuk melihat sesi:
166
167```
168Sent to cloud session.
169Session ID: session_01DiUkqY2kzbUbDmW1w96rfi
170View: https://claude.ai/code/session_01DiUkqY2kzbUbDmW1w96rfi?from=cli&m=0
171```
172
173Teruskan `--output-format json` untuk hasil yang dapat dibaca mesin: `{ok, session_id, url}` saat berhasil, atau `{ok: false, session_id, error}` saat pengiriman gagal, misalnya saat sesi hilang atau diarsipkan. Kesalahan konfigurasi, seperti penyedia yang tidak didukung atau kebijakan organisasi yang dinonaktifkan, dicetak ke stderr tanpa JSON. `--output-format stream-json` tidak didukung dengan `--cloud <session-id>`.
174
175CLI menambahkan awalan kesalahan dengan `Error: `. Pengiriman yang gagal dibungkus sebagai `failed to send message to cloud session <id>: <reason>`.
176
177| Pesan | Artinya |
178| --------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
179| `Cloud sessions aren't available with <provider>. They run on Anthropic's infrastructure and require an Anthropic account.` | Claude Code dikonfigurasi untuk penyedia pihak ketiga. Pesan menyebutkan penyedia dengan label yang digunakan konfigurasi Anda, seperti `Amazon Bedrock` atau `Google Vertex AI`. Hapus konfigurasi penyedia itu, misalnya dengan membatalkan `CLAUDE_CODE_USE_BEDROCK`, dan masuk dengan akun Anthropic (`claude auth login`). |
180| `Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.` | Kebijakan organisasi `allow_remote_sessions` dimatikan. |
181| `Couldn't verify your organization's policy for cloud sessions. Check your network connection and try again.` | Claude Code tidak dapat mengambil kebijakan organisasi Anda, jadi itu menolak pengiriman daripada menganggap sesi cloud diizinkan. Periksa koneksi jaringan Anda dan coba lagi. |
182| `Attaching to an existing cloud session is not enabled for your account.` | Anda menjalankan `--cloud <session-id>` tanpa `-p`. Kirim pesan dengan `claude -p "your message" --cloud <session-id>`. |
183| `Session not found: <id>` | ID atau URL tidak cocok dengan sesi yang dapat Anda akses. Periksa terhadap URL claude.ai/code sesi. |
184| `cloud session <id> is archived and cannot accept new messages` | Sesi telah diarsipkan. Mulai sesi baru sebagai gantinya. |
185
729<h3 id="from-web-to-terminal">186<h3 id="from-web-to-terminal">
730 Dari web ke terminal187 Dari web ke terminal
731</h3>188</h3>
735* **Menggunakan `--teleport`**: dari baris perintah, jalankan `claude --teleport` untuk pemilih sesi interaktif, atau `claude --teleport <session-id>` untuk melanjutkan sesi tertentu secara langsung. Jika Anda memiliki perubahan yang tidak dikomit, Anda akan diminta untuk menyimpannya terlebih dahulu.192* **Menggunakan `--teleport`**: dari baris perintah, jalankan `claude --teleport` untuk pemilih sesi interaktif, atau `claude --teleport <session-id>` untuk melanjutkan sesi tertentu secara langsung. Jika Anda memiliki perubahan yang tidak dikomit, Anda akan diminta untuk menyimpannya terlebih dahulu.
736* **Menggunakan `/teleport`**: di dalam sesi CLI yang ada, jalankan `/teleport` atau `/tp` untuk membuka pemilih sesi yang sama tanpa memulai ulang Claude Code.193* **Menggunakan `/teleport`**: di dalam sesi CLI yang ada, jalankan `/teleport` atau `/tp` untuk membuka pemilih sesi yang sama tanpa memulai ulang Claude Code.
737* **Dari `/tasks`**: jalankan `/tasks` untuk melihat sesi latar belakang Anda, kemudian tekan `t` untuk teleport ke salah satunya.194* **Dari `/tasks`**: jalankan `/tasks` untuk melihat sesi latar belakang Anda, kemudian tekan `t` untuk teleport ke salah satunya.
738* **Dari antarmuka web**: pilih **Buka di CLI** untuk menyalin perintah yang dapat Anda tempel ke terminal Anda.195* **Dari antarmuka web**: pilih **Open in > Terminal** dari menu sesi untuk menyalin perintah yang dapat Anda tempel ke terminal Anda.
196* **Dari dalam sesi cloud**: ketik `/teleport` dan Claude Code membalas dengan perintah `claude --teleport <session-id>` yang tepat untuk sesi itu, siap dijalankan dari checkout repositori. Memerlukan Claude Code v2.1.223 atau lebih baru di lingkungan sesi.
739 197
740Saat Anda teleport sesi, Claude memverifikasi Anda berada di repositori yang benar, mengambil dan checkout cabang dari sesi cloud, dan memuat riwayat percakapan lengkap ke terminal Anda.198Saat Anda teleport sesi, Claude memverifikasi Anda berada di repositori yang benar, mengambil dan checkout cabang dari sesi cloud, dan memuat riwayat percakapan lengkap ke terminal Anda. Terminal mendapatkan salinannya sendiri dari sesi: pekerjaan baru di sana tetap lokal dan tidak muncul di sesi cloud di claude.ai atau aplikasi mobile Claude. Untuk terus mengarahkan dari ponsel Anda setelah teleporting, mulai [`/remote-control`](/docs/id/remote-control) di sesi lokal.
741 199
742`--teleport` berbeda dari `--resume`. `--resume` membuka kembali percakapan dari riwayat lokal mesin ini dan tidak mencantumkan sesi cloud; `--teleport` menarik sesi cloud dan cabangnya.200`--teleport` berbeda dari `--resume`. `--resume` membuka kembali percakapan dari riwayat lokal mesin ini dan tidak mencantumkan sesi cloud; `--teleport` menarik sesi cloud dan cabangnya.
743 201
748Teleport memeriksa persyaratan ini sebelum melanjutkan sesi. Jika ada persyaratan yang tidak terpenuhi, Anda akan melihat kesalahan atau diminta untuk menyelesaikan masalah.206Teleport memeriksa persyaratan ini sebelum melanjutkan sesi. Jika ada persyaratan yang tidak terpenuhi, Anda akan melihat kesalahan atau diminta untuk menyelesaikan masalah.
749 207
750| Persyaratan | Detail |208| Persyaratan | Detail |
751| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |209| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
752| Status git bersih | Direktori kerja Anda harus tidak memiliki perubahan yang tidak dikomit. Teleport meminta Anda untuk menyimpan perubahan jika diperlukan. |210| Status git bersih | Direktori kerja Anda harus tidak memiliki perubahan yang tidak dikomit. Teleport meminta Anda untuk menyimpan perubahan jika diperlukan. |
753| Repositori yang benar | Anda harus menjalankan `--teleport` dari checkout repositori yang sama, bukan fork. Mulai dari v2.1.199, Claude Code menerima checkout bahkan ketika tidak dapat mengurai remote menjadi nama host, seperti alias host SSH seperti `git@work:owner/repo.git` atau bentuk pendek yang ditulis ulang `insteadOf`. Ini menampilkan prompt konfirmasi terlebih dahulu, dan hanya ketika pemilik remote dan nama repositori cocok dengan repositori sesi. |211| Repositori yang benar | Anda harus menjalankan `--teleport` dari checkout repositori yang sama, bukan fork. Jika Anda menjalankannya dari checkout repositori yang berbeda, Claude Code menampilkan kesalahan yang menyebutkan repositori sesi dan checkout Anda. Jika Claude Code tidak dapat mengurai remote Anda menjadi nama host, misalnya alias host SSH seperti `git@work:owner/repo.git`, itu meminta Anda untuk mengonfirmasi, dan menerima checkout saat pemilik remote dan nama repositori cocok dengan repositori sesi. |
754| Cabang tersedia | Cabang dari sesi cloud harus telah didorong ke remote. Teleport secara otomatis mengambil dan checkout. |212| Cabang tersedia | Cabang dari sesi cloud harus telah didorong ke remote. Teleport secara otomatis mengambil dan checkout. |
755| Akun yang sama | Anda harus diautentikasi ke akun claude.ai yang sama yang digunakan dalam sesi cloud. |213| Akun yang sama | Anda harus diautentikasi ke akun claude.ai yang sama yang digunakan dalam sesi cloud. |
756 214
758 `--teleport` tidak tersedia216 `--teleport` tidak tersedia
759</h4>217</h4>
760 218
761Teleport memerlukan autentikasi langganan claude.ai. Jika Anda diautentikasi melalui kunci API, Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry, jalankan `/login` untuk masuk dengan akun claude.ai Anda sebagai gantinya. Jika Anda sudah masuk melalui claude.ai dan `--teleport` masih tidak tersedia, organisasi Anda mungkin telah menonaktifkan sesi cloud.219Teleport memerlukan autentikasi langganan claude.ai. Jika Anda diautentikasi melalui kunci API, jalankan `/login` untuk masuk dengan akun claude.ai Anda sebagai gantinya. Jika kesalahan menyebutkan penyedia Anda, sesi cloud tidak tersedia melalui penyedia pihak ketiga; lihat [tabel kesalahan](#output-and-errors). Jika Anda sudah masuk melalui claude.ai dan `--teleport` masih tidak tersedia, organisasi Anda mungkin telah menonaktifkan sesi cloud.
762 220
763<h2 id="work-with-sessions">221<h2 id="work-with-sessions">
764 Bekerja dengan sesi222 Bekerja dengan sesi
765</h2>223</h2>
766 224
767Sesi muncul di sidebar di claude.ai/code. Dari sana Anda dapat meninjau perubahan, berbagi dengan rekan kerja, mengarsipkan pekerjaan yang selesai, atau menghapus sesi secara permanen.225Sesi muncul di bilah samping di claude.ai/code. Dari sana Anda dapat meninjau perubahan, berbagi dengan rekan kerja, mengarsipkan pekerjaan yang selesai, atau menghapus sesi secara permanen.
768 226
769<h3 id="manage-context">227<h3 id="manage-context">
770 Kelola konteks228 Kelola konteks
771</h3>229</h3>
772 230
773Sesi cloud mendukung [perintah bawaan](/docs/id/commands) yang menghasilkan output teks. Perintah yang hanya berjalan di antarmuka terminal, seperti `/plugin` atau `/resume`, tidak tersedia. Perintah yang membuka pemilih atau panel di terminal berperilaku berbeda di sesi cloud:231Sesi cloud mendukung [perintah bawaan](/docs/id/commands) yang menghasilkan keluaran teks. Perintah yang hanya berjalan di antarmuka terminal, seperti `/plugin` atau `/resume`, tidak tersedia. Perintah yang membuka pemilih atau panel di terminal berperilaku berbeda di sesi cloud:
774 232
775* **`/model`, `/effort`, `/fast`, `/color`, dan `/rename`**: teruskan nilai sebagai argumen, misalnya `/model sonnet`, alih-alih membuka pemilih terminal atau slider. Bentuk argumen memerlukan Claude Code v2.1.205 atau lebih baru di lingkungan sesi dan mengikuti [catatan ketersediaan](/docs/id/commands#all-commands) setiap perintah: `/effort` melaporkan `Not applied` sementara [launch-default effort hold](/docs/id/model-config#adjust-effort-level) model sedang berlaku, dan `/fast` hanya bekerja di sesi yang dimulai dengan mode cepat diaktifkan.233* **`/model`, `/effort`, `/fast`, `/color`, dan `/rename`**: teruskan nilai sebagai argumen, misalnya `/model sonnet`, alih-alih membuka pemilih terminal atau slider. Bentuk argumen memerlukan Claude Code v2.1.205 atau lebih baru di lingkungan sesi dan mengikuti [catatan ketersediaan](/docs/id/commands#all-commands) setiap perintah: `/effort` melaporkan `Not applied` saat [launch-default effort hold](/docs/id/model-config#adjust-effort-level) model sedang berlaku, dan `/fast` hanya berfungsi di sesi yang dimulai dengan mode cepat diaktifkan.
776* **`/config`**: di web, membuka bagian Claude Code dari pengaturan Anda alih-alih menetapkan nilai, dan teks setelah perintah, termasuk `key=value`, diabaikan. Untuk mengubah pengaturan sesi cloud, gunakan [variabel lingkungan](#configure-your-environment) atau komit [file pengaturan](/docs/id/settings) ke repositori.234* **`/config`**: di web, membuka bagian Claude Code dari pengaturan Anda alih-alih menetapkan nilai, dan teks setelah perintah, termasuk `key=value`, diabaikan. Untuk mengubah pengaturan sesi cloud, gunakan [variabel lingkungan](/docs/id/cloud-environments#set-environment-variables) atau komit [file pengaturan](/docs/id/settings) ke repositori.
777 235
778Untuk manajemen konteks khususnya:236Untuk manajemen konteks secara khusus:
779 237
780| Perintah | Bekerja di sesi cloud | Catatan |238| Perintah | Berfungsi di sesi cloud | Catatan |
781| :--------- | :-------------------- | :------------------------------------------------------------------------------------------------------------------------ |239| :--------- | :---------------------- | :------------------------------------------------------------------------------------------------------------------------ |
782| `/compact` | Ya | Merangkum percakapan untuk membebaskan konteks. Menerima instruksi fokus opsional seperti `/compact keep the test output` |240| `/compact` | Ya | Merangkum percakapan untuk membebaskan konteks. Menerima instruksi fokus opsional seperti `/compact keep the test output` |
783| `/context` | Ya | Menunjukkan apa yang saat ini ada di jendela konteks |241| `/context` | Ya | Menunjukkan apa yang saat ini ada di jendela konteks |
784| `/clear` | Tidak | Mulai sesi baru dari sidebar sebagai gantinya |242| `/clear` | Tidak | Mulai sesi baru dari bilah samping sebagai gantinya |
785 243
786Auto-compaction berjalan secara otomatis saat jendela konteks mendekati kapasitas. Untuk memicunya lebih awal, atur [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/id/env-vars) di [variabel lingkungan](#configure-your-environment) Anda. Misalnya, `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=70` mengompak pada kapasitas 70% daripada menunggu hingga jendela hampir penuh. Untuk mengubah ukuran jendela efektif untuk perhitungan compaction, gunakan [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/id/env-vars).244Pemadatan otomatis berjalan secara otomatis ketika jendela konteks mendekati kapasitas. Claude Code di web menetapkan [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/id/env-vars) di sesi cloud itu sendiri, sehingga pemadatan dipicu di tengah [jendela auto-compact](/docs/id/model-config#set-the-auto-compact-window) daripada ketika jendela penuh. Nilai itu menggantikan nilai yang Anda tambahkan di [variabel lingkungan](/docs/id/cloud-environments#set-environment-variables) Anda, jadi menambahkan variabel di sana tidak mengubah kapan pemadatan dipicu.
787 245
788[Subagents](/docs/id/sub-agents) bekerja dengan cara yang sama seperti secara lokal. Claude dapat menelurkan mereka dengan alat Task untuk mengalihkan penelitian atau pekerjaan paralel ke jendela konteks terpisah, menjaga percakapan utama lebih ringan. Subagents yang didefinisikan di `.claude/agents/` repo Anda diambil secara otomatis.246Untuk mengubah jendela auto-compact sebagai gantinya, atur [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/id/env-vars) di variabel lingkungan Anda, atau jalankan [`/autocompact`](/docs/id/commands#all-commands) dengan hitungan token di sesi tempat variabel tidak diatur.
789 247
790[Tim agen](/docs/id/agent-teams) dimatikan secara default tetapi dapat diaktifkan dengan menambahkan `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` ke [variabel lingkungan](#configure-your-environment) Anda.248[Subagents](/docs/id/sub-agents) bekerja dengan cara yang sama seperti yang mereka lakukan secara lokal. Claude dapat menelurkan mereka dengan alat Agent untuk memindahkan penelitian atau pekerjaan paralel ke jendela konteks terpisah, menjaga percakapan utama lebih ringan. Subagents yang ditentukan di `.claude/agents/` repo Anda diambil secara otomatis.
249
250[Agent teams](/docs/id/agent-teams) dimatikan secara default tetapi dapat diaktifkan dengan menambahkan `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` ke [variabel lingkungan](/docs/id/cloud-environments#set-environment-variables) Anda.
251
252<h3 id="permission-modes-in-cloud-sessions">
253 Mode izin di sesi cloud
254</h3>
255
256Anda memilih [mode izin](/docs/id/permission-modes) sesi cloud dari [dropdown mode](/docs/id/permission-modes#switch-permission-modes), baik ketika Anda membuat tugas maupun saat sesi berjalan. Ketika Anda membuka kembali sesi yang [lingkungannya yang dihosting Anthropic telah kedaluwarsa](#environment-expired), atau mengirim pesan ke sesi yang [runner yang dihosting sendiri dirilis saat menganggur](/docs/id/self-hosted-environments-reference#runner-cli-flags), Claude Code melanjutkan sesi dalam mode izin yang sedang berlaku.
791 257
792<h3 id="review-changes">258<h3 id="review-changes">
793 Tinjau perubahan259 Tinjau perubahan
794</h3>260</h3>
795 261
796Setiap sesi menunjukkan indikator diff dengan baris yang ditambahkan dan dihapus, seperti `+42 -18`. Pilih untuk membuka tampilan diff, tinggalkan komentar inline pada baris tertentu, dan kirimkan ke Claude dengan pesan berikutnya. Lihat [Tinjau dan ulangi](/docs/id/web-quickstart#review-and-iterate) untuk panduan lengkap termasuk pembuatan PR. Untuk membuat Claude memantau PR untuk kegagalan CI dan komentar ulasan secara otomatis, lihat [Auto-fix pull requests](#auto-fix-pull-requests).262Setiap sesi menampilkan indikator diff dengan baris yang ditambahkan dan dihapus, seperti `+42 -18`. Pilihnya untuk membuka tampilan diff, tinggalkan komentar sebaris pada baris tertentu, dan kirimkan ke Claude dengan pesan berikutnya.
263
264Claude Code menghitung diff ini, termasuk diff per-file yang ditampilkan saat Claude mengedit, dari konten blob git mentah, sehingga driver diff dan filter `textconv` yang dikonfigurasi di repositori tidak berlaku.
265
266Lihat [Review and iterate](/docs/id/web-quickstart#review-and-iterate) untuk panduan lengkap termasuk pembuatan PR. Untuk membuat Claude memantau PR untuk kegagalan CI dan komentar ulasan secara otomatis, lihat [Auto-fix pull requests](#auto-fix-pull-requests).
797 267
798<h3 id="share-sessions">268<h3 id="share-sessions">
799 Bagikan sesi269 Bagikan sesi
800</h3>270</h3>
801 271
802Untuk berbagi sesi, alihkan visibilitasnya sesuai dengan jenis akun di bawah ini. Setelah itu, bagikan tautan sesi apa adanya. Penerima melihat status terbaru saat mereka membuka tautan, tetapi tampilan mereka tidak diperbarui secara real-time.272Untuk berbagi sesi, alihkan visibilitasnya sesuai dengan jenis akun di bawah. Setelah itu, bagikan tautan sesi apa adanya. Penerima melihat status terbaru ketika mereka membuka tautan, tetapi tampilan mereka tidak diperbarui secara real-time.
803 273
804<h4 id="share-from-an-enterprise-or-team-account">274<h4 id="share-from-an-enterprise-or-team-account">
805 Bagikan dari akun Enterprise atau Team275 Bagikan dari akun Enterprise atau Team
806</h4>276</h4>
807 277
808Untuk akun Enterprise dan Team, dua opsi visibilitas adalah **Private** dan **Team**. Visibilitas Team membuat sesi terlihat oleh anggota lain dari organisasi claude.ai Anda. [Claude in Slack](/docs/id/slack) sesi secara otomatis dibagikan dengan visibilitas Team.278Untuk akun Enterprise dan Team, dua opsi visibilitas adalah **Private** dan **Team**. Visibilitas Team membuat sesi terlihat oleh anggota lain dari organisasi claude.ai Anda. Sesi [Claude in Slack](/docs/id/slack) secara otomatis dibagikan dengan visibilitas Team.
809 279
810Verifikasi akses repositori diaktifkan secara default, berdasarkan akun GitHub yang terhubung ke akun penerima Anda. Nama tampilan akun Anda terlihat oleh semua penerima dengan akses.280Verifikasi akses repositori diaktifkan secara default, berdasarkan akun GitHub yang terhubung ke akun penerima. Nama tampilan akun Anda terlihat oleh semua penerima dengan akses.
811 281
812<h4 id="share-from-a-max-or-pro-account">282<h4 id="share-from-a-max-or-pro-account">
813 Bagikan dari akun Max atau Pro283 Bagikan dari akun Max atau Pro
817 287
818Periksa sesi Anda untuk konten sensitif sebelum berbagi. Sesi dapat berisi kode dan kredensial dari repositori GitHub pribadi. Verifikasi akses repositori tidak diaktifkan secara default.288Periksa sesi Anda untuk konten sensitif sebelum berbagi. Sesi dapat berisi kode dan kredensial dari repositori GitHub pribadi. Verifikasi akses repositori tidak diaktifkan secara default.
819 289
820Untuk memerlukan penerima memiliki akses repositori, atau untuk menyembunyikan nama Anda dari sesi bersama, buka Settings > Claude Code > Sharing settings.290Untuk memerlukan penerima memiliki akses repositori, atau untuk menyembunyikan nama Anda dari sesi bersama, buka [**Settings > Claude Code > Sharing settings**](https://claude.ai/settings/claude-code).
821 291
822<h3 id="archive-sessions">292<h3 id="archive-sessions">
823 Arsipkan sesi293 Arsipkan sesi
825 295
826Anda dapat mengarsipkan sesi untuk menjaga daftar sesi Anda tetap terorganisir. Sesi yang diarsipkan disembunyikan dari daftar sesi default tetapi dapat dilihat dengan memfilter sesi yang diarsipkan.296Anda dapat mengarsipkan sesi untuk menjaga daftar sesi Anda tetap terorganisir. Sesi yang diarsipkan disembunyikan dari daftar sesi default tetapi dapat dilihat dengan memfilter sesi yang diarsipkan.
827 297
828Untuk mengarsipkan sesi, arahkan ke sesi di sidebar dan pilih ikon arsip.298Untuk mengarsipkan sesi, arahkan ke sesi di bilah samping dan pilih ikon arsip.
829 299
830<h3 id="delete-sessions">300<h3 id="delete-sessions">
831 Hapus sesi301 Hapus sesi
833 303
834Menghapus sesi secara permanen menghapus sesi dan datanya. Tindakan ini tidak dapat dibatalkan. Anda dapat menghapus sesi dengan dua cara:304Menghapus sesi secara permanen menghapus sesi dan datanya. Tindakan ini tidak dapat dibatalkan. Anda dapat menghapus sesi dengan dua cara:
835 305
836* **Dari sidebar**: filter untuk sesi yang diarsipkan, kemudian arahkan ke sesi yang ingin Anda hapus dan pilih ikon hapus306* **Dari bilah samping**: filter untuk sesi yang diarsipkan, kemudian arahkan ke sesi yang ingin Anda hapus dan pilih ikon hapus
837* **Dari menu sesi**: buka sesi, pilih dropdown di sebelah judul sesi, dan pilih **Hapus**307* **Dari menu sesi**: buka sesi, pilih dropdown di sebelah judul sesi, dan pilih **Delete**
838 308
839Anda akan diminta untuk mengonfirmasi sebelum sesi dihapus.309Anda akan diminta untuk mengonfirmasi sebelum sesi dihapus.
840 310
841<h2 id="auto-fix-pull-requests">311<h2 id="auto-fix-pull-requests">
842 Auto-fix pull requests312 Auto-fix pull request
843</h2>313</h2>
844 314
845Claude dapat memantau pull request dan secara otomatis merespons kegagalan CI dan komentar ulasan. Claude berlangganan aktivitas GitHub di PR, dan ketika pemeriksaan gagal atau pengulas meninggalkan komentar, Claude menyelidiki dan mendorong perbaikan jika ada yang jelas.315Claude dapat memantau pull request dan secara otomatis merespons kegagalan CI dan komentar ulasan. Claude berlangganan aktivitas GitHub di PR, dan ketika pemeriksaan gagal atau pengulas meninggalkan komentar, Claude menyelidiki dan mendorong perbaikan jika ada yang jelas.
846 316
847<Note>317<Note>
848 Auto-fix memerlukan Claude GitHub App untuk diinstal di repositori Anda. Jika Anda belum melakukannya, instal dari [halaman GitHub App](https://github.com/apps/claude) atau saat diminta selama [setup](/docs/id/web-quickstart#connect-github-and-create-an-environment).318 Auto-fix memerlukan Claude GitHub App untuk diinstal di repositori Anda. Jika Anda belum melakukannya, instal dari [halaman GitHub App](https://github.com/apps/claude).
849</Note>319</Note>
850 320
851Ada beberapa cara untuk mengaktifkan auto-fix tergantung di mana PR berasal dan perangkat apa yang Anda gunakan:321Ada beberapa cara untuk mengaktifkan auto-fix tergantung di mana PR berasal dan perangkat apa yang Anda gunakan:
881 351
882Setiap sesi cloud dipisahkan dari mesin Anda dan dari sesi lain melalui beberapa lapisan:352Setiap sesi cloud dipisahkan dari mesin Anda dan dari sesi lain melalui beberapa lapisan:
883 353
884* **Mesin virtual terisolasi**: setiap sesi berjalan di VM yang terisolasi dan dikelola Anthropic354* **Mesin virtual terisolasi**: setiap sesi berjalan di VM yang terisolasi dan dikelola Anthropic. Sesi yang organisasi Anda arahkan ke [lingkungan self-hosted](/docs/id/self-hosted-environments) berjalan pada infrastruktur Anda sendiri sebagai gantinya, di mana isolasi adalah tanggung jawab deployment Anda
885* **Kontrol akses jaringan**: akses jaringan dibatasi secara default, dan dapat dinonaktifkan. Saat berjalan dengan akses jaringan dinonaktifkan, Claude Code masih dapat berkomunikasi dengan API Anthropic, yang mungkin memungkinkan data keluar dari VM.355* **Kontrol akses jaringan**: di lingkungan yang dihosting Anthropic, akses jaringan dibatasi secara default dan dapat dinonaktifkan. Di lingkungan self-hosted, Anda membatasi egress sesi di batas jaringan Anda sendiri. Saat berjalan dengan akses jaringan dinonaktifkan, Claude Code masih dapat berkomunikasi dengan API Anthropic, yang mungkin memungkinkan data keluar dari VM.
886* **Perlindungan kredensial**: kredensial sensitif seperti kredensial git atau kunci penandatanganan tidak pernah ada di dalam sandbox dengan Claude Code. Autentikasi ditangani melalui proxy aman menggunakan kredensial bersistem.356* **Perlindungan kredensial**: di lingkungan yang dihosting Anthropic, kredensial git dan kunci penandatanganan tetap di luar sandbox, dan proxy mengautentikasi atas nama sesi dengan kredensial bersistem. Di lingkungan self-hosted, deployment Anda menyediakan kredensial git; lihat [Konfigurasi git](/docs/id/self-hosted-environments-deploy#configure-git)
887* **Analisis aman**: kode dianalisis dan dimodifikasi dalam VM terisolasi sebelum membuat PR357* **Kredensial API**: di lingkungan yang dihosting Anthropic pada paket Pro dan Max, kunci yang Anda [tambahkan ke lingkungan cloud](/docs/id/cloud-environments#add-api-credentials) tetap di luar sandbox dengan cara yang sama, dilampirkan ke permintaan yang cocok setelah meninggalkan sesi. Lingkungan self-hosted tidak memiliki kredensial API, dan paket Team dan Enterprise belum memilikinya
358* **Analisis aman**: kode dianalisis dan dimodifikasi dalam lingkungan terisolasi sesi sebelum membuat PR
888 359
889<h2 id="troubleshooting">360<h2 id="troubleshooting">
890 Troubleshooting361 Troubleshooting
896 Session creation failed367 Session creation failed
897</h3>368</h3>
898 369
899Jika sesi baru gagal dimulai dengan `Session creation failed` atau macet di provisioning, Claude Code tidak dapat mengalokasikan lingkungan cloud.370Jika sesi baru gagal dimulai dengan `Session creation failed` atau macet di provisioning, Claude Code tidak dapat mengalokasikan VM untuk sesi.
900 371
901* Periksa [status.claude.com](https://status.claude.com) untuk insiden sesi cloud372* Periksa [status.claude.com](https://status.claude.com) untuk insiden sesi cloud
902* Coba lagi setelah satu menit, karena kapasitas disediakan sesuai permintaan373* Coba lagi setelah satu menit, karena kapasitas disediakan sesuai permintaan
903* Konfirmasi repositori Anda dapat dijangkau. Akun GitHub yang terhubung harus memiliki akses ke repositori di GitHub, baik melalui otorisasi Claude GitHub App atau token `gh` yang disinkronkan melalui `/web-setup`. Menginstal App di repositori tidak diperlukan. Lihat [GitHub authentication options](#github-authentication-options).374* Konfirmasi repositori Anda dapat dijangkau. Akun GitHub yang terhubung harus memiliki akses ke repositori di GitHub, baik melalui otorisasi Claude GitHub App atau token `gh` yang disinkronkan melalui `/web-setup`. Menginstal App di repositori tidak diperlukan. Lihat [Opsi autentikasi GitHub](#github-authentication-options).
375
376<h3 id="unable-to-get-organization-uuid">
377 Unable to get organization UUID
378</h3>
379
380`claude --cloud` dan `claude --teleport` memerlukan sign-in dengan akun claude.ai. Jika Anda mengautentikasi dengan kunci API, atau detail akun yang disimpan sudah usang, perintah ini gagal dengan `Unable to get organization UUID` atau pesan bahwa autentikasi kunci API tidak cukup. Dengan autentikasi kunci API atau detail akun yang usang, menjalankan `claude --teleport` tanpa ID sesi menampilkan `Error loading Claude Code sessions` di pemilih sesi alih-alih salah satu pesan, dan perbaikan yang sama berlaku.
381
382Jalankan `/login` untuk masuk dengan akun claude.ai Anda, kemudian coba lagi perintah. Jika kesalahan menyebutkan penyedia Anda, lihat [tabel kesalahan](#output-and-errors): sesi cloud tidak tersedia melalui penyedia pihak ketiga.
904 383
905<h3 id="remote-control-session-expired-or-access-denied">384<h3 id="remote-control-session-expired-or-access-denied">
906 Remote Control session expired or access denied385 Remote Control session expired or access denied
910 389
911* Jalankan `/login` secara lokal untuk menyegarkan kredensial Anda, kemudian sambungkan kembali390* Jalankan `/login` secara lokal untuk menyegarkan kredensial Anda, kemudian sambungkan kembali
912* Konfirmasi Anda masuk ke akun yang sama yang memiliki sesi391* Konfirmasi Anda masuk ke akun yang sama yang memiliki sesi
913* Jika Anda melihat `Remote Control may not be available for this organization`, pemilik belum mengaktifkan sesi cloud untuk organisasi Anda392* Jika Anda melihat `Remote Control may not be available for this organization`, Owner belum mengaktifkan sesi cloud untuk organisasi Anda
914 393
915<h3 id="environment-expired">394<h3 id="environment-expired">
916 Environment expired395 Environment expired
917</h3>396</h3>
918 397
919Sesi cloud berhenti setelah periode inaktivitas dan lingkungan yang mendasarinya diambil kembali. Dari terminal lokal, ini muncul sebagai `Could not resume session ... its environment has expired. Creating a fresh session instead.` Di web, sesi ditandai kedaluwarsa dalam daftar sesi.398Sesi cloud berhenti setelah periode inaktivitas dan VM sesi diambil kembali. Di web, sesi ditandai kedaluwarsa dalam daftar sesi.
920 399
921Buka kembali sesi dari [claude.ai/code](https://claude.ai/code) untuk menyediakan lingkungan segar dengan riwayat percakapan Anda dipulihkan.400Buka kembali sesi dari [claude.ai/code](https://claude.ai/code) untuk menyediakan VM segar dengan riwayat percakapan Anda dipulihkan. Pekerjaan latar belakang yang masih berjalan saat VM diambil kembali, seperti subagents dan perintah shell, tidak dipulihkan.
922 401
923<h2 id="limitations">402<h2 id="limitations">
924 Batasan403 Batasan
928 407
929* **Batas laju**: Claude Code di web berbagi batas laju dengan semua penggunaan Claude dan Claude Code lainnya dalam akun Anda. Menjalankan beberapa tugas secara paralel mengonsumsi lebih banyak batas laju secara proporsional. Tidak ada biaya komputasi terpisah untuk VM cloud.408* **Batas laju**: Claude Code di web berbagi batas laju dengan semua penggunaan Claude dan Claude Code lainnya dalam akun Anda. Menjalankan beberapa tugas secara paralel mengonsumsi lebih banyak batas laju secara proporsional. Tidak ada biaya komputasi terpisah untuk VM cloud.
930* **Autentikasi repositori**: Anda hanya dapat memindahkan sesi dari web ke lokal saat Anda diautentikasi ke akun yang sama409* **Autentikasi repositori**: Anda hanya dapat memindahkan sesi dari web ke lokal saat Anda diautentikasi ke akun yang sama
931* **Pembatasan platform**: kloning repositori dan pembuatan pull request memerlukan GitHub. Instans [GitHub Enterprise Server](/docs/id/github-enterprise-server) yang di-host sendiri didukung untuk rencana Team dan Enterprise. Repositori GitLab, Bitbucket, dan non-GitHub lainnya dapat dikirim ke sesi cloud sebagai [bundle lokal](#send-local-repositories-without-github), tetapi sesi tidak dapat mendorong hasil kembali ke remote410* **Pembatasan platform**: kloning repositori dan pembuatan pull request memerlukan GitHub. Instans [GitHub Enterprise Server](/docs/id/github-enterprise-server) self-hosted didukung untuk paket Team dan Enterprise. Repositori GitLab, Bitbucket, dan non-GitHub lainnya dapat dikirim ke sesi cloud sebagai [bundle lokal](#send-local-repositories-without-github), tetapi sesi tidak dapat mendorong hasil kembali ke remote
932* **Daftar putih IP organisasi**: sesi cloud memanggil API Anthropic dari infrastruktur yang dikelola Anthropic, bukan jaringan Anda. Jika organisasi Anda memiliki [IP allowlisting](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting) yang diaktifkan, setiap sesi cloud gagal dengan kesalahan autentikasi. Hal yang sama berlaku untuk [Code Review](/docs/id/code-review) dan [Routines](/docs/id/routines). Hubungi [dukungan Anthropic](https://support.claude.com/) untuk mengecualikan layanan yang di-host Anthropic dari daftar putih IP organisasi Anda.411* **Daftar putih IP organisasi**: sesi cloud memanggil API Anthropic dari infrastruktur yang dikelola Anthropic, bukan jaringan Anda, sementara sesi di [lingkungan self-hosted](/docs/id/self-hosted-environments) memanggilnya dari jaringan Anda sendiri. Jika organisasi Anda memiliki [IP allowlisting](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting) yang diaktifkan, setiap sesi cloud yang dihosting Anthropic gagal dengan kesalahan autentikasi. Hal yang sama berlaku untuk [Code Review](/docs/id/code-review) dan untuk [routines](/docs/id/routines) yang berjalan pada lingkungan yang dihosting Anthropic; routine yang dialihkan ke lingkungan self-hosted memanggil API dari jaringan Anda sendiri. Hubungi [dukungan Anthropic](https://support.claude.com/) untuk mengecualikan layanan yang dihosting Anthropic dari daftar putih IP organisasi Anda.
933 412
934<h2 id="related-resources">413<h2 id="related-resources">
935 Sumber daya terkait414 Sumber daya terkait
936</h2>415</h2>
937 416
938* [Ultraplan](/docs/id/ultraplan): menyusun rencana di sesi cloud dan meninjau di browser Anda417* [Lingkungan cloud](/docs/id/cloud-environments): konfigurasi akses jaringan, variabel lingkungan, dan skrip setup untuk sesi cloud
939* [Ultrareview](/docs/id/ultrareview): jalankan ulasan kode multi-agen mendalam di sandbox cloud418* [Ultrareview](/docs/id/ultrareview): jalankan ulasan kode multi-agen mendalam di sandbox cloud
940* [Routines](/docs/id/routines): otomatisasi pekerjaan pada jadwal, melalui panggilan API, atau sebagai respons terhadap acara GitHub419* [Routines](/docs/id/routines): otomatisasi pekerjaan pada jadwal, melalui panggilan API, atau sebagai respons terhadap acara GitHub
941* [Konfigurasi Hooks](/docs/id/hooks): jalankan skrip pada acara siklus hidup sesi420* [Konfigurasi Hooks](/docs/id/hooks): jalankan skrip pada acara siklus hidup sesi
942* [Referensi Pengaturan](/docs/id/settings): semua opsi konfigurasi421* [Semua pengaturan](/docs/id/settings-reference): semua opsi konfigurasi
943* [Keamanan](/docs/id/security): jaminan isolasi dan penanganan data422* [Keamanan](/docs/id/security): jaminan isolasi dan penanganan data
944* [Penggunaan Data](/docs/id/data-usage): apa yang Anthropic pertahankan dari sesi cloud423* [Penggunaan Data](/docs/id/data-usage): apa yang Anthropic pertahankan dari sesi cloud
945* [Claude Tag](https://claude.com/docs/claude-tag/overview): @Claude yang dikelola organisasi di Slack yang berjalan di lingkungan cloud yang sama424* [Claude Tag](https://claude.com/docs/claude-tag/overview): @Claude yang dikelola organisasi di Slack yang berjalan pada infrastruktur cloud yang sama