Skip to main content
Lingkungan cloud memerlukan Claude Code di web, yang sedang dalam penelitian preview untuk pengguna Pro, Max, dan Team, serta untuk pengguna Enterprise dengan kursi premium atau kursi Chat + Claude Code.
Setiap sesi cloud berjalan di lingkungan cloud. Anda dapat mengonfigurasi lingkungan untuk mengizinkan atau menolak akses jaringan, menetapkan variabel lingkungan untuk sesi, dan menjalankan skrip setup sebelum Claude mulai bekerja. Lingkungan yang sama berlaku di mana pun Anda memulai sesi cloud: Claude Code di web, terminal dengan claude --cloud, Claude Tag, routines, aplikasi mobile Claude, dan aplikasi Desktop.
Sesi Remote Control menghubungkan antarmuka web dan mobile ke sesi di mesin Anda sendiri, yang menggunakan jaringan dan file mesin Anda, bukan lingkungan cloud. Sesi saluran Claude Tag menggunakan lingkungan bersama saja.

Lingkungan Default

Onboarding menyiapkan lingkungan Default untuk Anda, baik Anda terhubung melalui web atau alur CLI seperti /web-setup; jika onboarding web menampilkan formulir lingkungan alih-alih membuat lingkungan, pertahankan default formulir untuk mendapatkan lingkungan Default yang sama. Default tidak membawa konfigurasi apa pun: Dengan hanya Default yang tersedia, setiap sesi berjalan di dalamnya. Ketika Anda memiliki lebih dari satu lingkungan, sesi memilih satu per permukaan:
  • Di web, aplikasi Desktop, dan aplikasi mobile, sesi menggunakan lingkungan yang ditampilkan di pemilih. Default organisasi yang ditetapkan admin mengisi pilihan ketika Anda belum memilih satu.
  • Dari CLI, sesi menggunakan pilihan /remote-env Anda, atau kembali ke lingkungan cloud pertama yang tersedia.
Konfigurasi lingkungan ketika default tidak cukup: ketika Claude perlu menjangkau domain di luar daftar allowlist default, memerlukan variabel lingkungan yang ditetapkan untuk sesinya, atau memerlukan dependensi yang diinstal sebelum mulai bekerja.

Konfigurasi lingkungan Anda

Buat, edit, dan arsipkan lingkungan dari pemilih lingkungan di claude.ai/code, yang Anda jangkau setelah onboarding web. Lingkungan yang Anda buat bersifat pribadi untuk akun Anda; lingkungan bersama yang dibuat oleh admin Anda muncul di pemilih yang sama. Lihat Alat yang diinstal untuk melihat apa yang tersedia tanpa konfigurasi apa pun.
1

Buka pemilih lingkungan

Di claude.ai/code, pilih ikon cloud yang menampilkan nama lingkungan saat ini, di baris di atas kotak pesan. Tidak ada halaman pengaturan atau URL langsung untuk pemilih.
Pemilih lingkungan terbuka di atas kotak pesan di claude.ai/code. Tombol cloud yang menampilkan nama lingkungan Default duduk di baris di atas kotak pesan. Menu terbuka mencantumkan baris Local dengan label Download dan Desktop only, bagian Cloud di mana lingkungan Default dipilih dengan tanda centang dan menampilkan ikon roda gigi pengaturan saat hover, opsi Add cloud environment, dan bagian Remote Control dengan instruksi setup.
2

Tambahkan atau edit lingkungan

Pilih Add cloud environment, atau arahkan ke lingkungan yang ada dan pilih ikon pengaturan yang muncul di sebelah kanan. Dialog mencakup nama, tingkat akses jaringan, variabel lingkungan, dan skrip setup.
Dialog New cloud environment. Bidang Name dengan placeholder Default, pemilih Network access yang diatur ke Trusted dengan tautan ke kebijakan jaringan dan tingkat akses, kotak Environment variables yang menampilkan teks placeholder format .env dengan catatan bahwa nilai terlihat oleh siapa pun yang menggunakan lingkungan, kotak Setup script yang dijelaskan sebagai skrip Bash yang berjalan ketika sesi baru dimulai sebelum Claude Code diluncurkan, dan tombol Cancel dan Create environment.

Tetapkan variabel lingkungan

