Cara Menjalankan Beberapa Agen Claude Code Secara Paralel

Dua sesi Claude Code dalam satu checkout adalah penyebab commit satu agen akhirnya ikut membawa kode setengah jadi milik agen lainnya. Satu worktree per sesi, sesi latar belakang, dan urutan merge adalah solusinya.

Aiden Flux

Aiden Flux

5 November 2026

Cara Menjalankan Beberapa Agen Claude Code Secara Paralel

TL;DR: Untuk menjalankan beberapa agen Claude Code secara paralel, berikan git worktree terpisah untuk setiap sesi (cukup dengan satu flag: claude -w <name>), jalankan sesi yang tidak sedang Anda pantau di latar belakang menggunakan claude --bg, dan tentukan urutan merge sebelum agen-agen tersebut selesai, karena branch yang terisolasi pun tetap bisa mengalami konflik saat digabungkan. Dua sesi yang berbagi satu checkout yang sama adalah penyebab commit salah satu agen bisa membawa kode setengah jadi milik agen lainnya. Panduan ini ditujukan bagi developer yang sudah menggunakan Claude Code dan ingin menjalankan dua hingga lima sesi sekaligus.

Semuanya bermula dari terminal kedua. Claude Code sedang merefaktor modul autentikasi di terminal pertama, jadi Anda membuka terminal lain dan meminta sesi baru untuk memperbaiki test tanggal yang flaky. Kemudian terminal ketiga dibuka untuk dokumentasi. Dua puluh menit kemudian, tiga sesi menulis ke direktori kerja yang sama, git status menampilkan file-file yang tidak pernah Anda minta, dan tidak ada yang tahu sesi mana yang menyentuh config.ts.

Menjalankan beberapa agen Claude Code sebenarnya mudah: cukup buka lebih banyak terminal. Namun, menjalankannya tanpa membuat sesi-sesi tersebut merusak pekerjaan satu sama lain membutuhkan tiga keputusan: di mana file setiap sesi disimpan, bagaimana Anda memantau sesi yang sedang tidak Anda lihat, dan urutan branch mereka saat di-merge. Artikel ini membahas ketiganya menggunakan perintah bawaan Claude Code serta dua kegagalan yang kami reproduksi pada sebuah toy repository. Jika Anda belum terbiasa dengan worktree, baca terlebih dahulu panduan git worktree dengan agen coding AI kami, atau referensi git worktree.

Mengapa beberapa agen Claude Code merusak shared checkout

Menjalankan beberapa agen Claude Code secara paralel berarti ada dua atau lebih sesi yang bekerja pada repositori yang sama di waktu bersamaan, masing-masing dengan tugas dan context window-nya sendiri. Sesi-sesi ini tidak mengetahui keberadaan satu sama lain. Masing-masing membaca file, mengeditnya, menjalankan test, dan melakukan commit seolah-olah ia bekerja sendirian.

Sebuah checkout hanya memiliki satu direktori kerja, satu index, dan satu HEAD, sehingga asumsi "bekerja sendirian" akan cepat memicu masalah. Kami mereproduksi skenario yang paling umum terjadi pada repo Python sederhana, dengan dua proses shell writer yang bertindak sebagai agen. Agen B menyimpan fungsi truncate() yang baru setengah jadi ke dalam textutils.py. Agen A menyelesaikan tugasnya sendiri di file yang berbeda dan melakukan commit persis seperti yang diinstruksikan oleh banyak prompt, yaitu dengan git add -A && git commit:

$ git show --stat --format='%an: %s' HEAD
agent-a: add slugify
 slug.py      | 2 ++
 textutils.py | 4 ++++
 2 files changed, 6 insertions(+)

$ python3 -m pytest -q
1 error in 0.09s

Commit Agen A ikut menyertakan fungsi yang belum selesai milik Agen B, sehingga test suite gagal di-import. Tidak ada kode yang tertimpa secara langsung, tetapi karena index digunakan bersama, commit A ikut menyeret pekerjaan B yang masih berjalan. Akibatnya, riwayat git mencatat bahwa Agen A menulis kode yang rusak. Masalah serupa yang terjadi pada file yang sama dibahas dalam apa yang terjadi ketika dua agen coding mengedit file yang sama.

Jalankan beberapa agen Claude Code dengan satu worktree untuk masing-masing sesi

Solusinya adalah satu direktori kerja untuk setiap sesi, dan Claude Code menyediakannya langsung melalui sebuah flag:

