Claude Code di Chrome: Otomasi Browser dari Terminal

Pasang ekstensi Claude in Chrome versi 1.0.36 atau lebih baru, lalu mulai Claude Code dengan flag --chrome. Jalankan /chrome kapan saja untuk memeriksa status, mengelola permission, menyambung ulang, atau memilih browser yang dipakai. Memilih Enabled by default menghapus kebutuhan flag itu, dengan ongkos tool browser selalu termuat di konteks.
Ya. Claude membuka tab di jendela Chrome yang terlihat dan berbagi keadaan login browser Anda, sehingga ia bisa bertindak di situs mana pun tempat Anda sudah masuk tanpa connector API maupun kredensial tersimpan. Ketika sampai di halaman login atau CAPTCHA, ia berhenti dan meminta Anda menangani bagian itu secara manual.
Biasanya soal autentikasi. Ekstensi browser tidak bisa melakukan autentikasi dengan API key maupun token berumur panjang dari claude setup-token, jadi sesi semacam itu menahannya tetap mati bahkan ketika Anda memberi flag --chrome. Ia juga tidak tersedia lewat Bedrock, Google Cloud Agent Platform, dan Microsoft Foundry, serta tidak didukung di WSL.
Panggilan read-only berjalan tanpa prompt: membaca halaman, mengambil teks halaman, mencari elemen, membaca pesan console dan request jaringan, serta mengambil screenshot. Klik, mengetik, navigasi, manajemen tab, dan perekaman GIF semuanya memunculkan prompt. Panggilan yang normalnya read-only juga memunculkan prompt ketika menyetel flag pengubah keadaan seperti save_to_disk pada screenshot.
Dua penyebab umum. Service worker ekstensi Chrome bisa menganggur selama sesi panjang, dan itu memutus koneksinya — jalankan /chrome lalu sambungkan ulang. Atau ada dialog JavaScript seperti alert maupun confirm yang memblokir halaman, sehingga Claude sama sekali tidak menerima perintah; tutup manual lalu suruh Claude melanjutkan.