Variabel lingkungan menggunakan format .env, satu pasangan KEY=value per baris. Nilai biasa tidak memerlukan tanda kutip, dan jika Anda mengutip nilai dengan pasangan yang cocok, tanda kutip tidak menjadi bagian dari nilai. Kutip nilai yang mencakup beberapa baris atau berisi #: dalam nilai yang tidak dikutip, # memulai komentar dan sisa baris dijatuhkan. Contoh berikut mendefinisikan tiga variabel.
Setiap sesi menyalin nilai lingkungan sekali, saat startup, ke dalam variabel lingkungan biasa yang dapat dibaca oleh perintah apa pun yang dijalankan Claude. Karena sesi yang berjalan tidak membaca ulang konfigurasi, mengedit atau menambahkan variabel mempengaruhi sesi yang Anda mulai setelahnya; sesi yang sudah berjalan menyimpan nilai yang mereka mulai. Siapa pun yang menggunakan lingkungan dapat membaca nilai, dan lingkungan cloud tidak memiliki penyimpanan rahasia khusus, jadi jangan tambahkan kunci API atau kredensial lainnya. Jika sesi memerlukan kredensial bagaimanapun, lihat Apa yang terbawa dari setup Anda.

Pilih lingkungan dari CLI

Jalankan /remote-env di terminal Anda untuk memilih lingkungan default untuk sesi cloud yang Anda buat dari CLI, seperti claude --cloud. Perintah membuka pemilih lingkungan yang ada dan menyimpan pilihan Anda ke kunci remote.defaultEnvironmentId di pengaturan pengguna Anda, sehingga berlaku di setiap proyek di mesin Anda sampai Anda mengubahnya, kecuali kunci yang sama ditetapkan di lapisan pengaturan dengan prioritas lebih tinggi, seperti pengaturan proyek repo. /remote-env hanya menetapkan default: tidak memulai sesi, dan tidak dapat menambah atau mengedit lingkungan. Kelola mereka di claude.ai/code.

Arsipkan lingkungan

Untuk mengarsipkan lingkungan, buka untuk diedit dan pilih Archive. Anda tidak dapat menghapus lingkungan, hanya mengarsipkannya. Pengarsipan mempengaruhi sesi baru, bukan yang sedang berjalan:
  • Sesi yang sudah berjalan di lingkungan terus bekerja.
  • Lingkungan menghilang dari pemilih dan dari /remote-env, jadi Anda tidak dapat memilihnya untuk sesi baru.
  • Tidak ada sesi baru yang dapat dimulai di lingkungan yang diarsipkan, di permukaan apa pun. Jika lingkungan adalah default CLI yang disimpan, sesi cloud CLI kembali ke lingkungan cloud pertama yang tersedia. Apa pun yang dikonfigurasi dengan lingkungan secara eksplisit, seperti routine, tidak dapat memulai sesi baru di dalamnya; arahkan ke lingkungan lain.

Lingkungan bersama organisasi

Pemilik 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, sehingga tim dapat menstandarkan satu konfigurasi alih-alih setiap anggota membuat ulangnya. Buat, edit, dan arsipkan lingkungan bersama dari halaman Cloud environments di pengaturan admin. Setiap lingkungan bersama memiliki nama, tingkat akses jaringan, variabel lingkungan dalam format .env, dan skrip setup. Pemilik dan admin memilih lingkungan default organisasi secara terpisah, di claude.ai/admin-settings/claude-code. Nilai dalam lingkungan bersama menjangkau sesi setiap anggota di lingkungan itu. Seperti lingkungan pribadi, lingkungan bersama tidak memiliki penyimpanan rahasia khusus, jadi jangan sertakan rahasia. Di saluran Claude Tag, Claude bekerja sebagai identitas bersama organisasi Anda, bukan sebagai anggota apa pun, jadi sesi saluran hanya menggunakan lingkungan bersama. Anda dapat menetapkan lingkungan yang digunakan saluran dengan dua cara: Lingkungan bersama menambah pemilih anggota daripada menggantikannya.

Akses jaringan