Claude Code background session commands
# interactive sessions, one task each, each in its own worktree
claude -w auth-refactor
claude -w flaky-date-test --tmux   # opens the session in its own tmux or iTerm2 pane

# fire-and-forget work: starts in the background and prints an id
claude --bg "update the README examples for the new config format"

Berdasarkan dokumentasi worktree, claude -w <name> membuat worktree di .claude/worktrees/<name>/ pada branch baru bernama worktree-<name>, dan terminal kedua dengan nama berbeda akan mendapatkan sesi terisolasi kedua. Saat kami menjalankannya, git menandai worktree baru tersebut sebagai locked, yang mencegah git worktree prune menghapusnya saat sesi masih aktif. Sesi latar belakang yang dimulai dengan --bg atau /bg akan berpindah ke worktree-nya sendiri di dalam .claude/worktrees/ sebelum mengedit apa pun, menurut halaman agent view.

Tiga detail konfigurasi berikut akan menghemat banyak waktu Anda:

  1. Abaikan foldernya. Worktree berada di dalam repo, sehingga git status di checkout utama akan menampilkan .claude/ sebagai untracked sampai Anda menambahkan .claude/worktrees/ ke .gitignore, yang juga disarankan oleh dokumentasi.
  2. Siapkan diri untuk checkout baru yang bersih. Worktree baru tidak memiliki node_modules, virtualenv, ataupun .env. Cantumkan file-file yang di-gitignored dan perlu disalin, seperti .env, ke dalam file .worktreeinclude, serta alokasikan waktu untuk proses instalasi dependensi di setiap worktree.
  3. Bersihkan eksekusi headless sendiri. Sesi interaktif menawarkan opsi untuk menghapus worktree-nya saat keluar. Eksekusi yang dimulai dengan claude -p tidak pernah melakukan pembersihan otomatis, jadi hapus secara manual menggunakan git worktree unlock lalu git worktree remove.

Sesi latar belakang dikelola langsung dari shell. Deskripsi berikut diambil dari claude --help pada versi 2.1.283:

Perintah Fungsi
claude --bg "<task>" Memulai sesi di latar belakang dan langsung kembali ke shell, sambil menampilkan sebuah ID
claude agents Membuka agent view, yaitu daftar sesi yang sedang berjalan (gunakan --json untuk script)
claude logs <id> Menampilkan output terminal terbaru dari sesi latar belakang
claude attach <id> Membuka sesi latar belakang di terminal saat ini
claude stop <id> Menghentikan sesi; riwayat percakapan tetap tersimpan dan dapat dibuka kembali dengan claude attach <id>

--bg tidak dapat digabungkan dengan -p. Untuk fan-out berbasis script, panduan bekerja dengan Claude Code dari Anthropic mencontohkan shell loop pada claude -p dengan flag --allowedTools dan --permission-mode dontAsk. Gabungkan dengan -w agar setiap eksekusi mendapatkan direktorinya sendiri.

Agen Claude Code yang terisolasi pun tetap bisa bertabrakan saat merge

Worktree mencegah sesi-sesi saling mengganggu saat sedang bekerja, tetapi tidak menjamin hasil kerja mereka kompatibel. Kami mencoba memberikan jenis perubahan yang sama pada dua branch worktree, di mana masing-masing menambahkan satu fungsi di baris akhir textutils.py, lalu kami me-merge keduanya:

$ git merge agent/slugify
Fast-forward
$ git merge agent/truncate
Auto-merging textutils.py
CONFLICT (content): Merge conflict in textutils.py
Automatic merge failed; fix conflicts and then commit the result.

Tidak ada agen yang melakukan kesalahan. Keduanya menambahkan kode di lokasi yang sama dan git tidak bisa menentukan urutannya secara otomatis. Pada codebase nyata dengan empat atau lima sesi, hal ini lumrah terjadi pada file mana pun yang disentuh oleh banyak perubahan: routing table, ekspor __init__.py, changelog, atau lockfile. Bedanya dengan shared checkout, tabrakan ini sekarang terjadi secara jelas, terlihat, dan mudah terlacak sumbernya. Tiga kebiasaan berikut dapat meminimalkan masalah tersebut:

  1. Bagi tugas berdasarkan file, bukan fitur. Dua tugas yang sama-sama membutuhkan perubahan pada router sebaiknya dijadikan satu tugas, atau dijalankan secara berurutan.
  2. Lakukan merge dengan urutan yang pasti dan rebase sisanya. Selesaikan branch pertama terlebih dahulu, lalu minta sesi berikutnya melakukan rebase ke main dan menjalankan kembali pengujiannya sebelum Anda me-review-nya. Sesi yang menulis kode tersebut memiliki konteks untuk menyelesaikan konflik kodenya sendiri.
  3. Beri nama setiap worktree sesuai tugasnya. claude -w fix-date-test jauh lebih mudah dipahami daripada claude -w agent2 saat Anda membaca git worktree list satu jam kemudian.

