컴공전공변호사-OpenClaw 오픈클로 삭제 완벽한 방법

OpenClaw는 단순히 앱 아이콘을 삭제하거나 npm uninstall만 한다고 완전히 사라지는 프로그램이 아닙니다. – 오픈클로 삭제 완벽한 방법
백그라운드 서비스, 설정 디렉토리, CLI 바이너리, 그리고 외부 서비스에 남아 있는 OAuth 권한까지 함께 정리해야 비로소 “완전 삭제”라고 할 수 있습니다.

아래에서는 macOS / Windows / Linux별로,
각 단계마다 실행할 명령어와 함께
그 명령어 실행 후 어떤 결과가 나와야 정상적으로 삭제된 것인지까지 붙여 설명하겠습니다./

오픈클로 삭제 방법
오픈클로 삭제 방법

1. 공통: 먼저 내장 제거 명령 실행

가장 먼저 OpenClaw 자체 제거 명령을 시도합니다.

openclaw uninstall --all --yes --non-interactive

정상적으로 동작하면 보통 다음과 같은 흐름이 표시됩니다.

  • gateway 또는 background service를 중지했다는 메시지
  • state directory를 삭제했다는 메시지
  • uninstall completed, removed, cleaned 같은 완료 메시지

반대로 아래와 같다면 이미 일부가 지워졌거나 CLI가 없는 상태일 수 있습니다.

  • command not found
  • openclaw: not recognized
  • 특정 파일 또는 서비스가 없다는 메시지

이 경우에도 문제는 아닙니다. 다만 완전 삭제를 위해 아래 수동 단계를 계속 진행해야 합니다.

2. macOS 완전 삭제

2-1. Gateway 프로세스 중지

먼저 OpenClaw 백그라운드 프로세스를 종료합니다.

openclaw gateway stop

정상 결과 예시:

  • gateway stopped
  • stopped successfully
  • 별도 출력 없이 프롬프트로 바로 복귀

삭제 확인의 의미는, 이후 프로세스 확인 명령에서 아무 것도 보이지 않아야 한다는 점입니다.

CLI가 이미 일부 삭제되어 위 명령이 안 되면 강제 종료합니다.

pkill -f "openclaw gateway"
pkill -f openclaw
pkill -f clawdbot
pkill -f moltbot

정상 결과:

  • 대부분 아무 출력도 없이 끝나는 것이 정상입니다.
  • 이는 해당 이름과 일치하는 프로세스를 종료했다는 의미일 수 있습니다.
  • 만약 종료할 프로세스가 애초에 없었다면 역시 아무 출력이 없을 수 있습니다.

이제 실제로 프로세스가 남아 있는지 확인합니다.

ps aux | grep -i openclaw | grep -v grep
ps aux | grep -i clawdbot | grep -v grep
ps aux | grep -i moltbot | grep -v grep

정상적으로 삭제 또는 종료된 상태라면:

  • 아무 줄도 출력되지 않아야 합니다.

만약 남아 있다면 보통 아래처럼 한 줄 이상 보입니다.

daniel   12345   0.0  ... openclaw gateway

이런 출력이 남아 있으면 아직 프로세스가 살아 있으므로 다시 종료가 필요합니다.

2-2. LaunchAgent 제거

OpenClaw는 macOS에서 LaunchAgent를 등록해 로그인할 때마다 자동 실행되게 할 수 있습니다. 이 부분을 지우지 않으면 재부팅 후 다시 살아날 수 있습니다.

launchctl bootout gui/$UID/ai.openclaw.gateway 2>/dev/null
launchctl bootout gui/$UID/com.openclaw.gateway 2>/dev/null
launchctl bootout gui/$UID/com.clawdbot.gateway 2>/dev/null
launchctl bootout gui/$UID/com.moltbot.gateway 2>/dev/null

정상 결과:

  • 아무 출력이 없어도 정상입니다.
  • 2>/dev/null 때문에 “존재하지 않음” 오류가 숨겨집니다.
  • 즉, 이미 제거되었거나 원래 없던 경우에도 조용히 끝날 수 있습니다.

이제 plist 파일을 삭제합니다.

rm -f ~/Library/LaunchAgents/ai.openclaw.gateway.plist
rm -f ~/Library/LaunchAgents/com.openclaw.gateway.plist
rm -f ~/Library/LaunchAgents/com.clawdbot.gateway.plist
rm -f ~/Library/LaunchAgents/com.moltbot.gateway.plist

정상 결과:

  • 출력이 없으면 정상입니다.
  • rm -f는 파일이 없어도 에러 없이 넘어갑니다.

