Cowork Desktop Setup
Omnodex integrates with Cowork through a plugin that routes MCP tool calls through the Omnodex proxy. Every call to an MCP server you route through Omnodex is recorded in your local event log.
Where the proxy runs
Section titled “Where the proxy runs”The plugin’s MCP server runs on your desktop, including for Cowork tasks you start from the cloud: those tasks start plugin MCP servers on the desktop linked to your account. Everything below happens on that desktop. On Windows, that is native Windows, not WSL.
Before you start
Section titled “Before you start”On the desktop:
- Install Node.js 24+ natively. The plugin starts the proxy with the system Node.js. On Windows, a Node.js install that exists only inside WSL does not work.
- Install Omnodex from source. On Windows, do this in PowerShell.
Check Node.js:
where.exe nodewhere.exe npxwhich nodewhich npxInstallation
Section titled “Installation”-
Install the plugin.
Drag
omnodex-cowork.pluginonto the Cowork window, or install it from a file in Settings > Plugins. Confirm omnodex-cowork appears in the installed plugins list and is enabled. -
Create the proxy configuration.
Create
omnodex-proxy.jsonin your Omnodex home.proxy_bintells the plugin where your Omnodex build’s proxy is, andupstream_serverslists the MCP servers to route through Omnodex.C:\Users\<you>\.omnodex\omnodex-proxy.json:{"version": 1,"redact_parameters": false,"proxy_bin": "C:\\path\\to\\omnodex\\packages\\mcp-proxy\\dist\\bin\\omnodex-mcp-proxy.js","upstream_servers": [{"name": "filesystem","transport": "stdio","command": "C:\\Program Files\\nodejs\\npx.cmd","args": ["-y", "@modelcontextprotocol/server-filesystem", "C:\\Users\\<you>\\Documents\\project"]}]}Use the paths
where.exeprinted, and Windows paths throughout. JSON strings need escaped backslashes.~/.omnodex/omnodex-proxy.json:{"version": 1,"redact_parameters": false,"proxy_bin": "/path/to/omnodex/packages/mcp-proxy/dist/bin/omnodex-mcp-proxy.js","upstream_servers": [{"name": "filesystem","transport": "stdio","command": "/absolute/path/to/npx","args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/<you>/project"]}]}Replace the example upstream with the MCP servers you use. Put secrets in environment variables and reference them as
${VAR}in an upstream’senv. See Configuration.Use
proxy_binrather than an environment variable: Cowork does not pass user environment variables to plugin MCP servers. -
Fully quit and reopen Cowork.
Quit the app completely (on Windows, also from the system tray), then open it again. Cowork does not retry a plugin MCP server that failed to start until the app restarts.
-
Verify in a new task.
Type
/omnodexin a new task, or ask Cowork to callomnodex_status. Then ask it to use one of the routed tools. Routed tools appear as<server>__<tool>, for examplefilesystem__list_directory.Cowork asks for approval the first time each tool is used. Choose to allow it for all tasks if you do not want to be asked again.
-
Connect to the hosted dashboard (optional).
Type
/omnodex connect, or ask Cowork to callomnodex_connect. If this desktop has no API token yet, you get a short code and a URL: open the URL, sign in atdashboard.omnodex.com, and enter the code. The passphrase is transferred end-to-end encrypted.
What gets traced
Section titled “What gets traced”| Activity | Recorded | Notes |
|---|---|---|
| Calls to MCP servers routed through Omnodex | Yes | Tool name, parameters (unless redacted), timing, status, and response size |
| Proxy session start and end | Yes | The session ends when Cowork stops the proxy, for example when the app quits |
| Cowork built-in tools (read, write, shell) | No | Not routed through MCP |
| MCP servers or connectors not routed through Omnodex | No | Only upstreams in omnodex-proxy.json pass through the proxy |
Viewing events
Section titled “Viewing events”Cowork writes events to the Omnodex home on the desktop: C:\Users\<you>\.omnodex\ on Windows, ~/.omnodex/ on macOS and Linux.
omnodex dashboardomnodex dashboardWSL has its own Omnodex home, so add the Windows one as an extra root:
omnodex dashboard --roots /mnt/c/Users/<you>/.omnodexSee Windows and WSL.
Troubleshooting
Section titled “Troubleshooting”omnodex_status is not available in Cowork:
-
Check
launcher.login.omnodexunder your user home (C:\Users\<you>\.omnodex\launcher.logon Windows). The plugin’s launcher records startup failures there:Log entry Cause FATAL: binary not foundproxy_binis missing or points to a file that does not exist, oromnodex-proxy.jsonis not in.omnodexunder your user homeFATAL: spawn errorNode.js could not start the proxy The launcher writes only failures, so a log with no new entries does not mean something went wrong.
-
Check that the proxy starts on its own. Run the
proxy_binscript with Node.js and your config. It should start and wait for input (press Ctrl+C to stop). A config error prints a message and exits.Terminal window node C:\path\to\omnodex\packages\mcp-proxy\dist\bin\omnodex-mcp-proxy.js --config C:\Users\<you>\.omnodex\omnodex-proxy.json -
Fully quit and reopen Cowork after any fix.
-
On Windows, the Claude desktop app log at
%LOCALAPPDATA%\Claude\logs\main.logshows each attempt to start the plugin’s server. Search foromnodex-cowork: a working setup logsConnected to plugin:omnodex-cowork:omnodex, and a failing one logsFailed to connect.
The proxy fails with ERR_MODULE_NOT_FOUND for an @omnodex/... package (Windows): the build was installed from WSL. See Windows and WSL for the fix.
Routed tools fail with requires approval, or approval only offers “once”: update your Omnodex build. Earlier builds named routed tools <server>/<tool>, which Cowork cannot approve. Rebuild, fully restart Cowork, and start a new task.
Events appear in the wrong place (Windows): Cowork writes to the Windows Omnodex home. A dashboard started in WSL reads the WSL home unless you add the Windows one with --roots.