✓ Verified 💻 Development ✓ Enhanced Data

Async Task

Execute long-running tasks without HTTP timeouts.

Rating
4.2 (115 reviews)
Downloads
25,762 downloads
Version
1.0.0

Overview

Execute long-running tasks without HTTP timeouts.

Complete Documentation

View Source →

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

bash
# 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

Commands

bash
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"

bash
# 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:

bash
export ASYNC_TASK_PUSH_URL="https://your-server.com/api/push"
export ASYNC_TASK_AUTH_TOKEN="your-token"

The endpoint receives:

json
{
  "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

Installation

Terminal bash

openclaw install async-task
    
Copied!

💻Code Examples

async-task status # Show current task status

async-task-status--show-current-task-status.txt
## Usage Flow (MUST follow strictly)

1. **Start**: `async-task start "Scanning files..."`
2. **Execute**: Run your actual commands
3. **Push result**: `async-task done "Found 42 files"`

## Example

User asks: "Count all TypeScript files in this project"

async-task done "Found $count TypeScript files"

async-task-done-found-count-typescript-files.txt
## How It Works

1. `start` saves task state and returns confirmation immediately
2. You execute whatever commands needed
3. `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:
example.sh
# 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
example.sh
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
example.sh
# 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"
example.json
{
  "sessionId": "session-id",
  "content": "message",
  "role": "assistant"
}

Tags

#productivity_and-tasks

Quick Info

Category Development
Model Claude 3.5
Complexity One-Click
Author enderfga
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install async-task