실제로 등록이 남아 있는지 확인합니다.

launchctl list | grep -i openclaw
launchctl list | grep -i clawdbot
launchctl list | grep -i moltbot

정상적으로 삭제되었다면:

  • 아무 결과도 출력되지 않아야 합니다.

만약 아직 등록이 남아 있으면 예를 들어 아래처럼 보일 수 있습니다.

-   0   ai.openclaw.gateway

이런 항목이 보이면 LaunchAgent 등록이 아직 남아 있는 것입니다.

2-3. 설정 및 상태 디렉토리 삭제

OpenClaw와 과거 이름(ClawdBot, MoltBot)의 흔적을 함께 삭제합니다.

rm -rf ~/.openclaw
rm -rf ~/.clawdbot
rm -rf ~/.moltbot
rm -rf ~/.molthub

정상 결과:

  • 출력이 없으면 정상입니다.

추가 경로도 정리합니다.

rm -rf ~/.config/openclaw
rm -rf ~/.local/share/openclaw

정상 결과:

  • 역시 출력이 없으면 정상입니다.

삭제 여부를 확인합니다.

ls -la ~/.openclaw 2>/dev/null
ls -la ~/.clawdbot 2>/dev/null
ls -la ~/.moltbot 2>/dev/null
ls -la ~/.molthub 2>/dev/null

정상적으로 삭제되었다면:

  • 보통 아무 출력이 없거나, 리다이렉션이 없다면 No such file or directory가 나옵니다.
  • 지금처럼 2>/dev/null을 붙이면 오류가 숨겨지므로 빈 결과가 정상입니다.

2-4. npm / Homebrew 패키지 제거

npm으로 설치했다면:

npm uninstall -g openclaw

정상 결과 예시:

removed 1 package in 350ms

또는 이미 없으면:

up to date in 120ms

이런 경우도 있을 수 있습니다. 핵심은 이후 which openclaw에서 더 이상 경로가 나오지 않아야 한다는 점입니다.

Homebrew 설치였다면:

brew uninstall openclaw

정상 결과 예시:

Uninstalling /opt/homebrew/Cellar/openclaw/...

이미 없으면:

Error: No such keg: /opt/homebrew/Cellar/openclaw

이 경우도 현재 brew 설치본이 없다는 뜻이므로 이상은 아닙니다.

2-5. 실행 파일(PATH) 확인

which openclaw

정상적으로 삭제되었다면:

  • 아무 것도 출력되지 않아야 합니다.

아직 남아 있으면 예를 들어:

/usr/local/bin/openclaw

처럼 경로가 나옵니다.

그 경우 수동 삭제합니다.

rm -f "$(which openclaw)"

정상 결과:

  • 출력이 없으면 정상입니다.

다시 확인합니다.

which openclaw

이제는 빈 결과여야 합니다.

2-6. 환경변수 확인 및 삭제

사용자 지정 저장 경로를 썼는지 확인합니다.

echo $OPENCLAW_CONFIG_PATH

정상적으로 별도 설정이 없다면:

  • 아무 것도 출력되지 않거나 빈 줄만 출력됩니다.

경로가 나온다면 예를 들어:

/Users/daniel/external/openclaw-data

처럼 표시됩니다. 그 경우 해당 경로도 삭제해야 합니다.

rm -rf "$OPENCLAW_CONFIG_PATH"

정상 결과:

  • 출력이 없으면 정상입니다.

쉘 설정 파일에서 환경변수 선언도 제거합니다.

sed -i '' '/OPENCLAW_CONFIG_PATH/d' ~/.zshrc
sed -i '' '/OPENCLAW_CONFIG_PATH/d' ~/.bashrc
sed -i '' '/OPENCLAW_CONFIG_PATH/d' ~/.bash_profile

정상 결과:

  • 보통 출력 없이 끝납니다.

적용합니다.

source ~/.zshrc 2>/dev/null
source ~/.bashrc 2>/dev/null

정상 결과:

  • 출력이 없으면 정상입니다.

2-7. macOS 최종 확인

ps aux | grep -i openclaw | grep -v grep
launchctl list | grep -i openclaw
which openclaw
ls -la ~/.openclaw 2>/dev/null

정상적으로 완전 삭제되었다면 네 명령 모두:

  • 출력이 없어야 합니다.

하나라도 결과가 나오면 아직 흔적이 남아 있는 것입니다.

3. Windows 완전 삭제

3-1. Gateway 프로세스 종료

