OpenClaw & AI Operasional
Cara Mengatasi Error Exec Approval di OpenClaw Telegram Tanpa Trial-Error Config
Panduan update untuk memahami tools.exec, approvals, elevated access, dan policy Telegram di OpenClaw 4.xx dan 5.xx.

Error exec approval biasanya muncul saat agent dari Telegram ingin menjalankan command di host, tetapi policy eksekusi belum cocok dengan approval layer di OpenClaw. Di versi lama, orang sering mencoba memperbaiki ini dengan menambah allowlist acak. Di versi OpenClaw terbaru, cara yang lebih aman adalah memahami tiga layer: host exec, approval policy, dan elevated access.
Artikel ini diperbarui untuk OpenClaw 4.xx dan 5.xx, terutama perubahan April dan Mei 2026 yang memperketat parsing command, inline eval, node exec, dan approval binding.
Ringkasan perubahan update Mei 2026
Yang berubah dibanding artikel lama:
- Exec sekarang memakai config modern di tools.exec.*.
- Mode host dipisah dari mode approval. tools.exec.host memilih lokasi eksekusi, sedangkan tools.exec.security dan tools.exec.ask mengatur izin.
- Elevated access sekarang punya layer sendiri di tools.elevated.*.
- Approval host juga punya state lokal di ~/.openclaw/exec-approvals.json.
- Di versi 5.xx, banyak bypass lama ditutup: inline eval, heredoc, shell wrapper, node exec provenance, dan truncated approval command.
- Untuk Telegram, command approval bisa terlihat di chat, tetapi effective policy tetap ditentukan oleh config dan approvals file.
Versi yang disarankan:
- OpenClaw 4.xx: pakai versi April akhir bila memungkinkan.
- OpenClaw 5.xx: minimal 2026.5.4, lebih baik 2026.5.12 atau 2026.5.18 untuk perbaikan Telegram dan exec approval terbaru.
Pahami dulu arti error-nya
Exec approval bukan error tunggal. Biasanya salah satu dari ini:
- command belum ada di allowlist,
- host approval file masih ketat,
- session meminta gateway exec tetapi sandbox masih aktif,
- Telegram sender belum dipercaya untuk elevated tool,
- policy channel atau group menolak tool,
- command dianggap berisiko karena inline eval atau shell parsing.
Jadi jangan langsung set semua ke full. Cek effective policy dulu.
Cek policy exec
Mulai dari status:
openclaw status
openclaw config get tools.exec
openclaw config get tools.elevated
Lalu cek approval layer:
openclaw approvals get
openclaw exec-policy show
Jika command dijalankan di gateway host:
openclaw approvals get --gateway
Jika command dijalankan di node:
openclaw approvals get --node <node-id-atau-nama>
Poin penting: effective policy memakai yang lebih ketat. Kalau config sudah ask: "off" tetapi approvals file lokal masih ask: "always", prompt tetap muncul.
Config path yang benar
Untuk versi 4.xx akhir dan 5.xx, field utama yang perlu dicek:
tools.exec.host
tools.exec.security
tools.exec.ask
tools.exec.strictInlineEval
tools.exec.commandHighlighting
tools.elevated.enabled
tools.elevated.allowFrom
Nilai yang valid:
tools.exec.host = auto | sandbox | gateway | node
tools.exec.security = deny | allowlist | full
tools.exec.ask = off | on-miss | always
Arti singkatnya:
- host=auto: pakai sandbox kalau tersedia, fallback ke gateway kalau tidak ada sandbox.
- host=sandbox: paksa sandbox. Kalau sandbox tidak tersedia, OpenClaw fail closed.
- host=gateway: command jalan di host gateway.
- host=node: command jalan di paired node.
- security=deny: block semua host exec.
- security=allowlist: hanya command yang masuk allowlist.
- security=full: izinkan host exec penuh.
- ask=on-miss: tanya hanya jika tidak match allowlist.
- ask=always: selalu minta approval.
- ask=off: tidak minta approval dari layer config.
Jalur aman untuk Telegram personal
Kalau Telegram dipakai hanya oleh owner, setup yang umum adalah gateway host dengan approval minim:
openclaw config set tools.exec.host gateway
openclaw config set tools.exec.security full
openclaw config set tools.exec.ask off
openclaw config validate
openclaw gateway restart
Lalu selaraskan approval file lokal:
openclaw approvals set --stdin <<'EOF'
{
version: 1,
defaults: {
security: "full",
ask: "off",
askFallback: "full"
}
}
EOF
Untuk mesin lokal yang sama, shortcut:
openclaw exec-policy preset yolo
Catatan: ini mode bebas approval. Cocok untuk private operator workflow. Jangan pakai ini untuk grup publik, multi-user, atau bot yang bisa dipicu orang lain.
Jalur aman untuk grup atau environment ramai
Untuk Telegram group, lebih sehat pakai allowlist:
openclaw config set tools.exec.host gateway
openclaw config set tools.exec.security allowlist
openclaw config set tools.exec.ask on-miss
openclaw config set tools.exec.strictInlineEval true
openclaw config validate
openclaw gateway restart
Mode ini membuat command biasa bisa diproses lewat allowlist, tetapi command baru tetap minta approval. Inline eval seperti python -c atau node -e tetap lebih ketat jika strictInlineEval aktif.
Kalau error muncul hanya di Telegram
Cek empat hal:
openclaw config get channels.telegram
openclaw config get tools.exec
openclaw config get tools.elevated
openclaw approvals get --gateway
Masalah yang sering muncul:
- Telegram sender belum masuk allowlist channel.
- Group policy mewajibkan mention atau allowlist.
- Tool policy channel/group menolak exec.
- Elevated access belum aktif untuk sender yang tepat.
Kalau memakai elevated path, aktifkan secara eksplisit dan sempit:
{
"tools": {
"elevated": {
"enabled": true,
"allowFrom": {
"telegram": [
"8132001394"
]
}
}
}
}
Ganti ID di atas dengan Telegram user ID owner. Jangan pakai nama display karena nama bisa berubah.
Session-only fix
Untuk sekali jalan di chat:
/exec security=full ask=off
Atau break-glass:
/elevated full
Ini hanya untuk session. Kalau gateway restart atau session berubah, config permanen tetap mengikuti openclaw.json dan approvals file host.
Kesalahan yang perlu dihindari
Jangan menaruh key atau token di command approval. Approval prompt bisa tersimpan di log atau transcript.
Jangan membuka exec penuh untuk grup yang tidak trusted.
Jangan menganggap host=auto sama dengan "selalu gateway". Jika sandbox aktif, auto bisa memilih sandbox.
Jangan menonaktifkan semua approval kalau agent menerima instruksi dari banyak orang.
Jangan memakai field lama seperti tools.bash untuk install baru. Di versi modern, gunakan tools.exec.
Cara verifikasi
Setelah perubahan:
openclaw config validate
openclaw exec-policy show
openclaw approvals get --gateway
openclaw gateway restart
openclaw status
Lalu dari Telegram, jalankan command ringan:
cek pwd
Jika masih blocked, baca pesan error-nya. Kalau tertulis approval required, masalah ada di approval layer. Kalau tertulis tool denied, masalah ada di tool policy. Kalau tertulis sender not allowed, masalah ada di Telegram allowlist atau elevated allowFrom.
Kesimpulan
Untuk OpenClaw 4.xx dan 5.xx, fix exec approval jangan dimulai dari tebak config. Mulai dari openclaw exec-policy show, openclaw approvals get --gateway, dan openclaw config get tools.exec.
Untuk private owner workflow, host=gateway, security=full, dan ask=off bisa dipakai jika approval file host juga diselaraskan.
Untuk grup atau shared runtime, pakai security=allowlist, ask=on-miss, dan strictInlineEval=true.
Dengan begitu Telegram tetap nyaman dipakai tanpa membuka permukaan eksekusi lebih lebar dari yang diperlukan.
Artikel Terkait
Temukan lebih banyak konten menarik yang mungkin Anda sukai
Tentang Penulis

Rama Aditya
Profesional dengan pengalaman 15+ tahun dalam digital marketing, fullstack development, dan konsultasi bisnis. Fokus membantu bisnis Indonesia membangun sistem yang efisien, scalable, dan berdampak langsung ke pertumbuhan bisnis.
Pelajari Tentang Kami

