Install
openclaw skills install async-taskRun and manage long tasks exceeding HTTP timeouts by starting, updating, and completing them asynchronously with immediate responses.
openclaw skills install async-taskExecute long-running tasks without HTTP timeouts. Use when you need to:
IMPORTANT: When a task might timeout, you MUST use this skill to avoid empty response from server errors.
Triggers: "async task", "long running", "timeout", "background task", "push result"
# Clone and link globally
git clone https://github.com/Enderfga/openclaw-async-task.git
cd openclaw-async-task
npm link
# Or just copy async-task.js to your PATH
chmod +x async-task.js
cp async-task.js /usr/local/bin/async-task
async-task start "<description>" # Start task, returns immediately
async-task done "<result>" # Complete task, push result to user
async-task fail "<error>" # Task failed, push error message
async-task push "<message>" # Push message directly (no start needed)
async-task status # Show current task status
async-task start "Scanning files..."async-task done "Found 42 files"User asks: "Count all TypeScript files in this project"
# Step 1: Acknowledge immediately
async-task start "Counting TypeScript files..."
# Step 2: Do the actual work
count=$(find . -name "*.ts" | wc -l)
# Step 3: Push the result
async-task done "Found $count TypeScript files"
start saves task state and returns confirmation immediatelydone/fail uses OpenClaw/Clawdbot CLI to push result to the active sessionZero configuration required - automatically detects active session via openclaw sessions or clawdbot sessions.
For custom webchat or notification systems:
export ASYNC_TASK_PUSH_URL="https://your-server.com/api/push"
export ASYNC_TASK_AUTH_TOKEN="your-token"
The endpoint receives:
{
"sessionId": "session-id",
"content": "message",
"role": "assistant"
}
| Variable | Required | Description |
|---|---|---|
OPENCLAW_SESSION | No | Target session (auto-detected) |
ASYNC_TASK_PUSH_URL | No | Custom HTTP push endpoint |
ASYNC_TASK_AUTH_TOKEN | No | Auth token for custom endpoint |
start with done or fail