SpyBara
Go Premium

desktop.md 2026-10-16 22:59 UTC to 2026-10-17 23:57 UTC

No changes for this document in this history range.

2026
Thu 1 23:59 Fri 2 22:59 Sat 3 23:57 Sun 4 23:58 Tue 6 23:59 Wed 7 23:59 Thu 8 22:58 Fri 9 23:02 Sat 10 23:01 Sun 11 23:57 Tue 13 23:57 Wed 14 22:58 Thu 15 23:58 Fri 16 22:59 Mon 19 23:58 Tue 20 23:00 Wed 21 23:02 Thu 22 22:58 Fri 23 22:59 Sat 24 22:59 Sun 25 23:58 Mon 26 22:57 Tue 27 22:59 Wed 28 23:57 Thu 29 23:57 Fri 30 23:01

Aplikasi desktop

Dapatkan lebih banyak dari Claude Code Desktop: sesi paralel dengan isolasi Git, tata letak pane drag-and-drop, terminal terintegrasi dan editor file, side chats, computer use, Dispatch sessions dari ponsel Anda, tinjauan diff visual, pratinjau aplikasi, pemantauan PR, konektor, dan konfigurasi enterprise.

Aplikasi Claude Desktop memiliki tiga tab: Chat untuk percakapan, Cowork untuk Dispatch dan pekerjaan agentic yang lebih panjang, dan Code untuk pengembangan perangkat lunak. Halaman ini adalah referensi untuk tab Code.

Untuk Windows ARM64, unduh penginstal ARM64. Di Linux, instal dengan apt; lihat Claude Desktop di Linux.

Setelah menginstal, luncurkan Claude, masuk, dan klik tab Code. Untuk panduan sesi pertama Anda, lihat panduan Memulai.

Di tab Code, setiap percakapan adalah sebuah sesi: ia memiliki riwayat chat sendiri dan folder proyek, independen dari sesi lainnya. Bilah sisi mencantumkan sesi Anda dan memungkinkan Anda menjalankan beberapa secara paralel. Dalam sesi Anda dapat:

Untuk pekerjaan berulang terjadwal, pintasan keyboard, atau mengirim tugas dari ponsel Anda, lihat halaman dan bagian yang ditautkan. Jika Anda sudah menggunakan CLI berbasis terminal, lihat perbandingan CLI untuk apa yang berlanjut.

Mulai sesi

Sebelum Anda mengirim pesan pertama, konfigurasikan empat hal di area prompt:

  • Environment: pilih di mana Claude berjalan. Pilih Local untuk mesin Anda, Cloud untuk sesi cloud yang berlanjut setelah Anda menutup aplikasi, koneksi SSH untuk mesin jarak jauh yang Anda kelola, atau di Windows distribusi WSL. Tugas dalam sesi SSH dapat terus berjalan saat Desktop terputus, tetapi dengan akun Claude tugas tersebut dapat berhenti ketika masa berlaku login-nya habis. Lihat konfigurasi lingkungan.
  • Project folder: pilih folder atau repositori tempat Claude bekerja. Untuk sesi cloud, Anda dapat menambahkan beberapa repositori.
  • Model: pilih model dari dropdown di sebelah tombol kirim. Anda dapat mengubah ini selama sesi.
  • Permission mode: pilih berapa banyak otonomi yang dimiliki Claude dari pemilih mode. Anda dapat mengubah ini selama sesi.

Ketik tugas Anda dan tekan Enter untuk memulai. Setiap sesi melacak konteksnya sendiri dan perubahan secara independen.

Bekerja dengan kode

Berikan Claude konteks yang tepat, kontrol berapa banyak yang dilakukannya sendiri, dan tinjau apa yang diubahnya.

Gunakan kotak prompt

Ketik apa yang ingin Anda lakukan Claude dan tekan Enter untuk mengirim. Claude membaca file proyek Anda, membuat perubahan, dan menjalankan perintah berdasarkan permission mode Anda. Anda dapat mengarahkan ulang Claude kapan saja: klik tombol stop untuk menghentikan segera, atau ketik koreksi dan tekan Enter untuk mengirimnya tanpa menghentikan tindakan yang sedang berjalan. Claude membaca koreksi segera setelah tindakan saat ini selesai dan menyesuaikan sebelum langkah berikutnya.

Tombol + di sebelah kotak prompt memberi Anda akses ke lampiran file, skills, connectors, dan plugins.

Terima prompt yang disarankan

Setelah Claude membalas, tab Code dapat menampilkan prompt berikutnya yang disarankan sebagai teks abu-abu di kotak prompt yang kosong. Claude Code menghasilkan setiap saran dari percakapan Anda dengan permintaan latar belakang singkat yang dihitung terhadap batas penggunaan paket Anda atau biaya API Anda.

  • Gunakan saran: tekan Tab atau Right arrow untuk menempatkannya di kotak prompt, edit jika Anda mau, lalu tekan Enter untuk mengirimnya. Menekan Enter sebelum Anda menerima saran tidak akan mengirimnya.
  • Tulis prompt Anda sendiri: mulai mengetik. Saran hanya ditampilkan selama kotak prompt kosong dan tidak memiliki file terlampir.

Buka Settings > Claude Code dan matikan Prompt suggestions di bawah Sessions untuk menghentikan saran di setiap sesi mulai saat sesi tersebut dimulai atau dilanjutkan berikutnya.

Tambahkan file dan konteks ke prompt

Kotak prompt mendukung dua cara untuk membawa konteks eksternal:

  • @mention files: ketik @ diikuti dengan nama file untuk menambahkan file ke konteks percakapan. Claude kemudian dapat membaca dan mereferensikan file tersebut. @mention tidak tersedia di sesi cloud atau WSL.
  • Attach files: lampirkan gambar, PDF, dan file lainnya ke prompt Anda menggunakan tombol lampiran, atau seret dan lepas file langsung ke prompt. Ini berguna untuk berbagi tangkapan layar bug, mockup desain, atau dokumen referensi.

Pilih permission mode

Permission modes mengontrol berapa banyak otonomi yang dimiliki Claude selama sesi: apakah itu meminta izin sebelum mengedit file, menjalankan perintah, atau keduanya. Anda dapat beralih permission modes kapan saja menggunakan pemilih mode di sebelah tombol kirim. Untuk menyetujui setiap perubahan sendiri, beralih ke Manual.

Untuk menetapkan mode default untuk sesi lokal baru, tambahkan permissions.defaultMode ke file pengaturan Anda. Aplikasi desktop membaca file pengaturan yang sama dengan CLI. Mode yang Anda pilih di pemilih diingat per folder dan diutamakan daripada defaultMode untuk folder itu, kecuali Plan, yang berlaku hanya untuk sesi saat ini.

Mode Settings key Behavior
Manual default Claude meminta izin sebelum mengedit file atau menjalankan perintah. Anda melihat diff dan dapat menerima atau menolak setiap perubahan.
Accept edits acceptEdits Claude secara otomatis menerima edit file dan perintah filesystem umum seperti mkdir, touch, dan mv, tetapi masih meminta izin sebelum menjalankan perintah terminal lainnya. Gunakan ini ketika Anda mempercayai perubahan file dan menginginkan iterasi yang lebih cepat.
Plan plan Claude membaca file dan menjalankan perintah untuk menjelajahi, kemudian mengusulkan rencana tanpa mengedit kode sumber Anda. Bagus untuk tugas kompleks di mana Anda ingin meninjau pendekatan terlebih dahulu.
Auto auto Claude berjalan tanpa permintaan izin reguler; sebelum tindakan seperti perintah shell dan permintaan jaringan berjalan, pengklasifikasi latar belakang memeriksa bahwa mereka selaras dengan permintaan Anda. Muncul ketika auto mode tersedia; tidak ada toggle Settings terpisah untuk itu.
Bypass permissions bypassPermissions Claude berjalan tanpa permintaan izin, kecuali untuk tindakan yang tidak ada mode auto-approve, pengklasifikasi keamanan ketika Claude bertindak di situs eksternal, atau tindakan desktop seperti menghapus sesi, meskipun tidak termasuk mengarsipkan sesi. Setara dengan --dangerously-skip-permissions di CLI. Di paket Pro dan Max, aktifkan di Settings → Claude Code Anda di bawah "Allow bypass permissions mode"; di paket Team dan Enterprise tidak ada toggle Settings, dan kebijakan organisasi mengontrolnya sebagai gantinya. Hanya gunakan ini di kontainer atau VM yang disandbox.

Versi sebelumnya dari tab Code memberi label pada mode ini sebagai Ask permissions, Auto accept edits, dan Plan mode.

Permission mode dontAsk hanya tersedia di CLI.

Sesi cloud mendukung Accept edits, Plan, dan Auto. Accept edits sesuai dengan mode default: sesi cloud secara otomatis menyetujui edit file, jadi pemilih menampilkan Accept edits alih-alih Manual. Bypass permissions tidak tersedia di sesi cloud, termasuk sesi di lingkungan self-hosted.

Admin enterprise dapat membatasi permission modes mana yang tersedia. Lihat enterprise configuration untuk detail.

Ketersediaan auto mode

Auto mode tersedia untuk semua pengguna di Anthropic API dan memerlukan Claude Opus 4.6 atau lebih baru, Sonnet 4.6 atau lebih baru, Haiku 5.5, atau model Fable. Administrator organisasi dapat menonaktifkan auto mode dengan kunci disableAutoMode di pengaturan terkelola.

Dalam deployment Enterprise yang merutekan Desktop ke Google Cloud's Agent Platform, auto mode juga tersedia secara default; lihat Auto mode on Bedrock, Agent Platform, or Foundry untuk model yang didukung.

Pratinjau aplikasi Anda

Claude dapat memulai dev server dan membukanya di pane Browser untuk memverifikasi perubahannya. Ini berfungsi untuk aplikasi web frontend serta server backend: Claude dapat menguji endpoint API, melihat log server, dan mengulangi masalah yang ditemukannya. Dalam kebanyakan kasus, Claude memulai server secara otomatis setelah mengedit file proyek. Anda juga dapat meminta Claude untuk pratinjau kapan saja. Secara default, Claude auto-verifies perubahan setelah setiap edit.

Pane Browser juga dapat membuka file HTML statis, PDF, gambar, dan video dari proyek Anda. Klik path HTML, PDF, gambar, atau video di chat untuk membukanya di sana.

Dari pane Browser, Anda dapat:

  • Berinteraksi dengan aplikasi yang sedang berjalan langsung di pane Browser
  • Tonton Claude memverifikasi perubahannya sendiri secara otomatis: mengambil tangkapan layar, memeriksa DOM, mengklik elemen, mengisi formulir, dan memperbaiki masalah yang ditemukannya
  • Mulai atau hentikan server, atau hentikan semuanya sekaligus, dari menu Dev servers di header pane Browser
  • Pilih apakah Browser menyimpan cookie setelah Anda keluar dari aplikasi dengan Keep cookies di menu ⋮ pane Browser, sehingga Anda tidak perlu masuk kembali selama pengembangan

Claude membuat konfigurasi server awal berdasarkan proyek Anda. Jika aplikasi Anda menggunakan perintah dev kustom, edit .claude/launch.json agar sesuai dengan setup Anda. Lihat Configure preview servers untuk referensi lengkap.

Untuk menghapus data yang disimpan Browser, pilih Clear browsing data di menu ⋮ pane Browser. Untuk menonaktifkan Browser sepenuhnya, matikan Browser tools di Settings > Claude Code.

Jelajahi situs eksternal

Pane Browser adalah browser bertab, jadi Anda dapat membuka dokumentasi, pelacak masalah, atau situs lainnya di sebelah aplikasi yang sedang berjalan. Untuk membuka Browser, tekan Cmd+Shift+B di macOS atau Ctrl+Shift+B di Windows, atau klik Browser di bilah judul sesi. Anda dapat masuk ke situs di pane, termasuk alur sign-in popup seperti Google OAuth.

Pertama kali Anda mengklik tautan eksternal di chat, sebuah dialog menanyakan apakah tautan dibuka di pane Browser atau di browser default Anda. Untuk mengubah pilihan Anda nanti, gunakan Open links in built-in browser di menu ⋮ pane Browser. Cmd-klik di macOS atau Ctrl-klik di Windows membuka tautan di browser default Anda secara langsung.

Claude dapat membaca dan berinteraksi dengan halaman eksternal menggunakan tool yang sama yang digunakan untuk memverifikasi aplikasi Anda, dengan dua pemeriksaan keamanan tambahan:

  • Pengklasifikasi keamanan meninjau tindakan penulisan Claude di halaman eksternal, seperti mengklik dan mengetik, di setiap permission mode. Ini adalah pengklasifikasi yang sama yang digunakan auto mode, dan ketika mereka menandai tindakan, Anda mendapatkan permintaan izin terlepas dari mode.
  • Di permission modes selain Auto dan Bypass permissions, pemeriksaan domain allowlist juga berlaku sebelum Claude menavigasi ke situs baru.

Setujui tindakan Claude di situs

Pertama kali Claude bertindak di situs eksternal, kartu izin muncul dan Claude menunggu pilihan Anda: Allow once, Always allow, atau Deny. Allow once menyetujui tindakan tanpa menyimpan apa pun. Always allow menyimpan persetujuan untuk situs itu di perangkat Anda, dan Anda dapat mencabut di Settings. Setiap situs memerlukan persetujuannya sendiri, termasuk subdomain. Server dev lokal Anda dan file proyek tidak memerlukan persetujuan, jadi auto-verify terus bekerja tanpa permintaan izin.

Bahkan di situs yang disetujui, Claude tidak akan membeli item, membuat akun, atau melewati CAPTCHA tanpa input Anda. Browsing di pane Browser menggunakan model keamanan yang sama dengan Claude in Chrome extension. Lihat Using Claude in Chrome safely untuk cara Claude menangani situs sensitif dan tindakan berisiko.

Pilih antara Browser dan Chrome extension

Pane Browser menggunakan profil browser yang bersih, terpisah dari browser pribadi Anda, tanpa login atau riwayat yang disimpan. Gunakan untuk membangun dan menguji aplikasi Anda dan untuk situs yang tidak memerlukan identitas Anda. Ketika Anda ingin Claude bertindak sebagai Anda dalam sesi login Anda, gunakan Claude in Chrome extension sebagai gantinya, yang berbagi status login browser Anda.

Batasi browsing eksternal untuk organisasi Anda

Browser mengikuti site allowlist dan blocklist controls yang sama dengan Claude in Chrome extension. Jika organisasi Anda sudah mengonfigurasi daftar tersebut untuk extension, Browser menghormatinya secara otomatis. Administrator juga dapat menonaktifkan tool Claude di halaman eksternal dengan pengaturan terkelola browserExternalPageTools. Dengan tool dinonaktifkan, pengguna masih dapat mengunjungi situs eksternal; tool Claude tidak dapat membaca atau bertindak pada mereka.

Untuk menonaktifkan browsing eksternal sepenuhnya, atur pengaturan terkelola disableBrowserExternalNavigation ke true. Ini memblokir semua navigasi eksternal di Browser, termasuk situs di allowlist organisasi Anda; server dev localhost dan pratinjau file tetap berfungsi. Gunakan browserExternalPageTools untuk membiarkan pengguna terus menjelajahi situs eksternal tanpa tool Claude, dan disableBrowserExternalNavigation untuk memblokir situs eksternal untuk pengguna dan Claude.

Tinjau perubahan dengan diff view

Setelah Claude membuat perubahan pada kode Anda, diff view memungkinkan Anda meninjau modifikasi file demi file sebelum membuat pull request.

Ketika Claude mengubah file, indikator statistik diff muncul menunjukkan jumlah baris yang ditambahkan dan dihapus, seperti +12 -1. Klik indikator ini untuk membuka diff viewer, yang menampilkan daftar file di sebelah kiri dan perubahan untuk setiap file di sebelah kanan.

Untuk mengomentari baris tertentu, klik baris apa pun di diff untuk membuka kotak komentar. Ketik umpan balik Anda dan tekan Enter untuk menambahkan komentar. Setelah menambahkan komentar ke beberapa baris, kirimkan semua komentar sekaligus:

  • macOS: tekan Cmd+Enter
  • Windows: tekan Ctrl+Enter

Claude membaca komentar Anda dan membuat perubahan yang diminta, yang muncul sebagai diff baru yang dapat Anda tinjau.

Tinjau kode Anda

Agar Claude meninjau perubahan Anda sebelum Anda melakukan commit, masukkan /code-review di kotak prompt. Temuan akan muncul di percakapan saat peninjauan selesai.

Di sesi lokal, SSH, dan WSL, temuan muncul sebagai kartu Code review, dikelompokkan berdasarkan file. Gunakan kartu tersebut untuk menindaklanjutinya:

  • Klik Walk through in diff untuk membuka diff view dan menelusuri temuan satu per satu. Temuan di diff saat ini muncul pada barisnya, tempat Anda dapat mengklik Fix this one atau mengabaikannya.
  • Klik Apply fixes untuk meminta Claude memperbaiki temuan yang masih terbuka.

Di sesi apa pun, Anda juga dapat meminta Claude di kotak prompt untuk memperbaiki apa yang ditemukan oleh peninjauan. Untuk apa yang dicari /code-review dan argumen yang diterimanya, lihat Review locally with /code-review.

Pantau status pull request

Setelah Anda membuka pull request, bilah status CI muncul di sesi. Claude Code menggunakan GitHub CLI untuk menanyakan hasil pemeriksaan dan menampilkan kegagalan.

  • Auto-fix CI & address comments: ketika diaktifkan, Claude secara otomatis mencoba memperbaiki pemeriksaan CI yang gagal dengan membaca output kegagalan dan mengulangi. Di sesi lokal, Claude juga menanggapi komentar review baru yang ditinggalkan oleh orang selain Anda, ketika penulisnya adalah pemilik repositori, anggota organisasi, kolaborator, atau GitHub App.
  • Auto-merge when ready: ketika diaktifkan, Claude menggabungkan PR setelah semua pemeriksaan lulus. Metode merge adalah squash. Aktifkan auto-merge di pengaturan repositori GitHub Anda terlebih dahulu; tanpanya, Claude tidak dapat menggabungkan PR.

Untuk mengaktifkannya, klik CI di bilah status. Untuk mengarsipkan sesi secara otomatis setelah PR di-merge atau ditutup, aktifkan auto-archive di Settings > Claude Code.

