OpenManus: Advanced
This page is the seventh of eight, and it covers six power features that OpenManus documents in its README, its example files, or its code. Try them only after the jobs in the Playbook feel routine, because each one gives the agent more reach or more of your money.
Checked 2026-11-14. Several of these come from the code rather than the README, and the page says so each time.
One job straight from the command line
What it is for: Starting a job without the
Enter your prompt: question. You can then keep a request
you trust in a text file and paste the same words each time.
How to turn it on: The start file accepts a
--prompt option, which the code calls the "Input prompt for
the agent". The README does not mention it. Inside
agent-tryout/OpenManus, with the Python space on, type the
line below.
python main.py --prompt "Write a short packing list for a weekend trip. Save it as packing-list.txt in your workspace folder. Do not open, change, or delete any other file. Do not use the internet."
- You gain: The same request runs the same way every time, with nothing to retype.
- You risk: A job starts the moment you press Enter, so a typo runs before you can reread it. A line like this could also be put on a timer with your computer's own tools. It would then run with nobody watching and nothing that asks first.
- Makes sense when: You are at the keyboard for the
whole run, the request stays inside
workspace, and the browser part is off. It does not make sense on a timer.
A token cap for each run
What it is for: Stopping a run once it has sent a set number of tokens to the model, so a stuck job cannot keep spending.
How to turn it on: The settings loader reads a
max_input_tokens line in the [llm] block. The
code describes it as the "Maximum input tokens to use across all
requests (None for unlimited)", but neither the README nor the example
file shows it. Open config.toml and add one line under the
other [llm] lines.
max_input_tokens = 200000
The number is only an example, and this guide did not test which
value suits which job. The check runs before each request, so the
request that would go over the cap is never sent. In a Windows 11 test
with a tiny cap, the code retried for about 20 seconds and printed a
line with Request may exceed input token limit. Then it
ended the job normally. The [llm.vision] block takes the
same value unless you give it its own.
- You gain: A hard stop on runaway runs. The
Token usage:lines in the log also show how close each step came. - You risk: A job can stop halfway and leave a half-written file. The count is OpenManus's own estimate rather than your provider's bill, and it is a token count, not a dollar cap.
- Makes sense when: You use any paid key. Keep the spend limit at your provider as well, because that is the cap your money actually depends on.
Add-on tools through MCP
What it is for: Giving the agent extra tools from MCP servers. These are add-ons that other projects publish, such as ones that read a calendar or a database.
How to turn it on: The main agent reads a file named
config/mcp.json and connects to every server listed there
each time it starts. The project ships an example to copy.
cp config/mcp.example.json config/mcp.json
On Windows, the copy line is
copy config\mcp.example.json config\mcp.json. The example
lists one server reached by web address.
{
"mcpServers": {
"server1": {
"type": "sse",
"url": "http://localhost:8000/sse"
}
}
}
In the code, each server is either "sse" with a
url, or "stdio" with a command
and args that start a program on your computer. Replace the
example with the server you want, following that server's own
instructions.
The README also has a separate "MCP tool version", started with
python run_mcp.py. That version connects to OpenManus's own
server. In the code, that server gives the agent a bash
tool that runs shell commands, a file editor, and a finish tool. The
bash tool starts /bin/bash, so this guide
could not confirm that it works on Windows. An open issue from 3
November 2026 also reports that a connection fails when a server's tool
has no description.
- You gain: New abilities without changing OpenManus itself, and a shell for jobs that need one.
- You risk: Every server you add is a program that
runs as you, or a service that sees what the agent sends it. Nothing
asks before the agent uses its tools, and the
bashtool can run any command your account can run, including ones that delete files. - Makes sense when: You trust the server's publisher,
you have read what each of its tools does, and you watch the job.
run_mcp.pydoes not make sense for a beginner.
To compare MCP servers with skills, and to see how other agents add them, read Skills and MCP.
Several agents on one job
What it is for: Splitting a bigger job into a plan with steps, and handing data and chart steps to a second agent built for them.
How to turn it on: The README calls this the
"unstable multi-agent version" and starts it with
python run_flow.py. To add the data analysis agent, change
the line in the [runflow] block of config.toml
from false to true.
[runflow]
use_data_analysis_agent = true
That agent needs Node.js 18 or newer and its own parts. Its README gives these lines for after Node is installed, which it does with nvm on a Mac or nvm-windows on Windows.
cd app/tool/chart_visualization
npm install
Its charts are saved as picture or web-page files under
workspace\visualization. The whole run has a limit of 60
minutes, after which the code says the request "timed out after 1
hour".
- You gain: Longer jobs broken into steps, and charts
made from a data file you copy into
workspace. - You risk: The README itself calls it unstable. One
run can use many more model calls than
python main.py, so it costs more, and an early issue report says some providers reject a setting this mode sends. It still runs on your real computer, with nothing that asks first. - Makes sense when: Plain
python main.pyjobs already work for you, you have a spend limit at the provider, and you can watch for up to an hour. Copy in only data you would be comfortable sending to the model.
A local model through Ollama
What it is for: Running the model on your own computer, so prompts and file contents do not go to a provider and each use costs nothing.
How to turn it on: The project ships an Ollama
example file. Copy it over your settings file, then add the two
[daytona] lines from Connect a model
to its end again.
cp config/config.example-model-ollama.toml config/config.toml
On Windows, the copy line is
copy config\config.example-model-ollama.toml config\config.toml,
and that copy replaces the saved config.toml.
The example file still names llama3.2 and
llama3.2-vision. Do not pull those.
Pull qwen3.5:4b when the computer has about 8 GB, or
pull qwen3.8:27b when it has about 24 GB. Then write that
same name on both the main model line and the vision model line. Leave
the address at http://localhost:11434/v1, and leave the key
set to ollama, because Ollama does not check it.
Ollama's documentation says its OpenAI-compatible address supports
tools, and that agents need a context length of at least 64000 tokens.
It also says Ollama starts with only 4k on computers with less than 24
GiB of graphics memory. You can raise that with the slider in the Ollama
app's settings, or by starting Ollama with the line below. On a Mac or
Linux, quit the Ollama app first, because ollama serve
fails if the app is already running.
OLLAMA_CONTEXT_LENGTH=64000 ollama serve
On Windows, use the slider in the Ollama app instead, or quit the
Ollama app and run
$env:OLLAMA_CONTEXT_LENGTH=64000; ollama serve in
PowerShell. Give
it enough context for agent work covers both in more detail.
This guide did not test any local model with OpenManus. Issue reports
show small local models failing to save files, and
llama3.2-vision is not on the code's list of models that
get screenshots.
- You gain: Your prompts, files, and page text stay on your computer, and there is no per-use bill.
- You risk: A weaker model is more likely to loop, skip saving, or misread your limits, and it needs a lot of RAM. A local model does not make OpenManus safer for your files, because the code still runs on your real computer as you.
- Makes sense when: Your computer has the RAM for a strong model, you have already run the Playbook jobs with a cloud model, and the job is low stakes. Read Local models first.
A real box: a Daytona cloud sandbox
What it is for: Running the agent's commands and browser on a separate computer in the cloud, so your own files and your own Chrome are out of its reach.
How to turn it on: The project's Daytona page gives
these steps. Make a key at app.daytona.io/dashboard/keys,
and put it between the quote marks on the daytona_api_key
line you added to config.toml. Then install the two parts
the page names, using uv as the rest of this guide does,
and start the sandbox version.
uv pip install daytona==0.21.8 structlog==25.4.0
python sandbox_main.py
In the code, this version switches off the local Python runner and
file editor. Its browser, file, shell, and screenshot tools run inside
the Daytona sandbox instead. It prints a VNC link where you can watch
its browser, and the Daytona page says the VNC password is
123456 unless you set VNC_password in the
[daytona] block.
Do not confuse this with the local [sandbox] section on
page 4. A reading of the code on
14 November 2026 found that use_sandbox moves only the file
editor into Docker, while the Python runner stays on your computer.
This guide did not try Daytona or check its prices. It also could not confirm that those pinned versions still install alongside the current parts list, and an issue from May 2026 reports the Daytona parts crashing at startup.
- You gain: The closest thing OpenManus has to a box, because commands and browsing happen on Daytona's computer rather than yours.
- You risk: Daytona, as well as your model provider,
now handles your files and prompts, and you need another account and
key. Anyone who learns the VNC link and the default password may be able
to watch or control that browser, so set your own
VNC_password. This guide could not confirm who can open the link. - Makes sense when: You want the browser part without connecting it to your own Chrome, the job holds nothing private, and you are comfortable with a cloud company seeing the work.
Shared advanced topics
These pages cover setups that work with any agent. Only the ones that apply to OpenManus are listed.
- Local models: read this before the Ollama section, because it explains how much RAM a useful model needs.
- Mixing models: the
[llm]and[llm.vision]blocks can name different models, and this page explains when that is worth it. - Host
access and unattended runs: OpenManus always works on the host, and
--promptmakes an unattended run easy to set up. - Relays:
base_urlaccepts any OpenAI-style address, so a relay is one line away, and this page explains what a relay can see.
Sources
Opened 2026-11-14.
- OpenManus start file (
--prompt): https://github.com/FoundationAgents/OpenManus/blob/main/main.py - OpenManus settings loader (
max_input_tokens,config/mcp.json,[runflow],[daytona],VNC_password): https://github.com/FoundationAgents/OpenManus/blob/main/app/config.py - OpenManus model connection (token cap,
Token usage:): https://github.com/FoundationAgents/OpenManus/blob/main/app/llm.py - OpenManus tool loop (a token-limit error ends the job): https://github.com/FoundationAgents/OpenManus/blob/main/app/agent/toolcall.py
- OpenManus main agent (connects to servers in
mcp.json): https://github.com/FoundationAgents/OpenManus/blob/main/app/agent/manus.py - OpenManus MCP example: https://github.com/FoundationAgents/OpenManus/blob/main/config/mcp.example.json
- OpenManus README (
run_mcp.py,run_flow.py,[runflow]): https://github.com/FoundationAgents/OpenManus/blob/main/README.md - OpenManus MCP runner: https://github.com/FoundationAgents/OpenManus/blob/main/run_mcp.py
- OpenManus MCP server (
bash, editor, finish tools): https://github.com/FoundationAgents/OpenManus/blob/main/app/mcp/server.py - OpenManus
bashtool (/bin/bash): https://github.com/FoundationAgents/OpenManus/blob/main/app/tool/bash.py - OpenManus issue #1454, MCP tool with no description (open): https://github.com/FoundationAgents/OpenManus/issues/1454
- OpenManus multi-agent runner (60-minute limit): https://github.com/FoundationAgents/OpenManus/blob/main/run_flow.py
- OpenManus chart tool README (Node.js,
npm install): https://github.com/FoundationAgents/OpenManus/blob/main/app/tool/chart_visualization/README.md - OpenManus issue #393, a provider rejecting
run_flow.py: https://github.com/FoundationAgents/OpenManus/issues/393 - OpenManus Ollama example settings: https://github.com/FoundationAgents/OpenManus/blob/main/config/config.example-model-ollama.toml
- Ollama OpenAI compatibility (tools): https://github.com/ollama/ollama/blob/main/docs/api/openai-compatibility.mdx
- Ollama context length: https://github.com/ollama/ollama/blob/main/docs/context-length.mdx
- Ollama README (
ollama pull): https://github.com/ollama/ollama/blob/main/README.md - OpenManus issue #539, local models not saving files: https://github.com/FoundationAgents/OpenManus/issues/539
- OpenManus issue #1445, dropped screenshots: https://github.com/FoundationAgents/OpenManus/issues/1445
- OpenManus Daytona page: https://github.com/FoundationAgents/OpenManus/blob/main/app/daytona/README.md
- OpenManus sandbox agent (Daytona tools): https://github.com/FoundationAgents/OpenManus/blob/main/app/agent/sandbox_agent.py
- OpenManus file editor (
use_sandbox): https://github.com/FoundationAgents/OpenManus/blob/main/app/tool/str_replace_editor.py - OpenManus issue #1361, Daytona crash at startup: https://github.com/FoundationAgents/OpenManus/issues/1361
- Windows 11 check for this guide, 14 November 2026. With
max_input_tokens = 100, a run printedRequest may exceed input token limit (Current: 0, Needed: 1087, Max: 100)and ended after about 20 seconds without sending the request.
Next
Continue to OpenManus: Persona and rules.