먼저 가능하면 내장 명령을 시도합니다.

openclaw gateway stop

정상 결과 예시:

  • gateway stopped
  • stopped successfully
  • 또는 조용히 종료

명령을 인식하지 못하면 프로세스를 직접 확인합니다.

Get-Process | Where-Object {$_.ProcessName -match "openclaw"}

정상적으로 이미 종료되었거나 삭제되었다면:

  • 아무 결과도 표시되지 않아야 합니다.

프로세스가 남아 있으면 예를 들어 이런 표가 보입니다.

Handles  NPM(K)    PM(K)      WS(K)     CPU(s)     Id  ProcessName
------   ------    -----      -----     ------     --  -----------
   120      10     24000      31000       0.15   8240 openclaw

그 경우 강제 종료합니다.

Get-Process | Where-Object {$_.ProcessName -match "node"} | Stop-Process -Force
taskkill /F /IM node.exe
taskkill /F /IM openclaw.exe

정상 결과 예시:

SUCCESS: The process "node.exe" with PID 8240 has been terminated.

만약 프로세스가 이미 없으면:

ERROR: The process "openclaw.exe" not found.

이 역시 해당 프로세스가 없다는 뜻이므로 오히려 괜찮은 결과일 수 있습니다.

3-2. 예약 작업(Task Scheduler) 삭제

예약 작업이 남아 있으면 로그인할 때 다시 실행될 수 있습니다.

schtasks /Query | findstr /I "openclaw"

정상적으로 제거된 상태라면:

  • 아무 줄도 나오지 않아야 합니다.

남아 있으면 예를 들어:

OpenClaw Gateway

처럼 표시됩니다.

삭제합니다.

schtasks /Delete /TN "OpenClaw Gateway" /F
schtasks /Delete /TN "ClawdBot Gateway" /F
schtasks /Delete /TN "MoltBot Gateway" /F

정상 결과 예시:

SUCCESS: The scheduled task "OpenClaw Gateway" was successfully deleted.

이미 없으면 예를 들어:

ERROR: The system cannot find the file specified.

이 경우는 삭제할 작업이 이미 없다는 뜻입니다.

PowerShell로 일괄 제거도 가능합니다.

Get-ScheduledTask | Where-Object {$_.TaskName -match "openclaw|clawdbot|moltbot"} | Unregister-ScheduledTask -Confirm:$false

정상 결과:

  • 출력이 없을 수 있습니다.
  • 이후 재조회 시 아무 것도 안 보여야 성공입니다.

확인합니다.

Get-ScheduledTask | Where-Object {$_.TaskName -match "openclaw|clawdbot|moltbot"}

정상 상태:

  • 아무 결과도 없어야 합니다.

3-3. 내장 제거 프로그램 실행

openclaw uninstall --all --yes

정상 결과:

  • 서비스 중지 및 파일 삭제 메시지
  • uninstall completed 또는 removed 같은 종료 문구

만약 openclaw 명령을 찾지 못하면 이미 CLI가 사라진 것일 수 있으므로 이후 수동 삭제를 계속하면 됩니다.

3-4. 설정 디렉토리 삭제

Remove-Item -Recurse -Force "$env:USERPROFILE\.openclaw"
Remove-Item -Recurse -Force "$env:USERPROFILE\.clawdbot"
Remove-Item -Recurse -Force "$env:USERPROFILE\.moltbot"
Remove-Item -Recurse -Force "$env:USERPROFILE\.molthub"

정상 결과:

  • 보통 아무 출력이 없으면 정상입니다.

추가 AppData 경로도 확인합니다.

Remove-Item -Recurse -Force "$env:APPDATA\openclaw" 2>$null
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\openclaw" 2>$null

정상 결과:

  • 역시 출력 없이 끝나면 정상입니다.

삭제 여부를 확인합니다.

Test-Path "$env:USERPROFILE\.openclaw"
Test-Path "$env:USERPROFILE\.clawdbot"
Test-Path "$env:USERPROFILE\.moltbot"
Test-Path "$env:USERPROFILE\.molthub"

정상적으로 삭제되었다면:

False
False
False
False

가 나와야 합니다.

3-5. npm 제거

npm uninstall -g openclaw

정상 결과 예시:

removed 1 package in 420ms

이미 없으면 설치 상태에 따라 다른 문구가 나올 수 있지만, 중요한 것은 이후 where openclaw에서 경로가 나오지 않는지입니다.

3-6. PATH 확인

where openclaw

정상적으로 삭제되었다면:

  • 보통 다음과 비슷한 메시지가 나옵니다.