Atur workspace Anda

Tab Code dibangun di sekitar pane yang dapat Anda atur dalam tata letak apa pun: chat, diff, browser, terminal, file, plan, tasks, dan subagent, bersama dengan iOS Simulator di macOS. Seret pane dengan headernya untuk memposisikan ulang, atau seret tepi pane untuk mengubah ukurannya. Tekan Cmd+\ di macOS atau Ctrl+\ di Windows untuk menutup pane yang fokus. Klik Terminal, Changes, atau Browser di bilah judul sesi untuk membuka pane terminal, diff, atau Browser. Menu ⋮ di sebelahnya membuka lebih banyak pane, seperti Files, dan menampung tombol-tombol tersebut ketika jendela terlalu sempit untuk menampilkannya.

Untuk bekerja di seluruh layar, keluarkan pane seperti diff atau terminal ke jendela tersendiri, dan doknya kembali ketika Anda selesai. Claude terus bekerja di jendela utama.

Jalankan perintah di terminal

Terminal terintegrasi memungkinkan Anda menjalankan perintah bersama sesi Anda tanpa beralih ke aplikasi lain. Klik Terminal di bilah judul sesi atau tekan Ctrl+` di macOS atau Windows. Terminal terbuka di direktori kerja sesi Anda dan berbagi lingkungan yang sama dengan Claude, jadi perintah seperti npm test atau git status melihat file yang sama yang sedang diedit Claude. Untuk membuka tab terminal kedua, klik + di header pane terminal atau klik kanan folder di chat untuk memilih Open in terminal.

Terminal tersedia di sesi lokal dan SSH, dengan batasan pada mesin jarak jauh Windows.

Buka dan edit file

Klik path file di chat atau diff viewer untuk membukanya di pane file. Path HTML, PDF, gambar, dan video terbuka di pane Browser sebagai gantinya. Buat edit spot dan klik Save untuk menulisnya kembali. Jika file berubah di disk sejak Anda membukanya, pane memperingatkan Anda dan memungkinkan Anda menimpa atau membuang. Klik Discard untuk mengembalikan edit Anda, atau klik path di header pane untuk menyalin path absolut.

Pane file tersedia di sesi lokal dan SSH. Untuk sesi cloud, minta Claude untuk membuat perubahan.

Buka file di aplikasi lain

Klik kanan path file apa pun di chat, diff viewer, atau pane file untuk membuka menu konteks:

  • Attach as context: tambahkan file ke prompt berikutnya Anda
  • Open in: buka file di editor yang diinstal seperti VS Code, Cursor, atau Zed
  • Show in Finder di macOS, Show in Explorer di Windows: buka folder yang berisi
  • Copy path: salin path absolut ke clipboard Anda

Alihkan view modes

View modes mengontrol berapa banyak detail yang muncul di transkrip chat. Untuk mengalihkan view modes, buka menu sesi dari tanda caret di sebelah judul sesi dan pilih Transcript view, atau tekan Ctrl+O di macOS atau Windows untuk bersiklus melaluinya. Mode Thinking muncul di menu hanya setelah Claude telah menghasilkan thinking di sesi yang Anda lihat.

Mode Apa yang ditampilkan
Normal Panggilan tool yang diciutkan menjadi ringkasan, dengan respons teks penuh
Thinking Panggilan tool yang diciutkan menjadi ringkasan, ditambah thinking Claude
Verbose Setiap panggilan tool, pembacaan file, dan langkah perantara yang diambil Claude, ditambah thinking Claude

Gunakan Thinking untuk mengikuti penalaran Claude dengan panggilan tool masih diciutkan. Gunakan Verbose saat men-debug mengapa Claude mengambil tindakan tertentu. Versi Claude Desktop sebelum 1.46388.1 juga mencantumkan mode Summary, dan sesi yang masih diatur ke Summary terbuka di Normal setelah Anda memperbarui.

Pintasan keyboard

Tekan Cmd+/ di macOS atau Ctrl+/ di Windows untuk melihat semua pintasan keyboard yang tersedia di tab Code. Di Windows, gunakan Ctrl sebagai pengganti Cmd untuk pintasan di bawah. Siklus sesi, toggle terminal, dan toggle view-mode menggunakan Ctrl di setiap platform.

Shortcut Action
Cmd / Tampilkan pintasan keyboard
Cmd N Sesi baru
Cmd W Tutup sesi
Ctrl Tab / Ctrl Shift Tab Sesi berikutnya atau sebelumnya
Cmd Shift ] / Cmd Shift [ Sesi berikutnya atau sebelumnya
Esc Hentikan respons Claude
Tab / Right arrow Terima prompt yang disarankan di kotak prompt yang kosong
Cmd Shift D Alihkan pane diff
Cmd Shift B Alihkan pane Browser
Cmd Shift S Pilih elemen di Browser
Ctrl ` Alihkan pane terminal
Cmd \ Tutup pane yang fokus
Cmd ; Buka side chat
Ctrl O Siklus view modes
Cmd Shift M Buka menu mode izin
Cmd Shift I Buka menu model
Cmd Shift E Buka menu effort
1–9 Pilih item di menu terbuka

Pintasan ini berlaku untuk tab Code. Di Desktop, Shift+Tab tidak bersiklus melalui mode izin seperti yang dilakukannya di interactive mode terminal.

Periksa penggunaan

Klik cincin penggunaan di sebelah pemilih model untuk melihat penggunaan context window saat ini Anda dan penggunaan paket Anda untuk periode tersebut. Penggunaan konteks bersifat per sesi; penggunaan paket dibagikan di semua surface Claude Code Anda.

Biarkan Claude menggunakan komputer Anda

Computer use memungkinkan Claude membuka aplikasi Anda, mengontrol layar Anda, dan bekerja langsung di mesin Anda seperti yang Anda lakukan. Minta Claude untuk berinteraksi dengan alat desktop yang tidak memiliki CLI, atau mengotomatisasi sesuatu yang hanya berfungsi melalui GUI. Untuk menjalankan dan menguji aplikasi iOS, Desktop membuka pane iOS Simulator khusus sebagai gantinya mengontrol layar Anda; pane berfungsi tanpa mengaktifkan computer use.

Computer use dimatikan secara default. Aktifkan di Settings sebelum Claude dapat mengontrol layar Anda. Di macOS, Anda juga perlu memberikan izin Accessibility dan Screen Recording.

Pada macOS, computer use juga dapat berjalan di latar belakang: Claude bekerja di aplikasi yang telah Anda setujui sementara Anda terus bekerja.

Kapan computer use berlaku

Claude memiliki beberapa cara untuk berinteraksi dengan aplikasi atau layanan, dan computer use adalah yang paling luas dan paling lambat. Ini mencoba alat yang paling presisi terlebih dahulu:

  • Jika Anda memiliki konektor untuk layanan, Claude menggunakan konektor.
  • Jika tugas adalah perintah shell, Claude menggunakan Bash.
  • Jika tugas adalah pekerjaan browser dan Anda memiliki Claude di Chrome yang disiapkan, Claude menggunakan itu.
  • Jika tugas adalah menjalankan atau menguji aplikasi iOS, Claude menggunakan pane iOS Simulator, yang tidak menggunakan kontrol layar.
  • Jika tidak ada yang berlaku, Claude menggunakan computer use.

Per-app access tiers memperkuat ini: browser dibatasi hanya tampilan, dan terminal serta IDE dibatasi hanya klik, mengarahkan Claude ke alat khusus bahkan ketika computer use aktif. Kontrol layar dicadangkan untuk hal-hal yang tidak dapat dijangkau oleh yang lain, seperti aplikasi native, panel kontrol perangkat keras, atau alat proprietary tanpa API.

Aktifkan computer use

Computer use dimatikan secara default. Jika Anda meminta Claude melakukan sesuatu yang membutuhkannya saat dimatikan, Claude memberi tahu Anda bahwa itu dapat melakukan tugas jika Anda mengaktifkan computer use di Settings.

1

Perbarui aplikasi desktop

Pastikan Anda memiliki versi terbaru Claude Desktop. Pada macOS dan Windows, unduh atau perbarui di claude.com/download; di Linux, perbarui melalui manajer paket Anda (instruksi). Kemudian mulai ulang aplikasi.

2

Aktifkan toggle

Di aplikasi desktop, buka Settings > This computer > System. Di bawah Computer use, aktifkan Enable computer use. Di Windows, toggle berlaku segera dan setup selesai. Di macOS, lanjutkan ke langkah berikutnya.

Jika Anda tidak melihat toggle, konfirmasi Anda menggunakan macOS atau Windows dengan rencana Pro atau Max, kemudian perbarui dan mulai ulang aplikasi.

3

Berikan izin macOS

Di macOS, berikan dua izin sistem sebelum toggle berlaku:

  • Accessibility: memungkinkan Claude mengklik, mengetik, dan menggulir
  • Screen Recording: memungkinkan Claude melihat apa yang ada di layar Anda

Halaman Settings menunjukkan status saat ini dari setiap izin. Jika salah satu ditolak, klik badge untuk membuka pane System Settings yang relevan.

App permissions

Pertama kali Claude perlu menggunakan aplikasi, prompt muncul di sesi Anda. Klik Allow for this session atau Deny. Persetujuan berlaku untuk sesi saat ini, atau 30 menit di sesi yang dispawn Dispatch.

Prompt juga menunjukkan tingkat kontrol apa yang diperoleh Claude untuk aplikasi itu. Tingkat ini diperbaiki berdasarkan kategori aplikasi dan tidak dapat diubah:

Tier Apa yang dapat dilakukan Claude Berlaku untuk
View only Lihat aplikasi di tangkapan layar Browser, platform perdagangan
Click only Klik dan gulir, tetapi tidak mengetik atau menggunakan pintasan keyboard Terminal, IDE
Full control Klik, ketik, seret, dan gunakan pintasan keyboard Semuanya yang lain

Aplikasi dengan jangkauan luas, seperti terminal, Finder atau File Explorer, dan System Settings atau Settings, menampilkan peringatan tambahan di prompt sehingga Anda tahu apa yang disetujui.

Bagian Computer use di Settings > This computer > System mencakup opsi-opsi berikut:

  • Denied apps: tambahkan aplikasi di sini untuk menolaknya tanpa meminta. Claude mungkin masih mempengaruhi aplikasi yang ditolak secara tidak langsung melalui tindakan di aplikasi yang diizinkan, tetapi tidak dapat berinteraksi dengan aplikasi yang ditolak secara langsung.
  • Unhide apps when Claude finishes: saat computer use tidak berjalan di latar belakang, Claude menyembunyikan jendela lain Anda saat bekerja sehingga hanya berinteraksi dengan aplikasi yang disetujui. Ketika Claude selesai, jendela yang disembunyikan dipulihkan kecuali Anda mematikan pengaturan ini.

Kelola sesi

Setiap sesi adalah percakapan independen dengan konteks dan perubahannya sendiri. Anda dapat menjalankan beberapa sesi secara paralel, membuat side chat, membiarkan Claude memeriksa dan mengirim pesan ke sesi Anda yang lain, mengirim pekerjaan ke cloud, atau membiarkan Dispatch memulai sesi untuk Anda dari ponsel Anda.

Bekerja secara paralel dengan sesi

Klik + New session di sidebar, atau tekan Cmd+N di macOS atau Ctrl+N di Windows, untuk bekerja pada beberapa tugas secara paralel. Tekan Ctrl+Tab dan Ctrl+Shift+Tab untuk bersiklus melalui sesi di sidebar. Untuk repositori Git, pilih opsi worktree di sebelah nama branch untuk memberikan sesi salinan proyek Anda sendiri yang terisolasi menggunakan Git worktrees.

Untuk melihat dua sesi sekaligus, tahan Cmd di macOS atau Ctrl di Windows dan klik sesi di sidebar. Sesi terbuka di pane kedua di samping yang sudah Anda buka. Saat split aktif, mengklik sesi sidebar lain mengganti pane mana pun yang memiliki fokus. Tekan Cmd+\ di macOS atau Ctrl+\ di Windows untuk menutup pane yang difokuskan dan kembali ke sesi tunggal.

Worktrees disimpan di <project-root>/.claude/worktrees/ secara default. Anda dapat mengubah ini ke direktori kustom:

  • Sesi lokal: atur Worktree location di Settings > Claude Code
  • Sesi SSH: atur Worktree folder pada koneksi SSH

Anda juga dapat mengatur Branch prefix di Settings > Claude Code. Desktop menambahkannya di depan setiap nama branch worktree, yang berguna untuk menjaga branch yang dibuat Claude tetap terorganisir.

Untuk menghapus worktree ketika selesai, arahkan ke sesi di sidebar dan klik ikon archive. Untuk memiliki sesi mengarsipkan diri mereka sendiri ketika pull request mereka di-merge atau ditutup, aktifkan Auto-archive after PR merge or close di Settings > Claude Code. Auto-archive hanya berlaku untuk sesi lokal yang telah selesai berjalan.

Untuk menyertakan file yang diabaikan git seperti .env di worktree baru, buat file .worktreeinclude di root proyek Anda. Lihat Apa yang dibagikan worktree dengan checkout utama untuk mengetahui dari mana sesi worktree membaca pengaturan proyek, hook, dan skill.

Gunakan kontrol di bagian atas sidebar untuk memfilter sesi berdasarkan status, proyek, atau lingkungan, dan untuk mengelompokkan sesi berdasarkan proyek. Untuk mengganti nama sesi, klik judul sesi di toolbar di bagian atas sesi aktif.

Untuk memeriksa penggunaan konteks, lihat Check usage. Ketika konteks penuh, Claude secara otomatis merangkum percakapan dan terus bekerja. Anda juga dapat mengetik /compact untuk memicu perangkuman lebih awal dan membebaskan ruang konteks. Lihat context window untuk detail tentang cara compaction bekerja.

Aplikasi desktop mengirimkan notifikasi OS ketika sesi Code menyelesaikan tugas dan Anda tidak sedang melihat sesi tersebut. Untuk sesi yang termasuk dalam proyek, Anda mendapatkan notifikasi proyek sebagai gantinya.

Tanyakan pertanyaan sampingan tanpa menggoyahkan sesi

Side chat memungkinkan Anda mengajukan pertanyaan kepada Claude yang menggunakan konteks sesi Anda tetapi tidak menambahkan apa pun kembali ke percakapan utama. Gunakan ketika Anda ingin memahami sepotong kode, memeriksa asumsi, atau menjelajahi ide tanpa mengarahkan sesi ke arah yang berbeda.

Tekan Cmd+; di macOS atau Ctrl+; di Windows untuk membuka side chat, atau ketik /btw di kotak prompt. Side chat dapat membaca semuanya di thread utama hingga titik itu. Ketika selesai, tutup side chat dan lanjutkan sesi utama di mana Anda tinggalkan.

Side chats tersedia di sesi lokal, SSH, dan WSL. Aplikasi desktop tidak menyimpan side chats ke disk, jadi Anda tidak dapat kembali ke satu setelah menutup aplikasi.

Tonton background tasks

Pane tasks menunjukkan pekerjaan latar belakang yang berjalan di dalam sesi saat ini: subagent, perintah shell latar belakang, dan dynamic workflows. Setelah sesi memiliki pekerjaan latar belakang, buka pane tersebut melalui Background tasks di menu ⋮ pada bilah judul.

Klik entri apa pun untuk melihat outputnya di pane subagent atau hentikan. Untuk melihat apa yang dilakukan sesi lain, gunakan sidebar, atau tanyakan Claude untuk memeriksa mereka untuk Anda.

Bekerja lintas sesi

Claude dapat membuat daftar sesi tab Code Anda yang lain, membaca apa yang telah dilakukan masing-masing, dan mengirim pesan di antara mereka. Tanyakan dalam bahasa biasa: "sesi mana yang menyentuh refactor auth?", "apa yang disimpulkan sesi API?", atau "beritahu sesi pembayaran bahwa skema berubah". Anda juga dapat meminta Claude untuk mengganti nama atau mengarsipkan sesi. Claude mengarsipkan sesi dengan cara yang sama seperti ikon archive di sidebar, jadi minta untuk membersihkan sesi yang PR-nya telah di-merge.

Melalui surface ini, Claude hanya melihat sesi yang dijalankan aplikasi desktop itu sendiri: lokal, SSH, dan sesi WSL di tab Code. Claude tidak melihat sesi cloud, atau sesi yang Anda mulai dari CLI terminal atau ekstensi VS Code, bahkan di worktrees dari proyek yang sama, jadi dengan sembilan worktrees terminal terbuka dan dua sesi desktop, Claude yang menjawab di salah satunya melaporkan satu sesi desktop lainnya. Claude tidak pernah membuat daftar sesi tempat Anda bertanya. Secara default, Claude melihat 20 sesi yang paling aktif baru-baru ini dan melewati sesi yang diarsipkan kecuali Anda memintanya. Cross-session messaging secara terpisah memungkinkan Claude mengirim pesan ke sesi Claude Code Anda yang lain, termasuk sesi terminal.

Ketika Claude mengirim pesan ke sesi lain melalui surface ini, Claude Code menampilkannya di sana sebagai kartu berlabel dengan judul sesi pengirim dan tautan kembali, sehingga Anda selalu dapat mengetahui dari mana pesan berasal. Jika sesi penerima sedang menjalankan tugas, Claude Code menahan pesan dan Claude membacanya setelah pekerjaan saat ini selesai. Claude penerima dapat membalas, dan Claude Code mengirimkan balasan kembali melalui surface ini. Claude tidak dapat mengirimkan ke sesi yang diarsipkan, dan memberi tahu Anda ketika pesan tidak tersampaikan.

