Native mobile client for OpenClaw β the open-source AI assistant gateway.
ClawApp connects directly to your OpenClaw Gateway via WebSocket, giving you a full-featured iOS-style interface to manage sessions, chat, and configure your gateway from anywhere.
- Session list with real-time updates
- Full chat interface with Markdown rendering
- Streaming responses with live token output
- Send messages, abort running tasks
- Start new conversations
- Channels β WhatsApp, Telegram, Slack status & config
- Models β List available models, set defaults
- Skills β Enable/disable/install skills
- Agents β View agent profiles, edit workspace files (SOUL.md, AGENTS.md, etc.)
- Cron Jobs β List, enable/disable, trigger, delete scheduled tasks
- Sessions Admin β Reset, compact, delete, set model/thinking overrides, view usage
- Nodes β Connected devices, rename, describe
- Devices β Paired client management, approve/reject/revoke
- Exec Permissions β Security policy & allowlist viewer
- Logs β Live gateway log viewer with filtering
- Configuration β Raw JSON config editor with validation
- Ed25519 device identity (auto-generated, stored in secure storage)
- Full OpenClaw device pairing protocol support
- Password or token authentication
- Credentials stored in platform secure storage (Keychain on iOS/macOS)
ββββββββββββββββ WebSocket (RPC) ββββββββββββββββββββ
β ClawApp β ββββββββββββββββββββββββΊ β OpenClaw Gateway β
β (Flutter) β Ed25519 signed auth β (Node.js) β
ββββββββββββββββ ββββββββββββββββββββ
ClawApp speaks the same WebSocket RPC protocol as OpenClaw's built-in web dashboard. No additional server-side plugins or configuration needed β just point it at your gateway URL and authenticate.
chat.send,chat.history,chat.abortβ messagingsessions.list,sessions.patch,sessions.reset,sessions.delete,sessions.compact,sessions.usageβ session managementconfig.get,config.set,config.patch,config.schemaβ configurationmodels.list,skills.status,skills.enable,skills.disable,skills.installβ AI & toolscron.list,cron.update,cron.run,cron.removeβ automationchannels.statusβ channel managementagents.list,agents.files.list,agents.files.get,agents.files.setβ agent managementnode.list,node.describe,node.renameβ infrastructuredevice.pair.list,device.pair.approve,device.pair.reject,device.token.revokeβ device managementexec.approvals.getβ security policylogs.tailβ diagnostics
- Flutter 3.41+ / Dart 3.11+
- An OpenClaw Gateway instance (v2026.2+)
- Gateway URL + password or token
# Clone
git clone https://github.com/rxrw/clawapp.git
cd clawapp
# Install deps
flutter pub get
# Run on iOS Simulator
flutter run -d ios
# Run on macOS
flutter run -d macos
# Run on Android
flutter run -d androidOn first launch, enter your Gateway WebSocket URL (e.g. ws://192.168.1.100:18789) and password/token. If connecting from a new device remotely, you'll need to approve the pairing on your gateway host:
openclaw devices list
openclaw devices approve <requestId>lib/
βββ core/ # Gateway client, device identity, storage
β βββ device_identity.dart # Ed25519 key management
β βββ gateway_client.dart # WebSocket RPC client
β βββ storage.dart # Secure credential storage
βββ models/ # Data models
β βββ message.dart
β βββ session.dart
βββ providers/ # State management (Provider)
β βββ chat_provider.dart
β βββ gateway_provider.dart
β βββ sessions_provider.dart
βββ screens/ # UI screens
β βββ chat_screen.dart
β βββ sessions_screen.dart
β βββ setup_screen.dart
β βββ settings/
β βββ settings_screen.dart
β βββ agents_screen.dart
β βββ channels_screen.dart
β βββ config_screen.dart
β βββ cron_screen.dart
β βββ devices_screen.dart
β βββ exec_approvals_screen.dart
β βββ logs_screen.dart
β βββ models_screen.dart
β βββ nodes_screen.dart
β βββ sessions_admin_screen.dart
β βββ skills_screen.dart
β βββ about_screen.dart
βββ widgets/ # Reusable widgets
βββ app.dart
βββ main.dart
- iOS-native look using Cupertino widgets throughout
- iMessage-style chat bubbles with assistant avatar
- Settings modeled after iOS Settings app (grouped list sections)
- Connection status indicator (green/orange/red dot)
- Pull-to-refresh on session list
- Config schema form rendering (dynamic forms from
config.schema) - MCP server management page
- Dark mode theming
- Haptic feedback
- Swipe gestures on session list
- Push notifications via gateway events
- Bonjour/mDNS gateway auto-discovery
MIT
Built by Claw π¦ β an AI that wrote its own mobile app.