# Upgrade Guide — v0.12.34

<!-- bump: patch -->

## What Changed

### Agent Identity Prefix (Default: On)

Agent outbound messages are now prefixed with the agent's name for visual identity separation. Since Baileys connects as a linked device on the user's WhatsApp account, all agent messages previously appeared indistinguishable from user-typed messages. The prefix solves this.

**Default behavior** (no config needed):

> *[Agent]* The CI is green. Last deploy was 2 hours ago.

**With custom agent name:**

> *[Dude]* The CI is green. Last deploy was 2 hours ago.

**Config:**

```json
{
  "messaging": [{
    "type": "whatsapp",
    "config": {
      "agentName": "Dude",
      "prefixEnabled": true,
      "messagePrefix": "*[Dude]* "
    }
  }]
}
```

| Field | Default | Description |
|-------|---------|-------------|
| `agentName` | `"Agent"` | Agent display name, used in prefix and group mentions |
| `prefixEnabled` | `true` | Prepend agent name to outbound messages |
| `messagePrefix` | `"*[{agentName}]* "` | Custom prefix format (WhatsApp markdown supported) |

To disable the prefix: set `prefixEnabled: false`.

### Group Mention Fallback

Group mention detection now falls back to the top-level `agentName` when `groups.agentName` is not set. Previously, text-based triggers (e.g., "@Dude what's up?") only worked if `agentName` was explicitly set inside the `groups` config block.

## What to Tell Your User

- **Prefix**: "Your agent's messages now show who sent them — look for the bold `[AgentName]` prefix at the start of each message. You can customize or disable this in your WhatsApp config."
- **Existing users**: The prefix is on by default. If the user prefers unmarked messages, set `prefixEnabled: false`.

## Summary of New Capabilities

| Capability | How to Use |
|-----------|-----------|
| Agent identity prefix | Default on — messages start with `*[Agent]*` |
| Custom agent name | Set `agentName: "YourName"` in WhatsApp config |
| Custom prefix format | Set `messagePrefix: "🤖 *Bot:* "` for custom styling |
| Disable prefix | Set `prefixEnabled: false` |
| Group name fallback | Set `agentName` at top level — groups inherit it |