Claude Code menerapkan empat perilaku keamanan lintas sesi:

  • Anda mendapatkan kartu persetujuan sebelum Claude mengarsipkan sesi, kecuali dalam Auto mode dan Bypass permissions mode, di mana Claude dapat mengarsipkan sesi tanpa kartu tersebut. Agar ditanya terlebih dahulu, beralihlah ke Manual.
  • Melalui surface ini, Claude tidak dapat mengirim pesan lintas sesi dari sesi yang tidak ada yang menonton, seperti jalankan tugas terjadwal, dan tidak dapat mengirimkan pesan ke satu.
  • Claude Code memeriksa setiap pesan dari surface ini terhadap kontrol inbound sesi penerima, bahkan ketika sesi penerima tidak memiliki cross-session messaging itu sendiri. Jika Anda mengatur crossSessionInbound ke refuse di sesi penerima, Claude Code menghapus pesan dari surface ini. Claude Code melaporkan penolakan ke aplikasi desktop Claude. Sebelum v2.1.234, Claude Code menghapus setiap pesan dari surface ini ke sesi penerima tanpa cross-session messaging.
  • Claude Code mengutip setiap pesan masuk dan mengatribusikannya ke sesi yang mengirimnya, dan Claude masih mengikuti pengaturan izin sesi penerima sendiri saat bertindak atas satu.

Claude juga dapat menyarankan sesi baru. Ketika Claude memperhatikan sesuatu yang layak diperbaiki yang berada di luar cakupan tugas saat ini, Claude menawarkan pekerjaan sebagai chip tugas di chat. Klik chip untuk memulai pekerjaan itu di sesi baru dengan worktree-nya sendiri; Claude melanjutkan sesi saat ini Anda tanpa gangguan.

Jalankan tugas jangka panjang di cloud

Untuk refaktor besar, suite pengujian, migrasi, atau tugas jangka panjang lainnya, pilih Cloud alih-alih Local saat memulai sesi. Sesi cloud berjalan pada infrastruktur yang dikelola Anthropic secara default dan terus berjalan bahkan jika Anda menutup aplikasi atau mematikan komputer. Periksa kembali kapan saja untuk melihat kemajuan atau mengarahkan Claude ke arah yang berbeda. Anda juga dapat memantau sesi cloud dari claude.ai/code atau aplikasi Claude mobile.

Sesi cloud juga mendukung beberapa repositori. Setelah memilih lingkungan cloud, klik tombol + di sebelah repositori yang dipilih untuk menambahkan repositori tambahan ke sesi. Setiap repo mendapatkan pemilih branch sendiri. Ini berguna untuk tugas yang mencakup beberapa codebase, seperti memperbarui perpustakaan bersama dan konsumennya.

Lihat Gunakan Claude Code di cloud untuk informasi lebih lanjut tentang cara kerja sesi cloud. Ketika satu badan pekerjaan memerlukan banyak sesi cloud, pilih Projects di sidebar untuk membuat proyek, di mana Claude memulai dan melacak sesi untuk Anda dari satu percakapan.

Lanjutkan di surface lain

Untuk melanjutkan sesi di tempat lain, buka menu sesi dari tanda caret di samping judul sesi atau dari baris sesi di sidebar, lalu pilih Open in:

  • Pilih Cloud untuk melanjutkan sesi sebagai sesi cloud, dengan percakapan Anda dibawa sebagai ringkasan. Sebelum Anda mengonfirmasi, dialog menyatakan apakah file Anda juga ikut dipindahkan dan apakah sesi ini diarsipkan setelah sesi cloud siap. Anda tidak dapat memindahkan sesi yang berjalan melalui SSH atau di WSL dengan cara ini.
  • Pilih editor yang terinstal atau file manager Anda untuk membuka folder sesi di disk di sana.

Kontrol sesi mana yang muncul di perangkat Anda yang lain

Sesi lokal muncul di perangkat Anda yang lain setelah Remote Control menghubungkannya. Sesi yang terhubung muncul di daftar sesi di claude.ai/code dan di aplikasi Claude pada perangkat yang masuk ke akun claude.ai Anda.

Sesi lokal terhubung ketika Anda mengaktifkan Remote Control untuknya, atau ketika sesi tersebut terhubung secara otomatis saat dimulai:

  • Anda mengaktifkannya untuk sesi tersebut: dengan sakelar Remote Control milik sesi tersebut, atau dengan mengetik /remote-control di kotak prompt-nya.
  • Sesi terhubung saat dimulai: sesi baru terhubung secara otomatis selama Connect new sessions to Remote Control aktif di Settings > Claude Code. Jika Anda belum pernah mengubah pengaturan tersebut, Desktop mengikuti remoteControlAtStartup di pengaturan pengguna atau pengaturan terkelola Anda, lalu default organisasi Anda.

Untuk melihat apakah sesi terhubung, lihat ikon laptop sebelum judul sesi di toolbar. Ikon tersebut disorot saat sesi terhubung atau sedang menghubungkan. Klik ikon tersebut untuk membuka sakelar Remote Control milik sesi tersebut.

Untuk menjaga agar sesi tidak muncul di perangkat Anda yang lain, matikan Remote Control pada tingkat yang Anda perlukan:

  • Satu sesi: matikan sakelar Remote Control-nya. Di sesi yang terhubung saat dimulai, mengetik /remote-control membiarkan Remote Control tetap aktif dan menampilkan Remote Control is already on. This session connected automatically when it started. Klik Turn off pada baris tersebut untuk memutuskan koneksi.
  • Sesi Desktop baru di komputer ini: matikan Connect new sessions to Remote Control di Settings > Claude Code. Jika sudah menunjukkan nonaktif, aktifkan lalu matikan agar Desktop menyimpan pilihan Anda. Setelah disimpan, pengaturan ini diutamakan daripada remoteControlAtStartup dan default.
  • Sesi apa pun di komputer ini, termasuk CLI: atur disableRemoteControl ke true di ~/.claude/settings.json untuk mencegah sesi terhubung. Sesi yang sudah terhubung saat Anda menyimpan file tetap terhubung sampai Anda mematikan Remote Control untuknya.

Untuk menyembunyikan sesi yang sudah muncul di perangkat Anda yang lain, arsipkan sesi tersebut di Desktop. Desktop juga mengarsipkan salinan Remote Control dari sesi tersebut, sehingga sesi tersebut keluar dari daftar sesi default di perangkat tersebut. Untuk melihat atau menghapusnya di sana, lihat Archive sessions.

Sesi dari Dispatch

Dispatch adalah percakapan persisten dengan Claude yang tinggal di tab Cowork. Anda mengirim pesan Dispatch dengan tugas, dan itu memutuskan cara menanganinya.

Tugas dapat berakhir sebagai sesi Code dengan dua cara: Anda meminta satu secara langsung, seperti "buka sesi Claude Code dan perbaiki bug login", atau Dispatch memutuskan tugas adalah pekerjaan pengembangan dan menspawn satu sendiri. Tugas yang biasanya diarahkan ke Code termasuk memperbaiki bug, memperbarui dependensi, menjalankan tes, atau membuka pull request. Penelitian, pengeditan dokumen, dan pekerjaan spreadsheet tetap di Cowork.

Bagaimanapun, sesi Code muncul di sidebar tab Code dengan badge Dispatch. Anda mendapatkan notifikasi push di ponsel Anda ketika selesai atau memerlukan persetujuan Anda.

Jika Anda memiliki computer use diaktifkan, sesi Code yang dispawn Dispatch juga dapat menggunakannya. Persetujuan aplikasi di sesi tersebut kedaluwarsa setelah 30 menit dan meminta kembali, daripada berlangsung untuk sesi penuh seperti sesi Code biasa.

Untuk setup, pairing, dan pengaturan Dispatch, lihat artikel bantuan Dispatch. Dispatch memerlukan rencana Pro atau Max dan tidak tersedia di rencana Team atau Enterprise.

Dispatch adalah salah satu dari beberapa cara untuk bekerja dengan Claude ketika Anda jauh dari terminal Anda. Untuk perbandingan dengan opsi lain, lihat Platforms and integrations.

Perluas Claude Code

Hubungkan layanan eksternal, tambahkan alur kerja yang dapat digunakan kembali, sesuaikan perilaku Claude, dan konfigurasikan server pratinjau. Untuk mengelola connectors, skills, dan plugins di satu tempat, klik Customize di sidebar. Tab Cowork di aplikasi Desktop bersumber skills, plugins, dan connectors dari konfigurasi Customize ini, yang disinkronkan melalui akun claude.ai Anda, bukan dari direktori ~/.claude CLI.

Claude Code juga memuat skills dan plugins yang diaktifkan untuk akun claude.ai Anda dalam sesi terminal di mana Anda masuk dengan akun yang sama. Lihat Skills synced from claude.ai dan Plugins synced from claude.ai.

Hubungkan alat eksternal

Untuk sesi lokal dan SSH, klik tombol + di sebelah kotak prompt dan pilih Connectors untuk menambahkan integrasi seperti Google Calendar, Slack, GitHub, Linear, Notion, dan lainnya. Anda dapat menambahkan connectors sebelum atau selama sesi. Tombol + tidak tersedia di sesi cloud atau WSL, tetapi routines mengonfigurasi connectors pada waktu pembuatan routine.

Untuk mengelola atau memutuskan connectors, buka Settings → Connectors di aplikasi desktop, atau pilih Manage connectors dari menu Connectors di kotak prompt.

Setelah terhubung, Claude dapat membaca kalender Anda, mengirim pesan, membuat masalah, dan berinteraksi dengan alat Anda secara langsung. Anda dapat meminta Claude konektor apa yang dikonfigurasi di sesi Anda.

Connectors adalah MCP servers dengan alur pengaturan grafis. Gunakan untuk integrasi cepat dengan layanan yang didukung. Untuk integrasi yang tidak tercantum di Connectors, tambahkan MCP servers secara manual melalui file pengaturan. Anda juga dapat membuat custom connectors.

Gunakan skills

Skills memperluas apa yang dapat dilakukan Claude. Claude memuatnya secara otomatis ketika relevan, atau Anda dapat menginvokan satu secara langsung: ketik / di kotak prompt atau klik tombol + dan pilih Slash commands untuk melihat apa yang tersedia. Ini mencakup built-in commands, custom skills Anda, project skills dari basis kode Anda, dan skills dari installed plugins apa pun. Pilih satu dan itu muncul disorot di bidang input. Ketik tugas Anda setelahnya dan kirim seperti biasa.

Anda dapat mengirim perintah saat Claude sedang bekerja, sama seperti pesan lainnya, dan sesi kembali ke idle setelah giliran selesai.

Sesi lokal memuat personal skills Anda dari ~/.claude/skills/. Sesi SSH membaca ~/.claude/skills/ dari direktori home host jarak jauh, bukan dari mesin Anda.

Sesi lokal dan cloud juga memuat skills yang diaktifkan untuk akun claude.ai Anda, kecuali sesi lokal ketika organisasi Anda menetapkan disableSideloadFlags. Sesi cloud memuatnya alih-alih ~/.claude/skills/, seperti yang dijelaskan dalam Skills in Cowork and cloud sessions.

Instal plugins

Plugins adalah paket yang dapat digunakan kembali yang menambahkan skills, agents, hooks, MCP servers, dan konfigurasi LSP ke Claude Code. Anda dapat memasang plugins dari aplikasi desktop tanpa menggunakan terminal.

Untuk sesi lokal dan SSH, klik tombol + di sebelah kotak prompt dan pilih Plugins untuk melihat plugins yang diinstal dan skills mereka. Untuk menambahkan plugin, pilih Add plugin dari submenu untuk membuka plugin browser, yang menampilkan plugins yang tersedia dari marketplaces yang dikonfigurasi termasuk marketplace Anthropic resmi. Pilih Manage plugins untuk mengaktifkan, menonaktifkan, atau mencopot plugins.

Anda dapat membatasi plugins ke akun pengguna Anda, proyek tertentu, atau lokal saja. Jika organisasi Anda mengelola plugins secara terpusat, plugins tersebut tersedia di sesi desktop dengan cara yang sama seperti di CLI, kecuali yang ditahan aplikasi desktop di bawah disableSideloadFlags.

Plugin browser tidak tersedia di sesi cloud, dan plugins yang Anda instal dari aplikasi desktop tidak tersedia untuk sesi cloud. Sesi cloud juga tidak memasang plugins yang dideklarasikan oleh .claude/settings.json repository, seperti yang dijelaskan dalam What carries over from your setup. Plugins tidak tersedia di sesi WSL. Untuk referensi plugin lengkap termasuk membuat plugins Anda sendiri, lihat plugins.

Konfigurasikan server pratinjau

Claude secara otomatis mendeteksi setup dev server Anda dan menyimpan konfigurasi di .claude/launch.json di root folder yang Anda pilih saat memulai sesi. Preview menggunakan folder ini sebagai direktori kerjanya, jadi jika Anda memilih folder induk, subfolder dengan server dev mereka sendiri tidak akan terdeteksi secara otomatis. Untuk bekerja dengan server subfolder, mulai sesi di folder itu secara langsung atau tambahkan konfigurasi secara manual.

Untuk menyesuaikan cara server Anda dimulai, misalnya menggunakan yarn dev alih-alih npm run dev atau mengubah port, edit .claude/launch.json. File mendukung JSON dengan komentar.

{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "my-app",
      "runtimeExecutable": "npm",
      "runtimeArgs": ["run", "dev"],
      "port": 3000
    }
  ]
}

Anda dapat menentukan beberapa konfigurasi untuk menjalankan server berbeda dari proyek yang sama, seperti frontend dan API. Lihat examples di bawah.

Auto-verify changes

Ketika autoVerify diaktifkan, Claude secara otomatis memverifikasi perubahan kode setelah mengedit file. Mengambil tangkapan layar, memeriksa kesalahan, dan mengkonfirmasi perubahan berfungsi sebelum menyelesaikan responsnya.

Auto-verify aktif secara default. Nonaktifkan per-proyek dengan menambahkan "autoVerify": false ke .claude/launch.json, atau matikan Auto-verify changes di menu ⋮ pada panel Browser.

{
  "version": "0.0.1",
  "autoVerify": false,
  "configurations": [
    {
      "name": "my-app",
      "runtimeExecutable": "npm",
      "runtimeArgs": ["run", "dev"],
      "port": 3000
    }
  ]
}

Ketika dinonaktifkan, alat pratinjau masih tersedia dan Anda dapat meminta Claude untuk memverifikasi kapan saja. Auto-verify membuatnya otomatis setelah setiap edit.

Configuration fields

Setiap entri dalam array configurations menerima bidang berikut:

Field Type Description
name string Pengidentifikasi unik untuk server ini
runtimeExecutable string Perintah untuk dijalankan, seperti npm, yarn, atau node
runtimeArgs string[] Argumen yang dilewatkan ke runtimeExecutable, seperti ["run", "dev"]
port number Port yang didengarkan server Anda. Default ke 3000
cwd string Direktori kerja relatif terhadap root proyek Anda. Default ke root proyek. Gunakan ${workspaceFolder} untuk mereferensikan root proyek secara eksplisit
env object Variabel lingkungan tambahan sebagai pasangan kunci-nilai, seperti { "NODE_ENV": "development" }. Jangan letakkan rahasia di sini karena file ini dilakukan commit ke repo Anda. Untuk meneruskan rahasia ke dev server Anda, aturlah di local environment editor sebagai gantinya.
autoPort boolean Cara menangani konflik port. Lihat Port conflicts
program string Skrip untuk dijalankan dengan node. Lihat when to use program vs runtimeExecutable
args string[] Argumen yang dilewatkan ke program. Hanya digunakan ketika program diatur
url string Alamat yang dibuka pratinjau alih-alih http://localhost:<port>. Lihat open the preview at a specific URL
When to use `program` vs `runtimeExecutable`

Gunakan runtimeExecutable dengan runtimeArgs untuk memulai dev server melalui package manager. Misalnya, "runtimeExecutable": "npm" dengan "runtimeArgs": ["run", "dev"] menjalankan npm run dev.

Gunakan program ketika Anda memiliki skrip mandiri yang ingin Anda jalankan dengan node secara langsung. Misalnya, "program": "server.js" menjalankan node server.js. Lewatkan flag tambahan dengan args.

Open the preview at a specific URL

Secara default, pratinjau membuka http://localhost:<port>. Atur url ketika server Anda memerlukan alamat yang berbeda. Kasus umum adalah server yang memerlukan HTTPS lokal, aplikasi yang menggunakan subdomain *.localhost, dan aplikasi yang menandatangani Anda melalui pengalihan.

{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "my-app",
      "runtimeExecutable": "npm",
      "runtimeArgs": ["run", "dev"],
      "port": 8443,
      "url": "https://localhost:8443"
    }
  ]
}

Alamat localhost membuka secara langsung, persis seperti alamat port default. Ini mencakup localhost, subdomain *.localhost apa pun, 127.0.0.1, dan ::1. Untuk keamanan, url localhost harus hanya asal server Anda — tanpa path atau query, dan port harus cocok dengan port entri. Untuk menampilkan halaman tertentu, minta Claude untuk menavigasi ke sana setelah pratinjau dibuka. url localhost dengan path, query, atau port yang tidak cocok dilaporkan sebagai kesalahan konfigurasi yang menamai url dan menunjukkan perbaikannya.

Untuk alamat lain apa pun, Desktop meminta izin Anda pertama kali pratinjau membukanya, sama seperti ketika Anda menjelajahi ke situs baru di pratinjau. Alamat eksternal dapat mencakup path. Pilih Always allow untuk melewati prompt untuk situs itu di masa depan. Kebijakan organisasi yang membatasi situs eksternal di pratinjau masih berlaku.

Untuk mempratinjau server yang sudah Anda jalankan sendiri, atur url tanpa perintah. Claude melampirkan pratinjau ke server yang berjalan Anda alih-alih memulai satu:

{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "my-app",
      "url": "https://app.localhost:3000"
    }
  ]
}

url harus http atau https, dan tidak boleh berisi nama pengguna atau kata sandi.

Port conflicts

Bidang autoPort mengontrol apa yang terjadi ketika port pilihan Anda sudah digunakan:

  • true: Claude menemukan dan menggunakan port gratis secara otomatis. Cocok untuk sebagian besar dev server.
  • false: Claude gagal dengan kesalahan. Gunakan ini ketika server Anda harus menggunakan port tertentu, seperti untuk callback OAuth atau allowlist CORS.
  • Not set (default): server Anda mendapatkan port bebas berikutnya, seperti dengan true, kecuali dalam satu kasus di bawah. Sebelum Claude Desktop v2.37337.0, Claude menanyakan apakah server memerlukan port yang persis itu, lalu menyimpan jawaban Anda di launch.json.