Ringkasan Utama
Claude Code tersambung ke ekstensi Claude in Chrome untuk mengemudikan browser sungguhan dari terminal. Claude membuka tab di jendela Chrome yang terlihat dan berbagi keadaan login browser Anda, sehingga ia bisa menjangkau situs mana pun tempat Anda sudah masuk. Ia berhenti dan menyerahkan kembali kepada Anda pada halaman login dan CAPTCHA.
Pertama kali saya meminta Claude memeriksa sebuah form di server lokal saya, ia membuka tab, mengisi form itu dengan data tidak valid, membaca pesan error validasinya dari halaman, lalu memberi tahu mana dari tiga pesan itu yang keliru. Lalu saya memintanya memeriksa sesuatu di aplikasi web tempat saya sudah masuk, dan ia langsung bisa — karena itu browser saya, dengan sesi saya, bukan browser headless yang harus diautentikasi terpisah.
Itulah keseluruhan desainnya sekaligus keseluruhan hal yang perlu dipikirkan. Tulisan ini membahas apa arti berbagi keadaan browser, cara menyambungkannya dan berapa ongkos konteks kalau dinyalakan permanen, pembagian plan mode antara membaca dan bertindak, batasan unggah file, konfigurasi autentikasi yang diam-diam mematikan fiturnya, dan dua kegagalan yang pasti Anda temui pada sesi panjang.
Claude membuka tab baru untuk tugas browser di jendela Chrome yang terlihat, secara real time, dan berbagi keadaan login browser Anda. Itulah sebabnya ia bisa menulis draf di Google Doc, membaca Notion Anda, atau mengklik dashboard internal tanpa connector API dan tanpa kredensial yang dikonfigurasi di mana pun. Ketika ia menemui halaman login atau CAPTCHA, ia berhenti dan meminta Anda menangani bagian itu secara manual.
Tab yang dibukanya dikumpulkan ke dalam tab group Chrome yang terikat pada sesi Anda, dan nasib group itu saat sesi berakhir bergantung pada cara berakhirnya. Membersihkan percakapan menutup group beserta halaman yang terbuka, kecuali masih ada pekerjaan yang bertahan melewati pembersihan itu. Berpindah sesi, keluar, atau membersihkan saat pekerjaan semacam itu berjalan hanya menutup group bila isinya tak lebih dari tab baru yang kosong — jadi halaman yang mungkin masih Anda baca tetap terbuka.
Merekam GIF menangkap segala yang terlihat di browser, termasuk detail akun pada halaman tempat Anda sudah masuk. Itu persis yang Anda inginkan untuk demo aplikasi sendiri dan persis yang tidak Anda inginkan ditempel ke issue publik. Tinjau rekamannya sebelum keluar dari tim Anda, setiap kali, karena hal yang membuat fitur ini nyaman adalah hal yang sama yang menaruh sesi Anda di dalam bingkainya.
Satu flag memulai sesi dengan browser terpasang, dan satu perintah mengurus selebihnya — status, permission, penyambungan ulang, dan memilih browser ketika lebih dari satu tersambung. Permission per situs diwarisi dari ekstensi Chrome alih-alih dikonfigurasi di Claude Code, jadi membatasi situs mana yang boleh Claude jelajahi, klik, dan ketik terjadi di setelan ekstensinya sendiri.
# Launch with the browser attached.
claude --chrome
/chrome # status, permissions, reconnect, pick a browser
# Working when the panel shows:
# Status: Enabled
# Extension: Installed
# "Enabled by default" removes the need for the flag
# Enabling by default increases context usage, because the
# browser tools are then always loaded. If your context budget
# gets tighter, turn it off and use the flag when you need it.
# Requires the Claude in Chrome extension 1.0.36 or later, and
# a direct Anthropic plan. Works in Chrome, Edge, and detected
# in Brave, Arc, Vivaldi and Opera. NOT supported under WSL.Perilaku plan mode di sini digambar lebih cermat daripada yang disadari kebanyakan orang, dan ia model yang bagus untuk bagaimana mode read-only seharusnya memperlakukan tool yang bisa melakukan keduanya. Membaca halaman tidak menagih apa pun dan tidak memunculkan prompt; mengubah apa pun memunculkan prompt. Bagian menariknya ada di pengecualiannya, ketika sebuah panggilan yang normalnya read-only berubah jadi mengubah keadaan karena satu flag input.
# In plan mode the split is by side effect, not by tool.
# Runs with NO permission prompt:
read_page get_page_text find
reading console messages
reading network requests
taking a screenshot
# Prompts for approval:
clicks typing navigation
tab and window management
recording a GIF
# The catch: an otherwise read-only call ALSO prompts when it
# sets a state-changing flag —
# createIfEmpty on the tabs context call
# clear on the console and network readers
# save_to_disk on a screenshot
#
# A batch call runs without a prompt only when EVERY action
# inside it is read-only.Saat meminta Claude membaca keluaran console, sebutkan pola yang dicari alih-alih meminta semuanya. Log console itu bertele-tele, dan selisih antara periksa console untuk error saat halaman dimuat dan tunjukkan console-nya adalah selisih antara jawaban berguna dan beberapa ribu token kebisingan yang lalu harus Anda baca sendiri.
Nilainya bukan otomasi browser itu sendiri — ada perkakas yang lebih baik kalau otomasi saja yang Anda inginkan. Nilainya adalah merangkai aksi browser dengan tugas coding dalam satu alur, tanpa berpindah konteks atau menulis test harness untuk sesuatu yang akan Anda lakukan sekali.
Empat bentuk yang terbayar:
| Tugas | Kenapa mengalahkan alternatifnya |
|---|---|
| Menguji perubahan di localhost | Claude memperbaiki kode penyebab error console yang baru dibacanya, di giliran yang sama |
| Memverifikasi UI terhadap desain | Membangun dari mock dan memeriksa hasilnya biasanya terpisah dua orang dan dua hari |
| Bertindak di aplikasi tempat Anda sudah masuk | Tanpa connector API, tanpa setup OAuth, tanpa kredensial yang perlu disimpan |
| Menarik data terstruktur dari halaman | Scraper yang akan Anda tulis, jalankan sekali, lalu tak pernah dirawat |
Claude bisa melampirkan file dari mesin Anda ke kolom unggah di sebuah halaman — ia membaca filenya lalu mengirim isinya ke browser, jadi ini juga bekerja di sesi remote. Ada tiga batasan, dan yang ketiga paling sering menjegal:
Screenshot bisa disimpan ke disk alih-alih hanya ditampilkan, dan Claude melaporkan path yang ditulisnya. Itu mengubah browser menjadi cara menghasilkan artefak yang Anda simpan — pasangan sebelum-sesudah untuk sebuah pull request, tangkapan keadaan error untuk dilampirkan ke tiket — alih-alih sekadar sesuatu yang dilihat Claude lalu dijelaskan kepada Anda.
Bagian ini layak dibaca sebelum Anda menyimpulkan ada yang rusak, karena tidak satu pun menghasilkan error yang menjelaskan dirinya. Benang merahnya adalah autentikasi: ekstensi browser tidak bisa melakukan autentikasi dengan API key atau token berumur panjang, jadi sesi yang memakai salah satunya menahan integrasi itu tetap mati bahkan ketika Anda memintanya secara eksplisit.
# Configurations where Chrome integration is off, and the
# reason is authentication rather than anything you configured.
# An API key, or a long-lived token from claude setup-token:
# Claude Code keeps Chrome integration OFF even when you pass
# --chrome, because the browser extension cannot authenticate
# with those credentials. (Before v2.1.216 these sessions
# could enable it, and every connection failed with a 403.)
# Third-party providers — Bedrock, Google Cloud's Agent
# Platform, Microsoft Foundry:
# not available. If you reach Claude only through one of
# those, you need a separate claude.ai account for this.
# Windows Subsystem for Linux:
# not supported at all.
# Organisation policy:
# a deniedMcpServers entry for claude-in-chrome suppresses
# even the install prompt.Menyingkirkan masalah instalasi pertama, sesi panjang gagal dengan sedikit cara yang bisa diprediksi:
Perlakukan ini sebagai browser yang sedang dikemudikan seorang kolega sementara Anda menonton, karena secara fungsional memang begitu: sesi Anda, login Anda, tab Anda, di jendela yang bisa Anda lihat. Kerangka itu dengan sendirinya membuat dua kebiasaan penting jadi benar — Anda meninjau rekaman sebelum membagikannya, dan Anda membiarkannya mati secara default alih-alih selalu termuat, lalu menyalakannya untuk tugas yang memang membutuhkannya. Keduanya murah, dan keduanya makin penting seiring Anda merasa fitur ini makin berguna.
Sumber & bacaan lanjutan