Skip to content

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.

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.

On the desktop:

  1. 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.
  2. Install Omnodex from source. On Windows, do this in PowerShell.

Check Node.js:

Terminal window
where.exe node
where.exe npx
  1. Install the plugin.

    Drag omnodex-cowork.plugin 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.

  2. Create the proxy configuration.

    Create omnodex-proxy.json in your Omnodex home. proxy_bin tells the plugin where your Omnodex build’s proxy is, and upstream_servers lists 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.exe printed, and Windows paths throughout. JSON strings need escaped backslashes.

    Replace the example upstream with the MCP servers you use. Put secrets in environment variables and reference them as ${VAR} in an upstream’s env. See Configuration.

    Use proxy_bin rather than an environment variable: Cowork does not pass user environment variables to plugin MCP servers.

  3. 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.

  4. Verify in a new task.

    Type /omnodex in a new task, or ask Cowork to call omnodex_status. Then ask it to use one of the routed tools. Routed tools appear as <server>__<tool>, for example filesystem__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.

  5. Connect to the hosted dashboard (optional).

    Type /omnodex connect, or ask Cowork to call omnodex_connect. If this desktop has no API token yet, you get a short code and a URL: open the URL, sign in at dashboard.omnodex.com, and enter the code. The passphrase is transferred end-to-end encrypted.

ActivityRecordedNotes
Calls to MCP servers routed through OmnodexYesTool name, parameters (unless redacted), timing, status, and response size
Proxy session start and endYesThe session ends when Cowork stops the proxy, for example when the app quits
Cowork built-in tools (read, write, shell)NoNot routed through MCP
MCP servers or connectors not routed through OmnodexNoOnly upstreams in omnodex-proxy.json pass through the proxy

Cowork writes events to the Omnodex home on the desktop: C:\Users\<you>\.omnodex\ on Windows, ~/.omnodex/ on macOS and Linux.

Terminal window
omnodex dashboard

omnodex_status is not available in Cowork:

  1. Check launcher.log in .omnodex under your user home (C:\Users\<you>\.omnodex\launcher.log on Windows). The plugin’s launcher records startup failures there:

    Log entryCause
    FATAL: binary not foundproxy_bin is missing or points to a file that does not exist, or omnodex-proxy.json is not in .omnodex under your user home
    FATAL: 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.

  2. Check that the proxy starts on its own. Run the proxy_bin script 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
  3. Fully quit and reopen Cowork after any fix.

  4. On Windows, the Claude desktop app log at %LOCALAPPDATA%\Claude\logs\main.log shows each attempt to start the plugin’s server. Search for omnodex-cowork: a working setup logs Connected to plugin:omnodex-cowork:omnodex, and a failing one logs Failed 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.