Jika port pilihan Anda sedang digunakan dan autoPort tidak diatur, server Anda tetap berhenti ketika semua kondisi berikut terpenuhi:

  • Anda memulai server melalui skrip npm, yarn, pnpm, atau bun.
  • Port pilihan Anda di-hardcode dalam skrip tersebut, atau Claude tidak dapat memeriksa skrip tersebut.
  • Anda tidak meneruskan port di runtimeArgs.

Dalam kasus tersebut, bebaskan port, hapus nilai yang di-hardcode, atau ubah port agar cocok dengan skrip. Mengatur "autoPort": true sebagai gantinya hanya berfungsi untuk skrip yang membaca PORT.

Buat server Anda membaca port-nya dari environment variable PORT, yang membawa port yang ditetapkan. Ketika Claude memindahkan server Anda ke port yang berbeda, Claude juga menulis ulang nilai --port atau -p di runtimeArgs agar sesuai.

Examples

Konfigurasi ini menunjukkan setup umum untuk tipe proyek berbeda:

Konfigurasi ini menjalankan aplikasi Next.js menggunakan Yarn di port 3000:

{
"version": "0.0.1",
"configurations": [
{
"name": "web",
"runtimeExecutable": "yarn",
"runtimeArgs": ["dev"],
"port": 3000
}
]
}

Konfigurasi lingkungan

Lingkungan yang Anda pilih saat memulai sesi menentukan di mana Claude mengeksekusi dan cara Anda terhubung:

  • Local: berjalan di mesin Anda dengan akses langsung ke file Anda
  • Cloud: berjalan pada infrastruktur yang dikelola Anthropic secara default. Sesi terus berlanjut bahkan jika Anda menutup aplikasi.
  • SSH: berjalan di mesin jarak jauh yang Anda hubungkan melalui SSH, seperti server Anda sendiri, cloud VM, atau dev container. Tugas yang sedang berjalan dapat terus berlanjut saat Desktop terputus, tetapi dengan akun Claude, tugas tersebut dapat berhenti saat masa berlaku proses masuknya habis.
  • WSL (Windows): berjalan di dalam distribusi WSL 2 di mesin Anda, menggunakan toolchain Linux dan path aslinya

Local sessions

Aplikasi desktop tidak selalu mewarisi lingkungan shell lengkap Anda. Di macOS, ketika Anda meluncurkan aplikasi dari Dock atau Finder, itu membaca profil shell Anda, seperti ~/.zshrc atau ~/.bashrc, untuk memberikan PATH dan set tetap variabel Claude Code kepada Claude Code, tetapi variabel lain yang Anda ekspor di sana tidak diambil. Di Windows, aplikasi mewarisi variabel lingkungan pengguna dan sistem tetapi tidak membaca profil PowerShell.

Untuk mengatur variabel lingkungan untuk sesi lokal dan dev server di platform apa pun, buka dropdown lingkungan di kotak prompt, arahkan ke Local, dan klik ikon gear untuk membuka editor lingkungan lokal. Variabel yang Anda simpan di sini disimpan terenkripsi di mesin Anda dan berlaku untuk setiap sesi lokal dan server pratinjau yang Anda mulai. Anda juga dapat menambahkan variabel ke kunci env di file ~/.claude/settings.json Anda, meskipun ini hanya mencapai sesi Claude dan bukan dev server. Lihat environment variables untuk daftar lengkap variabel yang didukung.

Extended thinking diaktifkan secara default, yang meningkatkan kinerja pada tugas penalaran kompleks tetapi menggunakan token tambahan. Pada Anthropic API, atur MAX_THINKING_TOKENS ke 0 di editor lingkungan lokal untuk mematikan pemikiran; ini tidak berpengaruh pada Opus 5.5, Sonnet 5.5, Haiku 5.5, atau model Fable, yang selalu menggunakan extended thinking. Dengan pemikiran dimatikan pada Anthropic API, Claude Code mengirimkan effort high alih-alih level yang lebih tinggi ke model yang diketahui tidak menerima kombinasi itu, seperti Opus 5.

Pada model dengan adaptive reasoning, Claude Code mengabaikan angka itu sendiri dalam nilai MAX_THINKING_TOKENS yang positif karena adaptive reasoning mengontrol kedalaman pemikiran sebagai gantinya. Pada Opus 4.6 dan Sonnet 4.6, atur CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING ke 1 untuk menggunakan thinking budget tetap; model Fable, Sonnet 5 dan yang lebih baru, Haiku 5.5, serta Opus 4.7 dan yang lebih baru selalu menggunakan adaptive reasoning dan tidak memiliki mode anggaran tetap.

Local sessions on managed devices

Administrator Anda dapat mematikan sesi lokal dengan pengaturan terkelola disableDesktopLocalSessions. Ketika mereka melakukannya, Local tetap berada di dropdown lingkungan tetapi berwarna abu-abu dan tidak dapat dipilih, dengan tooltip yang mengatakan organisasi Anda mematikannya, dan di Windows entri WSL, yang ketersediaannya pada perangkat terkelola diatur secara terpisah, berwarna abu-abu dengan cara yang sama. Sesi baru default ke koneksi SSH pertama jika satu dikonfigurasi, dan Desktop menampilkan pesan bahwa sesi lokal tidak tersedia di perangkat ini jika Anda mencoba melanjutkan sesi yang ada. Pilih lingkungan SSH atau cloud sebagai gantinya, atau hubungi tim IT Anda.

Cloud sessions

Sesi cloud terus berlanjut di latar belakang bahkan jika Anda menutup aplikasi. Penggunaan dihitung terhadap batas rencana langganan Anda tanpa biaya komputasi terpisah.

Anda dapat membuat lingkungan cloud kustom dengan tingkat akses jaringan dan variabel lingkungan yang berbeda. Untuk mengelolanya, buka dropdown lingkungan di kotak prompt dan pilih Cloud:

  • Add an environment: pilih Add cloud environment
  • Edit or archive one of your own environments: arahkan ke atasnya dan klik ikon gear

Lihat Configure cloud environments untuk detail tentang mengonfigurasi akses jaringan dan variabel lingkungan.

Sesi SSH

Sesi SSH memungkinkan Anda menjalankan Claude Code di mesin jarak jauh sambil menggunakan aplikasi desktop sebagai antarmuka Anda. Ini berguna untuk bekerja dengan basis kode yang tinggal di cloud VM, dev container, atau server dengan perangkat keras atau dependensi tertentu.

Untuk menambahkan koneksi SSH, buka dropdown lingkungan di kotak prompt sebelum Anda memulai sesi, lalu pilih SSH > Add SSH connection… dan isi detail koneksi:

  • Name: label ramah untuk koneksi ini
  • SSH host: user@hostname atau host yang ditentukan di ~/.ssh/config
  • SSH port: default ke 22 jika dibiarkan kosong, atau menggunakan port dari konfigurasi SSH Anda
  • SSH key (optional): path ke kunci pribadi Anda, seperti ~/.ssh/id_ed25519. Biarkan kosong untuk menggunakan konfigurasi SSH atau SSH agent Anda.
  • Worktree folder: folder di mesin jarak jauh, seperti ~/worktrees, tempat sesi baru membuat worktree-nya. Biarkan kosong untuk menggunakan default mesin jarak jauh.

Setelah ditambahkan, koneksi muncul di bawah SSH di dropdown lingkungan. Pilih untuk memulai sesi di mesin itu. Claude berjalan di mesin jarak jauh dengan akses ke file dan tool-nya.

Mesin jarak jauh dapat menjalankan Linux, macOS, atau Windows. Desktop menginstal Claude Code di mesin jarak jauh secara otomatis saat pertama kali Anda terhubung. Setelah terhubung, sesi SSH mendukung permission modes, connectors, plugins, dan MCP servers.

Persyaratan mesin jarak jauh untuk sesi SSH

Mesin jarak jauh Linux atau macOS memerlukan prosesor yang didukung, server SSH dengan SFTP, folder instalasi yang tidak di-mount dengan noexec, shell yang berfungsi, dan akses jaringan. Periksa setiap persyaratan sebelum Anda terhubung, atau ketika koneksi gagal setelah Anda masuk:

  • Sistem: prosesor x86_64 atau arm64. Mesin juga harus memenuhi persyaratan sistem Claude Code. Di Linux, Claude Code memerlukan glibc 2.17 atau yang lebih baru, atau musl. Untuk melihat mana yang dimiliki mesin tersebut, jalankan ldd --version di sana. Pada distribusi berbasis musl seperti Alpine Linux, instal juga paket yang dibutuhkan Claude Code.
  • SFTP: server SSH harus menyediakan subsistem SFTP, yang diaktifkan oleh baris Subsystem sftp di sshd_config-nya. Untuk memeriksanya, hubungkan ke host dan port yang sama dengan sftp di terminal pada komputer Anda. Server yang berfungsi menampilkan prompt sftp>.
  • Sesi per koneksi: Desktop di macOS dan Linux membuka beberapa sesi pada satu koneksi SSH. Jika sshd_config server mengatur MaxSessions 1, naikkan nilainya, misalnya ke nilai default OpenSSH yaitu 10.
  • Folder instalasi: Desktop menginstal program pembantu dan Claude Code di bawah ~/.claude/remote/ di direktori home Anda. Desktop menjalankannya dari sana, sehingga folder tersebut tidak boleh berada di sistem file yang di-mount dengan noexec. Sediakan sekitar 1 GB ruang disk di direktori home setiap pengguna yang terhubung. Untuk isi folder tersebut, lihat File dan proses di mesin jarak jauh.
  • Shell: shell yang diatur untuk akun Anda di mesin jarak jauh harus dapat menjalankan perintah yang dikirim melalui SSH, seperti yang dilakukan Bash, Zsh, dan sh
  • Jaringan: Claude Code berjalan di mesin jarak jauh dan membuat permintaan jaringannya dari sana, sehingga mesin tersebut memerlukan akses jaringan yang dibutuhkan Claude Code. Jika mesin tidak dapat mengunduh Claude Code, Desktop mengunduhnya di komputer Anda dan mengunggahnya. Permintaan Claude Code lainnya tetap dikirim dari mesin jarak jauh. Di mesin jarak jauh Linux, jika permintaan tersebut memerlukan proxy, atur proxy tersebut untuk sesi SSH.

Mengatur proxy atau sertifikat CA untuk sesi SSH

Jika mesin jarak jauh Linux menjangkau internet melalui proxy atau memerlukan sertifikat CA, tambahkan variabel proxy dan CA di bawah env di ~/.claude/settings.json pada mesin tersebut. Tambahkan variabel tersebut meskipun Anda sudah mengekspornya di ~/.profile, ~/.bash_profile, ~/.zprofile, atau ~/.zshrc di mesin tersebut.

Sesi SSH tidak mendapatkan variabel tersebut dari file-file itu, bahkan ketika claude di terminal pada mesin tersebut mendapatkannya. Sesi kemudian dapat macet, atau menampilkan The connection from … to the API failed atau Authentication failed, dan masuk kembali tidak membantu.

1

Tambahkan variabel

Untuk file CA, gunakan NODE_EXTRA_CA_CERTS, karena Claude Code tidak memercayai CA dari SSL_CERT_FILE di ~/.claude/settings.json. Contoh ini mengatur proxy dan file CA:

{
"env": {
"HTTPS_PROXY": "http://proxy.example.com:8080",
"NODE_EXTRA_CA_CERTS": "/etc/ssl/certs/example-ca.pem"
}
}
2

Kirim pesan Anda lagi

Kirim pesan Anda lagi, karena variabel yang Anda tambahkan atau ubah di file tersebut berlaku dalam hitungan detik. Mulai sesi baru jika masih gagal.

Menemukan variabel proxy atau CA yang diatur di tempat lain pada mesin jarak jauh

Periksa apakah mesin jarak jauh Linux mengatur variabel proxy atau CA di tempat lain, karena sesi menggunakan nilai tersebut dan mengabaikan nilai di file pengaturan mana pun:

1

Cantumkan variabel yang diatur mesin jarak jauh

Di terminal pada komputer Anda, jalankan ssh devbox env, dengan host Anda sendiri.

2

Ubah variabel di tempat variabel tersebut diatur

Jika daftar tersebut memuat variabel itu, ubah variabel tersebut di file yang mengaturnya, seperti ~/.zshenv, /etc/environment, atau ~/.bashrc di mesin jarak jauh.

3

Berikan nilai baru ke sesi

Mulai ulang mesin jarak jauh, atau keluar dari Desktop dan akhiri proses program pembantu, seperti pada dua langkah pertama untuk menghapus program pembantu. Lakukan ini saat tidak ada tugas yang berjalan, karena cara mana pun akan menginterupsi pekerjaan Claude.

Menggunakan konfigurasi SSH Anda di macOS dan Linux

Di macOS dan Linux, Desktop terhubung dengan menjalankan klien OpenSSH di komputer Anda, sehingga menggunakan ~/.ssh/config Anda. Terhubung melalui klien OpenSSH memerlukan Claude Desktop v1.37937.0 atau yang lebih baru. Masukkan nama Host dari file tersebut di bidang SSH host untuk menggunakan pengaturan dari entrinya, seperti HostName, User, IdentityFile, CertificateFile, ProxyJump, dan ProxyCommand.

Sebelum Anda menambahkan koneksi, periksa klien dan entri tersebut di terminal pada komputer Anda:

  • Versi klien: jalankan ssh -V. Klien harus OpenSSH 7.6 atau yang lebih baru.
  • Entri: jalankan ssh dengan nama Host, seperti ssh devbox. Jika gagal, perbaiki entri tersebut terlebih dahulu.

Anda dapat membiarkan bidang SSH port dan SSH key (optional) kosong. Jika Anda mengisi salah satunya, Desktop menggunakannya bersama entri tersebut:

  • SSH port: nilai di sini menimpa Port milik entri
  • SSH key (optional): Desktop menawarkan file kunci yang Anda pilih sebagai tambahan dari IdentityFile milik entri dan kunci-kunci di SSH agent Anda
Menjangkau mesin di balik jump host

Untuk menjangkau mesin di balik jump host, yang juga disebut bastion, atur ProxyJump atau ProxyCommand di entri tersebut. Entri berikut menjangkau devbox.internal.example.com melalui bastion.example.com:

Host devbox
  HostName devbox.internal.example.com
  User alice
  ProxyJump bastion.example.com

Masukkan devbox di bidang SSH host.

Menjangkau container di mesin jarak jauh

Untuk menjalankan sesi di dalam container yang tidak memublikasikan port SSH, jangkau container tersebut dengan ProxyCommand, karena Desktop tidak menjalankan RemoteCommand dari entri yang Anda hubungkan. Jika entri Anda menggunakan RemoteCommand untuk masuk ke dalam container, sesi berjalan di mesin tempat entri tersebut login, bukan di dalam container.

1

Tambahkan entri

Tambahkan entri berikut di akhir ~/.ssh/config Anda, atau tepat di atas entri Host * pertama Anda jika ada. Ganti container Docker devbox, penggunanya dev, dan mesin build.example.com dengan milik Anda sendiri. Perintah entri tersebut memulai server SSH di dalam container untuk setiap koneksi:

Host devbox-container
User dev
ProxyCommand ssh build.example.com docker exec -i devbox /usr/sbin/sshd -i
2

Siapkan container

  • Instal server OpenSSH, dengan host key yang tetap sama saat Anda mem-build ulang image atau membuat ulang container
  • Berikan akun yang disebutkan di User cara untuk masuk, seperti file authorized_keys
  • Periksa bahwa container memenuhi persyaratan mesin jarak jauh
3

Periksa allowlist

Jika administrator Anda membatasi host SSH, jalankan ssh -G devbox-container di terminal pada komputer Anda. Minta mereka untuk mengizinkan hostname yang dicetaknya, di sini devbox-container, di sshHostAllowlist. Saat mereka mengizinkan nama tersebut, mereka mengizinkan apa pun yang dihubungkan oleh ProxyCommand entri Anda.

4

Uji entri, lalu hubungkan

Jalankan ssh devbox-container di terminal pada komputer Anda. Perbaiki apa yang dilaporkannya, dan jalankan lagi hingga perintah tersebut membuka shell di dalam container tanpa menanyakan apa pun kepada Anda:

  • Jika ssh meminta kata sandi, passphrase, atau kode: beralihlah ke metode login yang berfungsi tanpa prompt, seperti kunci yang disimpan oleh SSH agent Anda
  • Jika ssh melaporkan Cannot execute command-line and remote command. atau Bad packet length: hapus RemoteCommand dan RequestTTY dari entri Anda untuk build.example.com. Setelah itu, ssh build.example.com di terminal pada komputer Anda membuka shell di mesin tersebut, bukan di dalam container.
  • Jika ssh melaporkan Connection closed by UNKNOWN port 65535: jalankan ssh build.example.com docker exec devbox /usr/sbin/sshd -t di terminal yang sama.
  • Jika perintah tersebut mencetak Missing privilege separation directory: /run/sshd, buat folder tersebut di dalam container.
  • Jika perintah tersebut mencetak no hostkeys available dan container memiliki host key, tambahkan -u root setelah exec dalam perintah ini dan di entri.

Lalu masukkan devbox-container di bidang SSH host.

Menggunakan variabel dari shell Anda dalam `ProxyCommand`

Untuk menggunakan environment variable milik Anda sendiri dalam perintah ProxyCommand atau Match exec, ekspor variabel tersebut di file startup shell, seperti ~/.zshrc, lalu keluar dari Desktop dan buka kembali. Saat Desktop dimulai, Desktop membaca apa yang diekspor oleh login shell Anda, dan menyimpan nilai-nilai tersebut hingga Anda keluar.

Hal ini memerlukan Claude Desktop v2.37337.0 atau yang lebih baru dan perintah env yang menerima -0, yang dapat Anda periksa dengan menjalankan env -0 di terminal pada komputer Anda.

Menggunakan kredensial AWS dalam `ProxyCommand`

Jika Anda mengatur kredensial AWS sementara di file startup shell, ProxyCommand yang menjalankan AWS CLI dapat terhubung di terminal tetapi gagal di Desktop. Saat shell Anda mengekspor AWS_SESSION_TOKEN, AWS_SECURITY_TOKEN, atau AWS_CREDENTIAL_EXPIRATION, ssh dan ProxyCommand Anda di Desktop tidak mendapatkan kredensial AWS, AWS_REGION, atau AWS_PROFILE dari shell.