Batasan terbesarnya biasanya bukan pada git, melainkan Anda yang harus membaca lima diff sekaligus. Artikel kami tentang mengapa review manusia menjadi bottleneck bagi agen paralel membahas cara mengelola antrean review tersebut.

Subagent, agent team, atau sesi terpisah untuk beberapa agen Claude Code

Claude Code kini memiliki beberapa cara untuk menjalankan pekerjaan secara paralel, dan ringkasan agen paralel menjabarkannya berdampingan. Pilihan-pilihan ini tidak dapat saling menggantikan begitu saja. Aspek paling krusial yang membedakannya adalah isolasi:

Ways to run multiple Claude Code agents and how each isolates files
Opsi Apa yang berjalan Isolasi file Gunakan ketika
Subagents Helper di dalam satu sesi, masing-masing dengan context window-nya sendiri Shared checkout, kecuali jika subagent menyetel isolation: worktree Satu tugas memerlukan riset tambahan, proses review, atau pembacaan paralel
/batch Satu perubahan dibagi ke 5 hingga 30 subagent Satu worktree per subagent Perubahan mekanis berskala besar yang tersebar di banyak file
Agent teams Sesi utama (lead) ditambah anggota tim (teammates) yang berbagi daftar tugas dan saling berkirim pesan Tidak ada: dokumentasi menyarankan untuk membagi beban kerja secara mandiri Anggota tim perlu berkomunikasi di tengah pengerjaan tugas; eksperimental, nonaktif secara default
Separate sessions (-w, --bg, Desktop) Sesi-sesi independen Satu worktree per sesi Tugas-tugas independen yang Anda review satu per satu
Cloud sessions (claude --cloud) Sesi di dalam VM terisolasi yang meng-clone branch yang sudah Anda push Satu VM per sesi Pekerjaan yang sebaiknya tidak membebani laptop Anda

Untuk tugas-tugas yang independen, gunakan sesi terpisah dengan worktree. Gunakan agent team ketika bagian-bagian pekerjaan saling bergantung dan anggota tim perlu berkoordinasi, serta pastikan setiap anggota tim menangani file yang berbeda, karena halaman agent teams memperingatkan secara tegas: “Dua rekan tim yang mengedit file yang sama akan menyebabkan penimpaan kode.” Apa pun yang Anda pilih, kuota penggunaan tetap dipakai bersama. Dokumentasi agent view menyatakannya dengan gamblang: “menjalankan sepuluh agen secara paralel menghabiskan kuota sekitar sepuluh kali lebih cepat daripada menjalankan satu agen.”

Peran Sharkly saat Anda menjalankan beberapa agen Claude Code

Jika Anda hanya menjalankan dua atau tiga sesi di laptop sendiri dan me-review setiap diff secara mandiri, perintah-perintah di atas sudah cukup dan Anda mungkin belum membutuhkan Sharkly. Namun, situasinya berubah ketika sesi-sesi tersebut dikerjakan oleh lebih dari satu orang, atau ketika menjawab pertanyaan “sesi mana yang memperbaiki date-test?” membutuhkan waktu lebih lama daripada pengerjaan perbaikan itu sendiri.

Anda sudah memiliki agen coding. Sharkly mengubah mereka menjadi sebuah tim. Setiap bagian pekerjaan menjadi sebuah Task. Anda menugaskannya ke Agent yang berjalan di atas Claude Code Runtime di salah satu Computer Anda, dan menetapkan Assignee akan memulai prosesnya. Dengan direktori kerja default, Create temporary directory, setiap Task mendapatkan direktorinya sendiri dan eksekusi berbasis repositori mendapatkan git worktree yang terisolasi: isolasi yang persis sama dengan claude -w, tanpa perlu repot menamai worktree secara manual. Ketika Agent harus menggunakan kembali environment yang sudah ada di Computer lokal, opsi Run in isolated worktrees akan memberikan hasil setiap Task di branch agent/<agent>/<task> masing-masing. Opsi Max concurrency (assigned tasks) pada Agent membatasi berapa banyak eksekusi yang dapat berjalan bersamaan—yang merupakan batas kapasitas review yang disebutkan sebelumnya, tercatat jelas dan dapat dilihat oleh seluruh tim.

