Platform Support

Edward is built for macOS, but most of the stack runs on any platform.

What Works Everywhere

The core assistant — and the majority of Edward's capabilities — is fully cross-platform. If you can run Python, Node.js, and PostgreSQL, you can run Edward.

FeaturemacOSLinuxWindows (WSL)
Core chat + LangGraph agent
Long-term memory (pgvector)
Document store
Scheduled events / scheduler
Code execution (Python, JS, SQL, Shell)
Twilio SMS & WhatsApp
WhatsApp MCP
Brave Search
HTML Hosting
File storage
Persistent databases
Push notifications
Orchestrator (worker agents)
Evolution (self-coding)
Widget
Custom MCP servers

What You Lose on Windows / Linux

These features depend on macOS-specific APIs (AppleScript, system databases, native apps) and have no cross-platform equivalent.

FeatureWhy macOS-onlyImpact
iMessageAppleScript + Messages.app chat.dbNo iMessage send/receive
Apple Servicesapple-mcp requires macOS appsNo Calendar, Reminders, Notes, Mail, Contacts, or Maps integration
Contacts lookupAppleScript to Contacts.appNo local contact search
Heartbeat (iMessage)Reads ~/Library/Messages/chat.dbNo iMessage monitoring
Heartbeat (Email)Reads Mail.app via MCPNo email monitoring
Heartbeat (Calendar)Uses Apple Services MCPNo calendar monitoring

Setup Differences

PostgreSQL

On macOS, setup.sh installs PostgreSQL via Homebrew. On other platforms:

  • Linux (Debian/Ubuntu): sudo apt install postgresql postgresql-contrib
  • Linux (Fedora/RHEL): sudo dnf install postgresql-server postgresql-contrib
  • Windows: Install via postgresql.org or winget install PostgreSQL.PostgreSQL

You'll also need the pgvector extension. On most Linux distros: sudo apt install postgresql-16-pgvector (adjust version as needed). On Windows, follow the pgvector install guide.

Python & Node.js

Setup Scripts

The setup.sh and restart.sh scripts use Homebrew and assume macOS. On other platforms:

  • Linux: The bash scripts run natively — you just need to install PostgreSQL, Python, and Node.js manually first, then run ./setup.sh (it will skip Homebrew steps gracefully)
  • Windows: Use WSL2 (recommended) to get a Linux environment, or run the setup steps manually in PowerShell

Alternative Messaging via MCP

Edward's Custom MCP system lets you add messaging integrations at runtime — no code changes needed. Edward can discover and install MCP servers himself via the search_mcp_servers tool, or you can add them from the Settings page.

Available messaging MCP servers include:

PlatformDescription
DiscordMCP servers for Discord bot integration
TelegramMCP servers for the Telegram Bot API
SignalMCP servers for Signal messaging
SlackMCP servers for Slack workspaces

Just ask Edward to "search for a Discord MCP server" in chat, or browse the Edward's Servers panel in Settings to add one manually.

Running in Docker

On Linux, the backend can run in Docker since you don't have Apple features to lose. The frontend runs fine in Docker on any platform. This is useful for server deployments or containerized environments.

Windows: WSL2 Recommended

For Windows users, WSL2 is the recommended approach. It gives you a full Linux environment where everything except Apple features works natively — PostgreSQL, Python, Node.js, and all bash scripts run without modification.

  1. Install WSL2: wsl --install
  2. Install Ubuntu (default) or your preferred distro
  3. Follow the Linux setup steps inside WSL
  4. Access Edward at localhost:3000 from your Windows browser

For full setup instructions, see the Getting Started guide. For integration details, see Skills & Integrations.