Jika AWS CLI tidak memiliki sumber lain untuk region atau kredensial, AWS CLI gagal dengan You must specify a region atau Unable to locate credentials. Untuk terhubung dari Desktop, berikan AWS CLI sebuah profil yang dibacanya dari ~/.aws/config:

1

Tambahkan profil dengan region dan sumber kredensial

Contoh ini menambahkan profil bernama corp yang mendapatkan kredensialnya dari program pembantu:

[profile corp]
region = us-east-1
credential_process = /full/path/to/your-credential-helper
2

Sebutkan profil di ProxyCommand

Contoh ini menambahkan --profile ke perintah yang didokumentasikan AWS untuk Session Manager:

Host i-*
ProxyCommand sh -c "aws ssm start-session --profile corp --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
3

Hubungkan lagi

Jalankan ssh dengan host tersebut di terminal untuk memastikan bahwa entri masih terhubung di sana, lalu hubungkan dari Desktop.

Menaikkan timeout koneksi SSH

Jika konfigurasi SSH Anda tidak mengatur ConnectTimeout untuk host tersebut, Desktop memberi ssh waktu 30 detik untuk terhubung. Melalui jump host atau ProxyCommand, waktu tersebut mencakup waktu yang dibutuhkan rute untuk terhubung. Jika rute Anda membutuhkan waktu lebih lama, tambahkan nilai yang lebih tinggi ke entri tersebut:

Host devbox
  HostName devbox.internal.example.com
  User alice
  ProxyJump bastion.example.com
  ConnectTimeout 120

ssh menggunakan nilai pertama yang ditemukannya untuk sebuah host, jadi letakkan entri tersebut di atas entri Host * mana pun yang mengatur ConnectTimeout. Untuk memastikannya, jalankan ssh -G devbox di terminal pada komputer Anda. Output-nya mencakup connecttimeout 120. Setelah Anda mengubah nilainya, keluar dari Desktop dan buka kembali.

Jika mesin jarak jauh itu sendiri menunggu persetujuan di ponsel Anda, setujui dalam 45 detik, berapa pun ConnectTimeout yang Anda atur. Anda tidak dapat menaikkan batas ini, karena Desktop mengatur ServerAliveInterval dan ServerAliveCountMax sendiri, dan ssh kemudian menutup login yang di dalamnya mesin jarak jauh tidak mengirim apa pun selama itu. Jika yang menunggu Anda adalah jump host atau ProxyCommand, naikkan ConnectTimeout di entri mesin jarak jauh untuk mencakup waktu tersebut.

Memperbaiki blok `Match host` yang hanya diterapkan oleh Desktop

Jika Desktop menggunakan pengaturan yang tidak digunakan oleh ssh devbox di terminal, cari blok Match host di atas baris HostName entri. Di terminal, ssh membaca blok di sana sebelum baris HostName, sehingga membandingkan blok tersebut dengan devbox. Desktop memberikan nilai HostName kepada ssh di baris perintah, sehingga ssh membandingkan blok tersebut dengan nilai itu.

Untuk memeriksanya, jalankan ssh -G di terminal pada komputer Anda dengan nilai HostName dan User milik entri di baris perintah, seperti yang dilakukan Desktop:

ssh -G -o HostName=devbox.internal.example.com -l alice devbox

Bandingkan output-nya dengan output ssh -G devbox. Jika pengaturan blok tersebut, seperti proxycommand, hanya muncul di output pertama, blok tersebut hanya berlaku di Desktop. Agar Desktop juga melewatinya, tambahkan !originalhost devbox ke baris Match-nya:

Match host *.internal.example.com !originalhost devbox

Untuk memastikannya, jalankan perintah pertama lagi. Pengaturan blok tersebut tidak lagi muncul di output-nya.

Pengaturan forwarding yang dibiarkan mati oleh Desktop

Pada koneksinya ke mesin jarak jauh, Desktop membiarkan ForwardAgent, ForwardX11, LocalForward, RemoteForward, DynamicForward, dan Tunnel dalam keadaan mati, bahkan jika konfigurasi SSH Anda mengaktifkannya. Di terminal atau perintah !, perkirakan bahwa pengaturan forwarding Anda hanya terkadang berlaku, karena Desktop dapat memulai ssh terpisah di sana yang mengikuti pengaturan tersebut.

  • Untuk menjangkau port di mesin jarak jauh: teruskan port tersebut sendiri
  • Untuk menggunakan kunci Anda sendiri dari mesin jarak jauh: siapkan kredensial di mesin jarak jauh itu sendiri, misalnya untuk git push

Agar Desktop tidak meneruskan SSH agent atau port Anda, jalankan ssh -G devbox di terminal pada komputer Anda. Lalu jalankan lagi seperti Desktop dapat menjalankannya, dengan nilai hostname dan user yang dicetaknya, seperti pada ssh -G -o HostName=devbox.internal.example.com -l alice devbox. Output kedua dapat menampilkan pengaturan dari blok Match yang dilewati oleh output pertama.

Cari di kedua output baris forwardagent yang bernilai selain no, dan baris yang diawali dengan localforward, remoteforward, atau dynamicforward. Jika Anda menemukannya, hapus pengaturan tersebut dari konfigurasi SSH Anda. Lakukan hal yang sama untuk host yang dijangkau oleh ProxyCommand Anda dengan ssh.

Menjangkau port di mesin jarak jauh

Untuk membuka server yang berjalan di mesin jarak jauh, seperti dev server di port 3000, teruskan port tersebut sendiri. Di terminal pada komputer Anda, jalankan ssh dengan -L dan host yang Anda hubungkan, seperti devbox:

ssh -N -L 3000:localhost:3000 devbox

Jika Anda mengisi SSH port atau SSH key (optional) pada koneksi, tambahkan -p atau -i dengan nilai yang sama. Biarkan perintah tersebut berjalan, dan buka http://localhost:3000 di browser pada komputer Anda untuk menjangkau port 3000 di mesin jarak jauh. Jika ssh mencetak open failed: administratively prohibited, minta administrator mesin tersebut untuk mengizinkan TCP forwarding, yang dikontrol oleh AllowTcpForwarding di sshd_config server SSH.

Mesin jarak jauh Windows

Mesin jarak jauh Windows memerlukan Claude Desktop v2.31226.0 atau yang lebih baru.

Gunakan OpenSSH Server dari Microsoft. Mesin dapat berupa x64 atau ARM64. Shell yang dijalankan oleh server SSH dapat berupa cmd.exe, Windows PowerShell 5.1, atau Git Bash.

Mesin jarak jauh Windows lebih sedikit diuji dibandingkan mesin Linux. Cobalah pekerjaan Anda sendiri di sana sebelum Anda mengandalkannya.

Perkirakan batasan berikut, di antara yang lainnya, pada mesin jarak jauh Windows:

  • Terminal: terminal tidak terbuka dalam sesi yang foldernya berupa path Windows, seperti C:/projects/app
  • Sandbox: Claude Code berjalan di sana pada Windows native, tempat Claude Code menjalankan perintah tanpa sandbox. Lihat tempat sandbox berjalan.
  • Plugin: Desktop tidak menyalin plugin yang memuat nama file atau folder yang tidak dapat disimpan oleh Windows, seperti nama yang mengandung :. Sesi mencantumkan plugin yang tidak disertakan oleh Desktop.
  • Server MCP: pada beberapa mesin jarak jauh Windows, panggilan Claude ke server MCP dari claude_desktop_config.json melewati Desktop, sehingga Claude tidak dapat memanggil tool-nya saat Desktop terputus. Sebelum Claude Desktop v2.37337.0, hal ini berlaku pada setiap mesin jarak jauh Windows.
  • Worktree: worktree ditempatkan di <project-root>/.claude/worktrees/. Jika Anda memilih folder lain, Desktop mengabaikannya.
  • Pesan sebelumnya: jika shell server SSH adalah cmd.exe atau Windows PowerShell, Anda mungkin harus terhubung terlebih dahulu sebelum dapat melihat pesan-pesan sebelumnya dari sebuah sesi
  • Fork: jika shell server SSH adalah cmd.exe atau Windows PowerShell, Anda hanya dapat melakukan fork sesi pada pesan pertamanya
  • Berjalan saat terputus: tugas tetap berjalan saat Desktop terputus hanya jika server SSH mengizinkan program untuk tetap hidup setelah koneksi yang memulainya berakhir. Untuk mengetahuinya, uji mesin jarak jauh.
  • Proses yang tersisa: setelah sesi berakhir, periksa mesin untuk program-program yang dimulai oleh Claude Code, karena program tersebut dapat terus berjalan. Program pembantu latar belakang yang diinstal Desktop tidak berhenti dengan sendirinya di sana.

Menjaga tugas tetap berjalan saat Desktop terputus

Jika komputer Anda tertidur (sleep), Anda kehilangan jaringan, atau Anda keluar dari Desktop, tugas terus berjalan hingga selesai, membutuhkan Anda, atau mencapai salah satu batasan. Menutup lid laptop dihitung sebagai sleep. Memulai ulang Desktop atau komputer Anda, termasuk untuk pembaruan, dihitung sebagai keluar.

Claude Code berjalan sebagai proses di mesin jarak jauh, di bawah program pembantu latar belakang yang diinstal Desktop di sana, sehingga tidak memerlukan koneksi SSH Anda untuk tetap berjalan. Perilaku di bagian ini memerlukan Claude Desktop v2.31226.0 atau yang lebih baru.

  • Setelah sleep atau kehilangan jaringan: Anda mendapatkan kembali tugas yang sedang berjalan jika prosesnya masih berjalan dan Desktop dapat masuk tanpa prompt. Jika tidak bisa, kirim pesan.
  • Setelah keluar: tugas tetap berjalan, tetapi Anda kehilangannya saat sesi dibuka lagi kecuali Desktop dapat bergabung kembali ke prosesnya. Periksa kapan Desktop dapat bergabung kembali sebelum Anda keluar. Jika Anda kehilangan tugas, kirim pesan untuk melanjutkan.

Saat Anda kembali dan tugas belum selesai, periksa apakah ada pemberitahuan bahwa Desktop tidak dapat terhubung kembali, error autentikasi, atau permintaan yang menunggu:

Mempersiapkan tugas yang panjang
Batasan saat Desktop terputus

Tugas yang Anda biarkan berjalan dapat berakhir saat masa berlaku proses masuknya habis, saat mesin jarak jauh mengakhirinya, atau saat program pembantu berhenti atau diganti:

Pengeditan file dan beberapa tool dapat gagal saat Desktop terputus. Jika tugas memerlukannya, biarkan Desktop tetap terhubung:

  • Worktree: dalam sesi yang menggunakan worktree, Desktop memeriksa setiap pengeditan file sebelum Claude melakukannya. Saat Desktop terputus, setiap pengeditan menunggu sekitar 30 detik lalu gagal. Perintah shell tetap berjalan. Pada mesin jarak jauh Linux atau macOS, pengeditan dapat tetap berfungsi. Jika Anda tidak yakin, mulai sesi tanpa worktree.
  • Pembatasan folder: jika organisasi Anda membatasi folder mana yang boleh digunakan sesi, Desktop memeriksa setiap pembacaan, pencarian, dan pengeditan file, dengan atau tanpa worktree. Saat Desktop terputus, masing-masing menunggu hingga 10 menit lalu gagal.
  • Konektor: konektor dan tool lain yang disediakan Desktop berjalan melalui Desktop, sehingga saat Desktop terputus setiap panggilan gagal setelah sekitar 30 detik
  • Workflow: Desktop memeriksa setiap workflow baru sebelum dimulai, sehingga saat Desktop terputus, workflow baru menunggu hingga 10 menit lalu gagal
  • Server MCP: server MCP yang dimulai Claude Code di mesin jarak jauh tidak berjalan melalui Desktop, sehingga Claude tetap dapat memanggil tool-nya. Server dari claude_desktop_config.json termasuk di antaranya hanya jika Desktop tidak menggunakan klien SSH bawaannya. Jika tidak demikian, dan pada beberapa mesin jarak jauh Windows, Claude tidak dapat memanggil tool-nya saat Desktop terputus.
Kapan pengeditan di worktree tetap berfungsi

Pada mesin jarak jauh Linux atau macOS, pemeriksaan tidak melewati Desktop, sehingga pengeditan di dalam worktree tetap berfungsi saat Desktop terputus. Sebelum Claude Desktop v2.37337.0, hal ini hanya berlaku pada mesin jarak jauh Linux.

Pengeditan tetap gagal dalam beberapa kasus, termasuk kasus-kasus berikut:

  • Klien SSH bawaan: Desktop menggunakannya, misalnya pada instalasi dari Microsoft Store, pada komputer Windows tanpa OpenSSH 9.4 atau yang lebih baru dari Microsoft, atau secara default di Windows dengan penyedia pihak ketiga
  • Lokasi repositori: repositori adalah direktori home Anda, folder di atasnya, atau ~/.claude
  • Path macOS: pada mesin jarak jauh macOS, repositori berada di bawah /Volumes, atau nama folder dalam path repositori atau worktree mengandung ~ atau karakter non-ASCII
  • Pembatasan folder: organisasi Anda membatasi folder mana yang boleh digunakan sesi
  • Corporate launcher: sebelum Claude Desktop v2.37337.0, Anda masuk dengan akun Claude, dan organisasi Anda memulai Claude Code di mesin jarak jauh melalui corporate launcher

Sesi tanpa worktree tidak memiliki pemeriksaan seperti itu, kecuali organisasi Anda membatasi folder mana yang boleh digunakan sesi.

Menangani permintaan yang datang saat Anda tidak ada

Jika Claude memerlukan persetujuan Anda atau mengajukan pertanyaan saat Desktop terputus, Claude menunggu di mesin jarak jauh. Penantian tersebut tidak memiliki batas waktu tersendiri. Saat Desktop bergabung kembali ke proses, Desktop menampilkan permintaan tersebut kepada Anda. Jika Desktop memulai proses baru sebagai gantinya, Anda kehilangan permintaan tersebut.

Jika permintaan yang menunggu Anda hilang saat Anda kembali, salah satu penyebabnya adalah Desktop restart dengan sendirinya, misalnya untuk menginstal pembaruan. Anda mempertahankan permintaan melalui restart hanya jika Desktop dapat bergabung kembali ke proses, jadi periksa kapan Desktop dapat bergabung kembali sebelum Anda membiarkan tugas berjalan.

Jika Anda kehilangan permintaan, kirim pesan untuk melanjutkan.

Untuk mengurangi seberapa sering tugas berhenti untuk menunggu Anda, dan untuk mendapatkan kabar darinya saat Anda tidak ada, siapkan salah satu dari berikut ini sebelum Anda pergi:

  • Auto mode: pilih auto mode jika tersedia untuk Anda. Setelah pemblokiran berulang, Anda akan ditanya lagi.
  • Aturan allow: di file pengaturan pengguna Anda di mesin jarak jauh, ~/.claude/settings.json, tambahkan aturan allow untuk perintah yang dibutuhkan tugas. Jika organisasi Anda hanya menerima aturan izin dari pengaturan terkelola, minta administrator Anda untuk menambahkannya ke pengaturan terkelola yang mencapai mesin jarak jauh. Untuk aturan allow di .claude/settings.json sebuah proyek, lihat Project allow rules and workspace trust.
  • Hook yang menjawab: konfigurasikan hook PermissionRequest di ~/.claude/settings.json pada mesin jarak jauh untuk mengizinkan atau menolak permintaan atas nama Anda
  • Hook yang memberi tahu Anda: konfigurasikan hook Notification dengan matcher permission_prompt di file yang sama untuk mengirimi diri Anda pesan saat ada permintaan yang menunggu
  • Hook yang memberi tahu Anda saat Claude selesai: konfigurasikan hook Stop di file yang sama untuk mengirimi diri Anda pesan saat Claude selesai merespons. Hook ini tidak berjalan saat error API mengakhiri giliran. Untuk kasus tersebut, konfigurasikan hook StopFailure.

Jika organisasi Anda hanya menjalankan hook terkelola, minta administrator Anda untuk menambahkan hook tersebut ke pengaturan terkelola yang mencapai mesin jarak jauh.

Claude Code tidak menyetujui secara otomatis beberapa tindakan dalam mode izin apa pun, termasuk Bypass permissions. Bergantung pada mode izin, Claude Code menolak tindakan tersebut atau menanyakannya kepada Anda, dan tugas kemudian menunggu jawaban Anda.

Terhubung kembali setelah sleep atau kehilangan jaringan

Jika Desktop belum terhubung kembali saat Anda kembali, kirim pesan di sesi tersebut. Desktop terhubung kembali dengan sendirinya hanya jika dapat masuk tanpa prompt, misalnya dengan kunci yang disimpan oleh SSH agent Anda.

  • Kata sandi yang diingat: kata sandi yang Anda izinkan untuk diingat oleh Desktop juga berfungsi tanpa prompt, tetapi untuk ketidakhadiran yang lama, lebih baik gunakan kunci yang disimpan oleh SSH agent Anda. Jika proses masuk dengan kata sandi tersebut terputus atau macet, Desktop dapat berhenti mencoba terhubung kembali dan menunggu Anda.
  • Prompt lainnya: jika mesin jarak jauh meminta hal lain, seperti kode sekali pakai, Anda dapat menerima notifikasi di komputer Anda. Klik notifikasi tersebut, atau kirim pesan di sesi, dan Desktop akan menampilkan prompt-nya.
Jika jump host meminta proses masuk, gangguan berlangsung lama, output hilang, atau proses sudah tidak ada
Membuka kembali sesi setelah Anda keluar dari Desktop

Setelah Anda keluar dari Desktop, tugas tetap berjalan di mesin jarak jauh, tetapi berhenti ketika sesi dibuka lagi kecuali Desktop dapat bergabung kembali ke prosesnya. Selama Desktop ditutup, tugas berjalan hingga selesai, membutuhkan Anda, atau mencapai salah satu batasan.

  • Desktop di Windows: Anda tidak mendapatkan kembali tugas yang sedang berjalan, karena Desktop tidak pernah bergabung kembali setelah keluar. Mulai Desktop lagi hanya ketika Anda memperkirakan tugas sudah selesai, karena sesi dapat terbuka saat Desktop dimulai.
  • Penyedia pihak ketiga, tugas dari versi sebelumnya: jika Anda memulai tugas di versi Desktop sebelum v2.42304.0, Anda juga tidak mendapatkannya kembali di macOS atau Linux. Mulai Desktop lagi hanya ketika Anda memperkirakan tugas sudah selesai.
  • Tugas lainnya, dengan Desktop di macOS atau Linux: mulai Desktop dan buka sesi, dan tugas berlanjut jika Desktop bergabung kembali. Desktop tidak selalu dapat bergabung kembali, misalnya setelah beberapa pembaruan Desktop, jadi perbarui sebelum tugas panjang.