Progres, riwayat eksekusi, dan hasilnya akan kembali ke Task, serta hal apa pun yang membutuhkan intervensi manusia akan masuk ke Inbox. Tidak ada yang di-merge secara otomatis: peninjau manusia akan me-review perubahan di worktree, mempertahankan, me-merge, atau membuangnya, lalu menandai Task sebagai Done. Biaya eksekusi tetap dibebankan ke paket Claude Code Anda sendiri, karena Sharkly tidak menjual token. Halaman fitur Agents menunjukkan cara pengaturannya, dan artikel bagaimana Sharkly menjalankan agen secara paralel membahas sisi eksekusinya secara mendalam.

Jika Anda sudah kewalahan dengan lebih dari tiga terminal dan ingin hasil dari setiap sesi Claude Code terkumpul di satu tempat yang mudah ditinjau, itulah masalah yang dirancang untuk diselesaikan oleh Sharkly.

FAQ

Berapa banyak agen Claude Code yang bisa saya jalankan sekaligus? Dokumentasi resmi tidak menetapkan batas maksimal untuk sesi terpisah. Subagent secara default dibatasi hingga 20 sesi bersamaan, dan halaman agent teams menyarankan untuk memulainya dengan 3 hingga 5 rekan tim. Batasan praktisnya terletak pada kuota penggunaan paket Anda, CPU serta memori laptop Anda, dan seberapa banyak hasil kerja yang sanggup Anda review dalam sehari; perhitungan kapasitas review sangat layak dipertimbangkan sebelum Anda menambahkan sesi keenam.

Apakah sesi Claude Code paralel berbagi batas penggunaan saya? Ya. Pada paket Pro dan Max, batas penggunaan digunakan bersama antara Claude dan Claude Code, dengan jendela lima jam dan batas mingguan, serta setiap sesi paralel menggunakan kuota dari sumber yang sama. Jika ANTHROPIC_API_KEY disetel, tagihan Claude Code akan dialihkan ke API.

Apakah claude --worktree menyalin .env dan dependensi saya? Tidak. Setiap worktree merupakan checkout baru yang bersih. Tambahkan file yang diabaikan git namun Anda butuhkan, seperti .env, ke dalam .worktreeinclude, dan jalankan langkah instalasi dependensi di setiap worktree.

Bisakah saya menjalankan Claude Code dan Codex pada repositori yang sama secara paralel? Bisa, dengan aturan yang sama: satu worktree untuk setiap sesi dan tentukan urutan merge. Panduan kami tentang menjalankan Claude Code dan Codex secara bersamaan di satu codebase membahas aspek routing-nya.

Jelajahi lebih lanjut

Gemini Omni 1.2 Flash API: Mengubah Pembuatan Video Menjadi Tugas yang Dapat Dijalankan Agen Anda

Gemini Omni 1.2 Flash API: Mengubah Pembuatan Video Menjadi Tugas yang Dapat Dijalankan Agen Anda

Jalankan Gemini Omni 1.2 Flash API sebagai pekerjaan agen yang terpantau: struktur pemanggilan, brief, aset referensi, pengeditan multi-turn, dan peninjauan oleh manusia sebelum klip dirilis.

6 November 2026

Cara Menganimasikan Maskot Brand dengan ChatGPT Images 2.6

Cara Menganimasikan Maskot Brand dengan ChatGPT Images 2.6

Animasikan maskot brand Anda dengan ChatGPT Images 2.6: prompt sprite sheet yang telah teruji, penyelarasan frame untuk hasil loop yang mulus, dan alur kerja review bersama tim.

6 November 2026

Ketika Model Lebih Murah Justru Lebih Mahal: Menghitung Biaya Agent Run per Perubahan yang Diterima

Ketika Model Lebih Murah Justru Lebih Mahal: Menghitung Biaya Agent Run per Perubahan yang Diterima

GPT-6 Luna dengan harga $0,10 per satu juta token menekan biaya per percobaan sekaligus meningkatkan jumlah percobaan, output, dan keputusan untuk setiap perubahan yang dirilis. Tetapkan biaya eksekusi agen per perubahan yang diterima, bukan per token.

5 November 2026