Last updated April 2026 — refreshed for current model/tool versions, the FoundationAgents fork, and the Manus AI corporate shutdown.
Manus AI's hosted product is on borrowed time. On 27 April 2026 China's NDRC formally blocked Meta's roughly $2 billion acquisition of the Singapore-relocated Manus AI; Bloomberg's follow-up call labelled the corporate model "officially dead." If you have been relying on the paid Manus agent — or were planning to — the only durable path forward is the open-source fork: OpenManus, now maintained by the FoundationAgents organisation (the MetaGPT team) at github.com/FoundationAgents/OpenManus. This guide walks you through installing OpenManus v0.3.0 on macOS, wiring it to a current 2026 LLM (Claude Opus 4.7, GPT-5.5, DeepSeek V4-Flash, or a fully local Ollama stack on Apple Silicon), and getting a working agent loop in under fifteen minutes.
Want the full picture? Read our continuously-updated Claude Opus 4.7 complete guide — capabilities, pricing, prompting tips, and head-to-head benchmarks vs GPT-5.5 and DeepSeek V4.
What changed in 2026 (TL;DR)
- Manus AI corporate is gone. NDRC blocked the Meta deal on 27 April 2026; the founders are under exit bans and Bloomberg's 29 April follow-up called the corporate Manus model "officially dead." Self-hosting OpenManus is now the only realistic option.
- Repository moved. The canonical home is
github.com/FoundationAgents/OpenManus, not the oldmannaandpoem/OpenManuspath. Old clones still resolve via redirect, but new tutorials should use the new URL. - Current release: v0.3.0 (April 2026). The default config now ships with
claude-3-7-sonnet-20250219as the placeholder and includes commented examples for AWS Bedrock, Azure OpenAI, Ollama, and Jiekou.AI. - Models you'll actually plug in: Claude Opus 4.7 ($5 / $25 per million tokens, released 16 April 2026), Claude Sonnet 4.6 ($3 / $15), GPT-5.5 (released 23 April 2026), DeepSeek V4-Flash ($0.14 / $0.28 per million tokens, MIT-licensed, released 24 April 2026), or a local Qwen 3.5/3.6 / DeepSeek-R1-Distill on Ollama 0.19+ (now MLX-backed on Apple Silicon).
- Step ordering matters. The previous version of this guide had the config and clone steps interleaved out of order. The corrected sequence is below.
What is OpenManus in 2026?
OpenManus is an open-source agent framework built by the MetaGPT / FoundationAgents team to replicate Manus AI's planner-executor-verifier loop without invite codes, paid subscriptions, or vendor lock-in. The original prototype was written in three hours in March 2025; by April 2026 the project has crossed 56k GitHub stars and roughly 9.7k forks, with a multi-agent execution mode (run_flow.py), a Model Context Protocol entry point (run_mcp.py), an optional data-analysis sub-agent, browser automation via Playwright, and pluggable search backends (Google, DuckDuckGo, fallbacks).
Key features of OpenManus v0.3.0
- Open-weights friendly. Works with any OpenAI-compatible endpoint: Anthropic, OpenAI, Azure OpenAI, AWS Bedrock, DeepSeek, Ollama, vLLM, Jiekou.AI, or your own gateway.
- Multi-agent (
run_flow.py). Planner, executor, and verifier roles co-ordinate on multi-step tasks; still labelled "unstable" in the README but the most powerful mode. - MCP server (
run_mcp.py). Exposes OpenManus tools over the Model Context Protocol, so Claude Desktop, Cursor, and other MCP clients can drive the agent directly. - Browser automation via Playwright (
app/tool/browser_use_tool.py) with vision-capable models for screenshot reasoning. - Sandboxing against a Docker image with configurable memory limits, so untrusted task outputs don't escape into your shell.
- Optional data-analysis agent via
[runflow]use_data_analysis_agent = true.
OpenManus vs the (now-blocked) Manus AI service
| Dimension | OpenManus (FoundationAgents) | Manus AI (corporate) |
|---|---|---|
| Status (April 2026) | Active, v0.3.0, 56k stars | Meta acquisition blocked by NDRC 27 April; founders exit-banned |
| Cost | Free, MIT-licensed code; you pay only for the LLM you choose (or $0 if local) | Paid subscription; future of billing unclear after deal block |
| Self-host on macOS | Yes, this guide | No — hosted SaaS only |
| Customisation | Full source access; add tools, swap LLMs, fork freely | Closed product, vendor-controlled |
| GAIA Level-1 benchmark | Roughly 79–94% of Manus's pass rate per published comparisons | ~86.5% pass rate on Level-1 (peak) |
| Local-only mode | Yes, via Ollama 0.19+ on Apple Silicon | No |
1. Prerequisites
Confirm these before touching the repo. Skipping any of them is the most common cause of install failures.
System requirements
- macOS 13 Ventura or later (Apple Silicon strongly recommended; Playwright still installs on Intel but local LLM throughput is much lower). The upstream README says Python 3.12 — do not try 3.11 or 3.13.
- Python 3.12.x exactly. Use
pyenv install 3.12.7if Homebrew gives you 3.13. - Git (
brew install git). - Xcode Command Line Tools (
xcode-select --install) — Playwright's browser builds need them. - Node.js 20+ if you plan to use the MCP server with Claude Desktop or Cursor.
Hardware and LLM choice
- API-only path (any Mac from 2018 onward): nothing exotic. 8 GB RAM is fine. You'll point OpenManus at Claude, GPT, or DeepSeek over HTTPS.
- Hybrid path (M2/M3/M4, 16 GB+): run Qwen 3.5/3.6-35B-A3B on Ollama 0.19+ (MLX backend) for cheap, private inference; fall back to Claude Opus 4.7 only for the hardest sub-tasks.
- Fully local path (M3 Max / M4 Pro / Mac Studio with 64 GB+ unified memory): Qwen 3.6-35B-A3B for general reasoning, DeepSeek-R1-Distill-Qwen-32B for chain-of-thought tasks, MiniCPM-V for vision. Expect ~110 decode tokens/s on M5 Max with the new MLX backend; older Apple Silicon is slower but workable.
API keys (current 2026 prices)
| Provider | Recommended model | Input / output (per 1M tokens) | Notes |
|---|---|---|---|
| Anthropic | Claude Opus 4.7 (or Sonnet 4.6 for cost) | $5 / $25 (Opus); $3 / $15 (Sonnet) | Strongest tool-use; new tokenizer can yield ~35% more tokens than the prior generation, factor that into budgets. |
| OpenAI | GPT-5.5 (released 23 April 2026) | Check current OpenAI pricing page | Best for general tasks; large context. |
| DeepSeek | DeepSeek V4-Flash (or V4-Pro) | $0.14 / $0.28 (Flash); $1.74 / $3.48 (Pro) | Cheapest frontier-class option; 1M-token context; MIT-licensed weights also runnable locally if you have the hardware. |
| Local (Ollama) | Qwen 3.6-35B-A3B + MiniCPM-V (vision) | $0 | Requires Ollama 0.19+ for the MLX-accelerated path on Apple Silicon. |
2. Install OpenManus on macOS
Two install paths. uv is the recommended path (it's what the upstream README leads with) — it's roughly 10x faster than pip on cold installs and produces a clean isolated .venv. Use Conda only if you already manage every Python project that way.
Path A — uv (recommended)
Install Playwright browsers (needed for any task that browses the web):
playwright installInstall dependencies:
uv pip install -r requirements.txtCreate and activate a Python 3.12 virtualenv:
uv venv --python 3.12
source .venv/bin/activateClone the FoundationAgents fork (note the new org):
git clone https://github.com/FoundationAgents/OpenManus.git
cd OpenManusInstall uv (skip if you already have it):
curl -LsSf https://astral.sh/uv/install.sh | sh
exec $SHELL # reload PATHPath B — Conda
conda create -n open_manus python=3.12 -y
conda activate open_manus
git clone https://github.com/FoundationAgents/OpenManus.git
cd OpenManus
pip install -r requirements.txt
playwright install3. Configure config.toml (in the right order)
The file lives at config/config.toml. The repo ships config/config.example.toml — copy it first, edit second, never edit the example file in place.
- Pick a profile below, paste it over the
[llm]and[llm.vision]blocks, save the file.
Open the new file in your editor of choice:
code config/config.toml # or: nano config/config.tomlCopy the example into the active config path:
cp config/config.example.toml config/config.tomlProfile 1 — Claude Opus 4.7 (highest-quality tool-use)
[llm]
model = "claude-opus-4-7"
base_url = "https://api.anthropic.com/v1"
api_key = "sk-ant-..." # set in your shell, not committed
max_tokens = 8192
temperature = 0.0
[llm.vision]
model = "claude-opus-4-7"
base_url = "https://api.anthropic.com/v1"
api_key = "sk-ant-..."Profile 2 — DeepSeek V4-Flash (cheapest frontier model)
[llm]
model = "deepseek-v4-flash"
base_url = "https://api.deepseek.com/v1"
api_key = "sk-..."
max_tokens = 8192
temperature = 0.0
[llm.vision]
model = "deepseek-v4-flash"
base_url = "https://api.deepseek.com/v1"
api_key = "sk-..."Caveat: earlier DeepSeek revisions (V3, R1) sometimes failed OpenManus tool calls because of strict JSON schema mismatches. V4 fixes most of that, but if you see "tool call malformed" loops, drop temperature to 0 and shrink max_tokens to 4096.
Profile 3 — GPT-5.5
[llm]
model = "gpt-5.5"
base_url = "https://api.openai.com/v1"
api_key = "sk-..."
max_tokens = 8192
temperature = 0.0
[llm.vision]
model = "gpt-5.5"
base_url = "https://api.openai.com/v1"
api_key = "sk-..."Profile 4 — Fully local with Ollama 0.19+ (MLX backend)
Install Ollama first (brew install ollama or the installer from ollama.com), pull the models, and start the server:
brew install ollama
ollama serve & # in a separate terminal
ollama pull qwen3.6:35b # ~20 GB, MoE with 3B active params
ollama pull minicpm-v # vision modelThen point OpenManus at the local OpenAI-compatible endpoint:
[llm]
model = "qwen3.6:35b"
base_url = "http://localhost:11434/v1"
api_key = "ollama" # any non-empty string
max_tokens = 4096
temperature = 0.0
[llm.vision]
model = "minicpm-v"
base_url = "http://localhost:11434/v1"
api_key = "ollama"Optional blocks worth knowing about
[browser]
headless = false # set true for CI; false to watch the agent click
disable_security = true # only for trusted, sandboxed targets
[search]
engine = "Google" # or "DuckDuckGo"
fallback_engines = ["DuckDuckGo"]
retry_delay = 60
lang = "en"
country = "us"
[sandbox]
# image = "python:3.12-slim"
# memory_limit = "1g"
[mcp]
server_reference = "app.mcp.server"
[runflow]
use_data_analysis_agent = true4. Run OpenManus
Single-agent mode (start here)
python main.pyYou'll get an interactive prompt. Try something concrete: "Open codersera.com, find the most recent blog post, summarise it in five bullets." The agent should plan the steps, launch Playwright, scrape the page, and return the summary.
Multi-agent (planner + executor + verifier)
python run_flow.pyThis is the closest analogue to the original Manus loop. Still flagged as unstable upstream — expect occasional infinite loops on hard tasks; ctrl-C and reduce the task scope.
MCP server mode
python run_mcp.pyUse this when you want Claude Desktop, Cursor, or any MCP client to call OpenManus tools. Add the server to your client's MCP config pointing at the local stdio entry point.
5. Troubleshooting
Dependency conflicts
- Confirm
python --versionreports3.12.x. Anything else, recreate the venv withuv venv --python 3.12. - If
pip/uvhangs on a transitive lib (oftenplaywrightorbrowser_use), clear caches:uv cache cleanthen reinstall.
API key errors
- Don't paste keys directly into
config.tomlif the repo will ever be pushed. Use shell env vars and reference them via your shell's templating, or keep the file.gitignore'd (it already is by default). - If Anthropic returns 401 with a valid-looking key, the most common cause is a stale workspace; regenerate from the Anthropic console rather than reusing 2025-era keys.
Browser / Playwright issues
playwright installmust be re-run inside the active venv after the initial pip install — installing it globally won't be picked up.- On Apple Silicon, set
headless = falseand watch the first run; permission prompts for Accessibility / Screen Recording sometimes block automation silently.
Ollama is slow or OOMs
- Upgrade to Ollama 0.19+ (
brew upgrade ollama) — the MLX backend nearly doubles decode speed on Apple Silicon and dramatically reduces RAM pressure. - Use MoE models (Qwen 3.6-35B-A3B has only 3B active parameters per token) over dense 70B-class models; same quality envelope, far better Mac throughput.
6. Advanced patterns
Multi-model routing
The strongest 2026 setup is not "pick one model" — it's routing. Cheap reasoning steps go to DeepSeek V4-Flash or local Qwen; planning and verification go to Claude Opus 4.7. OpenManus doesn't ship a router, but you can fork app/llm.py to switch base_url/model per agent role. Several community PRs propose this; check the open issues before duplicating work.
Use the Docker sandbox in production
Anything that executes shell or Python from agent output should run inside the bundled sandbox. Uncomment the [sandbox] block, set a 1 GB memory cap, and pin the image. The performance hit is small, the blast-radius reduction is large.
Add custom tools
Tools live under app/tool/. The pattern is one class per tool with a name, description, schema, and async execute method. Register it in the agent's tool list and the LLM will be able to call it on the next run.
7. Contributing back
The project is community-driven and the maintainers merge actively. To contribute:
- Fork
FoundationAgents/OpenManuson GitHub.
Push and open a pull request:
git push origin feature/your-featureCommit your changes with a conventional message:
git commit -m "feat(tools): add <your-tool>"Create a feature branch:
git checkout -b feature/your-featureReferences & further reading
- FoundationAgents/OpenManus — official repository (v0.3.0, April 2026)
- OpenManus release tags and changelog
- Bloomberg — "China Blocks Meta's $2 Billion Acquisition of AI Firm Manus" (27 April 2026)
- Bloomberg — "China's Meta Backlash Renders Manus Model 'Officially Dead'" (29 April 2026)
- TechCrunch — "China blocks Meta's $2B Manus deal after months-long probe"
- Simon Willison — "DeepSeek V4 — almost on the frontier, a fraction of the price"
- Ollama Blog — "Ollama is now powered by MLX on Apple Silicon (preview)"
- DEV Community — "How to Install & Run OpenManus Locally with Ollama"