Setiap lingkungan menetapkan satu tingkat akses jaringan, yang mengontrol koneksi keluar yang dapat dibuat sesinya. Tingkat default, Trusted, memungkinkan registri paket dan domain yang diizinkan lainnya; Custom mengambil daftar domain Anda sendiri. Untuk mengubah akses jaringan lingkungan, buka untuk diedit dan gunakan pemilih Network access di dialog. Ikon cloud yang membuka pemilih muncul di permukaan aplikasi yang tercantum di bawah Lingkungan Default dan di editor routine; lingkungan pribadi tidak memiliki halaman terpisah di pengaturan akun claude.ai Anda.
Konektor MCP yang Anda aktifkan pada sesi atau routine bekerja tanpa menambahkan host mereka ke Allowed domains, karena lalu lintas konektor berjalan melalui server Anthropic daripada jaringan sesi. Anda mengonfigurasi konektor per sesi atau per routine; hapus yang tidak Anda butuhkan untuk membatasi alat mana yang dapat dijangkau Claude. Ini bergantung pada saluran yang terikat Anthropic yang sama yang dicatat di bawah Security and isolation.

Tingkat akses

Bidang Network access di dialog lingkungan mengambil salah satu dari empat tingkat: Operasi GitHub menggunakan proxy terpisah yang independen dari pengaturan ini, dan koneksi Claude Code ke API Anthropic masih berfungsi di None, seperti yang dicatat di bawah Security and isolation.

Izinkan domain tertentu

Untuk mengizinkan domain yang tidak ada dalam daftar Trusted, pilih Custom di pengaturan akses jaringan lingkungan, kemudian cantumkan satu domain per baris di bidang Allowed domains. Contoh ini memungkinkan tiga host yang mungkin dibutuhkan proyek internal.
Sesi di lingkungan ini sekarang dapat menjangkau api.example.com, subdomain apa pun dari internal.example.com, dan registry.example.com, dan tidak ada domain lain melalui jaringan sesi; lalu lintas GitHub dan lalu lintas konektor MCP tidak melewati allowlist ini. *. di depan cocok dengan setiap subdomain. Untuk menyimpan domain Trusted juga, centang Also include default list of common package managers; biarkan tidak dicentang untuk hanya mengizinkan apa yang Anda cantumkan. Setiap lingkungan memiliki daftar domain yang diizinkan sendiri; tidak ada allowlist tingkat organisasi yang dapat didorong admin ke lingkungan setiap anggota. Pengaturan yang dikelola server masih berlaku di dalam sesi cloud, tetapi tidak ada yang menambahkan domain ke allowlist jaringan lingkungan.

Proxy GitHub

Semua operasi GitHub melewati proxy khusus yang menjaga kredensial GitHub nyata Anda di luar VM sesi, independen dari tingkat akses lingkungan:
  • Kredensial Git: klien git di dalam VM menggunakan kredensial yang dibatasi, yang diverifikasi proxy dan ditukar dengan token GitHub aktual Anda.
  • Permintaan API: permintaan dari alat GitHub bawaan, dan dari gh di bawah placeholder proxy-injected, keluar dengan kredensial nyata Anda diganti.
  • Push protection: git push hanya bekerja terhadap cabang kerja saat ini sesi; kloning, pengambilan, dan operasi PR bekerja secara normal.
  • Cakupan repositori: API GitHub dan permintaan aset rilis hanya menjangkau repositori yang terlampir pada sesi, jadi skrip setup yang mengunduh aset rilis dari repositori yang tidak terlampir mendapat 403.
File yang berkomitmen dari repositori publik tiba melalui raw.githubusercontent.com, yang ditangani proxy keamanan sebagai gantinya. Domain itu ada dalam daftar Trusted default, jadi file tersebut tetap dapat dijangkau kecuali tingkat akses lingkungan mengecualikannya.

Proxy keamanan

Sesi cloud berjalan di belakang proxy jaringan HTTP/HTTPS untuk tujuan keamanan dan pencegahan penyalahgunaan. Semua lalu lintas internet keluar melewati proxy ini, yang menyediakan:
  • Perlindungan terhadap permintaan berbahaya
  • Pembatasan laju dan pencegahan penyalahgunaan
  • Penyaringan konten untuk keamanan yang ditingkatkan
  • Jejak audit tingkat DNS dari nama host yang diminta

Apa yang tersedia di sesi cloud

Setiap sesi mendapat mesin virtual (VM) segar yang menjalankan Ubuntu 24.04, terlepas dari sistem operasi Anda sendiri, dengan repositori Anda yang dikloning dan toolchain umum yang sudah diinstal sebelumnya. Bagian ini mencakup default tersebut, alat GitHub bawaan, cara menjalankan tes dan layanan, dan batas sumber daya yang diterima setiap VM.

