Environment variables and flags
The few environment variables and links you can use to change where Murage keeps data, where it finds engines, and how other apps reach it.
Most people never need anything on this page. Murage is set up from its Settings window, and that's the right place for keys, channels and engines. The environment variables here are for special cases: keeping a separate test workspace, helping Murage find an engine it can't see, or connecting another AI app to Murage through its MCP server.
How to set an environment variable
An environment variable only reaches Murage if Murage is started from somewhere that has it. Opening Murage from the Dock, Start menu or an app launcher doesn't pick up variables you set in a terminal. Start it from the terminal instead:
- Mac:
MURAGE_DATA_DIR=/Users/you/murage-test /Applications/Murage.app/Contents/MacOS/Murage - Linux:
MURAGE_EXTRA_PATH=/opt/tools/bin /opt/Murage/murage(or your AppImage path) - Windows (PowerShell):
$env:MURAGE_DATA_DIR="C:\murage-test"then runMurage.exefrom the same window. The usual install is under%LOCALAPPDATA%\Programs\Murage.
Quit every running copy of Murage first. A second copy doesn't start fresh with new settings.
Desktop app
MURAGE_DATA_DIR
Uses a different folder for your Murage data instead of the default ~/.murage (on Windows, .murage in your user folder). Bots, conversations, settings and memory all live in that folder, so pointing Murage somewhere else gives you a separate, empty workspace. Your normal workspace isn't touched.
Use it to try something out, reproduce a problem, or take screenshots without your real bots.
Good to know:
- Only one running copy of Murage can use a data folder at a time.
- While this is set, Murage won't restart itself to finish an update. It says "This session uses a custom profile". Close it, update with the installer, then open it again the same way.
- To go back to your normal workspace, quit Murage and open it the usual way, without the variable.
See Data locations and Backups and export.
MURAGE_EXTRA_PATH
Extra folders to search for engine programs such as Claude Code or Codex. Murage already checks your normal PATH, your login shell's PATH and common install folders. If an installed engine still shows as "Not detected" in Settings → Engines, add the folder that holds it here. Folders in this variable are searched first.
Separate several folders with : on Mac and Linux, or ; on Windows.
You can usually avoid this: in Settings → Engines, choose Set CLI… and pick the program yourself. See Engines and Engine troubleshooting.
MURAGE_WEBHOOK_PORT
Sets the port for the local webhook receiver. By default it's one above the app's port, so 127.0.0.1:8800 in a normal start. If Murage had to fall back to port 18799 or 28799, the receiver moves with it, to 18800 or 28800. Set this if another program already uses that port, or you want a fixed port for your tunnel. The receiver still listens only on your own computer.
See Webhooks and Startup and ports.
Murage's MCP server
Murage includes an MCP server so another AI app, such as Claude Desktop or an editor, can list your bots, send them work and read replies. Murage must be running. The server runs using Murage's own built-in runtime, so you don't need Node.js installed. That's what ELECTRON_RUN_AS_NODE is for.
On a Mac, the MCP client entry looks like this:
{
"mcpServers": {
"murage": {
"command": "/Applications/Murage.app/Contents/MacOS/Murage",
"args": ["/Applications/Murage.app/Contents/Resources/server/mcp-server.js"],
"env": { "ELECTRON_RUN_AS_NODE": "1" }
}
}
}
On Windows, use Murage.exe as the command and resources\server\mcp-server.js next to it as the argument. On Ubuntu .deb installs, use /opt/Murage/murage and /opt/Murage/resources/server/mcp-server.js. Keep ELECTRON_RUN_AS_NODE set to 1 everywhere.
With nothing else set, the server finds Murage by trying ports 8799, 18799 and 28799 on your computer. These variables change that:
ELECTRON_RUN_AS_NODE: must be1. Without it, the command opens the Murage app instead of the MCP server.MURAGE_PORT: use one local port instead of trying all three.MURAGE_URL: use a full address instead, such ashttps://murage.example.com. Plainhttp://to another machine is refused.ALLOW_INSECURE_HTTP: set totrueto allow plainhttp://to another machine anyway. Use HTTPS instead where you can.MURAGE_TOKEN: sent as a bearer token, for a Murage you've put behind a reverse proxy that checks one. When you set it, you must also setMURAGE_URLorMURAGE_PORT, so the token is never sent to the wrong port.MURAGE_MCP_TIMEOUT_MS: how long each request may take, from 1,000 to 120,000 milliseconds. The default is 30,000.
What the MCP server can and can't do is covered in MCP and MCP servers.
Install links
Murage registers murage:// links on your computer. A link of this form opens Murage's team library with that package ready to review:
murage://install?url=https://raw.githubusercontent.com/owner/repo/main/team.json
The package address must be HTTPS on github.com or raw.githubusercontent.com, and end in .md or .json. Anything else is ignored. Nothing installs until you review and confirm it in the app. See Share a team and the team library feature page.
Command-line flags
Murage has no command-line flags for everyday use. The flags it passes to itself, for starting at login and running scheduled backups, are internal and may change. Don't rely on them.