AIToday
Large Language ModelsAI Coding AssistantsZenn AI/MLPublished: Sep 30, 2026, 10:00 JST

cmux's NODE_OPTIONS preload can stop node from starting

cmux's NODE_OPTIONS preload can stop node from starting

3 Key Points

  1. What happened

    In cmux (version 0.64.25), the shell environment includes a cmux preload file in NODE_OPTIONS; once that file disappears, node will not start at all, breaking npx wrangler and custom node scripts.

  2. Why it matters

    Because open terminals keep the environment variable from launch time, a missing preload file can silently halt every node-based task in that window, including wrangler deployments and custom scripts.

  3. What to watch

    The fix is to drop NODE_OPTIONS only when calling node — inline, via env -u, or, in zsh, as a function since zsh does not split a command stored in a variable. Watch whether the author pins down exactly when the preload file is deleted.

WHO IT HITSDevelopers and small teams running Claude Code inside cmux who use node-based CLIs like npx wrangler or custom conversion scripts may see those commands fail without an obvious cause until NODE_OPTIONS is cleared.

Not sure about something? Ask the AI

Questions and answers are published on this page.

Summaries like this, in your inbox every morning.

Context & Analysis

The author switched from a regular terminal to cmux in mid-August and now runs Claude Code per project, side by side with a browser pane. As of writing, a single window holds 16 terminals and 3 browsers. The piece deliberately skips the convenience story and lists three things that actually went wrong.

The first two problems share a pattern: cmux alters the shell environment and how file references are resolved, so assumptions carried over from a normal terminal break. The preload file in NODE_OPTIONS is harmless until it vanishes; long-lived terminals keep the value from launch time, so a node call fails with no obvious link to cmux. Cmd+click surfaces a similar mismatch — a Markdown file opens in cmux's built-in viewer rather than the editor, and relative paths written by Claude Code are resolved against the terminal's current directory, not the file's real location.

The third workaround is the one the author rates highest: writing a project workspace into cmux.json's actions, with a Claude Code pane and an admin-screen browser pane split evenly. Selecting it from the "+" menu starts Claude Code in the project directory with the admin screen beside it, and a saved layout can be exported back into that file. Whether this holds up hinges on how often the preload file is found to disappear and whether pins like full paths in Claude Code's memory are enough to keep Cmd+click usable.

FAQ
How do you fix node not starting inside cmux?
Remove NODE_OPTIONS only for the node call: use NODE_OPTIONS= for a one-off, env -u NODE_OPTIONS otherwise, or a zsh function because zsh will not split a command stored in a variable.
Which cmux settings control where Cmd+click opens a file?
openSupportedFilesInCmux, openMarkdownInCmuxViewer, and preferredEditor in ~/.config/cmux/cmux.json. Set openMarkdownInCmuxViewer to true to read in cmux, or openSupportedFilesInCmux to false to edit in an external editor.
Why does Cmd+click fail on relative file paths?
cmux builds the path from the terminal's current directory, so a relative path like engagement/follow-plan.md can point to a file that is not there. The author had Claude Code's memory record that answers should use full paths starting with /Users/.

AI news that matters for your work, in one minute a day

Pick your industry and the AI tools you use, and get news related to your work every day.

Free · 30 seconds with Google · unsubscribe anytimeWhat is AIToday? →

Ask AI

Ask AI anything about this article. The AI reads this article, earlier AIToday articles, and Wikipedia, and cites its sources. Q&As are published on this page for other readers too.

Questions and answers are published on this page.

Related Articles

Next articleSinking-ship sculpture joins protests against OpenAI