소개
OpenClaw를 4.1로 업데이트한 이후, 텔레그램에서 AI 에이전트에게 명령을 내릴 때 exec 명령어 실행이 갑자기 막히기 시작했습니다.
이전까지는 그냥 됐는데, 어느 순간부터 이런 메시지가 뜨면서 실행이 거부됐습니다:
"Exec approval is required, but chat exec approvals are not enabled on Telegram."
Web UI나 터미널에서는 승인 버튼이 뜨는데, 텔레그램 채팅에서는 아무런 반응이 없었습니다. 이 글은 그 원인과 해결법을 정리한 내용입니다.
진행 방법
원인
OpenClaw 4.1부터 텔레그램 채널에서의 exec 실행이 명시적 opt-in 방식으로 바뀌었습니다. 이전 버전에서는 기본적으로 허용되던 것이, 4.1에서는 channels.telegram.execApprovals.enabled: true를 명시적으로 설정해야만 작동하도록 변경됐습니다.
해결법 1: 텔레그램에서 승인 버튼 받기
~/.openclaw/openclaw.json의 channels.telegram 섹션에 다음을 추가합니다:
"execApprovals": {
"enabled": true,
"target": "dm"
}target 옵션:
dm— 텔레그램 DM으로 승인 요청 전송 (기본값)channel— 명령어를 입력한 채팅창에 승인 요청 표시both— 둘 다
설정 후 게이트웨이를 재시작합니다:
openclaw gateway restart해결법 2: 승인 없이 바로 실행 (편의성 우선)
매번 승인 버튼 누르는 게 번거롭다면, ~/.openclaw/exec-approvals.json에서 기본 정책을 변경할 수 있습니다:
"defaults": {
"security": "full",
"ask": "off"
}이렇게 하면 텔레그램에서 명령을 내릴 때 승인 없이 즉시 실행됩니다.
주의: security: "full"은 모든 명령어를 허용하는 설정입니다. 개인 기기에서 본인만 사용하는 환경이라면 편리하지만, 외부에 노출된 환경이라면 allowlist 방식을 권장합니다.
결과와 배운 점
4.1 업데이트부터는 텔레그램 exec 승인이 명시적으로 활성화해야 하는 opt-in 기능이 됐습니다. 처음엔 당황했지만, 설정 파일 두 군데만 수정하면 깔끔하게 해결됩니다.
추가로, 업데이트 직후 게이트웨이가 재시작되는 과정에서 세션이 리셋되면서 그 사이에 보낸 메시지가 처리되지 않 을 수 있습니다. 업데이트 후 응답이 없다면 게이트웨이 상태를 먼저 확인해보세요.
핵심 요약:
승인 버튼 받고 싶다면:
openclaw.json에execApprovals.enabled: true추가승인 없이 바로 실행하고 싶다면:
exec-approvals.json에서security: full,ask: off설정
도움 받은 글 (옵션)
OpenClaw 공식 문서: /opt/homebrew/lib/node_modules/openclaw/docs/channels/telegram.md