Search

PythonReactSEOPDF
OpenClaw

macos-launchdaemon

Run OpenClaw as a system-level LaunchDaemon on macOS for 24/7 operation, surviving screen lock, logout, and user switching. Uses caffeinate to prevent sleep. Verified working for long-term locked screen scenarios.

happydog-intj0 source installs☆ 0 Repository stars

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install happydog-intj/openclaw-macos-always-on

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

macOS LaunchDaemon Setup for OpenClaw

Run OpenClaw as a system-level service (LaunchDaemon) with caffeinate to ensure 24/7 operation. This configuration has been tested and verified to work even after extended screen lock periods (30+ minutes).

Ensures OpenClaw continues running when:

  • 🔒 Screen is locked (short or long duration)
  • 👤 User is logged out
  • 🔄 Switching between user accounts
  • 💤 Display sleeps (system stays awake)

When to Use This

Use LaunchDaemon if:

  • You need 24/7 bot availability
  • You lock your Mac regularly but want messages to still work
  • Multiple users on the same Mac need to access the bot
  • Running on a home server/always-on Mac

Use LaunchAgent if:

  • Only need bot while logged in
  • Prefer simpler setup (no sudo)
  • Security-conscious about system-level services

Quick Setup

One-Command Installation
curl -fsSL https://raw.githubusercontent.com/YOUR_USERNAME/clawd/master/skills/macos-launchdaemon/install.sh | bash

Or manual setup below ⬇️

Manual Setup

Step 1: Create LaunchDaemon Configuration

Create the plist file with your actual username. This configuration uses caffeinate and has been tested and verified to work even after 30+ minutes of screen lock:

cat > /tmp/ai.openclaw.gateway.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>ai.openclaw.gateway</string>
    
    <key>Comment</key>
    <string>OpenClaw Gateway (System Daemon - Network Always On)</string>
    
    <key>RunAtLoad</key>
    <true/>
    
    <!-- Enhanced KeepAlive for network services -->
    <key>KeepAlive</key>
    <dict>
      <key>SuccessfulExit</key>
      <false/>
      <key>NetworkState</key>
      <true/>
      <key>Crashed</key>
      <true/>
    </dict>
    
    <!-- Prevent ANY throttling -->
    <key>ThrottleInterv...

Source information

Source
github
Repository
openclaw/skills
Path
skills/happydog-intj/openclaw-macos-always-on
Version
—
Commit
92b948aff9ce533f32bbcae2c9bd77e6b67eb4a6
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

README

OpenClaw macOS Always-On

Keep OpenClaw running 24/7 on macOS - even when your screen is locked for hours!

macOS Tested License

English | 简体中文

🎯 Problem Solved

By default, macOS suspends user processes when you lock your screen, causing your OpenClaw bot to stop responding to messages. This project provides a tested and verified solution using LaunchDaemon + caffeinate.

Verified Working:

  • ✅ Screen locked for 30+ minutes
  • ✅ macOS 14.4 (and earlier versions)
  • ✅ Both Intel and Apple Silicon Macs

🚀 Quick Install

One-line installation:

curl -fsSL https://raw.githubusercontent.com/happydog-intj/openclaw-macos-always-on/master/install.sh | bash

Or manual installation - see SKILL.md for detailed instructions.

✨ What This Does

Converts OpenClaw from a user-level LaunchAgent to a system-level LaunchDaemon with these enhancements:

Feature Before (LaunchAgent) After (LaunchDaemon + caffeinate)
Screen locked ❌ Suspends after ~10min ✅ Runs indefinitely
User logged out ❌ Stops ✅ Continues running
Boot startup At login At system boot
Priority User-level System-level
Sleep prevention None caffeinate -s

🔧 How It Works

The solution uses three key components:

  1. LaunchDaemon - System-level service (runs as your user but managed by system launchd)
  2. caffeinate - macOS utility that prevents system sleep while keeping display sleep enabled
  3. Enhanced KeepAlive - Network-aware restart with crash recovery
<!-- Key configuration -->
<key>ProgramArguments</ke...

Extracted content

SKILL.md
# macOS LaunchDaemon Setup for OpenClaw