INFO: Could not find files for the given pattern(s).

또는 아무 결과가 없을 수 있습니다.

아직 남아 있으면 예를 들어:

C:\Users\Daniel\AppData\Roaming\npm\openclaw

처럼 경로가 나옵니다.

그 경우 해당 파일을 직접 삭제해야 합니다.

3-7. 환경변수 제거

echo $env:OPENCLAW_CONFIG_PATH

정상적으로 별도 설정이 없다면:

  • 빈 줄이 나옵니다.

경로가 보이면 예를 들어:

D:\OpenClawData

처럼 나옵니다. 그 경우 해당 경로를 지웁니다.

Remove-Item -Recurse -Force "$env:OPENCLAW_CONFIG_PATH"

정상 결과:

  • 출력이 없으면 정상입니다.

환경변수 자체도 제거합니다.

[Environment]::SetEnvironmentVariable("OPENCLAW_CONFIG_PATH", $null, "User")

정상 결과:

  • 보통 출력이 없습니다.

다시 확인합니다.

echo $env:OPENCLAW_CONFIG_PATH

이제 빈 줄이어야 합니다.

3-8. Windows 최종 확인

Get-Process | Where-Object {$_.ProcessName -match "openclaw"}
Get-ScheduledTask | Where-Object {$_.TaskName -match "openclaw|clawdbot"}
Test-Path "$env:USERPROFILE\.openclaw"
where openclaw

정상적으로 삭제되었다면:

  • 첫 번째 명령: 아무 결과 없음
  • 두 번째 명령: 아무 결과 없음
  • 세 번째 명령: False
  • 네 번째 명령: 파일을 찾을 수 없다는 메시지 또는 빈 결과

4. Linux 완전 삭제

4-1. Gateway 프로세스 종료

openclaw gateway stop

정상 결과:

  • stopped
  • gateway stopped
  • 또는 별도 출력 없이 종료

CLI가 없거나 부분 삭제 상태면 강제 종료합니다.

pkill -f "openclaw gateway"
pkill -f openclaw
pkill -f clawdbot
pkill -f moltbot

정상 결과:

  • 아무 출력이 없으면 정상입니다.

프로세스가 남아 있는지 확인합니다.

ps aux | grep -i openclaw | grep -v grep

정상적으로 종료되었다면:

  • 아무 줄도 나오지 않아야 합니다.

아직 남아 있으면 프로세스 정보가 한 줄 이상 출력됩니다.

4-2. systemd 사용자 서비스 제거

Linux에서는 자동 실행을 위해 systemd user service가 등록될 수 있습니다.

systemctl --user disable --now openclaw-gateway.service
systemctl --user disable --now clawdbot-gateway.service
systemctl --user disable --now moltbot-gateway.service

정상 결과 예시:

  • Removed ...
  • Disabled ...
  • 또는 조용히 끝날 수 있음

이미 없으면 다음과 비슷한 오류가 나올 수 있습니다.

Failed to disable unit: Unit file openclaw-gateway.service does not exist.

이 경우는 이미 해당 서비스 파일이 없다는 뜻이라 큰 문제는 아닙니다.

서비스 파일 자체를 삭제합니다.

rm -f ~/.config/systemd/user/openclaw-gateway.service
rm -f ~/.config/systemd/user/clawdbot-gateway.service
rm -f ~/.config/systemd/user/moltbot-gateway.service

정상 결과:

  • 출력이 없으면 정상입니다.

반영을 위해 리로드합니다.

systemctl --user daemon-reload

정상 결과:

  • 보통 아무 출력 없이 끝납니다.

이제 확인합니다.

systemctl --user list-units | grep -i openclaw
systemctl --user list-unit-files | grep -i openclaw

정상적으로 삭제되었다면:

  • 아무 결과도 출력되지 않아야 합니다.

4-3. 내장 제거 명령 실행

openclaw uninstall --all --yes

정상 결과:

  • 서비스 제거, 상태 디렉토리 제거, uninstall complete 등의 메시지

CLI가 없다면 command not found가 날 수 있지만, 이 경우에도 수동 단계를 계속하면 됩니다.

4-4. 설정 디렉토리 삭제

rm -rf ~/.openclaw
rm -rf ~/.clawdbot
rm -rf ~/.moltbot
rm -rf ~/.molthub

정상 결과:

  • 출력이 없으면 정상입니다.

XDG 경로도 함께 지웁니다.

rm -rf ~/.config/openclaw
rm -rf ~/.local/share/openclaw

