@agenticmail/cli 0.5.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,35 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Ope Olatunji (https://github.com/ope-olatunji)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+ ---
24
+
25
+ AgenticMail - Email infrastructure for AI agents.
26
+
27
+ Project: https://github.com/agenticmail/agenticmail
28
+ Author: Ope Olatunji
29
+ GitHub: https://github.com/ope-olatunji
30
+
31
+ This software includes components for programmatic email management,
32
+ SMTP/IMAP integration, MCP server tooling, Cloudflare gateway orchestration,
33
+ and OpenClaw plugin infrastructure. All packages within this monorepo
34
+ (@agenticmail/core, @agenticmail/api, @agenticmail/mcp, @agenticmail/openclaw,
35
+ and agenticmail) are covered under this license.
package/README.md ADDED
@@ -0,0 +1,459 @@
1
+ # agenticmail
2
+
3
+ The main package for [AgenticMail](https://github.com/agenticmail/agenticmail) — the first platform to give AI agents real email addresses and phone numbers. This is the package you install to get started.
4
+
5
+ It bundles a setup wizard, API server launcher, and a full interactive shell with 44 commands for managing agents, sending and receiving email and SMS, configuring gateways, and more. It also re-exports everything from `@agenticmail/core` so you can use it as an SDK.
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ npm install -g @agenticmail/cli
11
+ ```
12
+
13
+ **Requirements:** Node.js 20+, Docker (for Stalwart mail server)
14
+
15
+ ---
16
+
17
+ ## Quick Start
18
+
19
+ ```bash
20
+ # 1. Start the Stalwart mail server
21
+ docker compose up -d
22
+
23
+ # 2. Run the setup wizard
24
+ agenticmail setup
25
+
26
+ # 3. Start the API server + interactive shell
27
+ agenticmail start
28
+
29
+ # 4. Check system status
30
+ agenticmail status
31
+ ```
32
+
33
+ ---
34
+
35
+ ## The Setup Wizard
36
+
37
+ Running `agenticmail setup` walks you through everything needed to get email working:
38
+
39
+ 1. **System check** — verifies Docker is running, Stalwart mail server is healthy, and optionally checks for Cloudflared (the Cloudflare tunnel tool). Shows friendly status indicators and auto-installs missing components where possible.
40
+
41
+ 2. **Account creation** — generates a master API key (the admin password for the entire system), creates the `~/.agenticmail` data directory, and initializes the SQLite database with all required tables.
42
+
43
+ 3. **Service startup** — starts Docker if needed, ensures Stalwart is running and healthy.
44
+
45
+ 4. **Email connection** — this is where you choose how your agents connect to the outside world.
46
+
47
+ 5. **Phone number access (optional)** — set up Google Voice for SMS. Agents can receive verification codes and send texts. The wizard validates Gmail/Google Voice email matching, warns about mismatches, and collects separate credentials when needed. SMS reading prioritizes direct Google Voice web access (instant) with email forwarding as fallback.
48
+
49
+ 6. **OpenClaw integration** — if OpenClaw is detected, automatically registers the plugin.
50
+
51
+ ### Relay Mode (Recommended for Getting Started)
52
+
53
+ Uses your existing Gmail or Outlook account. You provide your email address and an app password (not your regular password). The wizard:
54
+
55
+ - Lets you pick Gmail, Outlook, or a custom provider
56
+ - Handles Gmail's app password format (strips spaces automatically)
57
+ - Creates your first AI agent
58
+ - Sends a welcome test email
59
+ - Sets up relay polling so incoming mail gets delivered to agent inboxes
60
+ - Retries up to 3 times if authentication fails
61
+
62
+ Agent emails go out as sub-addresses like `yourname+agentname@gmail.com`. Replies come back through the same account.
63
+
64
+ ### Domain Mode (For Professional Use)
65
+
66
+ Uses a custom domain with Cloudflare for DNS, email routing, and tunneling. The wizard:
67
+
68
+ - Takes your Cloudflare API token and account ID
69
+ - Optionally lets you search for and purchase a domain
70
+ - Configures MX records, SPF, DKIM, and DMARC automatically
71
+ - Sets up a Cloudflare Tunnel for inbound email delivery
72
+ - Configures a Cloudflare Email Worker as the catch-all handler
73
+ - Provides manual verification instructions for anything that needs confirmation
74
+
75
+ Agent emails use proper addresses like `secretary@yourdomain.com`.
76
+
77
+ ---
78
+
79
+ ## CLI Commands
80
+
81
+ All commands are available via `agenticmail <command>` or `npx @agenticmail/cli@latest <command>`.
82
+
83
+ ### Core Commands
84
+
85
+ | Command | Description |
86
+ |---------|-------------|
87
+ | `agenticmail` | **Start the server.** Runs setup first if not initialized, then starts all services and opens the interactive shell. This is the default — just run `agenticmail` with no arguments. |
88
+ | `agenticmail setup` | **Run the setup wizard.** Walks you through system checks, account creation, service startup, email connection, phone number setup, and OpenClaw integration. Safe to re-run anytime. |
89
+ | `agenticmail start` | **Start the server and open the interactive shell.** Ensures Docker is running, Stalwart is up, and the API server is reachable. Automatically installs the auto-start service. |
90
+ | `agenticmail stop` | **Stop the server.** Kills the background API server process. If auto-start is enabled, it will restart on next boot. |
91
+ | `agenticmail status` | **Show what's running.** Displays Docker, Stalwart, API server, email connection, and auto-start service status. |
92
+
93
+ ### Integration Commands
94
+
95
+ | Command | Description |
96
+ |---------|-------------|
97
+ | `agenticmail openclaw` | **Set up AgenticMail for OpenClaw.** Starts infrastructure, creates an agent, configures the plugin, enables agent auto-spawn via hooks, and restarts the OpenClaw gateway. |
98
+
99
+ ### Service Management (Auto-Start on Boot)
100
+
101
+ AgenticMail installs a system service so your email server starts automatically when your computer boots — no manual intervention needed.
102
+
103
+ | Command | Description |
104
+ |---------|-------------|
105
+ | `agenticmail service` | **Show auto-start status.** Whether the service is installed and running. |
106
+ | `agenticmail service install` | **Install the auto-start service.** On boot, the startup script waits up to 10 minutes for Docker, checks Stalwart (starts it if needed), then launches the API server. |
107
+ | `agenticmail service uninstall` | **Remove the auto-start service.** AgenticMail will no longer start on boot. |
108
+ | `agenticmail service reinstall` | **Reinstall the service.** Use after config changes or updates to refresh the service file. |
109
+
110
+ **How auto-start works on reboot:**
111
+ 1. Computer starts → Docker Desktop launches (its own auto-start)
112
+ 2. Stalwart mail server starts (`restart: unless-stopped` in Docker)
113
+ 3. AgenticMail startup script waits for Docker to be ready (up to 10 min)
114
+ 4. Script verifies Stalwart is running (auto-starts it if needed)
115
+ 5. API server starts and begins accepting requests
116
+ 6. If the server crashes, the system service automatically restarts it
117
+
118
+ On macOS this uses a LaunchAgent (`~/Library/LaunchAgents/com.agenticmail.server.plist`). On Linux it uses a systemd user service (`~/.config/systemd/user/agenticmail.service`).
119
+
120
+ ### Maintenance Commands
121
+
122
+ | Command | Description |
123
+ |---------|-------------|
124
+ | `agenticmail update` | **Update to the latest version.** Checks npm, updates the CLI and OpenClaw plugin, and restarts the gateway. |
125
+ | `agenticmail help` | **Show available commands.** |
126
+
127
+ ### Logs
128
+
129
+ Server logs are stored in `~/.agenticmail/logs/`:
130
+
131
+ | File | Contents |
132
+ |------|----------|
133
+ | `server.log` | API server stdout |
134
+ | `server.err.log` | API server stderr |
135
+ | `startup.log` | Boot sequence log — Docker wait times, Stalwart checks, startup events |
136
+
137
+ ---
138
+
139
+ ## Starting the Server
140
+
141
+ `agenticmail start` does three things:
142
+
143
+ 1. **Checks prerequisites** — verifies Docker and Stalwart are running. If there's no config file, runs the setup wizard automatically.
144
+
145
+ 2. **Launches the API server** — forks `@agenticmail/api` as a child process, monitors it for crashes (captures the last 50 lines of error output for diagnostics), and waits up to 20 seconds for a health check response.
146
+
147
+ 3. **Drops into the interactive shell** — once the API is healthy, you get an interactive command prompt where you can manage everything.
148
+
149
+ If the server crashes, you get clear error output showing what went wrong.
150
+
151
+ ---
152
+
153
+ ## System Status
154
+
155
+ `agenticmail status` shows a full health report:
156
+
157
+ - **Services** — Docker, Stalwart mail server, Cloudflared (if configured)
158
+ - **Account setup** — whether the config file and database exist
159
+ - **Server health** — API server connectivity and Stalwart reachability
160
+ - **Email gateway** — current mode (relay or domain), provider name, domain name, polling status
161
+ - **Auto-start** — whether the system service is installed and running
162
+
163
+ ---
164
+
165
+ ## The Interactive Shell
166
+
167
+ The shell is the main way to interact with AgenticMail. It provides 44 commands organized by category, with arrow-key navigation, color-coded output, and keyboard shortcuts.
168
+
169
+ ### Getting Around
170
+
171
+ - Type `/` to see the command menu, then use arrow keys to navigate and Enter to select
172
+ - Type any command directly (e.g., `/inbox`)
173
+ - Press **Escape** at any point to cancel and go back
174
+ - Press **Tab** to auto-complete commands
175
+
176
+ ### Email Commands
177
+
178
+ | Command | What It Does |
179
+ |---------|-------------|
180
+ | `/inbox` | Interactive inbox viewer — use arrow keys to select messages, Enter to read, `v` to toggle body previews, left/right arrows for pagination. Unread messages marked with a star. |
181
+ | `/send` | Compose and send an email. Prompts for recipient, subject, and body. Supports file attachments via drag-and-drop or file path. |
182
+ | `/read` | Read a specific email by number. Shows full headers, body, and attachment list. |
183
+ | `/reply` | Reply to an email. Auto-fills the recipient, subject (with Re: prefix), and quoted body. Supports attachments. |
184
+ | `/forward` | Forward an email. Includes original message and attachments. |
185
+ | `/search` | Search emails by keyword. Can search both local inbox and connected relay account (Gmail/Outlook). Offers to import relay results. |
186
+ | `/delete` | Delete an email (shows inbox preview first). |
187
+ | `/save` | Download email attachments to a file. Lets you pick individual attachments or save all. |
188
+ | `/thread` | View an email conversation. Groups messages by subject (strips Re:/Fwd: prefixes) and shows up to 20 messages. |
189
+ | `/unread` | Mark an email as unread. |
190
+ | `/archive` | Move an email to the Archive folder. |
191
+ | `/trash` | Move an email to Trash. |
192
+ | `/sent` | Browse sent emails with pagination. |
193
+ | `/digest` | Quick inbox overview with body previews for each message. |
194
+
195
+ ### Organization Commands
196
+
197
+ | Command | What It Does |
198
+ |---------|-------------|
199
+ | `/folders` | List all folders, create new ones, or browse a specific folder with pagination. |
200
+ | `/contacts` | Manage your address book — list, add, or delete contacts. |
201
+ | `/drafts` | Save, edit, and send draft emails. Also lets you browse the Drafts IMAP folder. |
202
+ | `/signature` | Create and manage email signatures. One can be marked as default (shown with a star). |
203
+ | `/templates` | Create reusable email templates. Use them to quickly send formatted emails. |
204
+ | `/schedule` | Schedule emails for future delivery. Comes with 5 quick presets (30 min, 1 hour, 3 hours, tomorrow 8am, tomorrow 9am) plus custom date/time input with timezone support. |
205
+ | `/tag` | Create colored tags and apply them to messages. View messages by tag. |
206
+ | `/rules` | Create email filtering rules. Set conditions (from address, subject contains) and actions (move to folder, mark as read, delete). |
207
+
208
+ ### Agent Commands
209
+
210
+ | Command | What It Does |
211
+ |---------|-------------|
212
+ | `/agents` | List all AI agents with their email address, API key (partially hidden), and owner name. |
213
+ | `/switch` | Switch the active agent. Changes which inbox you're viewing and which agent sends email. |
214
+ | `/deleteagent` | Delete an agent. Requires typing the agent's name to confirm (3 attempts). Archives all emails and generates a deletion report. |
215
+ | `/deletions` | View past agent deletion reports with email counts and top correspondents. |
216
+ | `/name` | Set a display name for the active agent. This appears in the From: header (e.g., "secretary from John"). |
217
+
218
+ ### Security Commands
219
+
220
+ | Command | What It Does |
221
+ |---------|-------------|
222
+ | `/spam` | View spam folder, report emails as spam, mark emails as not-spam, or get a detailed spam score showing which detection rules matched and their point values. |
223
+ | `/rules` | Create email filtering rules (also listed under Organization). |
224
+ | `/pending` | View blocked outbound emails that need approval. List all pending, approve to send, or reject to discard. Master key required — agents cannot approve their own emails. |
225
+
226
+ ### Chat & Agent Commands
227
+
228
+ | Command | What It Does |
229
+ |---------|-------------|
230
+ | `/chat` | **Chat directly with your OpenClaw AI agent** — opens a real-time chat session via WebSocket. Features bubble-style UI (agent left, user right), markdown rendering, elapsed timer during thinking, and multi-line input support. Uses Ed25519 device auth for secure gateway access. |
231
+ | `/tasks` | View pending tasks assigned to your agent. |
232
+ | `/msg` | Send a message to another AI agent by name. |
233
+ | `/assign` | Assign a task to another agent via the task queue. |
234
+
235
+ ### Gateway Commands
236
+
237
+ | Command | What It Does |
238
+ |---------|-------------|
239
+ | `/relay` | Search the connected relay account (Gmail/Outlook) and import specific emails into the local inbox. |
240
+ | `/setup` | Re-run the setup wizard. |
241
+ | `/status` | Show server health, gateway mode, and agent count. |
242
+ | `/openclaw` | Launch an OpenClaw terminal session. Opens in a new terminal window (macOS Terminal, or gnome-terminal/xterm/konsole on Linux). |
243
+
244
+ ### System Commands
245
+
246
+ | Command | What It Does |
247
+ |---------|-------------|
248
+ | `/help` | Show all available commands with descriptions. |
249
+ | `/clear` | Clear the screen. |
250
+ | `/update` | Check for and install the latest AgenticMail version. Auto-detects OpenClaw and updates both. |
251
+ | `/exit` | Exit the shell (also `/quit`). Stops the server and cleans up. |
252
+
253
+ ### CLI Update Command
254
+
255
+ ```bash
256
+ agenticmail update
257
+ ```
258
+
259
+ Checks npm for the latest version, compares with your current install, and updates in-place. If OpenClaw is detected, it also updates `@agenticmail/openclaw` and restarts the gateway automatically. Works with npm, pnpm, and bun.
260
+
261
+ ---
262
+
263
+ ## Inbox Navigation
264
+
265
+ The inbox viewer (`/inbox`) is fully interactive:
266
+
267
+ - **Up/Down arrows** — move the cursor between emails (green arrow indicator)
268
+ - **Left arrow or `p`** — previous page
269
+ - **Right arrow or `n`** — next page
270
+ - **Enter** — open the selected email full-screen (press any key to return)
271
+ - **`v`** — toggle body previews on/off
272
+ - **Escape** — exit the inbox viewer
273
+
274
+ 10 emails per page. Unread emails show a cyan star. Colors rotate through 8 different colors for visual variety.
275
+
276
+ ---
277
+
278
+ ## Email Approval Workflow
279
+
280
+ This is one of the most important features. When an AI agent sends an email that the outbound security guard flags (containing passwords, API keys, personal information, etc.):
281
+
282
+ 1. The email is **blocked and stored** in the pending queue
283
+ 2. The **owner is notified** via a notification email to their relay address (Gmail/Outlook)
284
+ 3. The owner can approve or reject through the `/pending` command in the shell
285
+
286
+ But there's an easier way: the owner can simply **reply to the notification email**. Reply with "approve", "yes", "lgtm", "go ahead", "send", or "ok" to send the blocked email. Reply with "reject", "no", "deny", "cancel", or "block" to discard it. The relay polling system picks up the reply and acts on it automatically.
287
+
288
+ The relay polling acts like a persistent background job — it keeps checking for new messages on an exponential backoff schedule (starting at 30 seconds, growing to a cap of 5 minutes, resetting when mail arrives). This means the agent effectively has a follow-up mechanism: it can periodically check if its blocked email was approved and continue accordingly.
289
+
290
+ ---
291
+
292
+ ## Scheduled Emails
293
+
294
+ The `/schedule` command supports many time formats:
295
+
296
+ - **Quick presets:** 30 minutes, 1 hour, 3 hours, tomorrow 8am, tomorrow 9am
297
+ - **Custom dates:** `02-14-2026 3:30 PM EST`
298
+ - **Relative:** `in 30 minutes`, `in 2 hours`
299
+ - **Named:** `tomorrow 8am`, `tomorrow 2pm`
300
+ - **Day of week:** `next monday 9am`, `next friday 2pm`
301
+ - **Casual:** `tonight`, `this evening` (sends at 8 PM)
302
+
303
+ Timezone support includes: EST, EDT, CST, CDT, MST, MDT, PST, PDT, GMT, UTC, BST, CET, CEST, IST, JST, AEST, AEDT, and many more. The system automatically detects your local timezone as a default.
304
+
305
+ ---
306
+
307
+ ## Attachments
308
+
309
+ The shell supports file attachments in `/send`, `/reply`, and `/forward`:
310
+
311
+ - **Drag and drop** — drag a file from Finder/Explorer into the terminal
312
+ - **File path** — type or paste a file path (handles quotes, spaces, and `~` expansion)
313
+ - Files are base64-encoded before upload
314
+ - File sizes are displayed in KB
315
+ - You can attach multiple files to a single email
316
+
317
+ For downloading attachments, `/save` lets you pick individual attachments or save all at once.
318
+
319
+ ---
320
+
321
+ ## OpenClaw Integration
322
+
323
+ `agenticmail openclaw` is a 5-step setup command that integrates AgenticMail with the OpenClaw agent framework:
324
+
325
+ 1. Checks if Docker and Stalwart are already running (reuses existing infrastructure)
326
+ 2. Starts the API server if not already running
327
+ 3. **Agent selection** — shows existing agents with inbox/sent counts in an interactive arrow-key selector, or lets you create a new one
328
+ 4. Merges the AgenticMail plugin configuration into your `openclaw.json` (searches current directory and `~/.openclaw/`, supports JSON and JSONC formats)
329
+ 5. Offers to restart the OpenClaw gateway so the plugin activates immediately
330
+
331
+ ### Chat with Your AI Agent
332
+
333
+ Once set up, use `/chat` in the AgenticMail shell to talk directly to your OpenClaw agent:
334
+
335
+ - **Real-time WebSocket connection** to the OpenClaw gateway
336
+ - **Bubble-style UI** — agent messages left-aligned with gray borders, your messages right-aligned with blue borders
337
+ - **Markdown rendering** — bold, italic, code, headers, and bullet lists rendered in ANSI
338
+ - **Thinking indicator** — animated spinner with elapsed timer while the agent processes
339
+ - **Multi-line input** — Enter sends, `\` + Enter for new lines, arrow keys to navigate, backspace merges lines
340
+ - **Ed25519 device authentication** — secure keypair-based auth for full scope access
341
+ - **Esc to exit** — returns cleanly to the main shell
342
+
343
+ ### Smart Sub-Agent Spawning (`call_agent`)
344
+
345
+ The `call_agent` tool intelligently spawns sub-agents with:
346
+
347
+ - **Auto mode detection** — analyzes task complexity to choose light (simple math/lookups), standard (web research, file ops), or full (multi-agent coordination) mode
348
+ - **Dynamic timeouts** — light=60s, standard=180s, full=300s, max=600s
349
+ - **Dynamic tool discovery** — probes OpenClaw config at runtime to detect available tools (Brave search, web_fetch, etc.)
350
+ - **Web search fallback** — when Brave API isn't configured, sub-agents automatically use DuckDuckGo via `web_fetch`
351
+ - **Async mode** — `call_agent(async=true)` for long-running tasks (hours/days); agent runs independently and emails results when done
352
+
353
+ ---
354
+
355
+ ## Programmatic Usage
356
+
357
+ The package re-exports everything from `@agenticmail/core`, so you can use it as an SDK:
358
+
359
+ ```typescript
360
+ import {
361
+ AgenticMailClient,
362
+ MailSender,
363
+ MailReceiver,
364
+ parseEmail,
365
+ InboxWatcher,
366
+ AccountManager,
367
+ StalwartAdmin,
368
+ GatewayManager,
369
+ RelayGateway,
370
+ CloudflareClient,
371
+ TunnelManager,
372
+ DNSConfigurator,
373
+ DomainPurchaser,
374
+ getDatabase,
375
+ EmailSearchIndex,
376
+ type SendMailOptions,
377
+ type ParsedEmail,
378
+ type Agent,
379
+ type GatewayConfig,
380
+ } from 'agenticmail';
381
+ ```
382
+
383
+ See the [@agenticmail/core README](https://github.com/agenticmail/agenticmail/tree/main/packages/core) for complete SDK documentation.
384
+
385
+ ---
386
+
387
+ ## Environment Variables
388
+
389
+ Create a `.env` file in your project root or set these in your environment:
390
+
391
+ ```bash
392
+ # === Required ===
393
+ AGENTICMAIL_MASTER_KEY=mk_your_key # Admin API key
394
+
395
+ # === Stalwart Mail Server ===
396
+ STALWART_ADMIN_USER=admin # Stalwart admin username
397
+ STALWART_ADMIN_PASSWORD=changeme # Stalwart admin password
398
+ STALWART_URL=http://localhost:8080 # Stalwart HTTP admin URL
399
+
400
+ # === SMTP/IMAP (local Stalwart) ===
401
+ SMTP_HOST=localhost # SMTP host
402
+ SMTP_PORT=587 # SMTP submission port
403
+ IMAP_HOST=localhost # IMAP host
404
+ IMAP_PORT=143 # IMAP port
405
+
406
+ # === Optional ===
407
+ AGENTICMAIL_API_PORT=3100 # API port (default: 3100)
408
+ AGENTICMAIL_DATA_DIR=~/.agenticmail # Data directory
409
+
410
+ # === Gateway (optional) ===
411
+ RELAY_PROVIDER=gmail # gmail or outlook
412
+ RELAY_EMAIL=you@gmail.com # Relay email
413
+ RELAY_PASSWORD=xxxx xxxx xxxx xxxx # App password
414
+ CLOUDFLARE_API_TOKEN=your_token # For domain mode
415
+ CLOUDFLARE_ACCOUNT_ID=your_account # For domain mode
416
+ AGENTICMAIL_DOMAIN=yourdomain.com # Custom domain
417
+
418
+ # === Debug ===
419
+ # AGENTICMAIL_DEBUG=1 # Verbose per-message logging
420
+ ```
421
+
422
+ ---
423
+
424
+ ## Troubleshooting
425
+
426
+ ### OpenClaw plugin ID mismatch warning
427
+
428
+ If you see this warning when starting the OpenClaw gateway:
429
+
430
+ ```
431
+ plugin id mismatch (manifest uses "agenticmail", entry hints "openclaw")
432
+ ```
433
+
434
+ This is harmless. OpenClaw infers the plugin ID from the npm package name (`@agenticmail/openclaw`) but the manifest declares `"id": "agenticmail"`. The plugin loads and works correctly.
435
+
436
+ ### OpenClaw plugin path not found
437
+
438
+ If OpenClaw reports the plugin path not found, the `plugins.load.paths` in `~/.openclaw/openclaw.json` points to the wrong location. Find the correct path:
439
+
440
+ ```bash
441
+ npm prefix -g
442
+ # Plugin is at: <prefix>/lib/node_modules/@agenticmail/openclaw
443
+ ```
444
+
445
+ Update the path in `~/.openclaw/openclaw.json` accordingly.
446
+
447
+ ### `agenticmail: command not found`
448
+
449
+ If you installed locally with `npm install agenticmail`, use `npx agenticmail` instead. For a global install:
450
+
451
+ ```bash
452
+ npm install -g @agenticmail/cli
453
+ ```
454
+
455
+ ---
456
+
457
+ ## License
458
+
459
+ [MIT](./LICENSE) - Ope Olatunji ([@ope-olatunji](https://github.com/ope-olatunji))