cr8rcho
개발

OpenClaw 대시보드에서 업데이트 후에도 구버전이 표시되는 문제

2월 25일
4 분

OpenClaw 대시보드에서 업데이트 후에도 구버전이 표시되는 문제

OpenClaw를 Control UI(대시보드)에서 업데이트했는데, 헤더에 여전히 옛날 버전이 표시된다. CLI에서 확인하면 최신 버전인데, 웹 UI만 구버전을 고집한다.

이 글에서는 왜 이런 일이 생기는지, 그리고 어떻게 해결하는지 정리한다.

문제 상황

  1. Control UI(127.0.0.1:18789)에서 Updates -> Run update 실행
  2. 업데이트 완료, Gateway 재시작
  3. 브라우저 새로고침
  4. 헤더에 여전히 구버전(예: 2026.2.22) 표시

CLI에서 openclaw --version을 실행하면 2026.2.24로 정상 업데이트되어 있다. 대시보드만 거짓말을 하고 있는 상황이다.

원인

macOS에서 OpenClaw Gateway는 LaunchAgent로 실행된다. openclaw gateway install 명령이 plist 파일을 생성할 때, 현재 버전을 OPENCLAW_SERVICE_VERSION 환경변수로 기록한다.

문제는 Control UI의 update.run이 Gateway를 SIGUSR1 시그널로 재시작만 할 뿐, plist 파일을 갱신하지 않는다는 점이다.

[gateway] update.run completed
[gateway] signal SIGUSR1 received
[gateway] received SIGUSR1; restarting

재시작 사이에 plist 재작성이 일어나지 않는다. 그래서 Gateway가 다시 뜰 때 plist에 박힌 구버전 환경변수를 그대로 읽는다.

반면 CLI에서 openclaw update를 실행하면 내부적으로 gateway install --force를 호출해서 plist를 갱신한다. 같은 업데이트인데 경로에 따라 동작이 다른 것이다.

확인 방법

실제 설치된 버전 확인:

openclaw --version

LaunchAgent에 기록된 버전 확인:

launchctl print gui/$(id -u)/ai.openclaw.gateway | grep SERVICE_VERSION

두 값이 다르면 이 버그에 해당한다.

해결 방법

plist를 강제로 갱신하고 LaunchAgent를 재로드하면 된다:

openclaw gateway install --force
launchctl unload ~/Library/LaunchAgents/ai.openclaw.gateway.plist
launchctl load ~/Library/LaunchAgents/ai.openclaw.gateway.plist

이후 브라우저에서 대시보드를 새로고침하면 올바른 버전이 표시된다.

위 과정까지 진행했는데도 버전이 갱신되지 않는다면, 마지막으로 Gateway를 완전히 재시작한다:

openclaw gateway restart

근본적인 해결

이 문제는 OpenClaw GitHub 이슈 #26296으로 등록되어 있다. 제안된 수정 방향은 update.run 완료 후 gateway install --force를 자동으로 실행하는 것이다. CLI 업데이트 경로와 동일하게 맞추면 해결된다.

그때까지는 Control UI에서 업데이트할 때마다 위의 명령을 수동으로 실행해야 한다.

정리

  • 영향 범위: macOS에서 Control UI로 업데이트하는 사용자
  • 심각도: 낮음 (표시 문제, 데이터 손실 없음)
  • 재현율: 100%
  • 핵심 원인: update.run이 plist를 갱신하지 않음
  • 임시 해결: openclaw gateway install --force + LaunchAgent 재로드