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 foundopenclaw: not recognized- 특정 파일 또는 서비스가 없다는 메시지
이 경우에도 문제는 아닙니다. 다만 완전 삭제를 위해 아래 수동 단계를 계속 진행해야 합니다.
2. macOS 완전 삭제
2-1. Gateway 프로세스 중지
먼저 OpenClaw 백그라운드 프로세스를 종료합니다.
openclaw gateway stop
정상 결과 예시:
gateway stoppedstopped 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 stoppedstopped 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
정상 결과:
stoppedgateway 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” 목록에서
OpenClawClawdBotMoltBot
이름이 더 이상 보이지 않아야 합니다.
즉, 웹 페이지 목록에서 해당 앱 이름이 사라져야 삭제 성공입니다.
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 권한 취소 확인
즉, “삭제 명령을 한 번 실행했다”가 아니라,
각 확인 명령에서 빈 결과가 나오는지 확인해야 비로소 완전 삭제라고 볼 수 있습니다.