Ketika Desktop tidak dapat bergabung kembali, Anda juga kehilangan persetujuan atau pertanyaan apa pun yang sedang menunggu Anda. Jika tugas tidak berlanjut dengan sendirinya, kirim pesan, dan Claude melanjutkan dari riwayat percakapan yang tersimpan.

Untuk deployment pihak ketiga, lihat SSH remote sessions in Claude Desktop on 3P.

Memilih lokasi worktree sesi SSH

Kecuali organisasi Anda membatasi folder mana yang boleh digunakan sesi, sesi SSH baru membuat worktree-nya di lokasi pertama dari berikut ini yang telah diatur:

  1. Worktree folder pada koneksi SSH
  2. worktree.location di ~/.claude/settings.json pada mesin jarak jauh
  3. <project-root>/.claude/worktrees/, default-nya

Setiap proyek mendapatkan subfoldernya sendiri di folder yang Anda atur, sehingga dengan ~/worktrees, path sebuah worktree adalah ~/worktrees/<project>-<id>/<worktree-name>. Jika folder yang Anda atur berada di dalam proyek, Desktop mengabaikannya untuk proyek tersebut dan menggunakan default. Pada mesin jarak jauh Windows, Desktop selalu menggunakan default.

Untuk mengatur Worktree folder pada koneksi yang Anda tambahkan sebelumnya atau koneksi yang dikelola organisasi Anda, arahkan ke koneksi tersebut di dropdown lingkungan dan klik ikon gear.

Bidang ini memerlukan Claude Desktop v1.44121.0 atau yang lebih baru. Jika organisasi Anda membatasi folder mana yang boleh digunakan sesi, Desktop menyembunyikan bidang ini dan menyimpan worktree di dalam proyek.

File dan proses di mesin jarak jauh

Desktop menginstal program pembantu dan Claude Code di bawah ~/.claude/remote/ di direktori home setiap pengguna yang terhubung ke mesin jarak jauh Linux atau macOS. Program pembantu tidak mendengarkan pada port jaringan apa pun, tetapi Claude Code dan program yang dimulainya, seperti server MCP dan server pengembangan, dapat melakukannya.

Folder Isi
~/.claude/remote/srv/ Program pembantu, dalam satu folder per versi
~/.claude/remote/ccd-cli/ Claude Code, dalam satu file per versi
~/.claude/remote/run/ File runtime program pembantu, seperti socket dan log-nya, dalam satu folder per komputer yang terhubung
~/.claude/remote/plugins/ Plugin yang disalin Desktop dari komputer pengguna
~/.claude/uploads/ File yang dilampirkan pengguna ke pesan, dalam satu folder per sesi

Untuk mencantumkan proses milik satu pengguna, jalankan pgrep -fl "$HOME/.claude/remote/" di mesin jarak jauh sebagai pengguna tersebut, atau dengan direktori home pengguna tersebut sebagai pengganti $HOME:

  • Program pembantu: satu atau beberapa proses server untuk setiap komputer yang terhubung
  • Claude Code: proses yang dimulai program pembantu untuk sesi pengguna, masing-masing dari file yang dinamai sesuai versinya, seperti 2.1.295-…

Desktop menjangkau program pembantu melalui koneksi SSH pengguna, melalui Unix socket rpc.sock di folder program pembantu di bawah ~/.claude/remote/run/. Selain root, pengguna lain di mesin tersebut tidak dapat terhubung ke socket itu, karena socket tersebut memiliki mode 600 dan foldernya memiliki mode 700.

Untuk mengetahui kapan program pembantu berhenti dengan sendirinya, lihat Batasan saat Desktop terputus.

Untuk menghapus program pembantu dan Claude Code bagi satu pengguna:

1

Keluar dari Desktop

Keluar dari Desktop di setiap komputer tempat pengguna tersebut terhubung. Desktop menginstal kedua program tersebut lagi saat berikutnya terhubung, dan dapat terhubung kembali dengan sendirinya.

2

Akhiri proses

Dengan masuk sebagai pengguna tersebut di mesin jarak jauh, jalankan kill dengan ID setiap proses Claude Code yang dicantumkan oleh pgrep. Setelah proses-proses tersebut hilang dari daftar, jalankan kill dengan ID setiap proses server. Jika Anda mengakhiri proses server terlebih dahulu, perintah yang sedang dijalankan Claude Code dapat terus berjalan.

Lalu cantumkan proses pengguna yang tersisa, misalnya dengan ps -u "$(id -un)" -f, dan akhiri proses apa pun yang Anda kenali sebagai dimulai oleh Claude Code. Program yang ditinggalkannya di latar belakang dapat terus berjalan setelah Claude Code berakhir, tanpa muncul di daftar pgrep.

3

Hapus folder

Hapus ~/.claude/remote/. Untuk menghapus file milik Claude Code sendiri di ~/.claude/ dan ~/.claude.json, lihat Menghapus file konfigurasi.

Mengakhiri proses satu sesi

Untuk mengakhiri proses Claude Code milik satu sesi, arsipkan sesi tersebut di Desktop selama Desktop terhubung ke mesin jarak jauh. Proses tetap berjalan setelah tugasnya selesai dan setelah Anda keluar dari Desktop.

Sebelum Anda mengarsipkan sesi yang memiliki worktree, lihat Bekerja secara paralel dengan sesi.

Melihat pengguna yang menjalankan proses

Program pembantu dan Claude Code berjalan sebagai pengguna yang digunakan Desktop untuk masuk melalui SSH. Menginstal dan memulainya tidak memerlukan sudo. Untuk memeriksa pengguna tersebut, jalankan ps -o user= -p di mesin jarak jauh dengan ID proses yang dicantumkan oleh pgrep.

Program yang dimulai Claude Code, seperti perintah shell dan server MCP, juga dimulai sebagai pengguna tersebut. Tinjau hak pengguna tersebut di mesin jarak jauh, termasuk aturan sudo-nya, seperti yang Anda lakukan untuk orang yang menjalankan perintah di sana.

Melihat siapa yang terhubung ke mesin jarak jauh

Untuk mengetahui siapa yang terhubung ke mesin jarak jauh, baca log server SSH di mesin tersebut, tempat login dari Desktop terlihat seperti login dari terminal. Dengan Desktop di macOS atau Linux, perkirakan satu entri setiap kali Desktop terhubung, bukan satu entri untuk setiap sesi.

Anda tidak akan menemukan koneksi SSH Desktop di metrik dan event Claude Code. Untuk mengetahui dari metrik dan event tersebut di mesin jarak jauh mana sebuah sesi SSH berjalan, lihat Mengatribusikan telemetri ke sesi SSH Desktop. Untuk riwayat koneksi yang direkam Desktop sendiri, lihat Mendapatkan log Desktop untuk masalah SSH.

Koneksi yang ditutup sebelum login

Jika log server SSH menampilkan koneksi yang ditutup sebelum ada login, koneksi tersebut dapat berupa pengujian port SSH oleh Desktop. Desktop menguji apakah sebuah mesin merespons, misalnya setelah koneksi ke mesin tersebut gagal. Desktop membuka koneksi ke port tersebut dan langsung menutupnya, tanpa mengirim apa pun. Perkirakan satu pengujian atau beberapa berturut-turut, misalnya delapan dalam sekitar dua menit.

Jika tidak ada yang memblokir atau menolak alamat karena koneksi seperti itu, Anda tidak perlu melakukan apa pun terkait pengujian Desktop. Jika alamat yang digunakan Desktop untuk terhubung ditolak atau diblokir, periksa apakah server SSH itu sendiri menolak alamat tersebut dan apakah fail2ban menghitung pengujian Desktop.

Mengenali pengujian di log server SSH

Bandingkan baris-baris di log Anda dengan baris yang ditulis server OpenSSH di Linux untuk sebuah pengujian pada LogLevel default, di baris tabel untuk versi server Anda. Anda dapat melihat baris di kolom terakhir sebagai gantinya jika greeting server tiba sebelum Desktop menutup koneksi:

Versi OpenSSH Baris untuk pengujian Baris jika greeting tiba lebih dulu
6.6 hingga 7.9 Baris dengan Did not receive identification string from 203.0.113.7 Baris yang sama
8.0 hingga 8.2 error: kex_exchange_identification: Connection closed by remote host error: kex_exchange_identification: read: Connection reset by peer
8.3 hingga 9.4 error: kex_exchange_identification: Connection closed by remote host, lalu Connection closed by 203.0.113.7 port 51234 error: kex_exchange_identification: read: Connection reset by peer, lalu Connection reset by 203.0.113.7 port 51234
9.5 hingga 10.2 Connection closed by 203.0.113.7 port 51234 error: kex_exchange_identification: read: Connection reset by peer, lalu Connection reset by 203.0.113.7 port 51234
10.3 hingga 10.5 Connection closed by 203.0.113.7 port 51234 [preauth] error: kex_exchange_identification: read: Connection reset by peer [preauth], lalu Connection reset by 203.0.113.7 port 51234 [preauth]

Program lain yang membuka port dan menutupnya dapat meninggalkan baris yang sama. Jika sebuah baris memiliki alamat, periksa bahwa alamat tersebut adalah alamat yang digunakan komputer dengan Desktop untuk terhubung.

Baris untuk 8.0 hingga 8.2 tidak memiliki alamat. Untuk mendapatkannya, atur LogLevel VERBOSE di sshd_config dan jalankan sshd -T | grep -i loglevel sebagai root. Jika perintah tersebut mencetak loglevel VERBOSE, muat ulang server SSH. Lalu cari baris dengan Connection from 203.0.113.7 port 51234 sebelum baris pengujian.

Memeriksa apakah server SSH itu sendiri menolak alamat tersebut

Jika koneksi ditolak dari alamat yang digunakan bersama oleh banyak komputer dengan Desktop, cari di log server SSH baris yang berakhir seperti ini:

drop connection #0 from [203.0.113.7]:51234 on [192.0.2.10]:22 penalty: connections without attempting authentication

Dengan LogLevel default, OpenSSH 9.8 dan yang lebih baru dapat menulis baris seperti itu saat menolak alamat karena koneksi yang ditutup tanpa mencoba masuk, seperti yang dilakukan pengujian Desktop. Dengan pengaturan default, Anda tidak akan melihat baris seperti itu hanya setelah beberapa pengujian saja.

Untuk mencegah penolakan, atur PerSourcePenaltyExemptList di sshd_config ke alamat yang digunakan orang untuk terhubung, misalnya PerSourcePenaltyExemptList 203.0.113.7. Server kemudian tidak menerapkan penalti apa pun ke alamat tersebut, termasuk penalti untuk login yang gagal. Untuk memeriksa file, jalankan sshd -T | grep -i persourcepenalt sebagai root. Jika perintah tersebut mencetak daftar Anda, muat ulang server SSH.

Memeriksa apakah fail2ban menghitung pengujian Desktop

Jika fail2ban 0.10.5 atau yang lebih baru memblokir alamat yang digunakan Desktop untuk terhubung, temukan mode jail Anda di jail.conf, jail.local atau di bawah jail.d/:

  • Baris filter yang menyebutkan mode dalam tanda kurung siku, seperti filter = sshd[mode=aggressive]: gunakan mode tersebut.
  • Hanya baris filter bawaan, dengan [mode=%(mode)s]: gunakan baris mode, atau normal jika tidak ada.

Jika modenya normal, fail2ban tidak menghitung baris-baris pengujian Desktop, jadi cari penyebab lain pemblokiran tersebut.

Untuk mode lain, salin baris-baris dari log Anda sendiri ke sebuah file di mesin jarak jauh. Salin setiap baris secara utuh, dari tanggalnya hingga akhirnya, dan kedua baris jika sebuah pengujian meninggalkan dua baris. Jalankan fail2ban-regex di sana dengan file tersebut dan mode jail Anda, misalnya aggressive:

fail2ban-regex -o ip lines.log "sshd[mode=aggressive]"

Untuk setiap kegagalan yang dihitung fail2ban, perintah tersebut mencetak alamat pada barisnya sendiri, seperti 203.0.113.7. Dalam hal tersebut, cegah pemblokiran. Jika perintah tersebut tidak mencetak apa pun, fail2ban tidak menghitung satu pun baris tersebut dalam mode itu, jadi cari penyebab lain pemblokiran tersebut.

Mencegah pemblokiran oleh fail2ban

Untuk mencegah fail2ban memblokir alamat karena pengujian Desktop, ubah salah satu dari dua pengaturan jail, masing-masing dengan konsekuensinya:

  • mode: atur ke normal di mana pun jail Anda mengaturnya, di baris mode atau di tanda kurung siku baris seperti filter = sshd[mode=aggressive]. Anda kehilangan setiap penghitungan yang hanya dilakukan oleh mode lain, misalnya penghitungan klien yang terhubung lalu pergi tanpa mencoba masuk.
  • ignoreip: atur ke alamat yang digunakan orang untuk terhubung, misalnya ignoreip = 203.0.113.7. fail2ban kemudian tidak menghitung apa pun dari alamat tersebut, termasuk login yang gagal.

Menggunakan server MCP yang disiapkan di mesin jarak jauh

Untuk menggunakan server MCP dari ~/.claude.json atau .mcp.json sebuah proyek dalam sesi SSH, siapkan server tersebut di file-file itu pada mesin jarak jauh. Claude Code memulai server stdio-nya di sana, jadi instal perintah yang dijalankan server tersebut di mesin jarak jauh. Untuk server dari claude_desktop_config.json, lihat Batasan saat Desktop terputus.

Tautan claude://code/new membuka halaman sesi baru Desktop, dan tautan tersebut dapat menyebutkan koneksi SSH. Letakkan tautan seperti itu di runbook, dasbor, atau halaman wiki untuk membuka Desktop yang sudah disiapkan untuk mesin dan folder yang tepat. Untuk platform yang menghapus tautan seperti itu, lihat Tautan ditampilkan sebagai teks biasa alih-alih dapat diklik.

Tautan SSH memerlukan Claude Desktop v2.110.0 atau yang lebih baru.

Tautan berikut menyebutkan pengguna dev di build.example.com, port 2222, dan folder /srv/payments, serta mengisi prompt:

claude://code/new?ssh_host=dev%40build.example.com&ssh_port=2222&ssh_folder=/srv/payments&q=Investigate%20the%20failed%20deploy

Tautan SSH menerima parameter berikut, dan hanya ssh_host yang wajib:

Parameter Nilai
ssh_host host atau user@host, ditulis seperti di bidang SSH host. Nilainya tidak boleh diawali dengan -, dan bagian host hanya menerima huruf, angka, ., _, :, dan -
ssh_port Nomor port dari 1 hingga 65535
ssh_folder Folder di mesin jarak jauh. Awali dengan / atau ~/, atau gunakan ~
q Teks yang di-encode URL untuk kotak prompt

Alias dari ~/.ssh/config berfungsi sebagai ssh_host hanya bagi orang yang memiliki entri tersebut. Untuk mencocokkan koneksi yang sudah dimiliki orang, berikan tautan pengguna, host, dan port yang sama dengan koneksi tersebut.

Saat Anda membuka tautan, Desktop meminta Anda untuk mengonfirmasi sebelum memilih koneksi:

  • Koneksi yang sudah Anda miliki: jika host, pengguna, dan port cocok dengan salah satu koneksi Anda, Desktop menanyakan apakah akan menggunakannya, dan menampilkan nama serta host koneksi tersebut, dan foldernya jika tautan menyebutkannya.
  • Koneksi baru: jika tidak, Desktop membuka dialog untuk menambahkan koneksi SSH. Saat Anda menambahkan koneksi, Desktop menanyakan apakah akan terhubung sebelum menyimpan apa pun, dan menampilkan host dari tautan, serta port dan folder jika tautan menyebutkannya.

Sampai Anda mengonfirmasi, Desktop tidak menyimpan host, port, atau folder dari tautan, dan tidak memilih atau membuka koneksi dengan nilai-nilai tersebut. Jika koneksi SSH sudah dipilih, halaman sesi baru tetap dapat terhubung ke koneksi itu dengan sendirinya, seperti yang dilakukannya tanpa tautan, bahkan ketika tautan menyebutkan host yang sama. Tautan tidak dapat membawa file kunci, kata sandi, atau perintah.

Siapa pun dapat menulis tautan, jadi periksa apa yang diisinya:

  • Sebelum Anda mengonfirmasi: periksa host dan folder.
  • Sebelum Anda mengirim: periksa prompt dan lingkungan yang dipilih.

Desktop mengisi prompt saat tautan dibuka, menggantikan teks apa pun yang belum Anda kirim, dan tidak pernah mengirimkannya untuk Anda. Desktop memperlakukan prompt sebagai teks biasa, sehingga / atau ! di awal dan penyebutan file @ tidak berfungsi sebagai perintah atau penyebutan. Jika Anda membatalkan, prompt tetap berada di kotak dan lingkungan yang telah Anda pilih tidak berubah.

Tautan tidak melewati sshHostAllowlist. Desktop memeriksa allowlist saat terhubung.

Jika tautan membuka Desktop tanpa dialog tentang koneksi, periksa salah satu penyebab berikut:

  • Anda sudah keluar: masuk, lalu buka tautan lagi.
  • Dialog lain sedang terbuka: tutup dialog tersebut, lalu buka tautan lagi.
  • Tautan tidak valid: Desktop menampilkan pesan yang menjelaskan apa yang perlu diperbaiki, dan tidak mengisi prompt.
  • Desktop lebih lama dari v2.110.0: versi sebelumnya mengabaikan parameter SSH dan membuka halaman sesi baru hanya dengan prompt.
  • Sesi SSH dimatikan: jika administrator Anda mengatur allowlist ke array kosong, Desktop menolak tautan SSH.

Pre-configure SSH connections for your team