Run OpenClaw as a system-level service (LaunchDaemon) with `caffeinate` to ensure 24/7 operation. This configuration has been **tested and verified** to work even after extended screen lock periods (30+ minutes).

**Ensures OpenClaw continues running when:**

- 🔒 Screen is locked (short or long duration)
- 👤 User is logged out
- 🔄 Switching between user accounts
- 💤 Display sleeps (system stays awake)

## When to Use This

**Use LaunchDaemon if:**
- You need 24/7 bot availability
- You lock your Mac regularly but want messages to still work
- Multiple users on the same Mac need to access the bot
- Running on a home server/always-on Mac

**Use LaunchAgent if:**
- Only need bot while logged in
- Prefer simpler setup (no sudo)
- Security-conscious about system-level services

## Quick Setup

### One-Command Installation

```bash
curl -fsSL https://raw.githubusercontent.com/YOUR_USERNAME/clawd/master/skills/macos-launchdaemon/install.sh | bash
```

Or manual setup below ⬇️

## Manual Setup

### Step 1: Create LaunchDaemon Configuration

Create the plist file with your actual username. This configuration uses **caffeinate** and has been **tested and verified** to work even after 30+ minutes of screen lock:

```bash
cat > /tmp/ai.openclaw.gateway.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>ai.openclaw.gateway</string>
    
    <key>Comment</key>
    <string>OpenClaw Gateway (System Daemon - Network Always On)</string>
    
    <key>RunAtLoad</key>
    <true/>
    
    <!-- Enhanced KeepAlive for network services -->
    <key>KeepAlive</key>
    <dict>
      <key>SuccessfulExit</key>
      <false/>
      <key>NetworkState</key>
      <true/>
      <key>Crashed</key>
      <true/>
    </dict>
    
    <!-- Prevent ANY throttling -->
    <key>ThrottleInterv...
README
# OpenClaw macOS Always-On

**Keep OpenClaw running 24/7 on macOS - even when your screen is locked for hours!**

[![macOS](https://img.shields.io/badge/macOS-10.15+-blue.svg)](https://www.apple.com/macos/)
[![Tested](https://img.shields.io/badge/tested-macOS%2014.4-success.svg)](https://github.com/happydog-intj/openclaw-macos-always-on)
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)

English | [简体中文](README.zh-CN.md)

## 🎯 Problem Solved

By default, macOS suspends user processes when you lock your screen, causing your OpenClaw bot to stop responding to messages. This project provides a **tested and verified** solution using LaunchDaemon + caffeinate.

**Verified Working:**
- ✅ Screen locked for 30+ minutes
- ✅ macOS 14.4 (and earlier versions)
- ✅ Both Intel and Apple Silicon Macs

## 🚀 Quick Install

One-line installation:

```bash
curl -fsSL https://raw.githubusercontent.com/happydog-intj/openclaw-macos-always-on/master/install.sh | bash
```

Or manual installation - see [SKILL.md](./SKILL.md) for detailed instructions.

## ✨ What This Does

Converts OpenClaw from a user-level LaunchAgent to a system-level LaunchDaemon with these enhancements:

| Feature | Before (LaunchAgent) | After (LaunchDaemon + caffeinate) |
|---------|---------------------|----------------------------------|
| **Screen locked** | ❌ Suspends after ~10min | ✅ Runs indefinitely |
| **User logged out** | ❌ Stops | ✅ Continues running |
| **Boot startup** | At login | At system boot |
| **Priority** | User-level | System-level |
| **Sleep prevention** | None | `caffeinate -s` |

## 🔧 How It Works

The solution uses three key components:

1. **LaunchDaemon** - System-level service (runs as your user but managed by system launchd)
2. **caffeinate** - macOS utility that prevents system sleep while keeping display sleep enabled
3. **Enhanced KeepAlive** - Network-aware restart with crash recovery

```xml
<!-- Key configuration -->
<key>ProgramArguments</ke...

Related skills

OpenClaw

laborany

laborany

基于 Claude Code 的桌面 AI 工作力平台 — 支持飞书/QQ 远程调度、技能创建、定时任务。OpenClaw 的桌面实现,零代码养好你的 AI 🦞 Desktop AI workforce platform built on Claude Code. Feishu/QQ bot integration, skill c...

OpenClaw

bambu-studio-ai

heyixuan2

Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pi...