정상 결과:

  • 역시 출력 없이 끝나면 정상입니다.

삭제 여부 확인:

ls ~/.openclaw 2>/dev/null
ls ~/.clawdbot 2>/dev/null
ls ~/.moltbot 2>/dev/null
ls ~/.molthub 2>/dev/null

정상적으로 삭제되었다면:

  • 아무 결과가 없어야 합니다.

4-5. npm 제거

npm uninstall -g openclaw

정상 결과 예시:

removed 1 package in 300ms

이미 없는 경우에는 별 차이 없는 메시지가 나올 수 있습니다. 핵심은 이후 which openclaw에서 경로가 안 보여야 합니다.

4-6. PATH 확인

which openclaw

정상적으로 삭제되었다면:

  • 아무 것도 출력되지 않아야 합니다.

아직 남아 있다면 예를 들어:

/usr/bin/openclaw

같이 표시됩니다.

그 경우 삭제합니다.

rm -f "$(which openclaw)"

정상 결과:

  • 출력이 없으면 정상입니다.

다시 확인합니다.

which openclaw

이제는 빈 결과여야 합니다.

4-7. 환경변수 확인 및 제거

echo $OPENCLAW_CONFIG_PATH

정상적으로 설정이 없으면:

  • 빈 줄만 출력됩니다.

경로가 있다면 삭제합니다.

rm -rf "$OPENCLAW_CONFIG_PATH"

정상 결과:

  • 출력이 없으면 정상입니다.

쉘 설정 파일에서 환경변수 줄 제거:

sed -i '/OPENCLAW_CONFIG_PATH/d' ~/.bashrc
sed -i '/OPENCLAW_CONFIG_PATH/d' ~/.zshrc

정상 결과:

  • 보통 출력이 없습니다.

반영:

source ~/.bashrc 2>/dev/null
source ~/.zshrc 2>/dev/null

정상 결과:

  • 출력이 없으면 정상입니다.

4-8. Linux 최종 확인

systemctl --user list-units | grep -i openclaw
ps aux | grep -i openclaw | grep -v grep
which openclaw
ls ~/.openclaw 2>/dev/null

정상적으로 완전 삭제되었다면 네 명령 모두:

  • 아무 결과가 없어야 합니다.

5. 가장 중요한 마지막 단계: OAuth 권한 취소

여기서부터는 터미널 명령이 아니라 각 서비스 웹 설정에서 직접 해제해야 합니다.
이 단계를 건너뛰면 로컬 삭제를 완벽히 했더라도 외부 서비스 접근 권한은 남아 있을 수 있습니다.

확인해야 할 대표 서비스는 다음과 같습니다.

  • Google: Gmail, Calendar, Drive
  • Slack
  • Discord
  • GitHub
  • Microsoft
  • Notion

정상적으로 해제되었다면 각 서비스의 “연결된 앱” 또는 “Authorized Apps” 목록에서

  • OpenClaw
  • ClawdBot
  • MoltBot

이름이 더 이상 보이지 않아야 합니다.

즉, 웹 페이지 목록에서 해당 앱 이름이 사라져야 삭제 성공입니다.

6. 최종 체크리스트

아래 항목이 모두 만족되어야 “완전 삭제”입니다.

macOS / Linux

ps aux | grep -i openclaw | grep -v grep
which openclaw
echo $OPENCLAW_CONFIG_PATH

정상 상태:

  • 첫 번째: 아무 결과 없음
  • 두 번째: 아무 결과 없음
  • 세 번째: 빈 줄

macOS 추가

launchctl list | grep -i openclaw

정상 상태:

  • 아무 결과 없음

Linux 추가

systemctl --user list-units | grep -i openclaw

정상 상태:

  • 아무 결과 없음

Windows

Get-Process | Where-Object {$_.ProcessName -match "openclaw"}
where openclaw
echo $env:OPENCLAW_CONFIG_PATH

정상 상태:

  • 첫 번째: 아무 결과 없음
  • 두 번째: 파일을 찾을 수 없음 또는 빈 결과
  • 세 번째: 빈 줄

마무리

OpenClaw 삭제에서 가장 많이 생략되는 부분은 세 가지입니다.

첫째, 백그라운드 서비스 제거 확인
둘째, 숨은 설정 디렉토리 삭제 확인
셋째, OAuth 권한 취소 확인

즉, “삭제 명령을 한 번 실행했다”가 아니라,
각 확인 명령에서 빈 결과가 나오는지 확인해야 비로소 완전 삭제라고 볼 수 있습니다.