Administrator dapat mendistribusikan koneksi SSH kepada anggota tim dengan mengatur sshConfigs di pengaturan terkelola. Koneksi yang ditentukan dengan cara ini muncul di dropdown lingkungan setiap pengguna secara otomatis dan ditampilkan sebagai terkelola. Pengguna dapat memilihnya dan mengatur Worktree folder mereka sendiri untuk koneksi tersebut, tetapi tidak dapat mengedit hal lain atau menghapusnya di aplikasi.

Contoh berikut pre-configure satu koneksi:

{
  "sshConfigs": [
    {
      "id": "shared-dev-vm",
      "name": "Shared Dev VM",
      "sshHost": "user@dev.example.com",
      "sshPort": 22,
      "sshIdentityFile": "~/.ssh/id_ed25519"
    }
  ]
}

Setiap entri memerlukan id, name, dan sshHost. Bidang sshPort dan sshIdentityFile bersifat opsional. Pengguna juga dapat menambahkan sshConfigs ke ~/.claude/settings.json mereka sendiri.

Jika Anda tidak menyertakan user@ di sshHost, Desktop terhubung sebagai User yang diatur oleh ~/.ssh/config milik setiap developer untuk host tersebut, atau jika tidak ada, sebagai nama pengguna mereka di komputer mereka sendiri.

Restrict which SSH hosts users can connect to

Administrator dapat membatasi sesi SSH Desktop ke set host yang disetujui dengan mengatur sshHostAllowlist di pengaturan terkelola. Ketika diatur, pengguna hanya dapat terhubung ke host yang nama hostname terselesaikannya cocok dengan salah satu pola. Atur ke array kosong untuk menonaktifkan sesi SSH. Entri referensi sshHostAllowlist menjelaskan bagaimana array kosong digabungkan dengan daftar di sumber terkelola lainnya.

Contoh berikut memungkinkan koneksi ke host apa pun di bawah devboxes.example.com dan ke satu host bastion bernama:

{
  "sshHostAllowlist": ["*.devboxes.example.com", "bastion.example.com"]
}

Pola tidak peka huruf besar-kecil. * cocok dengan host apa pun, dan *.example.com cocok dengan example.com dan subdomain apa pun. Apa pun yang lain adalah kecocokan yang tepat. Pemeriksaan berjalan terhadap hostname setelah resolusi ~/.ssh/config melalui ssh -G, sehingga alias Host dan entri ProxyCommand/ProxyJump diizinkan selama HostName yang terselesaikan cocok.

sshHostAllowlist dibaca dari managed settings saja; nilai dalam pengaturan pengguna atau proyek diabaikan. Hanya aplikasi Claude Desktop yang menghormati pengaturan ini; CLI Claude Code dan ekstensi IDE tidak membacanya, dan itu tidak membatasi perintah ssh yang dijalankan melalui alat Bash. Ini mengatur host mana yang terhubung oleh aplikasi Desktop, bukan egress jaringan, jadi pasangkan dengan kontrol jaringan organisasi Anda atau kontrol zero-trust jika Anda memerlukan batas yang keras.

Mematikan sesi lokal dan mendistribusikan koneksi SSH

Untuk mematikan sesi lokal dan membatasi sesi SSH ke host yang Anda pilih, terapkan disableDesktopLocalSessions, sshConfigs, dan sshHostAllowlist secara bersamaan.

Contoh berikut mematikan sesi lokal, menambahkan satu koneksi, dan membatasi sesi SSH ke host koneksi tersebut:

{
  "disableDesktopLocalSessions": true,
  "sshConfigs": [
    {
      "id": "shared-dev-vm",
      "name": "Shared Dev VM",
      "sshHost": "dev.example.com"
    }
  ],
  "sshHostAllowlist": ["dev.example.com"]
}

Kunci-kunci ini berlaku untuk aplikasi desktop. Kunci-kunci ini tidak mengubah cara lain untuk menjalankan Claude Code, seperti CLI, Cowork, dan sesi cloud:

  • CLI: tidak ada satu pun kunci yang mencegah developer menjalankan CLI Claude Code di komputer mereka sendiri
  • Cowork: tidak ada satu pun kunci yang berlaku untuk sesi Cowork atau tugas terjadwal Cowork
  • Sesi cloud: tidak ada satu pun kunci yang mengubah ketersediaan sesi cloud. Untuk mematikannya, gunakan pengaturan Cloud sessions di bawah Admin console controls.

Saat Anda menyesuaikan contoh tersebut, periksa hostname, versi Desktop, dan hak akses file:

  • Hostname: pastikan bahwa sebuah pola di sshHostAllowlist cocok dengan hostname setiap entri sshConfigs, tanpa user@, atau developer tidak dapat terhubung ke host tersebut. Untuk cara Desktop mencocokkan hostname, lihat Restrict which SSH hosts users can connect to.
  • Versi: disableDesktopLocalSessions memerlukan Claude Desktop v1.37937.0 atau yang lebih baru
  • Hak akses file: pastikan bahwa akun setiap developer di komputer dapat membaca file pengaturan terkelola. Desktop tidak menerapkan kunci dalam file yang tidak dapat dibaca oleh akun tersebut, dan Claude Code juga dimulai tanpa kunci-kunci tersebut.

Letakkan ketiga kunci tersebut dalam satu sumber terkelola, yaitu sumber berperingkat tertinggi yang Anda kirimkan. Jika Anda mengirimkan pengaturan yang dikelola server, simpan juga salinan ketiga kunci tersebut dalam kebijakan MDM atau file pengaturan terkelola berperingkat tertinggi di setiap komputer. Desktop mengambil pengaturan yang dikelola server saat diluncurkan, dan salinan di komputer berlaku sampai pengambilan berhasil.

Untuk mengonfirmasi bahwa pengaturan berlaku, periksa komputer seorang developer:

1

Periksa dropdown lingkungan

Keluar dan buka kembali Desktop, lalu buka dropdown lingkungan di kotak prompt. Local berwarna abu-abu, dan Shared Dev VM muncul di bawah SSH. Jika Local masih tersedia, periksa versi Desktop, apakah file tersebut merupakan JSON yang valid, dan sumber terkelola mana yang dibaca komputer tersebut.

2

Tambahkan host yang tidak ada di allowlist

Tambahkan koneksi SSH dengan hostname yang tidak ada di allowlist, seperti other.example.com. Desktop menyimpan koneksi tersebut tetapi menolak untuk terhubung, dan menyatakan bahwa pengaturan organisasi Anda tidak mengizinkan koneksi tersebut.

Konfigurasi Enterprise

Organisasi pada rencana Team atau Enterprise dapat mengelola perilaku aplikasi desktop melalui kontrol konsol admin, file pengaturan terkelola, dan kebijakan manajemen perangkat.

Kontrol konsol admin

Pengaturan ini dikonfigurasi melalui konsol pengaturan admin:

  • Desktop: kontrol apakah pengguna di organisasi Anda dapat mengakses Claude Code di aplikasi desktop
  • Cloud sessions: aktifkan atau nonaktifkan sesi cloud untuk organisasi Anda
  • Remote Control: aktifkan atau nonaktifkan Remote Control untuk organisasi Anda

Di organisasi Enterprise yang mengaktifkan HIPAA, toggle Desktop nonaktif secara default dan seorang Owner dapat mengaktifkannya. Menerapkan konfigurasi HIPAA akan menonaktifkannya, bahkan jika sebelumnya aktif, sehingga Owner harus mengaktifkannya kembali setelahnya. Cloud sessions dan Remote Control juga nonaktif secara default, dan Owner tidak dapat mengaktifkannya setelah organisasi menerapkan konfigurasi HIPAA.

Pengaturan terkelola

Pengaturan terkelola menimpa pengaturan proyek dan pengguna dan berlaku untuk sesi Claude Code di Desktop. Anda dapat mengatur kunci ini di file pengaturan terkelola organisasi Anda atau mendorongnya dari jarak jauh melalui konsol admin.

Key Description
permissions.disableBypassPermissionsMode atur ke "disable" untuk mencegah pengguna dari mengaktifkan Bypass permissions mode.
disableAutoMode atur ke "disable" untuk menghapus mode Auto dari pemilih mode. Juga diterima di bawah permissions.
autoMode sesuaikan apa yang dipercaya dan diblokir oleh pengklasifikasi auto mode di seluruh organisasi Anda. Lihat Configure auto mode.
browserExternalPageTools atur ke "disabled" untuk mencegah Claude menggunakan tools untuk membaca atau bertindak pada halaman eksternal di Browser pane. Pengguna masih dapat menavigasi ke situs eksternal sendiri, dan pratinjau server dev lokal tidak terpengaruh.
disableMobileSimulatorTools atur ke true untuk memblokir tools Claude untuk mengontrol dan menangkap perangkat di iOS Simulator pane. Pane tetap dapat digunakan untuk ketukan pengguna sendiri; hanya akses Claude yang dihapus. Nilainya harus berupa boolean JSON true; string "true" diabaikan.
disableBrowserExternalNavigation atur ke true untuk mematikan penjelajahan eksternal di Browser pane sepenuhnya. Baik pengguna maupun Claude tidak dapat menavigasi ke situs eksternal, dan pratinjau server dev localhost tidak terpengaruh. Nilainya harus berupa boolean JSON true; string "true" diabaikan.
sshConfigs pre-configure SSH connections yang muncul di dropdown lingkungan. Pengguna tidak dapat menghapus koneksi yang dikelola atau mengedit apa pun selain Worktree folder mereka sendiri.
sshHostAllowlist batasi SSH sessions ke host yang nama hostname yang diselesaikannya cocok dengan salah satu pola ini. Dibaca dari pengaturan terkelola saja.
disableDesktopLocalSessions atur ke true untuk mematikan Code sessions yang berjalan di perangkat, meninggalkan sesi SSH ke host lain dan sesi cloud tersedia. Nilainya harus berupa boolean JSON true. Dibaca dari pengaturan terkelola saja. Memerlukan Claude Desktop v1.37937.0 atau lebih baru.
disableSshSavedPasswords atur ke true untuk menghentikan Desktop dari menawarkan untuk mengingat kata sandi SSH serta dari menggunakan atau menampilkan kata sandi yang telah disimpannya sebelumnya. Mengaktifkannya tidak menghapus kata sandi tersebut. Dibaca dari pengaturan terkelola saja. Memerlukan Claude Desktop v1.49585.0 atau lebih baru.
managedMcpServers dorong konfigurasi server MCP ke semua pengguna. Tersedia dalam deployment Desktop pihak ketiga (3P) saja. Di setiap entri, atur transport "http", "sse", atau "stdio", detail koneksi, dan secara opsional peta toolPolicy untuk membatasi tools mana dari server tersebut yang dapat dipanggil pengguna. Berikan melalui file pengaturan terkelola, MDM, atau kebijakan gateway aplikasi Claude desktop block, karena deployment 3P tidak menerima pengaturan konsol admin. Untuk memberikannya melalui gateway, Anda memerlukan Claude Code v2.1.232 atau lebih baru di server gateway. Ini adalah kunci aplikasi desktop itu sendiri; Claude Code membaca pengaturan terkelola dengan nama yang sama miliknya sendiri, dengan bentuk entri yang berbeda.

Pengaturan terkelola mana yang mencapai sesi Desktop tergantung pada tempat sesi tersebut berjalan. Pembatasan model seperti availableModels diberlakukan dalam sesi Claude Code Desktop dengan cara yang sama seperti di CLI terminal; lihat surface coverage.

  • Sesi lokal di mesin ini: file pengaturan terkelola yang di-deploy ke disk berlaku. Pengaturan terkelola yang didorong dari jarak jauh melalui konsol admin juga mencapai sesi ini di API Anthropic ketika sesi mengautentikasi dengan login yang memenuhi syarat, mengikuti urutan prioritas pengaturan yang sama seperti CLI terminal.
  • Sesi cloud: menerima server-managed settings; file yang di-deploy ke perangkat tidak mencapainya, karena mereka berjalan pada VM yang dikelola Anthropic. Sesi yang dialihkan ke self-hosted environment juga membaca file pengaturan terkelola dalam gambar runner. Bagaimana Claude Code menggabungkan sumber yang dikelola mengatakan kapan file tersebut berlaku.
  • Sesi SSH: sesi membaca file pengaturan terkelola dari host jarak jauh. Desktop itu sendiri membaca sshConfigs, sshHostAllowlist, disableSshSavedPasswords, dan disableDesktopLocalSessions di mesin lokal. Jika Anda memberikan lebih dari satu sumber terkelola, Desktop membacanya dari satu sumber secara default.
  • Cowork sessions: dalam sesi Cowork di mesin ini, Claude Code tidak pernah mengambil pengaturan konsol admin, bahkan ketika pengguna masuk dengan akun Team atau Enterprise, dan membaca kebijakan yang di-deploy ke mesin kecuali konfigurasi Claude Desktop Anda menetapkan requireCoworkFullVmSandbox. Sesi Cowork jarak jauh tidak menerima keduanya. Lihat di mana dan kapan kebijakan berlaku untuk file perangkat mana yang mencapai Cowork, dan MCP permission rules untuk bagaimana aturan Bash dan WebFetch berlaku untuk tools Cowork.

Dalam sesi lokal dan SSH, aplikasi desktop mengirimkan setiap konektor claude.ai yang terhubung pengguna ke Claude Code secara langsung. Tidak ada pengaturan MCP atau managed-mcp.json yang mencapai konektor tersebut, sumber pengaturan atau lokasi file mana pun yang Anda gunakan. Untuk memblokir tools konektor dalam sesi ini, gunakan connector tool controls organisasi Anda. Bagaimana konektor mencapai Claude Code menunjukkan pengaturan mana yang mengatur konektor di setiap jenis sesi.

permissions.disableBypassPermissionsMode dan disableAutoMode juga bekerja di pengaturan pengguna dan proyek, tetapi menempatkannya di pengaturan terkelola mencegah pengguna dari menimpanya.

Untuk kunci izin, plugin, dan pengiriman yang hanya dapat diatur oleh sumber yang dikelola, lihat Keys only managed settings can set.

Kebijakan manajemen perangkat

Tim IT dapat mengelola aplikasi desktop melalui MDM di macOS, group policy di Windows, atau file kebijakan di Linux. Kebijakan yang tersedia termasuk mengaktifkan atau menonaktifkan fitur Claude Code, mengontrol auto-updates di macOS dan Windows, dan menetapkan URL deployment kustom.

  • macOS: konfigurasikan melalui domain preferensi com.anthropic.claudefordesktop menggunakan alat seperti Jamf atau Kandji
  • Windows: konfigurasikan melalui registri di SOFTWARE\Policies\Claude
  • Linux: konfigurasikan melalui file milik root di /etc/claude-desktop/managed-settings.json, yang menyimpan kunci kebijakan sebagai objek JSON. Desktop menolak file tersebut jika siapa pun selain root dapat menulis ke file tersebut atau ke foldernya. File ini berbeda dari file pengaturan terkelola Claude Code.

Persyaratan akses jaringan

Desktop memuat kode aplikasinya dan konten pengguna dari host CDN Anthropic.

anthropic.com
*.anthropic.com
claude.ai
*.claude.ai
claude.com
*.claude.com
claude.app
*.claude.app
*.claudeusercontent.com
*.claudemcpcontent.com

Lalu lintas adalah HTTPS pada port 443 kecuali Anda mengonfigurasi port kustom untuk OTLP, gateway LLM, atau server MCP.

Untuk server proxy, otoritas sertifikat kustom, mTLS, dan domain yang dibutuhkan CLI standalone, lihat network configuration.

Untuk mengurangi jumlah wildcard firewall, izinkan host Anthropic ini sebagai gantinya. Subdomain tertentu dihasilkan secara dinamis dan harus tetap sebagai wildcard.

anthropic.com
api.anthropic.com
a-api.anthropic.com
a-cdn.anthropic.com
s-cdn.anthropic.com
assets-proxy.anthropic.com
claude.ai
a.claude.ai
assets.claude.ai
downloads.claude.ai
*.livepreview.claude.ai
claude.com
platform.claude.com
*.livepreview.claude.app
*.claudeusercontent.com
*.claudemcpcontent.com

Jika organisasi Anda memiliki IP allowlisting diaktifkan untuk Claude, arahkan bridge.claudeusercontent.com melalui egress proxy yang sama dengan claude.ai dan api.anthropic.com. Jika Anda tidak dapat mengarahkannya dengan cara itu, tambahkan alamat egress yang digunakan proxy Anda untuk host tersebut ke allowlist IP organisasi Anda, tetapi hanya ketika alamat tersebut didedikasikan untuk organisasi Anda: rentang egress proxy bersama juga mengakui pelanggan lain dari vendor proxy.

Anthropic memeriksa koneksi ke host tersebut terhadap allowlist IP organisasi Anda menggunakan alamat yang mereka tiba. Jika proxy Anda mengirimkan lalu lintas untuk itu melalui alamat yang tidak ada di allowlist tersebut, Claude di Chrome dan fitur lain yang terhubung melalui bridge berhenti bekerja sementara sisa aplikasi terus bekerja.

Artifact yang memuat typeface dari Google Fonts juga meminta fonts.googleapis.com dan fonts.gstatic.com. Kedua host bersifat opsional. Jika Anda memblokir mereka, artifact merender dalam typeface fallback. Blokir dengan penolakan cepat daripada drop senyap sehingga permintaan font gagal segera daripada menunda render pertama halaman.

Artifact juga dapat memuat pustaka JavaScript, seperti React atau paket charting, dari cdnjs.cloudflare.com, cdn.jsdelivr.net, cdn.tailwindcss.com, code.jquery.com, dan unpkg.com, dan dari tidak ada host eksternal lainnya. Jika Anda memblokir host tersebut, bagian artifact yang bergantung pada pustaka tidak berfungsi, dan tidak seperti font yang diblokir, pustaka yang diblokir tidak memiliki fallback. Blokir dengan penolakan cepat di sini juga, sehingga permintaan pustaka yang diblokir gagal sekaligus daripada menggantung sampai timeout.

Autentikasi dan SSO

Organisasi Team dan Enterprise dapat memerlukan SSO untuk semua pengguna. Lihat authentication untuk detail tingkat rencana dan Setting up SSO untuk konfigurasi SAML; setup OIDC tercakup dalam Claude Enterprise Administrator Guide.

Penanganan data

