2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
3> Use this file to discover all available pages before exploring further.3> Use this file to discover all available pages before exploring further.
4 4
5# Otomatisasi pekerjaan dengan rutinitas5# Otomatisasi pekerjaan dengan tugas terjadwal
6 6
7> Letakkan Claude Code pada autopilot. Tentukan rutinitas yang berjalan sesuai jadwal, dipicu oleh panggilan API, atau bereaksi terhadap peristiwa GitHub dari infrastruktur cloud.7> Jalankan Claude Code secara autopilot. Buat tugas terjadwal, sebelumnya bernama routine, yang berjalan di cloud sesuai jadwal, melalui panggilan API, atau pada peristiwa GitHub.
8 8
9<Note>9> [!NOTE]
10 Rutinitas berada dalam pratinjau penelitian. Perilaku, batas, dan permukaan API mungkin berubah.10>
11</Note>11> Tugas terjadwal berada dalam research preview. Perilaku, batas, dan surface API dapat berubah.
12 12
13Rutinitas adalah konfigurasi Claude Code yang disimpan: prompt, satu atau lebih repositori, dan serangkaian [konektor](/docs/id/mcp), dikemas sekali dan dijalankan secara otomatis. Rutinitas dijalankan pada infrastruktur cloud yang dikelola Anthropic, atau pada [lingkungan self-hosted](/docs/id/self-hosted-environments) organisasi Anda ketika dialihkan ke sana, sehingga terus bekerja ketika laptop Anda ditutup.13Tugas terjadwal cloud, sebelumnya bernama routine, adalah konfigurasi Claude Code yang disimpan: sebuah prompt, satu atau lebih repositori, dan serangkaian [konektor](/docs/id/mcp), yang dikemas sekali dan dijalankan secara otomatis. Tugas terjadwal dieksekusi pada infrastruktur cloud yang dikelola Anthropic, atau pada [lingkungan self-hosted](/docs/id/self-hosted-environments) organisasi Anda ketika dialihkan ke sana, sehingga tetap bekerja ketika laptop Anda ditutup.
14 14
15Setiap rutinitas dapat memiliki satu atau lebih pemicu yang terpasang padanya:15Setiap tugas terjadwal dapat memiliki satu atau lebih pemicu yang terpasang padanya:
16 16
17* **Terjadwal**: berjalan dengan frekuensi berulang seperti per jam, malam hari, atau mingguan, atau sekali pada waktu masa depan tertentu17* **Jadwal**: berjalan dengan frekuensi berulang seperti per jam, setiap malam, atau mingguan, atau sekali pada waktu tertentu di masa depan
18* **API**: dipicu sesuai permintaan dengan mengirim POST HTTP ke titik akhir per-rutinitas dengan token pembawa18* **API**: dipicu sesuai permintaan dengan mengirim HTTP POST ke endpoint milik tugas tersebut dengan token bearer
19* **GitHub**: berjalan secara otomatis sebagai respons terhadap peristiwa repositori seperti permintaan tarik atau rilis19* **GitHub**: berjalan secara otomatis sebagai respons terhadap peristiwa repositori seperti pull request atau rilis
20 20
21Satu rutinitas dapat menggabungkan pemicu. Misalnya, rutinitas tinjauan PR dapat berjalan malam hari, dipicu dari skrip penyebaran, dan juga bereaksi terhadap setiap PR baru.21Satu tugas terjadwal dapat menggabungkan beberapa pemicu. Misalnya, tugas review PR dapat berjalan setiap malam, dipicu dari skrip deployment, dan juga bereaksi terhadap setiap PR baru.
22 22
23Rutinitas tersedia pada paket Pro, Max, Team, dan Enterprise. Buat dan kelola di [claude.ai/code/routines](https://claude.ai/code/routines), atau dari CLI dengan `/schedule`.23Tugas terjadwal tidak harus memiliki jadwal:
24 24
25Pemilik Team dan Enterprise dapat menonaktifkan rutinitas untuk semua anggota dengan toggle Routines di [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code). Ketika dinonaktifkan, rutinitas yang ada berhenti berjalan dan anggota tidak dapat membuat yang baru.25* Tugas yang hanya memiliki pemicu API berjalan ketika Anda memanggil endpoint-nya.
26* Tugas yang hanya memiliki pemicu GitHub berjalan ketika peristiwa repositori yang cocok terjadi.
26 27
27Halaman ini mencakup pembuatan rutinitas, mengonfigurasi setiap jenis pemicu, mengelola jalankan, dan bagaimana batas penggunaan berlaku.28Tugas terjadwal tersedia pada paket Pro, Max, Team, dan Enterprise. Buat dan kelola di [claude.ai/code/routines](https://claude.ai/code/routines), atau dari CLI dengan `/schedule`. Nama sebelumnya, routines, [masih muncul](#where-the-name-routines-still-appears) di alamat web, CLI, dan API.
28 29
29<h2 id="example-use-cases">30> [!NOTE]
30 Contoh kasus penggunaan31>
31</h2>32> Dua fitur lain menjadwalkan pekerjaan di mesin Anda alih-alih di cloud: [tugas terjadwal Desktop](/docs/id/desktop-scheduled-tasks) dan [`/loop`](/docs/id/scheduled-tasks). Untuk memilih di antara ketiganya, lihat [Bandingkan opsi penjadwalan](/docs/id/scheduled-tasks#compare-scheduling-options).
32 33
33Setiap contoh memasangkan jenis pemicu dengan jenis pekerjaan yang cocok untuk rutinitas: tanpa pengawasan, dapat diulang, dan terikat pada hasil yang jelas.34Owner Team dan Enterprise dapat menonaktifkan tugas terjadwal untuk semua anggota dengan toggle **Scheduled tasks (Was Routines)** di [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities). Ketika toggle dimatikan, tugas terjadwal yang ada berhenti berjalan dan anggota tidak dapat membuat yang baru.
34 35
35**Pemeliharaan backlog.** Pemicu jadwal berjalan setiap malam kerja terhadap pelacak masalah Anda melalui konektor. Rutinitas membaca masalah yang dibuka sejak jalankan terakhir, menerapkan label, menetapkan pemilik berdasarkan area kode yang direferensikan, dan memposting ringkasan ke Slack sehingga tim memulai hari dengan antrian yang terawat.36## Contoh kasus penggunaan
36 37
37**Triase peringatan.** Alat pemantauan Anda memanggil titik akhir API rutinitas ketika ambang batas kesalahan terlampaui, meneruskan badan peringatan sebagai `text`. Rutinitas menarik jejak tumpukan, menghubungkannya dengan komit terbaru di repositori, dan membuka permintaan tarik draf dengan perbaikan yang diusulkan dan tautan kembali ke peringatan. On-call meninjau PR alih-alih memulai dari terminal kosong.38Setiap contoh memasangkan jenis pemicu dengan jenis pekerjaan yang cocok untuk tugas terjadwal: tanpa pengawasan, dapat diulang, dan terikat pada hasil yang jelas.
38 39
39**Tinjauan kode khusus.** Pemicu GitHub berjalan pada `pull_request.opened`. Rutinitas menerapkan daftar periksa tinjauan tim Anda sendiri, meninggalkan komentar sebaris untuk masalah keamanan, kinerja, dan gaya, dan menambahkan komentar ringkasan sehingga peninjau manusia dapat fokus pada desain alih-alih pemeriksaan mekanis.40* **Pemeliharaan backlog**: pemicu jadwal berjalan setiap malam hari kerja di repositori Anda, dengan pelacak issue Anda ditambahkan sebagai konektor. Tugas terjadwal membaca issue yang dibuka sejak eksekusi terakhir, menerapkan label, dan menetapkan pemilik berdasarkan area kode yang direferensikan. Kemudian tugas tersebut memposting ringkasan ke Slack sehingga tim memulai hari dengan antrean yang sudah rapi.
41* **Triase peringatan**: alat pemantauan Anda memanggil endpoint API tugas terjadwal ketika ambang batas error terlampaui, meneruskan isi peringatan sebagai `text`. Prompt tugas memberi tahu Claude untuk menyelidiki peringatan dalam payload pemicu, sehingga Claude mengambil stack trace dan mengorelasikannya dengan commit terbaru di repositori. Kemudian Claude membuka pull request draf dengan perbaikan yang diusulkan dan tautan kembali ke peringatan. Petugas on-call meninjau PR alih-alih memulai dari terminal kosong.
42* **Code review khusus**: pemicu GitHub berjalan pada `pull_request.opened`. Tugas terjadwal menerapkan daftar periksa review milik tim Anda sendiri dan meninggalkan komentar inline untuk masalah keamanan, kinerja, dan gaya. Tugas tersebut juga menambahkan komentar ringkasan sehingga peninjau manusia dapat fokus pada desain alih-alih pemeriksaan mekanis.
43* **Verifikasi deployment**: pipeline CD Anda memanggil endpoint API tugas terjadwal setelah setiap deployment produksi. Tugas menjalankan smoke check terhadap build baru, memindai log error untuk regresi, dan memposting keputusan go atau no-go ke saluran rilis sebelum jendela deployment ditutup.
44* **Dokumentasi yang tertinggal**: pemicu jadwal berjalan mingguan. Tugas terjadwal memindai PR yang di-merge sejak eksekusi terakhir, menandai dokumentasi yang mereferensikan API yang berubah, dan membuka PR pembaruan terhadap repositori dokumentasi untuk ditinjau oleh editor.
45* **Port library**: pemicu GitHub berjalan pada `pull_request.closed` yang difilter ke PR yang di-merge di satu repositori SDK. Tugas terjadwal mem-port perubahan ke SDK paralel dalam bahasa lain dan membuka PR yang sesuai, menjaga kedua library tetap selaras tanpa manusia mengimplementasikan ulang setiap perubahan.
40 46
41**Verifikasi penyebaran.** Saluran pipa CD Anda memanggil titik akhir API rutinitas setelah setiap penyebaran produksi. Rutinitas menjalankan pemeriksaan asap terhadap build baru, memindai log kesalahan untuk regresi, dan memposting go atau no-go ke saluran rilis sebelum jendela penyebaran ditutup.47## Buat tugas terjadwal
42 48
43**Hanyut dokumentasi.** Pemicu jadwal berjalan mingguan. Rutinitas memindai PR yang digabungkan sejak jalankan terakhir, menandai dokumentasi yang mereferensikan API yang berubah, dan membuka PR pembaruan terhadap repositori dokumen untuk editor ditinjau.49Buat tugas terjadwal dari web di [claude.ai/code/routines](https://claude.ai/code/routines), dari aplikasi Desktop, atau dari CLI. Ketiga surface menulis ke akun cloud yang sama, sehingga tugas terjadwal yang Anda buat di salah satunya langsung muncul di yang lain. Di tab **Code** aplikasi Desktop, klik **Scheduled** di sidebar atau di menu **More** pada sidebar, lalu **New task**, dan lanjutkan dengan [Buat dari web](#create-from-the-web).
44 50
45**Port perpustakaan.** Pemicu GitHub berjalan pada `pull_request.closed` disaring ke PR yang digabungkan di satu repositori SDK. Rutinitas memindahkan perubahan ke SDK paralel dalam bahasa lain dan membuka PR yang cocok, menjaga kedua perpustakaan tetap sinkron tanpa manusia mengimplementasikan ulang setiap perubahan.51Tugas terjadwal berjalan secara otonom sebagai sesi cloud Claude Code penuh. Anda tidak memilih mode izin. Sesi menjalankan perintah shell, menggunakan [skills](/docs/id/skills) yang di-commit ke repositori yang diklon, dan memanggil konektor apa pun yang Anda sertakan, semuanya tanpa berhenti untuk meminta persetujuan kecuali untuk beberapa [tindakan artifact](#when-a-run-publishes-an-artifact-without-asking).
46 52
47<h2 id="create-a-routine">53Apa yang dapat dijangkau tugas terjadwal ditentukan oleh:
48 Buat rutinitas
49</h2>
50 54
51Buat rutinitas dari web di [claude.ai/code/routines](https://claude.ai/code/routines), dari aplikasi Desktop, atau dari CLI. Ketiga permukaan menulis ke akun cloud yang sama, sehingga rutinitas yang Anda buat di satu tempat muncul di tempat lain segera. Di aplikasi Desktop, klik **Routines** di bilah sisi atau di menu **More** bilah sisi, lalu **New routine**, dan pilih **Cloud**; memilih **Local** malah membuat [tugas terjadwal Desktop](/docs/id/desktop-scheduled-tasks), yang berjalan di mesin Anda daripada di cloud.55* Repositori yang Anda pilih
56* Akses jaringan dan variabel [lingkungan](/docs/id/cloud-environments)
57* Konektor yang Anda sertakan
52 58
53Formulir pembuatan menyiapkan prompt rutinitas, repositori, lingkungan, konektor, dan pemicu.59Batasi masing-masing sesuai yang dibutuhkan tugas.
54 60
55Routine berjalan secara otonom sebagai sesi cloud Claude Code penuh: tidak ada pemilih mode izin, dan sesi menjalankan perintah shell, menggunakan [skills](/docs/id/skills) yang telah di-commit ke repositori yang diklon, dan memanggil konektor apa pun yang Anda sertakan, semuanya tanpa berhenti untuk meminta persetujuan kecuali untuk beberapa [tindakan artifact](#when-a-run-publishes-an-artifact-without-asking).61Tugas terjadwal milik akun claude.ai individual Anda. Tugas tersebut tidak dibagikan dengan rekan tim, dan eksekusinya dihitung terhadap [penggunaan dan batas](#usage-and-limits) akun Anda. Apa pun yang dilakukan tugas terjadwal melalui identitas GitHub atau konektor yang terhubung akan muncul sebagai Anda. Commit dan pull request membawa pengguna GitHub Anda, dan pesan Slack, tiket Linear, atau tindakan konektor lainnya menggunakan akun tertaut Anda untuk layanan tersebut.
56 62
57Apa yang dapat dijangkau rutinitas ditentukan oleh repositori yang Anda pilih, [lingkungan](/docs/id/cloud-environments) akses jaringan dan variabel, dan konektor yang Anda sertakan. Cakupan masing-masing ke apa yang benar-benar dibutuhkan rutinitas.63### Buat dari web
58 64
59Rutinitas milik akun claude.ai individual Anda. Mereka tidak dibagikan dengan rekan kerja, dan mereka dihitung terhadap tunjangan jalankan akun Anda [usage and limits](#usage-and-limits). Apa pun yang dilakukan rutinitas melalui identitas GitHub yang terhubung atau konektor muncul sebagai Anda: komit dan permintaan tarik membawa pengguna GitHub Anda, dan pesan Slack, tiket Linear, atau tindakan konektor lainnya menggunakan akun tertaut Anda untuk layanan tersebut.65**1. Buka dialog pembuatan**
60 66
61<h3 id="create-from-the-web">67Buka [claude.ai/code/routines](https://claude.ai/code/routines) dan klik **New task**. Jika sebuah menu terbuka terlebih dahulu, pilih **Set up manually**. Dialog **New scheduled task** akan terbuka. Opsi lain pada menu, **Create with Claude**, memungkinkan Anda mendeskripsikan tugas dalam obrolan dan meminta Claude membuatnya.
62 Buat dari web
63</h3>
64 68
65<Steps>69Jika **Repositories** dan **Environment** sudah ditampilkan saat dialog terbuka, lihat [perbedaan dialog tersebut](#dialog-with-repositories-and-environment-in-the-main-view). Jika tidak, dialog ini juga membuat tugas terjadwal untuk obrolan claude.ai. Untuk menjadikan tugas Anda sebagai apa yang disebut dialog sebagai tugas Claude Code, pilih repositori atau tambahkan pemicu peristiwa GitHub atau API pada langkah-langkah berikutnya. Jenis tugas tersebut menjalankan Claude Code dalam sesi cloud.
66 <Step title="Buka formulir pembuatan">
67 Kunjungi [claude.ai/code/routines](https://claude.ai/code/routines) dan klik **New routine**.
68 </Step>
69 70
70 <Step title="Beri nama rutinitas dan tulis prompt">71**2. Beri nama tugas dan tulis prompt**
71 Berikan rutinitas nama deskriptif dan tulis prompt yang Claude jalankan setiap kali. Prompt adalah bagian paling penting: rutinitas berjalan secara otonom, jadi prompt harus mandiri dan eksplisit tentang apa yang harus dilakukan dan seperti apa kesuksesan itu.
72 72
73 Ketika pemicu menyala, sesi menerima prompt rutinitas yang disimpan sebagai tugas yang ditugaskan dan melaksanakannya, daripada memperlakukannya sebagai konten yang tidak dipercaya yang tiba di tengah percakapan. Pemicu hanya membuktikan bahwa prompt disimpan sebelumnya oleh sesi yang berwenang di akun Anda, jadi prompt yang dipicu bukan masukan pengguna langsung dan tidak dapat bertindak sebagai persetujuan atau persetujuan untuk tindakan selama jalankan. Konten yang sesi ambil selama jalankan mempertahankan penanganannya yang normal. Sebelum v2.1.213, sesi menerima prompt yang sama dibingkai sebagai notifikasi latar belakang yang tidak dipercaya dan dapat menolak untuk bertindak atasnya.73Berikan tugas terjadwal nama yang deskriptif dan tulis prompt yang dijalankan Claude setiap kali. Prompt adalah bagian terpenting: tugas berjalan secara otonom, sehingga prompt harus mandiri dan eksplisit tentang apa yang harus dilakukan dan seperti apa keberhasilan itu. Pilih model di pemilih model pada input prompt. Claude menggunakannya pada setiap eksekusi.
74 74
75 Input prompt mencakup pemilih model. Claude menggunakan model yang dipilih pada setiap jalankan.75Ketika pemicu aktif, sesi menerima prompt yang disimpan sebagai tugasnya dan melaksanakannya, alih-alih memperlakukannya sebagai konten tidak tepercaya yang tiba di tengah percakapan. Pemicu hanya membuktikan bahwa prompt disimpan sebelumnya oleh sesi yang berwenang di akun Anda. Karena itu, prompt yang dipicu bukan input pengguna langsung dan tidak dapat berfungsi sebagai persetujuan atau izin untuk tindakan selama eksekusi. Konten yang diambil sesi selama eksekusi tetap ditangani seperti biasa.
76 </Step>
77 76
78 <Step title="Pilih repositori">77**3. Pilih pemicu**
79 Tambahkan satu atau lebih repositori GitHub untuk dikerjakan Claude. Setiap repositori diklon di awal run. Claude membuat branch dengan awalan `claude/` untuk perubahannya.
80 </Step>
81 78
82 <Step title="Pilih lingkungan">79Di baris **Trigger**, pilih bagaimana tugas dimulai. Untuk menggabungkan beberapa pemicu, klik **+** di ujung baris.
83 Pilih [lingkungan cloud](/docs/id/cloud-environments) untuk rutinitas. Lingkungan mengontrol apa yang dapat diakses sesi cloud:
84 80
85 * **Network access**: atur tingkat akses internet yang tersedia selama setiap jalankan81**Schedule**
86 * **Environment variables**: sediakan nilai yang dapat digunakan Claude selama setiap run. Nilai tersebut [terlihat oleh siapa pun yang menggunakan lingkungan](/docs/id/cloud-environments#what-carries-over-from-your-setup), jadi di lingkungan yang di-host Anthropic, simpan kunci untuk API yang dipanggil Claude selama run sebagai [network secrets](/docs/id/cloud-environments#add-network-secrets) sebagai gantinya. Bagian itu juga mencantumkan permintaan yang tidak pernah mendapatkan secret
87 * **Setup script**: instal dependensi dan alat yang dibutuhkan rutinitas. Hasilnya [di-cache](/docs/id/cloud-environments#environment-caching), jadi skrip tidak berjalan ulang pada setiap sesi
88 82
89 Lingkungan **Default** disediakan dengan akses jaringan **Trusted**, yang memungkinkan hanya [daftar allowlist default](/docs/id/cloud-environments#default-allowed-domains) registri paket, API penyedia cloud, registri kontainer, dan domain pengembangan umum melalui jaringan sesi. Konektor yang Anda tambahkan ke rutinitas menjangkau layanan mereka melalui server Anthropic, jadi mereka tidak memerlukan perubahan allowlist. Jika rutinitas Anda perlu menjangkau layanan Anda sendiri secara langsung, atau domain di luar daftar itu, edit [akses jaringan](/docs/id/cloud-environments#network-access) lingkungan sebelum menjalankan. Untuk menggunakan lingkungan terpisah, [buat satu](/docs/id/cloud-environments#configure-your-environment) terlebih dahulu.83Pilih frekuensi preset untuk eksekusi berulang. Lihat [Tambahkan pemicu jadwal](#add-a-schedule-trigger) untuk penanganan zona waktu, mulai yang terlambat, interval cron khusus, dan eksekusi satu kali.
90 </Step>
91 84
92 <Step title="Pilih pemicu">85**GitHub event**
93 Di bawah **Select a trigger**, pilih bagaimana rutinitas dimulai. Anda dapat memilih satu jenis pemicu atau menggabungkan beberapa.
94 86
95 <Tabs>87Pilih repositori, peristiwa yang akan direspons, dan filter opsional. Lihat [Tambahkan pemicu GitHub](#add-a-github-trigger) untuk daftar lengkap peristiwa dan kolom filter yang didukung.
96 <Tab title="Schedule">
97 Pilih frekuensi preset untuk jalankan berulang, atau jadwalkan satu jalankan satu kali pada stempel waktu tertentu. Lihat [Add a schedule trigger](#add-a-schedule-trigger) untuk penanganan zona waktu, stagger, interval cron khusus, dan jalankan satu kali.
98 </Tab>
99 88
100 <Tab title="GitHub event">89**API**
101 Pilih repositori, peristiwa untuk bereaksi, dan filter opsional. Lihat [Add a GitHub trigger](#add-a-github-trigger) untuk daftar lengkap peristiwa yang didukung dan bidang filter.
102 </Tab>
103 90
104 <Tab title="API">91Pilih **API** di sini. Saat Anda mengklik **Create**, dialog **API token** menampilkan token sekali, jadi salin sebelum Anda menutup dialog. Lihat [Tambahkan pemicu API](#add-an-api-trigger) untuk menyalin URL atau membuat token baru.
105 Pilih **API** di sini, lalu simpan rutinitas. URL dan token dihasilkan setelah rutinitas disimpan, karena bergantung pada ID rutinitas. Lihat [Add an API trigger](#add-an-api-trigger) untuk menyalin URL dan menghasilkan token.
106 </Tab>
107 </Tabs>
108 </Step>
109 92
110 <Step title="Tinjau konektor">93**4. Pilih repositori**
111 Di bawah **Connectors** di bagian bawah formulir, semua [konektor MCP](/docs/id/mcp) yang terhubung disertakan secara default. Hapus yang tidak dibutuhkan rutinitas: Claude dapat menggunakan setiap alat dari konektor yang disertakan, termasuk penulisan, tanpa meminta izin selama jalankan.
112 </Step>
113 94
114 <Step title="Buat rutinitas">95Perluas **Advanced settings**. Di bawah **Repository** pada tab **General**, pilih satu atau lebih repositori GitHub tempat Claude akan bekerja.
115 Klik **Create**. Rutinitas muncul dalam daftar dan berjalan saat salah satu pemicunya cocok. Untuk memulai jalankan segera, klik **Run now** di halaman detail rutinitas.
116 96
117 Setiap jalankan membuat sesi baru bersama sesi lainnya, di mana Anda dapat melihat apa yang dilakukan Claude, meninjau perubahan, dan membuat permintaan tarik.97Setiap repositori diklon di awal eksekusi. Claude membuat branch dengan awalan `claude/` untuk perubahannya.
118 </Step>
119</Steps>
120 98
121<h3 id="create-from-the-cli">99**5. Pilih lingkungan**
122 Buat dari CLI
123</h3>
124 100
125Jalankan `/schedule` dalam sesi apa pun untuk membuat rutinitas terjadwal secara percakapan. Anda juga dapat meneruskan deskripsi langsung, untuk rutinitas berulang seperti `/schedule daily PR review at 9am` atau satu kali seperti `/schedule clean up feature flag in one week`. Claude menjalani informasi yang sama yang dikumpulkan formulir web, lalu menyimpan rutinitas ke akun Anda. Perintah juga tersedia di bawah alias `/routines`.101Setelah Anda memilih repositori, **Cloud environment** muncul di bawahnya. Pilih [lingkungan cloud](/docs/id/cloud-environments) untuk tugas. Lingkungan mengontrol apa yang dapat diakses oleh sesi cloud:
126 102
127Awal yang berhasil terlihat seperti percakapan: Claude mengajukan pertanyaan lanjutan tentang jadwal, repositori, dan prompt sebelum menyimpan. Jika Claude malah menjawab bahwa Anda perlu mengautentikasi atau bahwa Claude tidak dapat terhubung ke akun claude.ai jarak jauh Anda, tidak ada rutinitas yang dibuat; lihat [Troubleshooting](#troubleshooting).103* **Network access**: atur tingkat akses internet yang tersedia selama setiap eksekusi
104* **Environment variables**: sediakan nilai yang dapat digunakan Claude selama setiap eksekusi. Nilai tersebut [terlihat oleh siapa pun yang menggunakan lingkungan](/docs/id/cloud-environments#what-carries-over-from-your-setup), jadi di lingkungan yang di-host Anthropic, simpan kunci untuk API yang dipanggil Claude selama eksekusi sebagai [network secrets](/docs/id/cloud-environments#add-network-secrets). Bagian tersebut juga mencantumkan permintaan yang tidak pernah mendapatkan secret
105* **Setup script**: instal dependensi dan alat yang dibutuhkan tugas. Hasilnya [di-cache](/docs/id/cloud-environments#environment-caching), sehingga skrip tidak dijalankan ulang pada setiap sesi
128 106
129`/schedule` di CLI membuat rutinitas terjadwal. Untuk menambahkan pemicu API, edit rutinitas di web di [claude.ai/code/routines](https://claude.ai/code/routines). Anda dapat menambahkan [pemicu GitHub](#add-a-github-trigger) dari web atau dari CLI. Jalur CLI memerlukan Claude Code v2.1.225 atau lebih baru.107Lingkungan **Default** disediakan dengan akses jaringan **Trusted**, yang hanya mengizinkan [allowlist default](/docs/id/cloud-environments#default-allowed-domains) berupa registri paket, API penyedia cloud, registri kontainer, dan domain pengembangan umum melalui jaringan sesi. Konektor yang Anda tambahkan ke tugas menjangkau layanannya melalui server Anthropic, sehingga tidak memerlukan perubahan allowlist.
130 108
131Rutinitas tanpa pemicu jadwal, seperti yang dimulai hanya oleh panggilan API atau peristiwa GitHub, tidak memiliki waktu jalankan berikutnya, dan CLI tidak menunjukkan apa pun ketika Claude menyimpan atau memperbarui. Sebelum v2.1.211, CLI melaporkan waktu jalankan berikutnya pada tahun 1 untuk rutinitas ini.109Jika tugas Anda perlu menjangkau layanan Anda sendiri secara langsung, atau domain di luar daftar tersebut, edit [akses jaringan](/docs/id/cloud-environments#network-access) lingkungan sebelum menjalankan. Untuk menggunakan lingkungan terpisah, [buat satu](/docs/id/cloud-environments#configure-your-environment) terlebih dahulu.
132 110
133<h2 id="configure-triggers">111**6. Tinjau konektor**
134 Konfigurasi pemicu
135</h2>
136 112
137Rutinitas dimulai ketika salah satu pemicunya cocok. Anda dapat melampirkan kombinasi apa pun dari pemicu jadwal, API, dan GitHub ke rutinitas yang sama, dan menambah atau menghapusnya kapan saja dari bagian **Select a trigger** formulir edit rutinitas.113Beralih ke tab **Connectors** pada **Advanced settings**. Semua [konektor MCP](/docs/id/mcp) Anda yang terhubung disertakan secara default. Hapus yang tidak dibutuhkan tugas: Claude dapat menggunakan setiap tool dari konektor yang disertakan, termasuk operasi tulis, tanpa meminta izin selama eksekusi.
138 114
139<h3 id="add-a-schedule-trigger">115**7. Buat tugas**
140 Tambahkan pemicu jadwal
141</h3>
142 116
143Pemicu jadwal menjalankan rutinitas dengan frekuensi berulang, atau sekali pada waktu masa depan tertentu. Pilih frekuensi preset di bagian **Select a trigger**: per jam, harian, hari kerja, atau mingguan. Waktu dimasukkan dalam zona lokal Anda dan dikonversi secara otomatis, sehingga rutinitas berjalan pada waktu dinding jam itu terlepas dari di mana infrastruktur cloud berada.117Klik **Create**. Dialog tertutup dan halaman detail tugas baru terbuka. Tugas berjalan saat salah satu pemicunya cocok berikutnya. Untuk memulai eksekusi segera, klik **Run now** di halaman detail.
144 118
145Jika Anda menjadwalkan jalankan tepat pada jam, seperti 9:00, jalankan dapat dimulai beberapa menit terlambat. Untuk memulai dekat dengan waktu terjadwal, pilih beberapa menit setelah jam, misalnya 9:07.119Setiap eksekusi membuat sesi baru di samping sesi Anda yang lain, tempat Anda dapat melihat apa yang dilakukan Claude, meninjau perubahan, dan membuat pull request.
146 120
147Untuk interval khusus seperti setiap dua jam atau tanggal pertama setiap bulan, pilih preset terdekat dalam formulir, lalu jalankan `/schedule update` di CLI untuk menetapkan ekspresi cron spesifik. Interval minimum adalah satu jam; ekspresi yang berjalan lebih sering ditolak.121#### Dialog dengan Repositories dan Environment di tampilan utama
148 122
149<h4 id="schedule-a-one-off-run">123Ikuti [langkah-langkah untuk membuat dari web](#create-from-the-web), dan isi setiap kolom di tampilan utama dialog alih-alih di bawah **Advanced settings**. Dialog ini hanya membuat tugas Claude Code.
150 Jadwalkan jalankan sekali
151</h4>
152 124
153Jadwal sekali menjalankan rutinitas satu kali pada stempel waktu tertentu. Gunakan untuk mengingatkan diri sendiri nanti dalam minggu ini, untuk membuka PR pembersihan setelah rollout selesai, atau untuk memulai tugas tindak lanjut ketika perubahan upstream tiba. Setelah rutinitas dijalankan, rutinitas secara otomatis menonaktifkan dan UI web menandainya sebagai **Ran**. Untuk menjalankannya lagi, edit rutinitas dan atur waktu sekali baru.125Pilih repositori sebelum Anda menambahkan pemicu peristiwa GitHub, karena pemicu tersebut tidak tersedia sampai repositori dipilih.
154 126
155Buat jalankan sekali dari CLI dengan mendeskripsikan waktu dalam bahasa alami. Claude menyelesaikan frasa terhadap waktu saat ini dan mengonfirmasi stempel waktu absolut sebelum menyimpan.127### Buat dari CLI
128
129Jalankan `/schedule` di sesi mana pun untuk membuat tugas terjadwal secara percakapan. Anda juga dapat meneruskan deskripsi secara langsung, untuk tugas berulang seperti `/schedule daily PR review at 9am` atau tugas satu kali seperti `/schedule clean up feature flag in one week`. Claude memandu melalui informasi yang sama yang dikumpulkan dialog web, lalu menyimpan tugas ke akun Anda. Perintah ini juga tersedia dengan alias `/routines`.
130
131Awal yang berhasil terlihat seperti percakapan: Claude mengajukan pertanyaan lanjutan tentang jadwal, repositori, dan prompt sebelum menyimpan. Jika Claude justru menjawab bahwa Anda perlu melakukan autentikasi atau bahwa Claude tidak dapat terhubung ke akun claude.ai jarak jauh Anda, tidak ada tugas terjadwal yang dibuat; lihat [Pemecahan masalah](#troubleshooting).
132
133Tugas yang Anda buat dengan `/schedule` memiliki pemicu jadwal. Anda juga dapat menambahkan jenis pemicu lainnya:
134
135* **Pemicu API**: edit tugas di web di [claude.ai/code/routines](https://claude.ai/code/routines)
136* **[Pemicu GitHub](#add-a-github-trigger)**: edit tugas di web, atau minta Claude di CLI. Menambahkannya dari CLI memerlukan Claude Code v2.1.225 atau lebih baru
137
138Tugas terjadwal tanpa pemicu jadwal, seperti yang hanya dimulai oleh panggilan API atau peristiwa GitHub, tidak memiliki waktu eksekusi berikutnya. CLI tidak menampilkannya ketika Claude menyimpan atau memperbaruinya. Sebelum v2.1.211, CLI melaporkan waktu eksekusi berikutnya pada tahun 1 untuk tugas-tugas ini.
139
140## Konfigurasi pemicu
141
142Tugas terjadwal dimulai ketika salah satu pemicunya cocok. Tambahkan atau hapus pemicu tugas kapan saja di baris **Trigger** pada [dialog edit](#edit-and-control-scheduled-tasks) tugas.
143
144Ketika tugas memiliki dua pemicu atau lebih, masing-masing memiliki ikon tempat sampah di dialog tersebut. Untuk menghapus pemicu jadwal atau peristiwa GitHub, klik ikon tempat sampahnya, lalu **Save changes**. Untuk menghapus pemicu API, [hapus tokennya](#add-an-api-trigger).
145
146### Tambahkan pemicu jadwal
147
148Pemicu jadwal menjalankan tugas dengan frekuensi berulang, atau sekali pada waktu tertentu di masa depan. Di dialog pembuatan atau edit tugas di web, pilih frekuensi preset seperti per jam, harian, atau mingguan:
149
150* **Zona waktu**: waktu dimasukkan dalam zona lokal Anda dan dikonversi secara otomatis, sehingga tugas berjalan pada waktu jam dinding tersebut terlepas dari lokasi infrastruktur cloud.
151* **Eksekusi tepat pada jam**: jika Anda menjadwalkan eksekusi tepat pada jam, seperti 9:00, eksekusi dapat dimulai beberapa menit terlambat. Untuk memulai mendekati waktu terjadwal, pilih beberapa menit setelah jam, misalnya 9:07.
152* **Interval khusus**: untuk interval khusus seperti setiap dua jam, pilih preset terdekat di dialog, lalu jalankan `/schedule update` di CLI untuk menetapkan ekspresi cron tertentu. Interval minimum adalah satu jam; ekspresi yang berjalan lebih sering akan ditolak.
153
154#### Jadwalkan eksekusi satu kali
155
156Jadwal satu kali menjalankan tugas satu kali pada stempel waktu tertentu. Misalnya, gunakan untuk:
157
158* Mengingatkan diri sendiri di akhir minggu
159* Membuka PR pembersihan setelah rollout selesai
160* Memulai pekerjaan lanjutan setelah perubahan upstream dirilis
161
162Setelah tugas berjalan, tugas tersebut menonaktifkan dirinya sendiri dan UI web menandainya sebagai **Completed**. Untuk menjalankannya lagi, buka dialog edit tugas di web, yang menawarkan **One-time** untuk tugas satu kali, dan atur waktu baru.
163
164Buat eksekusi satu kali dari CLI dengan mendeskripsikan waktu dalam bahasa alami. Claude menafsirkan frasa tersebut terhadap waktu saat ini dan mengonfirmasi stempel waktu absolut sebelum menyimpan.
156 165
157```text theme={null}166```text theme={null}
158/schedule tomorrow at 9am, summarize yesterday's merged PRs167/schedule tomorrow at 9am, summarize yesterday's merged PRs
162/schedule in 2 weeks, open a cleanup PR that removes the feature flag171/schedule in 2 weeks, open a cleanup PR that removes the feature flag
163```172```
164 173
165Konversi lokal-ke-UTC yang sama seperti jadwal berulang berlaku untuk stempel waktu sekali.174Konversi lokal-ke-UTC yang sama seperti jadwal berulang berlaku untuk stempel waktu satu kali.
175
176Eksekusi satu kali dihitung terhadap batas per jam yang sama dengan eksekusi terjadwal lainnya. Lihat [Penggunaan dan batas](#usage-and-limits) untuk detailnya.
166 177
167Jalankan sekali dihitung terhadap batas per jam yang sama seperti jalankan terjadwal lainnya. Lihat [Usage and limits](#usage-and-limits) untuk detail.178### Tambahkan pemicu API
168 179
169<h3 id="add-an-api-trigger">180Pemicu API memberikan tugas terjadwal endpoint HTTP khusus. Mengirim POST ke endpoint dengan token bearer tugas akan memulai sesi baru dan mengembalikan URL sesi. Gunakan ini untuk menghubungkan Claude Code ke sistem peringatan, pipeline deployment, alat internal, atau di mana pun Anda dapat membuat permintaan HTTP yang terautentikasi.
170 Tambahkan pemicu API
171</h3>
172 181
173Pemicu API memberikan rutinitas titik akhir HTTP khusus. POSTing ke titik akhir dengan token pembawa rutinitas memulai sesi baru dan mengembalikan URL sesi. Gunakan ini untuk menghubungkan Claude Code ke sistem peringatan, saluran pipa penyebaran, alat internal, atau di mana pun Anda dapat membuat permintaan HTTP yang diautentikasi.182Tambahkan pemicu API di web, baik saat Anda [membuat tugas](#create-from-the-web) maupun nanti dengan langkah-langkah di bawah. Anda tidak dapat menambahkan pemicu API atau mengelola tokennya dari CLI.
174 183
175Pemicu API ditambahkan ke routine yang ada dari web. CLI saat ini tidak dapat membuat, meregenerasi, atau menghapus token.184**1. Buka tugas untuk diedit**
176 185
177<Steps>186Buka [claude.ai/code/routines](https://claude.ai/code/routines), klik tugas terjadwal yang ingin Anda picu melalui API, lalu buka menu di sebelah namanya dan pilih **Edit**. Dialog **Edit scheduled task** akan terbuka.
178 <Step title="Buka rutinitas untuk diedit">
179 Buka [claude.ai/code/routines](https://claude.ai/code/routines), klik rutinitas yang ingin Anda picu melalui API, lalu buka menu di sebelah nama rutinitas dan pilih **Edit**.
180 </Step>
181 187
182 <Step title="Tambahkan pemicu API">188**2. Tambahkan pemicu API**
183 Gulir ke bagian **Select a trigger** di bawah kotak **Instructions**, klik **Add another trigger**, dan pilih **API**.
184 </Step>
185 189
186 <Step title="Salin URL dan hasilkan token">190Di baris **Trigger**, klik **+** dan pilih **API** dari menu yang terbuka. Panel dengan **Fire URL** dan **Token** untuk tugas ini akan muncul.
187 Modal menampilkan URL untuk rutinitas ini bersama dengan contoh perintah curl. Salin URL, lalu klik **Generate token** dan salin token segera. Token ditampilkan sekali dan tidak dapat diambil nanti, jadi simpan di tempat yang aman seperti penyimpanan rahasia alat peringatan Anda.
188 </Step>
189 191
190 <Step title="Panggil titik akhir">192**3. Salin URL dan buat token**
191 Kirim token di header `Authorization: Bearer` ketika Anda POST ke URL. Bagian [Trigger a routine](#trigger-a-routine) di bawah menunjukkan contoh lengkap.
192 </Step>
193</Steps>
194 193
195Setiap routine memiliki token sendiri, dibatasi untuk memicu routine itu saja. Untuk mematikan akses API atau memutar token, kembali ke modal yang sama:194Salin **Fire URL**. Klik **Generate token**, lalu segera salin token dari dialog **Token generated**. Token ditampilkan sekali dan tidak dapat diambil kembali nanti, jadi simpan di tempat yang aman seperti penyimpanan secret alat peringatan Anda.
196 195
197* **Matikan akses API**: klik **Delete token**, ikon tempat sampah di sebelah **Regenerate**196Pemicu API berlaku segera setelah Anda membuat token. Anda tidak perlu mengklik **Save changes**, jadi tutup dialog setelah selesai.
198* **Putar token**: klik **Regenerate**
199 197
200<h4 id="trigger-a-routine">198**4. Panggil endpoint**
201 Picu rutinitas
202</h4>
203 199
204Kirim permintaan POST ke titik akhir `/fire` dengan token pembawa di header `Authorization`. Badan permintaan menerima bidang `text` opsional untuk konteks spesifik jalankan seperti badan peringatan atau log yang gagal, diteruskan ke rutinitas bersama prompt yang disimpannya. Nilainya adalah teks freeform dan tidak diuraikan: jika Anda mengirim JSON atau muatan terstruktur lainnya, rutinitas menerimanya sebagai string literal.200Kirim token di header `Authorization: Bearer` saat Anda mengirim POST ke URL. [Picu tugas terjadwal](#trigger-a-scheduled-task) menunjukkan contoh lengkap.
205 201
206Nilai `text` tidak mencapai rutinitas sebagai pesan telanjang. Nilai tersebut tiba dibungkus dalam blok `<routine-fire-payload>` yang memberi labelnya sebagai data yang tidak dipercaya dan memberitahu Claude untuk tidak mengikuti instruksi di dalamnya kecuali prompt rutinitas sendiri mengatakan demikian. Pembungkus yang sama berlaku untuk teks yang disediakan dengan **Run now** di UI web.202Setiap tugas terjadwal memiliki tokennya sendiri, yang dibatasi hanya untuk memicu tugas tersebut. Untuk mematikan akses API atau merotasi token, [buka kembali dialog **Edit scheduled task** tugas](#edit-and-control-scheduled-tasks). Kedua kontrol berada di sebelah token pada panel pemicu API dan langsung berlaku:
207 203
208Ini berarti prompt yang disimpan rutinitas harus memilih untuk bertindak pada teks pemicu: tulis prompt untuk mereferensikan payload secara eksplisit, misalnya "Investigasi peringatan yang dijelaskan dalam blok routine-fire-payload", atau rutinitas memperlakukan teks sebagai konteks inert. Siapa pun yang memegang token pembawa dapat mengirim `text`, jadi pembungkus membuat teks pemicu dari token yang bocor tiba berlabel sebagai data yang tidak dipercaya daripada sebagai instruksi langsung ke rutinitas Anda.204* **Matikan akses API**: klik **Delete token**, ikon tempat sampah di sebelah **Regenerate**. Ini menghapus pemicu API
205* **Rotasi token**: klik **Regenerate**. Token sebelumnya berhenti berfungsi, dan dialog **Token generated** menampilkan token baru sekali
209 206
210Contoh di bawah memicu rutinitas dari shell. ID rutinitas dan token yang ditampilkan adalah placeholder: gantikan dengan URL dan token yang Anda salin saat [menambahkan pemicu API](#add-an-api-trigger), atau permintaan gagal dengan kesalahan autentikasi `401`:207#### Picu tugas terjadwal
208
209Kirim permintaan POST ke endpoint `/fire` dengan token bearer di header `Authorization`. Body permintaan menerima kolom `text` opsional untuk konteks khusus eksekusi seperti isi peringatan atau log yang gagal, yang diteruskan ke tugas bersama prompt yang disimpannya. Nilainya berupa teks bebas dan tidak di-parse: jika Anda mengirim JSON atau payload terstruktur lainnya, tugas menerimanya sebagai string literal.
210
211Nilai `text` tidak mencapai routine sebagai pesan polos. Nilai tersebut tiba dibungkus dalam blok `<routine-fire-payload>` yang melabelinya sebagai data tidak tepercaya dan memberi tahu Claude untuk tidak mengikuti instruksi di dalamnya kecuali prompt routine itu sendiri menyatakan demikian. Pembungkus yang sama berlaku untuk teks yang diberikan dengan **Run now** di UI web.
212
213Ini berarti prompt yang disimpan pada routine harus secara eksplisit memilih untuk bertindak berdasarkan teks pemicu: tulis prompt yang mereferensikan payload secara eksplisit, misalnya "Investigate the alert described in the routine-fire-payload block", jika tidak routine memperlakukan teks tersebut sebagai konteks pasif. Siapa pun yang memegang token bearer dapat mengirim `text`, sehingga pembungkus membuat teks pemicu dari token yang bocor tiba dengan label data tidak tepercaya, bukan sebagai instruksi langsung ke routine Anda.
214
215Contoh di bawah memicu tugas terjadwal dari shell. ID tugas dan token yang ditampilkan adalah placeholder: ganti dengan URL dan token yang Anda salin saat [menambahkan pemicu API](#add-an-api-trigger), atau permintaan akan gagal dengan error autentikasi `401`:
211 216
212```bash theme={null}217```bash theme={null}
213curl -X POST https://api.anthropic.com/v1/claude_code/routines/trig_01ABCDEFGHJKLMNOPQRSTUVW/fire \218curl -X POST https://api.anthropic.com/v1/claude_code/routines/trig_01ABCDEFGHJKLMNOPQRSTUVW/fire \
218 -d '{"text": "Sentry alert SEN-4521 fired in prod. Stack trace attached."}'223 -d '{"text": "Sentry alert SEN-4521 fired in prod. Stack trace attached."}'
219```224```
220 225
221Permintaan yang berhasil mengembalikan badan JSON dengan ID sesi baru dan URL:226Permintaan yang berhasil mengembalikan body JSON dengan ID dan URL sesi baru:
222 227
223```json theme={null}228```json theme={null}
224{229{
228}233}
229```234```
230 235
231Buka URL sesi di browser untuk menonton jalankan secara real-time, meninjau perubahan, atau melanjutkan percakapan secara manual.236Buka URL sesi di browser untuk menyaksikan eksekusi secara real-time, meninjau perubahan, atau melanjutkan percakapan secara manual.
237
238> [!WARNING]
239>
240> Endpoint `/fire` dirilis di bawah header beta `experimental-cc-routine-2026-04-01`. Bentuk permintaan dan respons, rate limit, dan semantik token dapat berubah selama fitur berada dalam research preview. Perubahan yang merusak dirilis di balik versi header beta bertanggal yang baru, dan dua versi header sebelumnya yang paling baru tetap berfungsi sehingga pemanggil memiliki waktu untuk bermigrasi.
232 241
233<Warning>242#### Referensi API
234 Titik akhir `/fire` dikirim di bawah header beta `experimental-cc-routine-2026-04-01`. Bentuk permintaan dan respons, batas laju, dan semantik token mungkin berubah saat fitur berada dalam pratinjau penelitian. Perubahan yang merusak dikirim di balik versi header beta bertanggal baru, dan dua versi header sebelumnya paling baru terus bekerja sehingga pemanggil memiliki waktu untuk bermigrasi.
235</Warning>
236 243
237<h4 id="api-reference">244Untuk referensi API lengkap, termasuk semua respons error, aturan validasi, dan batas kolom, lihat [Trigger a routine through the API](https://platform.claude.com/docs/en/api/claude-code/routines-fire) di dokumentasi Claude Platform.
238 Referensi API
239</h4>
240 245
241Untuk referensi API lengkap, termasuk semua respons kesalahan, aturan validasi, dan batas bidang, lihat [Trigger a routine via API](https://platform.claude.com/docs/en/api/claude-code/routines-fire) dalam dokumentasi Platform Claude.246Endpoint `/fire` hanya tersedia untuk pengguna claude.ai dan bukan bagian dari surface API Claude Platform.
242 247
243Titik akhir `/fire` tersedia untuk pengguna claude.ai saja dan bukan bagian dari permukaan API Platform Claude.248### Tambahkan pemicu GitHub
244 249
245<h3 id="add-a-github-trigger">250Pemicu GitHub memulai sesi baru secara otomatis ketika peristiwa yang cocok terjadi pada repositori yang terhubung. Claude Code tidak menggunakan kembali sesi di antara peristiwa, sehingga dua pembaruan PR menghasilkan dua sesi independen.
246 Tambahkan pemicu GitHub
247</h3>
248 251
249Pemicu GitHub memulai sesi baru secara otomatis ketika peristiwa yang cocok terjadi pada repositori yang terhubung. Claude Code tidak menggunakan kembali sesi di seluruh peristiwa, jadi dua pembaruan PR menghasilkan dua sesi independen.252> [!NOTE]
253>
254> Peristiwa webhook GitHub tunduk pada batas per jam per tugas dan per akun. Peristiwa yang melebihi batas dibuang sampai jendela waktu direset.
250 255
251<Note>256Claude GitHub App harus diinstal pada repositori yang ingin Anda pantau, dari surface mana pun Anda mengonfigurasi pemicu.
252 Peristiwa webhook GitHub tunduk pada batas per jam per-rutinitas dan per-akun. Peristiwa di luar batas dijatuhkan sampai jendela direset.
253</Note>
254 257
255Aplikasi GitHub Claude harus diinstal pada repositori yang ingin Anda berlangganan, permukaan apa pun yang Anda konfigurasi pemicu darinya.258* Konfigurasikan pemicu GitHub dari UI web, yang akan meminta Anda menginstal aplikasi jika belum ada. Ikuti langkah-langkah di bawah untuk mengonfigurasinya di web.
259* Dari CLI, instal aplikasi dari [halaman GitHub App](https://github.com/apps/claude) terlebih dahulu, lalu minta Claude untuk memasang pemicu GitHub ke tugas terjadwal yang sudah ada, misalnya `/schedule add a GitHub trigger to my nightly review for pull requests opened in acme/webapp`. Jalur CLI memerlukan Claude Code v2.1.225 atau lebih baru. Ketika Claude menambahkan pemicu, Claude membalas dengan tautan ke tugas yang dipicu oleh pemicu tersebut.
256 260
257* Konfigurasi pemicu GitHub dari UI web, yang meminta Anda untuk menginstal aplikasi saat hilang. Ikuti langkah-langkah di bawah untuk mengonfigurasi satu di web.261**1. Buka tugas untuk diedit**
258* Dari CLI, instal aplikasi dari [halaman Aplikasi GitHub](https://github.com/apps/claude) terlebih dahulu, lalu minta Claude untuk melampirkan pemicu GitHub ke rutinitas yang ada, misalnya `/schedule add a GitHub trigger to my nightly review for pull requests opened in acme/webapp`. Jalur CLI memerlukan Claude Code v2.1.225 atau lebih baru. Ketika Claude menambahkan pemicu, Claude membalas dengan tautan ke rutinitas yang dipicu pemicu.
259 262
260<Steps>263Buka [claude.ai/code/routines](https://claude.ai/code/routines), klik tugas terjadwal, lalu buka menu di sebelah namanya dan pilih **Edit**. Dialog **Edit scheduled task** akan terbuka.
261 <Step title="Buka rutinitas untuk diedit">
262 Buka [claude.ai/code/routines](https://claude.ai/code/routines), klik rutinitas, lalu buka menu di sebelah nama rutinitas dan pilih **Edit**.
263 </Step>
264 264
265 <Step title="Tambahkan pemicu peristiwa GitHub">265**2. Tambahkan pemicu peristiwa GitHub**
266 Gulir ke bagian **Select a trigger**, klik **Add another trigger**, dan pilih **GitHub event**.
267 266
268 <Note>267Di baris **Trigger**, klik **+** dan pilih **GitHub event** dari menu yang terbuka.
269 Menjalankan `/web-setup` di CLI memberikan akses repositori untuk kloning, tetapi tidak menginstal Aplikasi GitHub Claude dan tidak mengaktifkan pengiriman webhook.
270 </Note>
271 </Step>
272 268
273 <Step title="Konfigurasi pemicu">269> [!NOTE]
274 Pilih repositori, pilih peristiwa dari daftar [peristiwa yang didukung](#supported-events), dan secara opsional tambahkan filter. Simpan pemicu.270>
275 </Step>271> Menjalankan `/web-setup` di CLI memberikan akses repositori untuk kloning, tetapi tidak menginstal Claude GitHub App dan tidak mengaktifkan pengiriman webhook.
276</Steps>
277 272
278<h4 id="supported-events">273**3. Konfigurasikan pemicu**
279 Peristiwa yang didukung
280</h4>
281 274
282Pemicu GitHub dapat berlangganan salah satu dari kategori peristiwa berikut. Dalam setiap kategori Anda dapat memilih tindakan spesifik, seperti `pull_request.opened`, atau bereaksi terhadap semua tindakan dalam kategori.275Ubah repositori jika perlu, pilih peristiwa dari daftar [peristiwa yang didukung](#supported-events), dan secara opsional tambahkan filter. Lalu klik **Save changes** di bagian bawah dialog untuk menerapkan pemicu.
276
277#### Peristiwa yang didukung
278
279Pemicu GitHub dapat berlangganan salah satu kategori peristiwa berikut. Dalam setiap kategori, Anda dapat memilih tindakan tertentu, seperti `pull_request.opened`, atau bereaksi terhadap semua tindakan dalam kategori tersebut.
283 280
284| Peristiwa | Dipicu ketika |281| Peristiwa | Dipicu ketika |
285| :- | :- |282| :- | :- |
286| Pull request | PR dibuka, ditutup, ditugaskan, diberi label, disinkronkan, atau diperbarui sebaliknya |283| Pull request | PR dibuka, ditutup, ditugaskan, diberi label, disinkronkan, atau diperbarui dengan cara lain |
287| Release | Rilis dibuat, dipublikasikan, diedit, atau dihapus |284| Release | Rilis dibuat, dipublikasikan, diedit, atau dihapus |
288 285
289<h4 id="filter-pull-requests">286#### Filter pull request
290 Filter permintaan tarik
291</h4>
292 287
293Gunakan filter untuk mempersempit permintaan tarik mana yang memulai sesi baru. Semua kondisi filter harus cocok untuk rutinitas dipicu. Bidang filter yang tersedia adalah:288Gunakan filter untuk mempersempit pull request mana yang memulai sesi baru. Semua kondisi filter harus cocok agar tugas terjadwal terpicu. Kolom filter yang tersedia adalah:
294 289
295| Filter | Cocok |290| Filter | Mencocokkan |
296| :- | :- |291| :- | :- |
297| Author | Nama pengguna GitHub penulis PR |292| Author | Nama pengguna GitHub penulis PR |
298| Title | Teks judul PR |293| Title | Teks judul PR |
299| Body | Teks deskripsi PR |294| Body | Teks deskripsi PR |
300| Base branch | Cabang yang ditargetkan PR |295| Base branch | Branch yang dituju PR |
301| Head branch | Cabang yang berasal dari PR |296| Head branch | Branch asal PR |
302| Labels | Label yang diterapkan pada PR |297| Labels | Label yang diterapkan pada PR |
303| Is draft | Apakah PR dalam status draf |298| Is draft | Apakah PR dalam status draf |
304| Is merged | Apakah PR telah digabungkan |299| Is merged | Apakah PR telah di-merge |
305 300
306Setiap filter memasangkan bidang dengan operator: sama dengan, berisi, dimulai dengan, adalah salah satu, bukan salah satu, atau cocok regex.301Setiap filter memasangkan kolom dengan operator: equals, contains, starts with, is one of, is not one of, atau matches regex.
307 302
308Operator `matches regex` menguji seluruh nilai bidang, bukan substring di dalamnya. Untuk mencocokkan judul apa pun yang berisi `hotfix`, tulis `.*hotfix.*`. Tanpa `.*` di sekitarnya, filter hanya cocok dengan judul yang tepat `hotfix` tanpa apa pun sebelum atau sesudah. Untuk pencocokan substring literal tanpa sintaks regex, gunakan operator `contains` sebagai gantinya.303Operator `matches regex` menguji seluruh nilai kolom, bukan substring di dalamnya. Untuk mencocokkan judul apa pun yang mengandung `hotfix`, tulis `.*hotfix.*`. Tanpa `.*` di sekelilingnya, filter hanya mencocokkan judul yang persis `hotfix` tanpa apa pun sebelum atau sesudahnya. Untuk pencocokan substring literal tanpa sintaks regex, gunakan operator `contains`.
309 304
310Beberapa contoh kombinasi filter:305Beberapa contoh kombinasi filter:
311 306
312* **Auth module review**: base branch `main`, head branch berisi `auth-provider`. Mengirim PR apa pun yang menyentuh autentikasi ke peninjau yang fokus.307* **Review modul autentikasi**: base branch `main`, head branch contains `auth-provider`. Mengirim setiap PR yang menyentuh autentikasi ke peninjau yang terfokus.
313* **Ready-for-review only**: is draft adalah `false`. Melewati draf sehingga rutinitas hanya berjalan ketika PR siap untuk ditinjau.308* **Hanya yang siap direview**: is draft adalah `false`. Melewati draf sehingga tugas hanya berjalan ketika PR siap untuk direview.
314* **Label-gated backport**: labels termasuk `needs-backport`. Memicu rutinitas port-ke-cabang-lain hanya ketika pengelola memberi tag PR.309* **Backport berbasis label**: labels mencakup `needs-backport`. Memicu tugas port-ke-branch-lain hanya ketika maintainer memberi tag pada PR.
315 310
316<h2 id="manage-routines">311## Kelola tugas terjadwal
317 Kelola rutinitas
318</h2>
319 312
320Klik rutinitas dalam daftar untuk membuka halaman detailnya. Halaman detail menampilkan repositori rutinitas, konektor, prompt, jadwal, token API, pemicu GitHub, dan daftar jalankan masa lalu.313Klik tugas terjadwal dalam daftar untuk membuka halaman detailnya. Halaman detail menampilkan repositori, konektor, prompt, jadwal, token API, pemicu GitHub tugas, serta daftar eksekusi sebelumnya.
321 314
322<h3 id="view-and-interact-with-runs">315### Lihat dan berinteraksi dengan eksekusi
323 Lihat dan berinteraksi dengan jalankan
324</h3>
325 316
326Klik jalankan apa pun untuk membukanya sebagai sesi penuh. Dari sana Anda dapat melihat apa yang dilakukan Claude, meninjau perubahan, membuat permintaan tarik, atau melanjutkan percakapan. Setiap sesi jalankan bekerja seperti sesi lainnya: gunakan menu dropdown di sebelah judul sesi untuk mengganti nama, mengarsipkan, atau menghapusnya.317Klik eksekusi mana pun untuk membukanya sebagai sesi penuh. Dari sana Anda dapat melihat apa yang dilakukan Claude, meninjau perubahan, membuat pull request, atau melanjutkan percakapan. Setiap sesi eksekusi bekerja seperti sesi lainnya: gunakan menu dropdown di sebelah judul sesi untuk mengganti nama, mengarsipkan, atau menghapusnya.
327 318
328<Note>319> [!NOTE]
329 Status hijau dalam daftar jalankan berarti sesi dimulai dan keluar tanpa kesalahan infrastruktur. Ini tidak berarti tugas dalam prompt Anda berhasil. Buka jalankan untuk membaca transkrip dan konfirmasi apa yang sebenarnya dilakukan Claude. Permintaan jaringan yang diblokir, alat konektor yang hilang, dan kegagalan tingkat tugas semuanya muncul di sana daripada di indikator status.320>
330</Note>321> Status hijau dalam daftar eksekusi berarti sesi dimulai dan berakhir tanpa error infrastruktur. Ini tidak berarti pekerjaan yang dijelaskan prompt Anda berhasil. Buka eksekusi untuk membaca transkrip dan memastikan apa yang sebenarnya dilakukan Claude. Permintaan jaringan yang diblokir, tool konektor yang hilang, dan kegagalan dalam pekerjaan itu sendiri semuanya muncul di sana, bukan di indikator status.
331 322
332<h3 id="edit-and-control-routines">323### Edit dan kontrol tugas terjadwal
333 Edit dan kontrol rutinitas
334</h3>
335 324
336Dari halaman detail rutinitas Anda dapat:325Dari halaman detail, Anda dapat:
337 326
338* Klik **Run now** untuk memulai jalankan segera tanpa menunggu waktu terjadwal berikutnya. Anda dapat secara opsional menyediakan teks khusus jalankan, yang mencapai rutinitas dengan cara yang sama seperti bidang `text` pemicu API.327* Klik **Run now** untuk memulai eksekusi segera tanpa menunggu waktu terjadwal berikutnya.
339* Gunakan toggle di bagian atas halaman untuk menjeda atau melanjutkan jadwal. Rutinitas yang dijeda menyimpan konfigurasi mereka tetapi tidak berjalan sampai Anda mengaktifkan kembali.328* Gunakan sakelar on/off di bagian atas halaman untuk menjeda atau melanjutkan jadwal. Tugas yang dijeda mempertahankan konfigurasinya tetapi tidak berjalan sampai Anda mengaktifkannya kembali.
340* Buka menu di sebelah nama rutinitas dan pilih **Edit** untuk mengubah nama, prompt, repositori, lingkungan, konektor, atau pemicu rutinitas apa pun. Bagian **Select a trigger** adalah tempat Anda menambah atau menghapus jadwal, token API, dan pemicu peristiwa GitHub.329* Buka menu di sebelah nama tugas dan pilih **Edit** untuk mengubah nama, prompt, repositori, lingkungan, konektor, atau pemicu tugas mana pun. Dialog **Edit scheduled task** terbuka dengan tata letak yang sama seperti [dialog pembuatan](#create-from-the-web). Untuk menambahkan pemicu, klik **+** di baris **Trigger**. Klik **Save changes** untuk menerapkan perubahan Anda. Tindakan token API langsung berlaku, tanpa **Save changes**.
341* Buka menu yang sama dan pilih **Delete** untuk menghapus rutinitas.330* Buka menu yang sama dan pilih **Delete** untuk menghapus tugas.
342 331
343<h3 id="manage-routines-from-the-cli">332### Kelola tugas terjadwal dari CLI
344 Kelola rutinitas dari CLI
345</h3>
346 333
347CLI mendukung pengelolaan rutinitas yang ada. Jalankan `/schedule list` untuk melihat semua rutinitas, `/schedule update` untuk mengubah satu, atau `/schedule run` untuk memicunya segera.334Jalankan `/schedule list` untuk melihat tugas terjadwal Anda, `/schedule update` untuk mengubah salah satunya, atau `/schedule run` untuk memulainya segera.
348 335
349Anda juga dapat menanyakan tentang riwayat jalankan rutinitas, misalnya `/schedule why did my nightly review do nothing this morning?`. Claude mencantumkan jalankan terbaru rutinitas dengan status mereka dan tautan untuk [membuka setiap jalankan di web](#view-and-interact-with-runs), dan membaca log jalankan untuk menjelaskan apa yang terjadi, termasuk kesalahan alat, penolakan izin, dan hasil akhir. Memerlukan Claude Code v2.1.227 atau lebih baru.336Anda juga dapat menanyakan riwayat eksekusi tugas terjadwal, misalnya `/schedule why did my nightly review do nothing this morning?`. Claude mencantumkan eksekusi terbaru tugas beserta statusnya dan tautan untuk [membuka setiap eksekusi di web](#view-and-interact-with-runs). Claude juga membaca log eksekusi untuk menjelaskan apa yang terjadi, termasuk error tool, penolakan izin, dan hasil akhir. Memerlukan Claude Code v2.1.227 atau lebih baru.
350 337
351<h3 id="repositories-and-branch-permissions">338### Repositori dan izin branch
352 Repositori dan izin cabang
353</h3>
354 339
355Routine memerlukan akses GitHub untuk mengklon repositori. Ketika Anda membuat routine dari CLI dengan `/schedule`, Claude memeriksa apakah akun Anda memiliki akses GitHub untuk repositori tempat Anda menjalankannya dan, jika tidak, menambahkan catatan penyiapan yang menjelaskan cara memberikan akses tersebut. Lihat [GitHub authentication options](/docs/id/claude-code-on-the-web#github-authentication-options) untuk dua cara memberikan akses. Pada paket Team dan Enterprise, seorang [Owner](/docs/id/server-managed-settings#access-control) organisasi Claude Anda harus mengaktifkan setiap metode sebelum Anda dapat menggunakannya; lihat [Connect GitHub](/docs/id/web-quickstart#connect-github).340Tugas terjadwal memerlukan akses GitHub untuk mengklon repositori. Ketika Anda membuat tugas terjadwal dari CLI dengan `/schedule`, Claude memeriksa apakah akun Anda memiliki akses GitHub untuk repositori tempat Anda menjalankannya. Jika tidak, Claude menambahkan catatan penyiapan yang menjelaskan cara memberikannya.
356 341
357Jika koneksi GitHub Anda hilang atau kedaluwarsa ketika jalankan akan dilakukan, rutinitas melewati jalankan hingga Anda terhubung kembali, hingga 72 jam. Hubungkan kembali GitHub dalam jendela tersebut dan rutinitas akan dilanjutkan dengan sendirinya. Setelah 72 jam tanpa koneksi, rutinitas mati, dan Anda menghidupkannya kembali setelah terhubung kembali ke GitHub.342> [!NOTE]
343>
344> Lihat [Opsi autentikasi GitHub](/docs/id/claude-code-on-the-web#github-authentication-options) untuk dua cara memberikan akses. Pada paket Team dan Enterprise, seorang [Owner](/docs/id/server-managed-settings#access-control) organisasi Claude Anda harus mengaktifkan setiap metode sebelum Anda dapat menggunakannya; lihat [Hubungkan GitHub](/docs/id/web-quickstart#connect-github).
358 345
359Setiap repositori yang Anda tambahkan diklon pada setiap eksekusi. Claude memulai dari branch default repositori kecuali prompt Anda menentukan sebaliknya. Jika sebuah [peristiwa pull request GitHub](#add-a-github-trigger) memicu eksekusi dan repositori pull request tersebut adalah repositori pertama dalam routine, repositori tersebut dimulai dari head commit pull request.346Jika koneksi GitHub Anda hilang atau kedaluwarsa ketika eksekusi dijadwalkan, tugas terjadwal melewati eksekusi sampai Anda menghubungkan kembali, hingga 72 jam. Hubungkan kembali GitHub dalam jendela waktu tersebut dan tugas akan dilanjutkan dengan sendirinya. Setelah 72 jam tanpa koneksi, tugas akan nonaktif, dan Anda mengaktifkannya kembali setelah menghubungkan kembali GitHub.
347
348Setiap repositori yang Anda tambahkan diklon pada setiap eksekusi. Claude memulai dari branch default repositori kecuali prompt Anda menentukan lain. Jika [peristiwa pull request GitHub](#add-a-github-trigger) memicu eksekusi dan repositori pull request tersebut adalah repositori pertama tugas, repositori tersebut dimulai dari head commit pull request.
360 349
361Claude melakukan push pekerjaannya ke branch dengan awalan `claude/` kecuali prompt Anda mengarahkannya untuk melakukan push ke branch lain. Untuk mengontrol branch mana yang dapat menjadi tujuan push suatu eksekusi, gunakan aturan perlindungan branch atau ruleset di GitHub. Untuk eksekusi pada infrastruktur yang dikelola Anthropic, dan untuk eksekusi self-hosted yang melakukan push melalui [proxy git Anthropic](/docs/id/self-hosted-environments-deploy#use-the-anthropic-git-proxy), GitHub menerapkannya pada akses GitHub yang Anda hubungkan, sehingga aturan yang dapat dilewati oleh akses tersebut tidak memblokir push suatu eksekusi. Eksekusi self-hosted yang melakukan push dengan kredensial git yang disediakan deployment Anda akan diperiksa terhadap kredensial tersebut. Lihat [Konfigurasi git](/docs/id/self-hosted-environments-deploy#configure-git).350Claude melakukan push pekerjaannya ke branch dengan awalan `claude/` kecuali prompt Anda mengarahkannya untuk melakukan push ke branch lain. Untuk mengontrol branch mana yang dapat menjadi tujuan push suatu eksekusi, gunakan aturan perlindungan branch atau ruleset di GitHub. Untuk eksekusi pada infrastruktur yang dikelola Anthropic, dan untuk eksekusi self-hosted yang melakukan push melalui [proxy git Anthropic](/docs/id/self-hosted-environments-deploy#use-the-anthropic-git-proxy), GitHub menerapkannya pada akses GitHub yang Anda hubungkan, sehingga aturan yang dapat dilewati oleh akses tersebut tidak memblokir push suatu eksekusi. Eksekusi self-hosted yang melakukan push dengan kredensial git yang disediakan deployment Anda akan diperiksa terhadap kredensial tersebut. Lihat [Konfigurasi git](/docs/id/self-hosted-environments-deploy#configure-git).
362 351
363<h3 id="connectors">352### Konektor
364 Konektor353
365</h3>354Tugas terjadwal dapat menggunakan konektor MCP Anda yang terhubung untuk membaca dari dan menulis ke layanan eksternal selama setiap eksekusi. Misalnya, tugas yang melakukan triase permintaan dukungan dapat membaca dari channel Slack dan membuat issue di Linear.
366 355
367Rutinitas dapat menggunakan konektor MCP yang terhubung untuk membaca dari dan menulis ke layanan eksternal selama setiap jalankan. Misalnya, rutinitas yang melakukan triase permintaan dukungan mungkin membaca dari saluran Slack dan membuat masalah di Linear.356Konektor adalah [integrasi claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) di akun Anda. Server MCP yang Anda tambahkan secara lokal di CLI dengan `claude mcp add` disimpan di mesin Anda, bukan di akun claude.ai Anda, sehingga tidak muncul dalam daftar konektor. Untuk menggunakan salah satu server tersebut dalam tugas terjadwal:
368 357
369Konektor adalah [integrasi claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) di akun Anda. Server MCP yang Anda tambahkan secara lokal di CLI dengan `claude mcp add` disimpan di mesin Anda daripada akun claude.ai Anda, jadi mereka tidak muncul dalam daftar konektor. Untuk menggunakan salah satu server tersebut dalam rutinitas, tambahkan sebagai konektor di [claude.ai/customize/connectors](https://claude.ai/customize/connectors). Untuk rutinitas dengan satu repositori, Anda dapat sebagai gantinya mendeklarasikannya dalam [`.mcp.json`](/docs/id/mcp#project-scope) yang berkomitmen sehingga itu adalah bagian dari repositori yang diklon.358* **Sebagai konektor**: tambahkan sebagai konektor di [claude.ai/customize/connectors](https://claude.ai/customize/connectors)
359* **Di repositori**: untuk tugas terjadwal dengan satu repositori, Anda dapat mendeklarasikan server dalam [`.mcp.json`](/docs/id/mcp#project-scope) yang di-commit sehingga menjadi bagian dari repositori yang diklon
370 360
371Ketika Anda membuat rutinitas, semua konektor yang saat ini terhubung disertakan secara default. Hapus yang tidak diperlukan untuk membatasi alat mana yang dapat diakses Claude selama jalankan. Anda juga dapat menambahkan konektor langsung dari formulir rutinitas.361Ketika Anda membuat tugas terjadwal, semua konektor Anda yang saat ini terhubung disertakan secara default. Hapus yang tidak diperlukan untuk membatasi tool mana yang dapat diakses Claude selama eksekusi. Anda juga dapat menambahkan konektor langsung dari dialog pembuatan atau edit tugas.
372 362
373Untuk mengelola atau menambahkan konektor di luar formulir rutinitas, kunjungi [claude.ai/customize/connectors](https://claude.ai/customize/connectors) atau gunakan `/schedule update` di CLI.363Untuk mengelola atau menambahkan konektor di luar dialog tersebut, kunjungi [claude.ai/customize/connectors](https://claude.ai/customize/connectors) atau gunakan `/schedule update` di CLI.
374 364
375<h3 id="when-a-run-publishes-an-artifact-without-asking">365### Ketika eksekusi memublikasikan artifact tanpa bertanya
376 Ketika eksekusi memublikasikan artifact tanpa bertanya
377</h3>
378 366
379Ketika jadwal routine atau **Run now** memulai eksekusi, Claude dapat memublikasikan [artifact](/docs/id/artifacts) baru tanpa bertanya. Artifact baru tersebut hanya terlihat oleh Anda sampai Anda [membagikannya](/docs/id/artifacts#share-an-artifact). Jika publikasi mendeklarasikan kapabilitas runtime untuk halaman tersebut, seperti [panggilan konektor](/docs/id/artifacts#pull-live-data-with-mcp-connectors) atau [unduhan file](/docs/id/artifacts#offer-a-file-download), Claude akan bertanya terlebih dahulu.367Ketika jadwal tugas terjadwal atau **Run now** memulai eksekusi, Claude dapat memublikasikan [artifact](/docs/id/artifacts) baru tanpa bertanya. Artifact baru tersebut hanya terlihat oleh Anda sampai Anda [membagikannya](/docs/id/artifacts#share-an-artifact). Jika publikasi mendeklarasikan kapabilitas runtime untuk halaman tersebut, seperti [panggilan konektor](/docs/id/artifacts#pull-live-data-with-mcp-connectors) atau [unduhan file](/docs/id/artifacts#offer-a-file-download), Claude akan bertanya terlebih dahulu.
380 368
381Dalam eksekusi tersebut, Claude memublikasikan ulang artifact yang sudah ada tanpa bertanya hanya jika semua kondisi berikut terpenuhi:369Dalam eksekusi tersebut, Claude memublikasikan ulang artifact yang sudah ada tanpa bertanya hanya jika semua kondisi berikut terpenuhi:
382 370
390 378
391Dalam semua kasus lainnya, termasuk eksekusi yang dimulai oleh pemicu API atau GitHub, Claude akan bertanya terlebih dahulu.379Dalam semua kasus lainnya, termasuk eksekusi yang dimulai oleh pemicu API atau GitHub, Claude akan bertanya terlebih dahulu.
392 380
393Ketika tugas routine adalah menjaga sebuah halaman tetap mutakhir, berikan artifact yang sudah Anda publikasikan.381Ketika tugas terjadwal bertugas menjaga sebuah halaman tetap mutakhir, berikan artifact yang sudah Anda publikasikan.
394 382
395<h3 id="environments-and-network-access">383### Lingkungan dan akses jaringan
396 Lingkungan dan akses jaringan
397</h3>
398 384
399Setiap rutinitas menggunakan [lingkungan cloud](/docs/id/cloud-environments) yang mengontrol akses jaringan, variabel lingkungan, dan skrip penyiapan. Rutinitas mewarisi kebijakan jaringan lingkungan pada setiap jalankan.385Setiap tugas terjadwal menggunakan [lingkungan cloud](/docs/id/cloud-environments) yang mengontrol akses jaringan, environment variable, dan skrip penyiapan. Tugas mewarisi kebijakan jaringan lingkungan pada setiap eksekusi.
400 386
401Lingkungan **Default** menggunakan akses jaringan **Trusted**, yang hanya memungkinkan [daftar allowlist default](/docs/id/cloud-environments#default-allowed-domains) melalui jaringan sesi. Permintaan pada jalur tersebut ke host di luar allowlist gagal dengan `403` dan `x-deny-reason: host_not_allowed`. Lalu lintas konektor MCP dirutekan melalui server Anthropic daripada jalur tersebut, jadi konektor yang Anda tambahkan ke rutinitas bekerja tanpa menambahkan host mereka ke **Allowed domains**. Hapus konektor apa pun yang tidak Anda butuhkan di bawah [Konektor](#connectors).387Lingkungan **Default** menggunakan akses jaringan **Trusted**, yang hanya mengizinkan [allowlist default](/docs/id/cloud-environments#default-allowed-domains) melalui jaringan sesi. Permintaan pada jalur tersebut ke host di luar allowlist gagal dengan `403` dan `x-deny-reason: host_not_allowed`. Lalu lintas konektor MCP dirutekan melalui server Anthropic, bukan melalui jalur tersebut, sehingga konektor yang Anda tambahkan ke tugas berfungsi tanpa perlu menambahkan host-nya ke **Allowed domains**. Hapus konektor yang tidak Anda perlukan di bawah [Konektor](#connectors).
402 388
403Untuk memungkinkan domain tambahan pada salah satu lingkungan Anda sendiri, ikuti langkah-langkah ini. [Lingkungan bersama organisasi](/docs/id/cloud-environments#organization-shared-environments) membuka baca-saja di sini, jadi Pemilik mengubah akses jaringannya dari halaman **Cloud environments** di [pengaturan admin](https://claude.ai/admin-settings) sebagai gantinya.389Untuk mengizinkan domain tambahan pada salah satu lingkungan Anda sendiri, ikuti langkah-langkah ini. [Lingkungan yang dibagikan organisasi](/docs/id/cloud-environments#organization-shared-environments) terbuka dalam mode read-only di sini, sehingga Owner mengubah akses jaringannya dari halaman **Cloud environments** di [pengaturan admin](https://claude.ai/admin-settings).
404 390
405<Steps>391**1. Buka tugas untuk diedit**
406 <Step title="Buka rutinitas untuk diedit">
407 Pada halaman detail rutinitas, buka menu di sebelah nama rutinitas dan pilih **Edit**.
408 </Step>
409 392
410 <Step title="Buka pemilih lingkungan">393Buka [claude.ai/code/routines](https://claude.ai/code/routines), klik tugas terjadwal, lalu buka menu di sebelah namanya dan pilih **Edit**. Dialog **Edit scheduled task** akan terbuka.
411 Di bawah kotak **Instructions**, pilih ikon cloud yang menampilkan nama lingkungan Anda, seperti **Default**.
412 </Step>
413 394
414 <Step title="Buka pengaturan lingkungan">395**2. Buka pemilih lingkungan**
415 Arahkan ke lingkungan dalam daftar dan klik ikon pengaturan yang muncul di sebelah kanan.
416 </Step>
417 396
418 <Step title="Ubah tingkat akses jaringan">397Buka **Advanced settings > General > Cloud environment**, dengan memperluas **Advanced settings** terlebih dahulu jika masih tertutup. Klik ikon cloud yang menampilkan nama lingkungan Anda, seperti **Default**.
419 Dalam dialog **Edit cloud environment**, ubah **Network access** menjadi **Custom** dan masukkan domain Anda di **Allowed domains**. Centang **Also include default list of common package managers** untuk mempertahankan [allowlist default](/docs/id/cloud-environments#default-allowed-domains) bersama domain kustom Anda. Pilih **Full** sebagai gantinya untuk akses tanpa batas.
420 </Step>
421 398
422 <Step title="Simpan">399**3. Buka pengaturan lingkungan**
423 Klik **Save changes**. Kebijakan baru berlaku dari jalankan berikutnya.
424 </Step>
425</Steps>
426 400
427Lihat [Network access](/docs/id/cloud-environments#network-access) untuk detail tentang tingkat akses dan daftar allowlist default.401Arahkan kursor ke lingkungan dalam daftar dan klik ikon pengaturan yang muncul di sebelah kanan.
428 402
429<h2 id="usage-and-limits">403**4. Ubah tingkat akses jaringan**
430 Penggunaan dan batas
431</h2>
432 404
433Rutinitas mengurangi penggunaan langganan dengan cara yang sama seperti sesi interaktif. Lihat konsumsi saat ini Anda di [claude.ai/settings/usage](https://claude.ai/settings/usage).405Dalam dialog **Edit cloud environment**, ubah **Network access** menjadi **Custom** dan masukkan domain Anda di **Allowed domains**. Centang **Also include default list of common package managers** untuk mempertahankan [allowlist default](/docs/id/cloud-environments#default-allowed-domains) bersama domain kustom Anda. Pilih **Full** sebagai gantinya untuk akses tanpa batasan.
434 406
435Terpisah dari penggunaan langganan, setiap cara memulai jalankan memiliki batas per jam:407**5. Simpan**
436 408
437| Tindakan | Batas | Dihitung untuk | Melampaui batas |409Klik **Save changes** di dialog **Edit cloud environment**, lalu tutup dialog **Edit scheduled task** di belakangnya. Kebijakan baru berlaku mulai eksekusi berikutnya.
410
411Lihat [Akses jaringan](/docs/id/cloud-environments#network-access) untuk detail tentang tingkat akses dan allowlist default.
412
413## Penggunaan dan batas
414
415Tugas terjadwal menggunakan kuota langganan dengan cara yang sama seperti sesi interaktif. Lihat konsumsi Anda saat ini di [claude.ai/settings/usage](https://claude.ai/settings/usage).
416
417Terpisah dari penggunaan langganan, setiap cara memulai eksekusi memiliki batas per jam:
418
419| Tindakan | Batas | Dihitung untuk | Melebihi batas |
438| :- | :- | :- | :- |420| :- | :- | :- | :- |
439| Jalankan terjadwal, termasuk jalankan sekali saja | 100 per jam | Akun Anda | Jalankan menunggu sampai batas direset |421| Eksekusi terjadwal, termasuk eksekusi satu kali | 100 per jam | Akun Anda | Eksekusi menunggu sampai batas direset |
440| **Jalankan sekarang**, API fires, dan mengatur rutinitas sekali saja untuk dijalankan lagi | 30 per jam | Setiap rutinitas, satu hitungan dibagikan oleh ketiga-tiganya | Tindakan gagal sampai batas direset |422| **Run now**, pemicuan API, dan mengatur tugas satu kali untuk berjalan lagi | 30 per jam | Setiap tugas terjadwal, satu hitungan dibagi oleh ketiganya | Tindakan gagal sampai batas direset |
441| **Jalankan sekarang** dan mengatur rutinitas sekali saja untuk dijalankan lagi | 100 per jam | Akun Anda | Sama |423| **Run now** dan mengatur tugas satu kali untuk berjalan lagi | 100 per jam | Akun Anda | Sama |
442| API fires | 100 per jam | Akun Anda, dihitung terpisah dari **Jalankan sekarang** | Sama |424| Pemicuan API | 100 per jam | Akun Anda, dihitung terpisah dari **Run now** | Sama |
443| Peristiwa GitHub | Lihat [Tambahkan pemicu GitHub](#add-a-github-trigger) | | |425| Peristiwa GitHub | Lihat [Tambahkan pemicu GitHub](#add-a-github-trigger) | | |
444 426
445Tidak ada batas per jam ini yang memiliki overage.427Tidak satu pun dari batas per jam ini memiliki overage.
428
429Ketika tugas terjadwal mencapai batas penggunaan langganan Anda, organisasi yang mengaktifkan kredit penggunaan dapat terus menjalankan tugas terjadwal dengan overage terukur. Tanpa kredit penggunaan, eksekusi tambahan ditolak sampai jendela penggunaan Anda direset. Aktifkan kredit penggunaan di [claude.ai/settings/usage](https://claude.ai/settings/usage). Pada paket Team dan Enterprise, admin mengaktifkannya untuk organisasi di [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage).
430
431Selama langganan Anda dijeda, tugas terjadwal Anda ditangguhkan dan tidak berjalan. Setelah langganan Anda aktif kembali, aktifkan kembali tugas-tugas tersebut.
432
433## Tempat nama routines masih muncul
446 434
447Ketika rutinitas mencapai batas penggunaan langganan Anda, organisasi dengan kredit penggunaan yang diaktifkan dapat terus menjalankan rutinitas pada overage terukur. Tanpa kredit penggunaan, jalankan tambahan ditolak sampai jendela penggunaan Anda direset. Aktifkan kredit penggunaan di [claude.ai/settings/usage](https://claude.ai/settings/usage). Pada paket Team dan Enterprise, admin mengaktifkannya untuk organisasi di [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage).435Tugas terjadwal sebelumnya bernama routines, dan tempat-tempat berikut masih menggunakan nama lama tersebut. Masing-masing merujuk pada fitur yang sama:
448 436
449Sementara langganan Anda dijeda, rutinitas Anda ditahan dan tidak berjalan. Setelah langganan Anda aktif kembali, aktifkan kembali.437* **Alamat web**: `claude.ai/code/routines`
438* **CLI**: alias `/routines` untuk `/schedule`, deskripsi perintah, dan balasan Claude saat menyiapkan tugas
439* **API**: path endpoint `/fire`, header beta-nya, `type` responsnya, tag `<routine-fire-payload>`, dan halaman referensi [Trigger a routine through the API](https://platform.claude.com/docs/en/api/claude-code/routines-fire)
440* **Pengaturan organisasi**: toggle **Scheduled tasks (Was Routines)**
450 441
451<h2 id="troubleshooting">442## Pemecahan masalah
452 Pemecahan masalah
453</h2>
454 443
455<h3 id="schedule-returns-unknown-command">444### `/schedule` menampilkan "Unknown command"
456 `/schedule` menampilkan "Unknown command"
457</h3>
458 445
459CLI menyembunyikan `/schedule` ketika salah satu persyaratannya tidak terpenuhi: menu perintah menampilkan `No commands match "/schedule"` saat Anda mengetik. Mengirimkannya mengembalikan `Unknown command: /schedule`, kecuali dalam kasus-kasus di bawah ini yang mencatat jawaban berbeda.446CLI menyembunyikan `/schedule` ketika salah satu persyaratannya tidak terpenuhi: menu perintah menampilkan `No commands match "/schedule"` saat Anda mengetik. Mengirimkannya mengembalikan `Unknown command: /schedule`, kecuali dalam kasus-kasus di bawah ini yang menyebutkan jawaban berbeda.
460 447
461Penyebabnya biasanya salah satu dari berikut ini:448Penyebabnya biasanya salah satu dari berikut ini:
462 449
463* Anda diautentikasi dengan Console API key, [profil Anthropic atau kredensial federasi](/docs/id/authentication#anthropic-profiles-and-federation-credentials), atau penyedia cloud seperti Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. `/schedule` memerlukan login langganan claude.ai. Dengan Console API key atau profil, dan pengambilan feature-flag diaktifkan, mengirimkan `/schedule` menampilkan `/schedule is available with Claude for Enterprise — ask your admin about migrating from API-key access`. Dengan login penyedia cloud, Anda masih melihat `Unknown command: /schedule`. Jika `ANTHROPIC_API_KEY` atau `ANTHROPIC_AUTH_TOKEN` diatur di shell Anda, atau `apiKeyHelper` diatur di `settings.json`, hapus terlebih dahulu, karena ini memiliki prioritas lebih tinggi daripada login claude.ai. Profil atau kredensial federasi juga memiliki prioritas, jadi matikan itu juga450* Anda terautentikasi dengan kunci API Console, [profil Anthropic atau kredensial federasi](/docs/id/authentication#anthropic-profiles-and-federation-credentials), atau penyedia cloud seperti Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. `/schedule` memerlukan login langganan claude.ai. Dengan kunci API Console atau profil, dan pengambilan feature flag diaktifkan, mengirimkan `/schedule` justru menampilkan `/schedule is available with Claude for Enterprise — ask your admin about migrating from API-key access`. Dengan login penyedia cloud, Anda tetap melihat `Unknown command: /schedule`. Jika `ANTHROPIC_API_KEY` atau `ANTHROPIC_AUTH_TOKEN` diatur di shell Anda, atau `apiKeyHelper` diatur di `settings.json`, hapus terlebih dahulu, karena ini diutamakan daripada login claude.ai. Profil atau kredensial federasi juga diutamakan, jadi matikan itu juga
464* Anda sepenuhnya keluar, tanpa API key atau kredensial lainnya. Dengan pengambilan feature-flag diaktifkan, mengirimkan `/schedule` menampilkan `/schedule requires a claude.ai subscription. Run /login to sign in with your claude.ai account.` Sebelum v2.1.268, sesi yang keluar menampilkan pesan Claude for Enterprise yang sama seperti Console API key451* Anda sepenuhnya keluar, tanpa kunci API atau kredensial lainnya. Dengan pengambilan feature flag diaktifkan, mengirimkan `/schedule` menampilkan `/schedule requires a claude.ai subscription. Run /login to sign in with your claude.ai account.` Sebelum v2.1.268, sesi yang sudah keluar menampilkan pesan Claude for Enterprise yang sama seperti kunci API Console
465* Anda berada di dalam sesi cloud, di mana mengirimkan `/schedule` menjawab bahwa perintah tidak tersedia di lingkungan tersebut. Kelola rutinitas dari [UI web](https://claude.ai/code/routines) sebagai gantinya452* Anda berada di dalam sesi cloud, di mana mengirimkan `/schedule` menjawab bahwa perintah tidak tersedia di lingkungan tersebut. Kelola tugas terjadwal dari [UI web](https://claude.ai/code/routines) sebagai gantinya
466* Kebijakan organisasi Anda menonaktifkan [sesi cloud](/docs/id/claude-code-on-the-web), yang rutinitas jalankan. Dalam kasus ini, mengirimkan `/schedule` menjawab [`Cloud sessions are disabled by your organization's policy`](/docs/id/errors#cloud-sessions-are-disabled-by-your-organizations-policy) sebagai gantinya. Sebelum v2.1.268, ini mengembalikan `Unknown command: /schedule`453* Kebijakan organisasi Anda menonaktifkan [sesi cloud](/docs/id/claude-code-on-the-web), yang dibutuhkan tugas terjadwal. Dalam kasus ini, mengirimkan `/schedule` justru menjawab [`Cloud sessions are disabled by your organization's policy`](/docs/id/errors#cloud-sessions-are-disabled-by-your-organizations-policy). Sebelum v2.1.268, perintah ini mengembalikan `Unknown command: /schedule`
467* Pemilik [mematikan rutinitas](#routines-are-disabled-by-your-organizations-policy) untuk organisasi Team atau Enterprise Anda. Sebelum v2.1.227, perintah masih muncul dalam kasus ini, dan claude.ai menolak rutinitas ketika Claude mencoba membuat atau menjalankannya454* Owner [menonaktifkan tugas terjadwal](#routines-are-disabled-by-your-organizations-policy) untuk organisasi Team atau Enterprise Anda. Sebelum v2.1.227, perintah tetap muncul dalam kasus ini, dan claude.ai menolak tugas ketika Claude mencoba membuat atau menjalankannya
468 455
469Kecuali kebijakan organisasi Anda menonaktifkan rutinitas atau sesi cloud, Anda dapat membuat dan mengelola rutinitas di [claude.ai/code/routines](https://claude.ai/code/routines) terlepas dari bagaimana CLI dikonfigurasi.456Kecuali kebijakan organisasi Anda menonaktifkan tugas terjadwal atau sesi cloud, Anda dapat membuat dan mengelola tugas terjadwal di [claude.ai/code/routines](https://claude.ai/code/routines) terlepas dari bagaimana CLI dikonfigurasi.
470 457
471<h3 id="routines-are-disabled-by-your-organizations-policy">458### "Routines are disabled by your organization's policy"
472 "Rutinitas dinonaktifkan oleh kebijakan organisasi Anda"
473</h3>
474 459
475Pemilik di organisasi Team atau Enterprise Anda mungkin telah mematikan toggle **Routines** di [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code). Pada Claude Code v2.1.227 atau lebih baru, toggle yang sama juga menyembunyikan `/schedule` di CLI. Ini adalah pengaturan organisasi sisi server, jadi tidak dapat ditimpa dari konfigurasi lokal Anda. Hubungi Pemilik untuk mengaktifkan rutinitas untuk organisasi Anda.460Owner di organisasi Team atau Enterprise Anda kemungkinan telah mematikan toggle **Scheduled tasks (Was Routines)** di [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities). Pada Claude Code v2.1.227 atau lebih baru, toggle yang sama juga menyembunyikan `/schedule` di CLI. Ini adalah pengaturan organisasi di sisi server, sehingga tidak dapat ditimpa dari konfigurasi lokal Anda. Minta Owner untuk mengaktifkan kembali tugas terjadwal untuk organisasi Anda.
476 461
477<h2 id="related-resources">462## Sumber daya terkait
478 Sumber daya terkait
479</h2>
480 463
481* [`/loop` and in-session scheduling](/docs/id/scheduled-tasks): jadwalkan tugas lokal dalam sesi CLI terbuka464* [`/loop` dan penjadwalan dalam sesi](/docs/id/scheduled-tasks): jadwalkan tugas lokal dalam sesi CLI yang terbuka
482* [Desktop scheduled tasks](/docs/id/desktop-scheduled-tasks): tugas terjadwal lokal yang berjalan di mesin Anda dengan akses ke file lokal465* [Tugas terjadwal Desktop](/docs/id/desktop-scheduled-tasks): tugas terjadwal lokal yang berjalan di mesin Anda dengan akses ke file lokal
483* [Cloud environments](/docs/id/cloud-environments): konfigurasi akses jaringan, variabel lingkungan, dan skrip penyiapan untuk sesi cloud466* [Lingkungan cloud](/docs/id/cloud-environments): konfigurasikan akses jaringan, environment variable, dan skrip penyiapan untuk sesi cloud
484* [Projects](/docs/id/claude-projects): pekerjaan berkelanjutan yang Claude koordinasikan di seluruh sesi cloud paralel; rutinitas yang dibuat dari proyek muncul di tab **Routines**467* [Projects](/docs/id/claude-projects): pekerjaan berkelanjutan yang dikoordinasikan Claude di berbagai sesi cloud paralel; tugas terjadwal yang dibuat dari sebuah proyek muncul di tab **Scheduled tasks**
485* [MCP connectors](/docs/id/mcp): hubungkan layanan eksternal seperti Slack, Linear, dan Google Drive468* [Konektor MCP](/docs/id/mcp): hubungkan layanan eksternal seperti Slack, Linear, dan Google Drive
486* [GitHub Actions](/docs/id/github-actions): jalankan Claude dalam saluran pipa CI pada peristiwa repositori469* [GitHub Actions](/docs/id/github-actions): jalankan Claude di pipeline CI Anda pada peristiwa repositori