Apa yang terbawa dari setup Anda

Sesi cloud dimulai dari klon segar repositori Anda. Apa pun yang Anda komitkan ke repo tersedia. Apa pun yang Anda instal atau konfigurasi hanya di mesin Anda sendiri tidak tersedia di sesi. Kebijakan organisasi Anda tiba secara terpisah melalui pengaturan yang dikelola server. Untuk membuat konfigurasi Anda sendiri tersedia di sesi cloud, komitkan ke repo. Penyimpanan rahasia khusus belum tersedia, dan dialog memperingatkan terhadap penambahan rahasia atau kredensial: variabel lingkungan dan skrip setup hidup dalam konfigurasi lingkungan, di mana siapa pun yang menggunakan lingkungan dapat membacanya. Jika sesi memerlukan kredensial bagaimanapun, tambahkan dengan visibilitas itu dalam pikiran.

Alat yang diinstal

Sesi cloud dilengkapi dengan runtime bahasa umum, alat build, dan database yang sudah diinstal sebelumnya. Tabel di bawah merangkum apa yang disertakan menurut kategori. ¹ Bun diinstal tetapi memiliki masalah kompatibilitas proxy yang diketahui untuk pengambilan paket. Untuk versi yang tepat, minta Claude menjalankan check-tools di sesi cloud. Ini adalah perintah shell yang diinstal di VM sesi, bukan perintah slash; Anda meminta Claude karena Claude menjalankan semua perintah VM untuk Anda. Toolchain di luar daftar ini, seperti .NET SDK, tidak diinstal sebelumnya bahkan ketika registri paket mereka ada di allowlist default. Instal mereka dengan skrip setup.

Bekerja dengan masalah GitHub dan permintaan tarik

Sesi cloud mencakup alat GitHub bawaan yang memungkinkan Claude membaca masalah, mencantumkan permintaan tarik, mengambil diff, dan memposting komentar tanpa setup apa pun. Alat ini mengautentikasi melalui proxy GitHub menggunakan metode apa pun yang Anda konfigurasi di bawah opsi autentikasi GitHub, jadi token Anda tidak pernah memasuki kontainer. Anda dapat menetapkan GH_TOKEN atau GITHUB_TOKEN sendiri di pengaturan lingkungan, atau biarkan keduanya tidak ditetapkan dan biarkan proxy GitHub mengautentikasi untuk Anda:
  • Jika Anda menetapkan token, itu melewati ke kontainer tanpa perubahan, jadi skrip Anda, dan gh CLI GitHub jika Anda menginstalnya, menggunakannya secara langsung.
  • Jika Anda tidak menetapkan keduanya dan proxy GitHub menangani autentikasi untuk sesi Anda, kedua variabel membaca sebagai string placeholder proxy-injected dalam perintah yang dijalankan Claude, dan proxy mengganti kredensial nyata Anda pada permintaan GitHub keluar. gh bekerja tanpa token Anda sendiri, tetapi skrip yang membaca GITHUB_TOKEN secara langsung mendapat placeholder, bukan token yang dapat digunakan.
Token yang Anda tetapkan adalah variabel lingkungan biasa, jadi siapa pun yang menggunakan lingkungan dapat membacanya; jalur proxy menjaga kredensial di luar konfigurasi lingkungan dan VM sesi. Untuk memeriksa kasus mana yang berlaku untuk sesi Anda, minta Claude menjalankan echo $GH_TOKEN. gh CLI GitHub tidak diinstal sebelumnya. Jika Anda memerlukan perintah gh yang tidak dicakup alat bawaan, seperti gh release atau gh workflow run, instal dan autentikasi sendiri:
1

Instal gh di skrip setup Anda

Tambahkan apt update && apt install -y gh ke skrip setup Anda.
2

Sediakan token jika proxy tidak menangani autentikasi

