> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lukan.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# WhatsApp Channel

> Chat with Lukan via WhatsApp messenger.

<Note>
  WhatsApp is available as a plugin. Install it with `lukan plugin install-remote` or from the Web UI plugin manager.
</Note>

## Architecture

Two-process design (via plugin):

1. **lukan-bridge** - Node.js/Bun process using `whatsapp-web.js`, exposes WebSocket at `ws://localhost:3001`
2. **lukan whatsapp** - Agent process connecting to the bridge

## Setup

```bash theme={null}
# Interactive setup
lukan setup whatsapp

# Or manual:
lukan wa auth                 # Scan QR code
lukan wa allow +34612345678   # Whitelist a number
lukan wa start                # Start daemon
```

## Commands

```bash theme={null}
lukan whatsapp                   # Start WhatsApp channel
lukan wa on                      # Enable WhatsApp
lukan wa off                     # Disable and stop daemon
lukan wa start                   # Start as background daemon
lukan wa stop                    # Stop daemon
lukan wa restart                 # Restart daemon
lukan wa status                  # Show configuration
lukan wa auth                    # Scan QR code to authenticate
lukan wa logout                  # Delete WhatsApp session
lukan wa allow <number>          # Whitelist a phone number
lukan wa deny <number>           # Remove from whitelist
lukan wa group add|remove|list   # Manage allowed groups
lukan wa groups                  # List available groups from bridge
lukan wa prefix [value]          # Get or set command prefix
lukan wa model                   # Select model interactively
lukan wa tools list|add|remove|reset   # Manage allowed tools
lukan wa dir list|add|remove|clear|on|off  # Manage allowed directories
lukan wa logs [-f] [-n <n>]      # Show daemon logs
```

## Features

* **Whitelist-only** - Only processes messages from whitelisted numbers or allowed groups
* **Prefix filtering** - Optional prefix (e.g., `/lukan`) required to trigger the agent
* **Voice transcription** - Uses OpenAI Whisper for audio messages
* **Directory restrictions** - File tools blocked unless directories are explicitly allowed
* **Hidden file blocking** - `.env`, `.git/`, etc. always blocked
* **Group support** - Allowed by full chat ID (e.g., `123456789@g.us`)
* **Email confirmation** - Requires explicit user confirmation before sending emails
* **Reminder notifications** - Proactive notifications sent to configured chat

## Configuration

```json theme={null}
{
  "whatsapp": {
    "enabled": true,
    "bridgeUrl": "ws://localhost:3001",
    "whitelist": ["34612345678"],
    "allowedGroups": ["123456789@g.us"],
    "prefix": "/lukan",
    "tools": ["ReadFile", "WebSearch"],
    "allowedDirs": ["/home/user/projects"],
    "skipDirRestrictions": false,
    "provider": "anthropic",
    "model": "claude-sonnet-4-5-20250929",
    "reminderAdvance": 15,
    "reminderChat": "34612345678@c.us"
  }
}
```

## Default Tools

`Grep`, `Glob`, `ReadFiles`, `WebSearch`, `WebFetch`
