Back

13. OpenClaw Mobile Integration: iOS and Android Nodes

This article explains how to use OpenClaw on iOS and Android devices, including mobile app installation, node pairing, Canvas support, camera and screen recording features, for a true mobile AI assistant experience.

For OpenClaw v2026.2 | This article assumes you have completed Gateway deployment and want to use it on mobile devices.

TL;DR: iOS/Android apps connect to the Gateway as “nodes,” providing camera, screen recording, location, and notification capabilities. Pairing flow: open app → discover Gateway → enter pairing code. Commands: camera.snap (take photo), screen.record (record screen), location.get (location), notification.send (notification). Voice wake is only supported on iOS—say “Hey Claw.”

Mobile Feature Overview

Feature Comparison

Feature iOS Android Notes
Messaging Via WebChat or chat app
Canvas Visual interface
Camera Take photos for AI analysis
Screen Recording Record and share screen
Location Get current position
Notifications Receive AI-sent notifications
Voice Wake “Hey Claw” wake
Local Execution Requires Gateway connection

Architecture Diagram

[iOS/Android App] <--WiFi/Cellular--> [Gateway] <---> [Agent]
        |                                    |
    [Node API]                        [Tools/Skills]
        |                                    |
   [Device Capabilities]              [External Services]
    - Camera
    - Screen
    - Location
    - Notifications

iOS Installation

System Requirements

Requirement Version
iOS 15.0+
Device iPhone 8 or newer

Installation Methods

  1. Join TestFlight beta
  2. Install OpenClaw iOS app
  3. Open the app to pair

Method 2: Build from Source

# Clone repository
git clone https://github.com/openclaw/openclaw.git
cd openclaw/apps/ios

# Install dependencies
pod install

# Open Xcode
open OpenClaw.xcworkspace

# Build and install to device

iOS Permission Configuration

Permission Purpose Required
Camera Photo analysis Optional
Photo Library Save/read photos Optional
Location Get current position Optional
Notifications Receive message alerts Recommended
Microphone Voice wake Optional
Face ID Secure authentication Optional

Android Installation

System Requirements

Requirement Version
Android 10.0+ (API 29+)
Device Most modern devices

Installation Methods

Method 1: Direct APK Install

  1. Download the latest APK
  2. Allow installation from unknown sources
  3. Install and open the app

Method 2: Build from Source

# Clone repository
git clone https://github.com/openclaw/openclaw.git
cd openclaw/apps/android

# Build
./gradlew assembleDebug

# Install to device
adb install app/build/outputs/apk/debug/app-debug.apk

Android Permission Configuration

Permission Purpose Required
Camera Photo analysis Optional
Storage Save/read files Optional
Location Get current position Optional
Notifications Receive message alerts Recommended
Microphone Voice input Optional

Node Pairing

Pairing Flow

sequenceDiagram
    participant A as Mobile App
    participant G as Gateway
    participant D as Discovery Service
    
    A->>D: Broadcast discovery request
    D-->>A: Discover Gateway
    A->>G: Request pairing
    G-->>A: Return pairing code
    A->>A: Display pairing code
    Note over A,G: User enters pairing code in App
    A->>G: Submit pairing code
    G->>G: Verify pairing code
    G-->>A: Pairing success
    A->>G: Register node capabilities
    G-->>A: Confirm registration

Pairing Steps

1. Ensure Gateway is Running

# Start Gateway
openclaw gateway --port 18789

# Check status
openclaw health

2. Open Mobile App

Open the OpenClaw iOS/Android app.

3. Discover Gateway

The app will automatically scan the local network for the Gateway, or you can manually enter the Gateway address:

http://192.168.1.100:18789

4. Get Pairing Code

View the pairing code in the Gateway terminal:

openclaw pairing list

# Example output:
# Node     Code     Platform
# ios-1    ABC123   iOS
# android-1 XYZ789  Android

5. Enter Pairing Code

Enter the pairing code in the app to complete pairing.

Node Configuration

{
  "nodes": {
    "ios-1": {
      "platform": "ios",
      "capabilities": ["camera", "screen_record", "location", "notification"],
      "autoConnect": true
    },
    "android-1": {
      "platform": "android",
      "capabilities": ["camera", "screen_record", "location", "notification", "sms"],
      "autoConnect": true
    }
  }
}