Jika echo $GH_TOKEN mencetak proxy-injected, proxy GitHub mengautentikasi gh untuk Anda dan langkah ini tidak perlu. Jika tidak, tambahkan variabel lingkungan GH_TOKEN ke pengaturan lingkungan Anda dengan token akses pribadi GitHub; seperti variabel lingkungan apa pun, dapat dibaca oleh siapa pun yang menggunakan lingkungan, jadi batasi token dengan ketat. gh membaca GH_TOKEN secara otomatis, jadi Anda tidak perlu menjalankan gh auth login.
Setiap 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 komitmen, posting Slack, atau laporan yang dihasilkan sehingga reviewer dapat membuka jalankan yang menghasilkannya. Komitmen yang dibuat Claude di sesi cloud mencakup trailer git Claude-Session: <url>, dan badan PR mencakup URL sesi di barisnya sendiri. Ini memerlukan v2.1.179 atau lebih baru. Untuk menghilangkan trailer dan tautan badan PR, atur attribution.sessionUrl ke false. Pengaturan memerlukan v2.1.182 atau lebih baru. Untuk menyertakan tautan sesi dalam sesuatu selain komitmen 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:

Jalankan tes, mulai layanan, dan tambahkan paket

Anda tidak mendapatkan shell ke VM sesi. Claude menjalankan setiap perintah untuk Anda, jadi frasekan tugas di bagian ini sebagai permintaan dalam prompt Anda.

Jalankan tes

Claude menjalankan tes sebagai bagian dari mengerjakan tugas. Minta dalam prompt Anda, seperti “perbaiki tes yang gagal di tests/” atau “jalankan pytest setelah setiap perubahan.” Pelari tes yang datang dengan toolchain yang sudah diinstal sebelumnya, seperti pytest dan cargo test, bekerja tanpa setup tambahan. Pelari yang dideklarasikan proyek Anda sebagai dependensi, seperti jest, diinstal dengan dependensi Anda.

Mulai layanan

PostgreSQL dan Redis sudah diinstal tetapi tidak berjalan secara default. Minta Claude untuk memulai yang Anda butuhkan; perintah yang dijalankannya adalah:
Docker tersedia untuk menjalankan layanan yang dikontainerisasi. Minta Claude menjalankan docker compose up untuk memulai layanan proyek Anda. Akses jaringan untuk menarik gambar mengikuti tingkat akses lingkungan Anda, dan default Trusted mencakup Docker Hub dan registri umum lainnya. Jika gambar Anda besar atau lambat ditarik, tambahkan docker compose pull atau docker compose build ke skrip setup Anda. Cache lingkungan menyimpan gambar yang ditarik, jadi setiap sesi baru memilikinya di disk. Cache menyimpan file saja, bukan proses yang berjalan, jadi Claude masih memulai kontainer setiap sesi.

Tambahkan paket

Untuk menambahkan paket yang tidak diinstal sebelumnya, gunakan skrip setup. Cache lingkungan menyimpan apa yang diinstal skrip, jadi paket yang Anda instal di sana tersedia di awal setiap sesi tanpa menginstal ulang setiap kali. Anda juga dapat meminta Claude menginstal paket di tengah sesi, tetapi instalasi tersebut tidak terbawa ke sesi lain.

Batas sumber daya

Sesi cloud berjalan dengan batas sumber daya perkiraan yang mungkin berubah seiring waktu:
  • 4 vCPU
  • 16 GB RAM
  • 30 GB disk
VM mungkin menghentikan tugas yang memerlukan memori jauh lebih banyak, seperti pekerjaan build besar atau tes yang memakan memori. Untuk beban kerja di luar batas ini, gunakan Remote Control untuk menjalankan Claude Code di perangkat keras Anda sendiri.

Skrip setup

Skrip setup adalah skrip Bash yang berjalan ketika 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. Skrip berjalan sebagai root di Ubuntu 24.04, jadi apt install dan sebagian besar manajer paket bahasa bekerja. Untuk menambahkan skrip setup, buka dialog pengaturan lingkungan dan masukkan skrip Anda di bidang Setup script. Contoh ini menginstal gh CLI GitHub, yang tidak diinstal sebelumnya.

Persyaratan skrip

Skrip setup memiliki tiga batasan untuk ditulis:
  • Exit zero: jika skrip keluar non-zero, sesi gagal dimulai. Tambahkan || true ke perintah non-kritis sehingga kegagalan instalasi sesekali tidak memblokir sesi.
  • Selesai dalam lima menit: jaga runtime total skrip di bawah kira-kira lima menit sehingga cache lingkungan dapat dibangun. Jalankan instalasi independen secara paralel dengan & dan wait, dan pindahkan unduhan tunggal apa pun yang tidak cocok ke hook SessionStart yang meluncurkannya di latar belakang.
  • Akses jaringan untuk instalasi: instalasi paket perlu menjangkau registri. Tingkat Trusted default mencakup registri paket umum termasuk npm, PyPI, RubyGems, dan crates.io; dengan akses jaringan None, instalasi gagal.

Caching lingkungan

Skrip 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 melewati langkah skrip setup. Ini menjaga startup cepat bahkan ketika skrip menginstal toolchain besar atau menarik gambar kontainer. Cache adalah snapshot sistem file, jadi menyimpan apa yang ditulis skrip setup ke disk dan kehilangan apa pun yang hanya berjalan. Paket yang Anda instal, gambar Docker yang Anda tarik, dan file yang Anda tulis semuanya terbawa. Database yang dimulai skrip, tumpukan docker compose up, atau proses latar belakang lainnya tidak; mulai mereka per sesi dengan meminta Claude atau dengan hook SessionStart. Skrip setup berjalan lagi untuk membangun ulang cache ketika 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. Anda tidak perlu mengaktifkan caching atau mengelola snapshot sendiri.

Skrip setup vs. hook SessionStart

Gunakan skrip setup untuk menyediakan VM itu sendiri: toolchain dan alat CLI yang tidak diinstal sebelumnya. Gunakan hook SessionStart untuk setup proyek yang harus berjalan di mana-mana, cloud dan lokal, seperti npm install. Skrip setup dan hook SessionStart berjalan dalam urutan tetap ketika sesi cloud dimulai:
  1. Skrip setup berjalan terlebih dahulu, sebelum Claude Code diluncurkan, dan hanya ketika tidak ada lingkungan cache yang ada.
  2. Claude Code diluncurkan dan menjalankan hook SessionStart Anda, seperti yang dilakukan di awal setiap sesi, lokal atau cloud.
Jika Anda memiliki hook SessionStart di ~/.claude/settings.json tingkat pengguna, jangan harapkan mereka di cloud: pengaturan tingkat pengguna tetap di mesin Anda. Di sesi cloud, Claude Code menjalankan hook dari repositori dan dari pengaturan yang dikelola server organisasi Anda.

Instal dependensi dengan hook SessionStart

Untuk menginstal dependensi hanya di sesi cloud, pasangkan hook SessionStart dengan skrip yang memeriksa di mana itu berjalan. Pertama, tambahkan hook SessionStart ke .claude/settings.json repo Anda. Konfigurasi ini memberitahu Claude Code untuk menjalankan scripts/install_pkgs.sh dari repositori Anda setiap kali sesi dimulai atau dilanjutkan:
matcher membatasi hook ke acara startup dan resume, dan $CLAUDE_PROJECT_DIR diselesaikan ke akar repositori, jadi hook menemukan skrip terlepas dari direktori kerja sesi. Selanjutnya, buat skrip di scripts/install_pkgs.sh. Itu keluar segera di luar cloud, kemudian menginstal dependensi Anda:
Pemeriksaan CLAUDE_CODE_REMOTE adalah apa yang membatasi instalasi ke sesi cloud: VM sesi membawa variabel itu sebagai true, tidak pernah true secara lokal, jadi di laptop Anda skrip keluar sebelum menginstal apa pun. Bersama-sama, dua file memberikan setiap sesi cloud npm install dan pip install segar saat startup sambil meninggalkan sesi lokal tidak tersentuh.

Batasan di sesi cloud

Hook SessionStart berperilaku sama di cloud seperti secara lokal, dengan peringatan ini:
  • 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.
  • Memerlukan akses jaringan: perintah instalasi perlu menjangkau registri paket. Jika lingkungan Anda menggunakan akses jaringan None, hook ini gagal. Allowlist default di bawah Trusted mencakup npm, PyPI, RubyGems, dan crates.io.
  • Kompatibilitas proxy: semua lalu lintas keluar melewati proxy keamanan. Beberapa manajer paket tidak bekerja dengan benar dengan proxy ini. Bun adalah contoh yang diketahui.
  • Menambah latensi startup: hook berjalan setiap kali sesi dimulai atau dilanjutkan, tidak seperti skrip setup yang mendapat manfaat dari caching lingkungan. Jaga skrip instalasi cepat dengan memeriksa apakah dependensi sudah ada sebelum menginstal ulang.
Untuk mempertahankan variabel lingkungan untuk perintah Bash berikutnya, tulis ke file di $CLAUDE_ENV_FILE. Lihat hook SessionStart untuk detail. Untuk menyesuaikan gambar dasar, gunakan skrip setup untuk menginstal apa yang Anda butuhkan di atas gambar yang disediakan, atau jalankan gambar Anda sendiri sebagai kontainer bersama Claude dengan docker compose. Mengganti gambar dasar sepenuhnya belum didukung.

Domain yang diizinkan default

Dengan 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.
  • api.anthropic.com
  • statsig.anthropic.com
  • docs.claude.com
  • platform.claude.com
  • code.claude.com
  • claude.ai
  • github.com
  • www.github.com
  • api.github.com
  • npm.pkg.github.com
  • raw.githubusercontent.com
  • pkg-npm.githubusercontent.com
  • objects.githubusercontent.com
  • release-assets.githubusercontent.com
  • codeload.github.com
  • avatars.githubusercontent.com
  • camo.githubusercontent.com
  • gist.github.com
  • gitlab.com
  • www.gitlab.com
  • registry.gitlab.com
  • bitbucket.org
  • www.bitbucket.org
  • api.bitbucket.org
  • registry-1.docker.io
  • auth.docker.io
  • index.docker.io
  • hub.docker.com
  • www.docker.com
  • production.cloudflare.docker.com
  • download.docker.com
  • gcr.io
  • *.gcr.io
  • ghcr.io
  • mcr.microsoft.com
  • *.data.mcr.microsoft.com
  • public.ecr.aws
  • cloud.google.com
  • accounts.google.com
  • gcloud.google.com
  • *.googleapis.com
  • storage.googleapis.com
  • compute.googleapis.com
  • container.googleapis.com
  • azure.com
  • portal.azure.com
  • microsoft.com
  • www.microsoft.com
  • *.microsoftonline.com
  • packages.microsoft.com
  • dotnet.microsoft.com
  • dot.net
  • visualstudio.com
  • dev.azure.com
  • *.amazonaws.com
  • *.api.aws
  • oracle.com
  • www.oracle.com
  • java.com
  • www.java.com
  • java.net
  • www.java.net
  • download.oracle.com
  • yum.oracle.com
  • proxy.golang.org
  • sum.golang.org
  • index.golang.org
  • golang.org
  • www.golang.org
  • goproxy.io
  • pkg.go.dev
  • maven.org
  • repo.maven.org
  • central.maven.org
  • repo1.maven.org
  • repo.maven.apache.org
  • jcenter.bintray.com
  • gradle.org
  • www.gradle.org
  • services.gradle.org
  • plugins.gradle.org
  • kotlinlang.org
  • www.kotlinlang.org
  • spring.io
  • repo.spring.io
  • dl.k8s.io (Kubernetes)
  • pkgs.k8s.io
  • k8s.io
  • www.k8s.io
  • releases.hashicorp.com (HashiCorp)
  • apt.releases.hashicorp.com
  • rpm.releases.hashicorp.com
  • archive.releases.hashicorp.com
  • hashicorp.com
  • www.hashicorp.com
  • repo.anaconda.com (Anaconda/Conda)
  • conda.anaconda.org
  • anaconda.org
  • www.anaconda.com
  • anaconda.com
  • continuum.io
  • apache.org (Apache)
  • www.apache.org
  • archive.apache.org
  • downloads.apache.org
  • eclipse.org (Eclipse)
  • www.eclipse.org
  • download.eclipse.org
  • nodejs.org (Node.js)
  • www.nodejs.org
  • developer.apple.com
  • developer.android.com
  • pkg.stainless.com
  • binaries.prisma.sh
  • statsig.com
  • www.statsig.com
  • api.statsig.com
  • sentry.io
  • *.sentry.io
  • downloads.sentry-cdn.com
  • http-intake.logs.datadoghq.com
  • browser-intake-us5-datadoghq.com
  • *.datadoghq.com
  • *.datadoghq.eu
  • api.honeycomb.io
  • sourceforge.net
  • *.sourceforge.net
  • packagecloud.io
  • *.packagecloud.io
  • fonts.googleapis.com
  • fonts.gstatic.com
  • *.modelcontextprotocol.io