
OpenClaw 2026.3.31이 릴리즈됐다. 이번 버전은 보안 강화, 백그라운드 태스크 통합, QQ Bot 신규 채널 추가가 핵심이다. Breaking 변경사항이 6개로 비교적 많아서 업그레이드 전 확인이 필요하다.
핵심 3가지
백그라운드 태스크 통합: ACP, 서브에이전트, cron, 백그라운드 CLI 실행을 SQLite 기반 단일 레저로 통합. openclaw flows list|show|cancel 명령으로 태스크 흐름 제어 가능.
보안 대폭 강화: exec env에서 프록시/TLS/Docker 엔드포인트 오버라이드 차단, 위험 코드 감지 시 install 기본 fail-close, gateway auth trusted-proxy 강화 등 보안 관련 패치만 20개 이상.
QQ Bot 신규 채널: QQ Bot이 번들 채널 플러그인으로 추가됐다. 멀티 어카운트, SecretRef 인증, 슬래시 커맨드, 미디어 송수신 지원.
Breaking 변경사항
Nodes/exec 정리
중복됐던 nodes.run 셸 래퍼가 CLI와 에이전트 nodes 도구에서 제거됐다. 노드 셸 실행은 이제 exec host=node로만 가능하다. 노드 전용 기능은 nodes invoke 와 미디어/위치/알림 액션으로 분리됐다.
Plugin SDK 구버전 경로 deprecated
레거시 provider compat subpath와 구버전 bundled provider setup, 채널-런타임 호환 심이 deprecated 처리됐다. 마이그레이션 경고가 뜨기 시작하며, 현재 문서화된 openclaw/plugin-sdk/* 진입점과 로컬 api.ts / runtime-api.ts barrel이 앞으로의 경로다. 향후 메이저 릴리즈에서 완전 제거 예정.
Skills/Plugins install fail-close
위험 코드 critical 탐지 및 install-time 스캔 실패가 이제 기본적으로 fail-close다. 이전에 성공하던 플러그인/스킬 설치가 실패할 수 있으며, 계속 진행하려면 --dangerously-force-unsafe-install 플래그가 필요하다.
Gateway/auth trusted-proxy 강화
trusted-proxy가 혼합 shared-token 설정을 거부하며, local-direct 폴백도 암묵적 인증 대신 설정된 토큰을 요구한다.
Node 커맨드 페어링 승인 필수화
노드 커맨드가 노드 페어링 승인 전까지 비활성화 상태를 유지한다. 기존에 디바이스 페어링만으로 노드 커맨드를 노출하던 방식은 더 이상 동작하지 않는다.
Node 이벤트 신뢰 표면 축소
노드 발신 실행이 축소된 신뢰 표면에서 동작한다. 알림 기반 또는 노드 트리거 플로우가 호스트/세션 도구 전체 접근에 의존하고 있었다면 조정이 필요하다.
주요 변경사항
백그라운드 태스크 통합 플랫폼
ACP, 서브에이전트, cron, 백그라운드 CLI 실행이 SQLite 기반 단일 레저로 통합됐다. 감사/유지보수/상태 가시성이 개선되고, 자동 정리와 lost-run 복구가 강화됐다. 첫 번째 태스크 플로우 컨트롤 서피스로 openclaw flows list|show|cancel이 추가됐으며, 일회성 수동 플로우와 자동 sync 플로우가 분리됐다.
QQ Bot 채널 추가
QQ Bot이 번들 채널 플러그인으로 정식 추가됐다. 멀티 어카운트 설정, SecretRef 인증, 슬래시 커맨드, 리마인더, 미디어 송수신을 지원한다.
Matrix 기능 확대
그룹 트리거에 선택적 룸 히스토리 컨텍스트 추가 (channels.matrix.historyLimit), HTTP(S) 프록시 지원 (channels.matrix.proxy), 드래프트 스트리밍으로 부분 응답 in-place 업데이트, 퍼 DM threadReplies 오버라이드가 추가됐다.
Slack exec 승인
exec 승인 프롬프트가 Slack 네이티브로 라우팅된다. 기존 Web UI나 터미널 폴백 없이 Slack에서 직접 승인 처리 가능해졌다.
WhatsApp 이모지 반응
에이전트가 수신된 WhatsApp 메시지에 이모지로 반응할 수 있게 됐다. 사진에 ❤️로 반응하는 식의 자연스러운 인터랙션이 가능해졌다.
MCP 원격 서버 지원
mcp.servers URL 설정에 원격 HTTP/SSE 서버 지원이 추가됐다. auth 헤더와 안전한 config 리댁션을 포함한다.
Android 알림 포워딩
패키지 필터링, 조용한 시간대, 레이트 리밋, 더 안전한 picker 동작이 포함된 알림 포워딩 컨트롤이 추가됐다.
LINE 아웃바운드 미디어
LINE 이미지, 비디오, 오디오 아웃바운드 전송 지원이 추가됐다. 비디오는 preview/tracking 처리가 별도로 포함됐다.
Pi/Codex 네이티브 웹 검색
임베디드 Pi 실행에서 Codex 네이티브 웹 검색 지원이 추가됐다. 네이티브 검색이 활성화되면 managed-tool 서프레션도 동작한다.
기타
Microsoft Teams 멤버 정보 조회 (Graph API), OpenAI Responses verbosity 전달, LINE ACP 현재 대화 바인딩, Nostr 인바운드 DM 서명 검증, TTS 구조적 진단 추가.
보안 패치
exec env 오버라이드 차단
호스트 exec에서 프록시, TLS, Docker 엔드포인트 env 오버라이드가 차단됐다. 요청 범위 명령이 아웃바운드 트래픽을 리라우팅하거나 공격자가 제공한 인증서 설정을 신뢰하는 것이 불가능해졌다. Python 패키지 인덱스 오버라이드 변수도 차단됐다.
ACP 보안 강화
ACP의 위험 도구 이름 오버라이드가 시맨틱 승인 클래스로 대체됐다. 좁은 범위의 readonly 읽기/검색만 자동 승인되고, exec 가능하거나 컨트롤 플레인 도구는 항상 명시적 승인이 필요하다.
Gateway 인증 강화
shared-auth 레이트 리밋이 WebSocket 핸드셰이크 시도 중에도 활성화된다. 잘못된 device-token 필드로 shared-secret 브루트포스 추적을 우회하는 것이 차단됐다. 브라우저 Origin 헤더 불일치 거부도 추가됐다. Device 토큰 교체 후 기존 활성 세션이 즉시 연결 해제된다.
Heartbeat auth 격리
exec-event heartbeat 실행이 세션 딜리버리 타겟에서 owner-only 도구 접근을 상속하지 않도록 수정됐다.
Discord 음성 접근 제어
음성 인식 전에 guild 채널과 멤버 allowlist 검사가 적용된다. 설정된 Discord 접근 정책 외부의 사용자 음성은 더 이상 허용되지 않는다.
Feishu 그룹 allowlist 강화
인용 답장과 토픽 부트스트랩 컨텍스트가 그룹 발신자 allowlist와 정렬됐다. Allowlist 외부의 스레드 메시지가 에이전트 컨텍스트를 시딩하지 않는다.
exec approvals unwrapping
arch, xcrun, caffeinate, sandbox-exec 래퍼 명령이 allow-always 패턴 도출 전에 언래핑된다. awk와 sed 계열 바이너리가 low-risk safeBins 빠른 경로에서 제외됐다.
버그 수정
Agents
Anthropic api_error (An unexpected error occurred while processing the response)가 일시적 오류로 분류돼 재시도/폴백이 동작한다. 컴팩션 재시도 중복 완료 race condition 수정. 비활성화된 provider가 기본 모델 선택에서 제외된다. OAuth output이 gateway fs 정책을 통해 강제 처리된다. agent.name 시스템 프롬프트 인터폴레이션 수정. /btw 사이드 퀘스천이 provider reasoning을 비활성화해서 Anthropic adaptive-thinking 세션의 No BTW response generated 오류가 수정됐다.
ACP/ACPX
ACP 자식 실행이 완료 추적 및 라이프사이클 정리에 등록됐다. ACPX expected version이 패키지 메타데이터에서 도출돼 버전 범프 후 health-check 불일치가 해소됐다. 결정적 write/인증 차단으로 종료된 ACP 실행이 blocked로 마킹됐다.
Android
Android 15+ 온보딩 및 디바이스 정보 실패 수정 (hidden API 대신 패키지 매니저 사용). QR 페어링 재시도 시 gateway-service.conf에 중복 push receiver 항목이 추가되는 버그 수정.
Gateway QR 페어링
/pair qr iPhone 설정에서 초기 노드 페어링 자동 승인, 재사용 가능한 노드 device 토큰 수신, 소진된 bootstrap auth로 재시도하지 않는 문제가 수정됐다.
Gateway OpenAI 호환성
/v1/responses에서 flat Responses API function tool 정의를 허용하고 hosted tool 정규화 시 strict가 보존된다. Codex 등 스펙 준수 클라이언트의 validation 실패와 silent strict 손실 문제가 해결됐다. Bearer 인증 요청의 기본 operator scope 복원으로 헤드리스 /v1/chat/completions 호출이 다시 동작한다.
Cron
announce 모드에서 마지막 청크만 전달되던 버그가 수정돼 멀티라인 cron 리포트가 완전히 전달된다. Isolated 세션 cron 작업이 재시도 재시작 시 provider/model/auth-profile 선택을 유지한다.
Control UI
에이전트 Files 패널이 초기 오픈 시 자동으로 워크스페이스 파일을 로드한다. /steer와 /redirect가 커맨드 팔레트에서 정상 동작한다.
iOS Live Activities
ActivityKit import에 @preconcurrency가 추가돼 Xcode 26.4 / Swift 6 빌드 실패 문제가 수정됐다.
기타
Slack retry 중복 답장 방지. Config/Telegram groupMentionsOnly 설정 마이그레이션 (시작 시 크래시 수정). Exec sandbox 호스트 없는 경우 fail-close. Docker BuildKit 강제 적용 (RUN --mount=... 실패 수정). LINE 마크다운 언더스코어 처리 수정.
업그레이드
npm update -g openclaw
openclaw --version # 2026.3.31 확인
Breaking 변경사항이 많다. nodes.run 사용 코드, Plugin SDK 레거시 경로, install 자동화 스크립트, gateway trusted-proxy 설정을 확인하고 업그레이드하는 걸 권장한다.
요약
| 분류 | 핵심 내용 |
|---|---|
| Breaking | nodes.run 제거, Plugin SDK deprecated, install fail-close, gateway auth 강화 |
| 신규 | QQ Bot 채널, 태스크 플로우 통합, LINE 미디어, Slack exec 승인 |
| 보안 | exec env 오버라이드 차단, ACP 승인 클래스, gateway auth 다중 강화 |
| 수정 | Anthropic api_error 재시도, QR 페어링, iOS Live Activities Swift 6, cron announce |
📎 릴리즈 원문
Release openclaw 2026.3.31 · openclaw/openclaw
Breaking Nodes/exec: remove the duplicated nodes.run shell wrapper from the CLI and agent nodes tool so node shell execution always goes through exec host=node, keeping node-specific capabilities ...
github.com