Camera Features

Take Photos for AI Analysis

User: Can you see what's in my fridge?

Agent: Sure, let me check through your phone camera...
[Call camera.snap]
[Analyze image]
Your fridge contains:
- Milk (half bottle)
- Eggs (6)
- Cucumbers (2)
- Tomatoes (several)
I'd suggest making scrambled eggs with tomatoes~

Camera Commands

Command Description
camera.snap Take photo
camera.video Record video
camera.switch Switch front/back camera

Camera Configuration

{
  "nodes": {
    "ios-1": {
      "camera": {
        "defaultCamera": "back",
        "quality": "high",
        "saveToGallery": false
      }
    }
  }
}

Screen Recording

Record and Share

User: Can you help me see how to use this app?

Agent: Sure, please start screen recording...

[User operates the app]

Agent: I see, this is a to-do app.
You can:
1. Tap the + button in the bottom right to add tasks
2. Swipe left to delete tasks
3. Tap a task to edit details

Screen Recording Configuration

{
  "nodes": {
    "ios-1": {
      "screenRecord": {
        "maxDuration": 300,
        "quality": "medium",
        "withAudio": true
      }
    }
  }
}

Location Services

Get Current Location

User: What good restaurants are nearby?

Agent: Let me check where you are...
[Call location.get]
You're currently near Sanlitun, Chaoyang District, Beijing.
Here are some highly-rated restaurants:
1. Xiao Diao Li Tang - 4.8 stars, traditional Beijing cuisine
2. Hu Da Restaurant - 4.7 stars, crayfish
3. ...

Location Commands

Command Description
location.get Get current location
location.watch Continuously monitor location changes

Location Configuration

{
  "nodes": {
    "ios-1": {
      "location": {
        "accuracy": "high",
        "distanceFilter": 100
      }
    }
  }
}

Notification Features

Send Notifications

Agent: Task completed. I'll send a notification to your phone.

[Call notification.send]

Phone receives notification:
Title: Task Complete
Content: Code has been deployed to production

Notification Configuration

{
  "nodes": {
    "ios-1": {
      "notification": {
        "enabled": true,
        "sound": true,
        "badge": true
      }
    }
  }
}

Voice Wake (iOS)

Configure Voice Wake

{
  "nodes": {
    "ios-1": {
      "voiceWake": {
        "enabled": true,
        "keyword": "hey claw",
        "sensitivity": "medium"
      }
    }
  }
}

Using Voice Wake

  1. Say “Hey Claw”
  2. App automatically starts listening
  3. Speak your question
  4. Agent responds

Canvas on Mobile

Canvas on Mobile

Mobile Canvas provides the same visual experience as desktop:

  • Interactive dashboards
  • Real-time data display
  • Form input
  • Charts and tables

Mobile Canvas Optimization

{
  "canvas": {
    "mobile": {
      "adaptiveLayout": true,
      "touchGestures": true,
      "performanceMode": "balanced"
    }
  }
}

Node Management

View Nodes

# List all nodes
openclaw nodes list

# Example output:
# Node        Platform  Status   Capabilities
# ios-1       iOS       online   camera,location,notification
# android-1   Android   offline  camera,location,sms

# View node details
openclaw nodes show ios-1

Node Operations

# Enable node
openclaw nodes enable ios-1

# Disable node
openclaw nodes disable ios-1

# Disconnect node
openclaw nodes disconnect ios-1

# Rename node
openclaw nodes rename ios-1 --name "My iPhone"

Troubleshooting

Node Cannot Connect

# Check Gateway status
openclaw health

# Check network
ping 192.168.1.100

# View node logs
openclaw logs --node ios-1

Permission Issues

# Check node permissions
openclaw nodes permissions ios-1

# Example output:
# Permission      Status
# Camera          Granted
# Location        Granted
# Notification    Granted
# Microphone      Denied

Pairing Failure

  1. Ensure the Gateway is running
  2. Check network connection (same LAN)
  3. Check firewall settings
  4. Try pairing again

Summary

Mobile nodes extend OpenClaw’s capabilities:

  • Camera: Photo analysis, video recording
  • Location: Get current position
  • Notifications: Push messages to phone
  • Canvas: Mobile visual interface
  • Voice Wake: Hands-free operation

Changelog:

  • 2026-02-26: Initial release

Series Navigation: