Productivity & TasksDocumentedScanned

async-task

Execute long-running tasks without HTTP timeouts.

Share:

Installation

npx clawhub@latest install async-task

View the full skill documentation and source below.

Documentation

OpenClaw Async Task

Description

Execute long-running tasks without HTTP timeouts. Use when you need to:

  • Run commands that may take more than 5 seconds

  • Analyze large files or codebases

  • Perform multi-step operations

  • Call external APIs with unpredictable latency


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"

Installation

# Clone and link globally
git clone 
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

Commands

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

Usage Flow (MUST follow strictly)

  • Start: async-task start "Scanning files..."

  • Execute: Run your actual commands

  • Push result: async-task done "Found 42 files"
  • Example

    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"

    How It Works

  • start saves task state and returns confirmation immediately

  • You execute whatever commands needed

  • done/fail uses OpenClaw/Clawdbot CLI to push result to the active session
  • Zero configuration required - automatically detects active session via openclaw sessions or clawdbot sessions.

    Advanced: Custom Push Endpoint

    For custom webchat or notification systems:

    export ASYNC_TASK_PUSH_URL=""
    export ASYNC_TASK_AUTH_TOKEN="your-token"

    The endpoint receives:

    {
      "sessionId": "session-id",
      "content": "message",
      "role": "assistant"
    }

    Environment Variables

    VariableRequiredDescription
    OPENCLAW_SESSIONNoTarget session (auto-detected)
    ASYNC_TASK_PUSH_URLNoCustom HTTP push endpoint
    ASYNC_TASK_AUTH_TOKENNoAuth token for custom endpoint

    Requirements

    • Node.js 16+
    • OpenClaw or Clawdbot CLI installed

    Critical Rules

    • MUST pair start with done or fail
    • NEVER start without completing
    • NEVER say "will push later" then forget

    Links

    • [GitHub]()
    • [OpenClaw]()