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 npm, or from source. On Windows, do this in PowerShell.
Check Node.js:
where.exe nodewhere.exe npxwhich nodewhich npxInstallation
Section titled “Installation”-
Install the plugin.
Download
omnodex-cowork.plugin, then drag it onto 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.upstream_serverslists the MCP servers to route through Omnodex:C:\Users\<you>\.omnodex\omnodex-proxy.json:{"version": 1,"redact_parameters": false,"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,"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.That is all: the plugin finds the npm install on its own.
Also add
proxy_bin, the path to your build’s proxy, for example"proxy_bin": "C:\\path\\to\\omnodex\\packages\\mcp-proxy\\dist\\bin\\omnodex-mcp-proxy.js"on Windows or"proxy_bin": "/path/to/omnodex/packages/mcp-proxy/dist/bin/omnodex-mcp-proxy.js"elsewhere. Useproxy_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.
Updating
Section titled “Updating”-
Update Omnodex on the desktop: run
omnodex updatein PowerShell on Windows, or your terminal on macOS. It updates an npm install or a source build. See Updating. -
Check whether the plugin changed. The current version is
cowork.versionin latest.json. If you already have that version, skip to step 5. -
Remove the old plugin. In Settings > Plugins, remove omnodex-cowork. Do this before installing the new one, so only one copy of the Omnodex server is registered.
-
Install the new plugin. Download the latest
omnodex-cowork.pluginand install it as in Installation, step 1. Youromnodex-proxy.jsonis outside the plugin, so it is kept. -
Fully quit and reopen Cowork, including from the system tray on Windows, then start a new task. Tasks that were already open keep the tools they started with.
To check the result, ask Cowork to call omnodex_status in the new task.
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 foundThe launcher could not find Omnodex. For an npm install, check npm install -g omnodexran in PowerShell on this desktop, not only in WSL. For a source install,proxy_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 with your config. It should start and wait for input (press Ctrl+C to stop). A config error prints a message and exits.
Terminal window omnodex-mcp-proxy --config C:\Users\<you>\.omnodex\omnodex-proxy.jsonTerminal 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 Omnodex. 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.