Claude Code memproses kode Anda secara lokal dalam sesi lokal, atau dalam sesi cloud pada infrastruktur yang dikelola Anthropic, kecuali organisasi Anda mengarahkannya ke self-hosted environment. Sesi cloud, termasuk dalam self-hosted environment, mengirimkan percakapan dan konteks kode ke API Anthropic untuk diproses; sesi lokal dan SSH mengirimkannya ke model provider mana pun yang dikonfigurasi deployment Anda, API Anthropic secara default. Lihat data handling untuk detail tentang retensi data, privasi, dan kepatuhan.

Deployment

Desktop dapat didistribusikan melalui alat deployment enterprise:

  • macOS: distribusikan melalui MDM seperti Jamf atau Kandji menggunakan installer .dmg
  • Windows: deploy melalui paket MSIX. Lihat Deploy Claude Desktop for Windows untuk opsi deployment enterprise termasuk instalasi senyap

Untuk domain yang akan dimasukkan ke allowlist dalam firewall Anda, lihat network access requirements di atas. Untuk pengaturan proxy, otoritas sertifikat kustom, dan gateway LLM, lihat network configuration.

Untuk referensi konfigurasi enterprise lengkap, lihat enterprise configuration guide.

Datang dari CLI?

Jika Anda sudah menggunakan CLI Claude Code, Desktop menjalankan mesin yang sama dengan antarmuka grafis. Anda dapat menjalankan keduanya secara bersamaan di mesin yang sama, bahkan di proyek yang sama. Masing-masing mempertahankan daftar sesi terpisah, dan Anda dapat membawa sesi CLI ke Desktop. Mereka berbagi konfigurasi dan memori proyek melalui file CLAUDE.md.

Untuk memindahkan sesi CLI ke Desktop, jalankan /desktop di terminal. Claude menyimpan sesi Anda dan membukanya di aplikasi desktop, kemudian keluar dari CLI. Perintah ini tersedia di macOS dan Windows x64 ketika Anda masuk dengan langganan Claude. Perintah ini tidak tersedia dengan autentikasi kunci API atau di Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry.

Dari shell Anda, claude --desktop membuka Desktop secara langsung tanpa memulai sesi terminal. Ini memerlukan Claude Code v2.1.285 atau lebih baru dan memiliki persyaratan platform dan sign-in yang sama dengan /desktop. Tanpa argumen lain, ini membuka Desktop di direktori saat ini. Untuk membuka sesi CLI yang ada di Desktop, tambahkan --continue untuk percakapan paling baru di direktori ini, atau --resume dengan ID sesi yang ditampilkan /status:

claude --desktop --resume <session-id>

Claude Code mencetak Opening session <session-id> in Claude Desktop, sesi terbuka di aplikasi, dan perintah keluar. Nama sesi tidak berfungsi sebagai pengganti ID. Claude Code tidak memindahkan sesi yang terbuka di terminal lain atau masih berjalan di latar belakang. Jika Claude Desktop tidak terinstal, perintah mencetak tautan unduhan dan keluar.

Anda juga dapat mengambil sesi CLI dari dalam Desktop dengan /resume. Perintah ini tersedia di sesi lokal, bukan di SSH, WSL, atau sesi cloud.

Untuk melanjutkan sesi terminal di Desktop:

  1. Tutup sesi di terminal.
  2. Di kotak prompt Desktop, ketik /resume. Desktop menampilkan daftar sesi yang Anda mulai dari CLI di komputer ini. Cari berdasarkan judul, folder, atau branch, dan pratinjau di mana masing-masing sesi berhenti.
  3. Pilih sesi. Sesi akan berlanjut di aplikasi dengan percakapan dan konteks lengkapnya.

Desktop melanjutkan sesi yang sama daripada salinan, jadi claude --resume di terminal masih menemukannya setelahnya.

Setara flag CLI

Tabel ini menunjukkan setara aplikasi desktop untuk flag CLI umum. Flag yang tidak tercantum tidak memiliki setara desktop karena dirancang untuk scripting atau otomasi.

CLI Setara Desktop
--model sonnet Dropdown model di sebelah tombol kirim
--resume, --continue Klik sesi di sidebar, atau ketik /resume di kotak prompt untuk mengambil sesi yang Anda mulai dari CLI
--permission-mode Pemilih mode di sebelah tombol kirim
--dangerously-skip-permissions Bypass permissions mode. Di paket Pro dan Max, aktifkan di Settings → Claude Code → "Allow bypass permissions mode"; di paket Team dan Enterprise, kebijakan organisasi mengontrolnya
--add-dir Tambahkan beberapa repo dengan tombol + di sesi cloud
--allowedTools, --disallowedTools Tidak ada setara per-sesi. Aturan izin di file pengaturan masih berlaku.
--verbose Mode tampilan verbose
--print, --output-format Tidak tersedia. Desktop hanya interaktif.
ANTHROPIC_MODEL env var Dropdown model di sebelah tombol kirim
MAX_THINKING_TOKENS env var Atur di editor lingkungan lokal. Lihat konfigurasi lingkungan.

Konfigurasi bersama

Desktop dan CLI membaca file konfigurasi yang sama, jadi setup Anda terbawa:

  • CLAUDE.md dan file CLAUDE.local.md di proyek Anda digunakan oleh keduanya
  • MCP servers yang dikonfigurasi di ~/.claude.json atau .mcp.json bekerja di keduanya
  • Hooks dan skills yang ditentukan dalam pengaturan berlaku untuk keduanya
  • Settings di ~/.claude.json dan ~/.claude/settings.json dibagikan. Aturan izin, tool yang diizinkan, dan pengaturan lainnya di settings.json berlaku untuk sesi Desktop.
  • Models: model yang sama models tersedia di keduanya. Di Desktop, pilih model dari dropdown di sebelah tombol kirim. Anda dapat mengubah model selama sesi dari dropdown yang sama.

MCP servers dari aplikasi chat Claude Desktop

Aplikasi Desktop memuat MCP servers dari claude_desktop_config.json ke dalam sesi tab Code lokal, bersama dengan servers dari ~/.claude.json dan .mcp.json. Server yang Anda tentukan di claude_desktop_config.json tersedia di surface chat Desktop dan sesi tab Code lokal.

Jika Anda menentukan nama server yang sama di claude_desktop_config.json dan di ~/.claude.json atau .mcp.json, tab Code dalam sesi lokal terhubung sekali dan menggunakan definisi claude_desktop_config.json.

Aplikasi juga mengirimkan ulang stdio servers dari ~/.claude.json ke CLI yang tertanam dalam sesi lokal. Ketika tingkat atas ~/.claude.json (cakupan pengguna) dan .mcp.json menentukan nama stdio server yang sama, tab Code menggunakan definisi ~/.claude.json, menyimpang dari hierarki cakupan CLI.

Perbandingan fitur

Tabel ini membandingkan kemampuan inti antara CLI dan Desktop. Untuk daftar lengkap flag CLI, lihat referensi CLI.

Fitur CLI Desktop
Mode izin Semua mode termasuk dontAsk Manual, Terima edits, Plan, dan Auto. Bypass permissions muncul di pemilih mode setelah diaktifkan: melalui toggle Settings di paket Pro dan Max, atau melalui kebijakan organisasi di paket Team dan Enterprise
Penyedia pihak ketiga Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry API Anthropic secara default. Untuk perutean gateway, lihat hubungkan aplikasi desktop ke gateway. Untuk menjalankan tab Code di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau gateway LLM yang di-host sendiri, lihat Claude Desktop on 3P.
MCP servers Konfigurasikan di file pengaturan UI Connectors untuk sesi lokal dan SSH, atau file pengaturan
Plugins Perintah /plugin UI plugin manager
File @mention Berbasis teks Dengan autocomplete; hanya sesi lokal dan SSH
Lampiran file Tidak tersedia Gambar, PDF
Isolasi sesi Flag --worktree Opsi worktree saat memulai sesi
Sesi ganda Terminal terpisah Tab sidebar
Tugas berulang Cron jobs, CI pipelines Tugas terjadwal
Penggunaan komputer Aktifkan via /mcp di macOS Kontrol aplikasi dan layar di macOS dan Windows
iOS simulator Jalankan simulator melalui computer use Pane iOS Simulator terbuka secara otomatis
Integrasi Dispatch Tidak tersedia Sesi Dispatch di sidebar
Scripting dan otomasi --print, Agent SDK Tidak tersedia

Apa yang tidak tersedia di Desktop

Fitur berikut tidak tersedia di Desktop, kecuali jika dicatat:

  • Penyedia pihak ketiga: Desktop terhubung ke API Anthropic secara default. Untuk merutekan Desktop melalui gateway, atau untuk menjalankan tab Code di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau gateway LLM yang di-host sendiri, ikuti tautan di baris Penyedia pihak ketiga.
  • Linux (beta): Computer Use belum tersedia di aplikasi desktop Linux. Lihat Claude Desktop on Linux.
  • Saran kode inline: Desktop tidak menyediakan penyelesaian kode bergaya autocomplete. Desktop bekerja melalui prompt percakapan dan perubahan kode eksplisit, dan dapat menyarankan prompt Anda berikutnya setelah Claude membalas.
  • Tim agent: tim terkoordinasi, di mana Claude sebagai pemimpin tim menugaskan tugas kepada rekan tim dari daftar tugas bersama, tersedia di CLI, bukan di Desktop. Untuk pekerjaan multi-agent di dalam satu sesi, gunakan dynamic workflows, yang berjalan di Desktop; Claude juga dapat mengirim pesan dan mengelola sesi Anda yang lain secara langsung.
  • Perintah terminal-dialog: perintah bawaan yang membuka panel interaktif di terminal berperilaku berbeda di tab Code. Edit file pengaturan secara langsung untuk mengelola aturan izin dan konfigurasi, atau jalankan perintah dari CLI mandiri.
    • Perintah tanpa bentuk argumen, seperti /permissions, membalas dengan isn't available in this environment.
    • /config membuka Settings → Claude Code. Teks setelah perintah diabaikan, jadi /config theme=dark tidak mengatur tema.

Troubleshooting

Bagian di bawah mencakup masalah khusus untuk aplikasi desktop. Untuk kesalahan API runtime yang muncul di chat seperti API Error: 500, 529 Overloaded, 429, atau Prompt is too long, lihat Error reference. Kesalahan tersebut dan perbaikannya sama di CLI, desktop, dan web.

Check your version

Untuk melihat versi aplikasi desktop yang Anda jalankan:

  • macOS: klik Claude di menu bar, kemudian About Claude
  • Windows: klik Help, kemudian About Claude

Klik nomor versi untuk menyalinnya ke clipboard Anda.

Claude Code version in the Code tab

Untuk melihat versi Claude Code yang dijalankan oleh sebuah sesi, ketik /status di sesi lokal pada tab Code dan baca baris Claude Code, yang menampilkan versi seperti 2.1.286.

Untuk mendapatkan versi yang lebih baru untuk sesi lokal, buka Claude → Check for Updates di macOS atau Help → Check for Updates di Windows, kemudian mulai sesi baru.

Dalam sesi lokal, tab Code menjalankan salinan Claude Code miliknya sendiri, yang memiliki nomor versinya sendiri. Aplikasi desktop mengunduh dan memperbarui salinan tersebut, sehingga versinya dapat berbeda dari perintah claude di terminal Anda, dan memperbarui salah satunya tidak memperbarui yang lain.

403 or authentication errors in the Code tab

Jika Anda melihat Error 403: Forbidden atau kegagalan autentikasi lainnya saat menggunakan tab Code:

  1. Keluar dan masuk kembali dari menu aplikasi. Ini adalah perbaikan paling umum.
  2. Verifikasi Anda memiliki langganan berbayar aktif: Pro, Max, Team, atau Enterprise.
  3. Jika CLI berfungsi tetapi Desktop tidak, keluar dari aplikasi desktop sepenuhnya, bukan hanya tutup jendela, kemudian buka kembali dan masuk.
  4. Periksa koneksi internet dan pengaturan proxy Anda.

Blank or stuck screen on launch

Jika aplikasi terbuka tetapi menampilkan layar kosong atau tidak responsif:

  1. Mulai ulang aplikasi.
  2. Periksa pembaruan yang tertunda. Pada macOS dan Windows, aplikasi secara otomatis memperbarui saat peluncuran; di Linux, perbarui melalui apt seperti yang dijelaskan dalam Claude Desktop on Linux.
  3. Di jaringan yang dikelola, konfirmkan firewall Anda memungkinkan host CDN dalam network access requirements.
  4. Di Windows, periksa Event Viewer untuk log crash di bawah Windows Logs → Application.

"Failed to load session"

Jika Anda melihat Failed to load session, folder yang dipilih mungkin tidak lagi ada, repositori Git mungkin memerlukan Git LFS yang tidak diinstal, atau izin file mungkin mencegah akses. Coba pilih folder berbeda atau mulai ulang aplikasi.

Session not finding installed tools

Jika Claude tidak dapat menemukan alat seperti npm, node, atau perintah CLI lainnya, verifikasi alat bekerja di terminal biasa Anda, periksa bahwa profil shell Anda dengan benar menyiapkan PATH, dan mulai ulang aplikasi desktop untuk memuat ulang variabel lingkungan.

Git and Git LFS errors

Sesi yang berjalan di worktree mereka sendiri memerlukan Git. Jika Anda melihat "Git is required," instal Git, atau Git for Windows di Windows, dan coba lagi. Di Windows, versi Claude Desktop sebelum 1.49585.0 meminta Git sebelum memulai sesi lokal apa pun; jika Anda melihat prompt itu dan tidak menggunakan worktrees, perbarui aplikasi.

Jika Anda melihat "Git LFS is required by this repository but is not installed," instal Git LFS dari git-lfs.com, jalankan git lfs install, dan mulai ulang aplikasi.

MCP servers not working on Windows

Jika toggle MCP server tidak merespons atau server gagal terhubung di Windows, periksa bahwa server dikonfigurasi dengan benar di pengaturan Anda, mulai ulang aplikasi, verifikasi proses server berjalan di Task Manager, dan tinjau log server untuk kesalahan koneksi.

SSH connection fails after you log in

Temukan judul kartu, atau kode yang mengakhiri pesan kesalahan, di tabel ini, lalu lakukan apa yang disebutkan di kolom terakhir. Untuk melihat pesannya, pilih View details pada kartu kegagalan.

Judul pada kartu Kode Yang harus dilakukan
<host>'s SSH server has SFTP turned off [SFTP_UNAVAILABLE] Aktifkan SFTP di sshd_config server, seperti yang dijelaskan dalam remote machine requirements
SFTP doesn't start on <host> [SFTP_NOT_STARTED] Hubungkan ke host yang sama dengan sftp di terminal pada komputer Anda untuk melihat apa yang menghentikannya, lalu periksa pengaturan dan file yang disebutkan dalam pesan Desktop
<host> allows too few SSH sessions per connection [SESSION_LIMIT] Naikkan MaxSessions di sshd_config server, misalnya ke nilai default OpenSSH yaitu 10
<host> is out of disk space [ENOSPC] atau [EDQUOT] Kosongkan ruang atau kuota di mesin remote, di direktori home Anda atau /tmp
This computer is out of disk space [ENOSPC] atau [EDQUOT], dalam pesan yang diawali dengan Couldn't prepare the deploy locally Kosongkan ruang di komputer Anda
Claude Code won't start on <host> [CLI_UNRESPONSIVE] Tunggu sebentar, lalu coba lagi. Jika terus gagal, jalankan perintah yang disebutkan dalam pesan di mesin remote untuk melihat apakah Claude Code merespons di sana.

Untuk pesan lainnya, periksa remote machine requirements.

Get Desktop's logs for an SSH problem

Anda mendapatkan ssh.log, rekaman Desktop atas koneksi SSH-nya, di dalam file zip berisi log Desktop yang Anda simpan dari menu Help. Untuk menyimpannya, buka Help > Troubleshooting dan pilih item untuk sistem Anda:

  • macOS: Show Logs in Finder
  • Windows: Show Logs in File Explorer
  • Linux: Show Logs in File Manager

Periksa file-file tersebut sebelum Anda mengirimkannya, karena file tersebut dapat menyertakan nama dan detail lain dari lingkungan Anda. <host> dan <user> mewakili nama yang telah diganti oleh Desktop. Desktop tidak mengganti setiap nama, dan nama host atau nama pengguna SSH masih dapat muncul sebagaimana tertulis. Jika Anda mengirim file zip kepada seseorang, beri tahu mereka host mana yang gagal dan kapan, karena log mungkin tidak menyebutkannya.

File zip tidak berisi log dari program pembantu yang diinstal Desktop di mesin remote. Untuk mendapatkan log tersebut juga, salin remote-server.log dari folder program pembantu di bawah ~/.claude/remote/run/ di direktori home pengguna yang terhubung. Periksa juga file tersebut sebelum Anda mengirimkannya.

App won't quit

  • macOS: tekan Cmd+Q. Jika aplikasi tidak merespons, gunakan Force Quit dengan Cmd+Option+Esc, pilih Claude, dan klik Force Quit.
  • Windows: gunakan Task Manager dengan Ctrl+Shift+Esc untuk mengakhiri proses Claude.

Windows-specific issues

  • PATH not updated after install: buka jendela terminal baru. Pembaruan PATH hanya berlaku untuk sesi terminal baru.
  • Concurrent installation error: jika Anda melihat kesalahan tentang instalasi lain sedang berlangsung tetapi tidak ada, coba jalankan installer sebagai Administrator.

"Branch doesn't exist yet" when opening in CLI

Sesi cloud dapat membuat branch yang tidak ada di mesin lokal Anda. Klik nama branch di sesi dan pilih Copy branch name, kemudian ambil secara lokal:

git fetch origin <branch-name>
git checkout <branch-name>

Still stuck?

  • Buka Help → Get Support di aplikasi desktop, atau kunjungi Claude support center secara langsung
  • Untuk masalah yang juga muncul kembali di CLI claude standalone, cari atau laporkan bug di GitHub Issues

Saat melaporkan masalah, sertakan versi aplikasi desktop Anda, sistem operasi Anda, pesan kesalahan yang tepat, dan log yang relevan. Di macOS, periksa Console.app. Di Windows, periksa Event Viewer → Windows Logs → Application. Tinjau kutipan log sebelum mempostingnya ke masalah publik; mereka dapat menyertakan jalur file dan detail lainnya dari lingkungan Anda.