| ARC_MCP_LABEL | No | Names this agent's tab ownership. Two agents with different labels never see each other's owned tabs. Defaults to "default". |
| ARC_MCP_SPACE | No | With ARC_MCP_WINDOW=space, the Arc space new tabs open into, when a space with that name exists. Arc will not let a script create a space, so make it by hand. Defaults to "Agent". |
| ARC_MCP_STATE_DIR | No | Directory where per-session tab ownership is recorded, so a restarted agent can clean up the tabs its previous run left behind. Defaults to ~/Library/Application Support/arc-control-mcp. |
| ARC_MCP_WINDOW | No | "dedicated" keeps agent tabs in one separate agent window, never the user's own. "space" puts them in the Agent space of the user's window. Defaults to "dedicated". |
| ARC_MCP_WINDOW_PLACEMENT | No | Where the agent window goes once, at creation: "auto" (largest non-main display, else where Arc puts it), "second-display", "minimized" (experimental) or "none". Needs Accessibility. Defaults to "auto". |
| ARC_MCP_IDLE_MS | No | How many milliseconds the user must have been idle before the server does anything visible. 0 turns the activity gate off. Defaults to 1500. |
| ARC_MCP_IDLE_WAIT_MS | No | How many milliseconds to wait for that pause before failing with userActive true. Defaults to 15000. |
| ARC_MCP_ARC_DATA_DIR | No | Directory the local data tools (sidebar_tree, find_stale_tabs, search_archive, search_history) read Arc's files from. Defaults to ~/Library/Application Support/Arc. |
| ARC_MCP_ALLOW_HISTORY | No | Set to 1 to let search_history run. Off by default, and any other value leaves it off. |
| ARC_MCP_CDP | No | Set to 0 to disable the DevTools engine (trusted input, screenshots, console and network capture). On by default, and inert until Arc is launched with --remote-debugging-port. |
| ARC_MCP_CDP_PORT | No | The DevTools port to probe on 127.0.0.1. The host is fixed. Defaults to 9222. |
| ARC_MCP_ALLOWED_ORIGINS | No | Guardrail. Comma list of origins the agent may touch (host, *.host, scheme://host[:port], file://, about:). Anything not listed is refused. Unset means no allow list. |
| ARC_MCP_BLOCKED_ORIGINS | No | Guardrail. Comma list of origins the agent may not touch. Wins over the allow list. Unset means no block list. |
| ARC_MCP_BLOCK_READS | No | Set to 1 to apply the origin lists to read tools as well as changing ones. Off by default. |
| ARC_MCP_READ_ONLY | No | Set to 1 to expose only the read-only tools. Off by default. |
| ARC_MCP_AUDIT_LOG | No | Path of a file that gets one JSON line per changing call (time, tool, tab, origin, ok, error), never typed values or script code. Unset means no audit log. |