Claude in Houdini on Windows: Two Bugs in the Agent Panel and a 31-Node Geode

A Habr author connected Claude to Houdini 22 through the houdini-agent-panel (MIT) with the fxhoudinimcp MCP server. Login went through a Claude Pro/Max subscription, with no API key, using the CLAUDE_CODE_OAUTH_TOKEN token. It did not work out of the box on Windows: first a 401 error caused by stale credentials, then a crash of the MCP server. Claude itself found the causes. The author verified them and submitted two fixes to the panel's repository. The test result: a procedural geode built from 31 nodes in about 22 minutes of work, with the video sped up roughly 24x. The agent noticed and corrected its own mistakes, even though Codex usually has to be brought in for that. • The panel takes variables from the /bin/sh login shell, which does not exist on Windows: PR #46 reads HKCU\Environment • The MCP server crashed with No module named 'pywintypes': PR #47 fixes the pywin32 paths • For games, the author uses hython with scripts rather than MCP

AI-processed from Habr AI; edited by Hamidun News
Listen to article
Article Fact Sheet & Key Figures
ParameterDetails
Primary sourceHabr AI ↗
Editor-in-Chief
Key metric #1The panel takes variables from the /bin/sh login shell, which does not exist on Windows: PR #46 reads HKCU\Environment
Key metric #2The MCP server crashed with No module named 'pywintypes': PR #47 fixes the pywin32 paths
Key metric #3For games, the author uses hython with scripts rather than MCP

An agent without access to the software is of little use. So the Habr author, who regularly tests AI agents in Houdini, connected Claude directly to the program window. The setup did not work out of the box on Windows: the author had to sort out the token, environment variables, and a crashing MCP server. The result is still instructive: a procedural geode built from 31 nodes in about 22 minutes of work, with the video sped up roughly 24x.

The panel, MCP, and subscription login

The author chose the houdini-agent-panel (MIT license), a chat with the agent inside Houdini. The reason is practical: it makes recording video easier. Under the hood, it runs the fxhoudinimcp MCP server.

Installation looks like this:

• run `uvx --from houdini-agent-panel python -m houdini_agent_panel install`; • restart Houdini, click "+" on the tabs, and choose New Pane Tab Type → Agent (at the very bottom of the list); • in the panel settings, click Install next to Claude Agent; • to log in with a Claude Pro/Max subscription without an API key, run `claude setup-token`, then `setx CLAUDE_CODE_OAUTH_TOKEN "sk-ant-oat01-…"`.

This detail matters for the economics. The work runs under a flat subscription rather than per-token pricing. For a long session with dozens of steps and viewport screenshots, that is noticeably more predictable.

What broke on Windows

The first thing the author hit was "token expired." Then it got worse: according to the author, nobody really debugs products like this. Claude found the causes in the code, and the author verified them and submitted the fixes.

Symptoms and solutions:

• 401 OAuth access token has expired right after setx. The agent picks up the old login from ~/.claude/.

credentials.json. To check the new token, run `claude -p "reply with: ok"`.

• Houdini does not see the variable after setx. Explorer and old PowerShell windows keep running with the old environment. Restart Explorer or log out of Windows.

• Still 401. The panel takes variables from the login shell (/bin/sh), which does not exist on Windows. The fix is MAY4VFX/houdini-agent-panel#46: the panel now reads HKCU\Environment.

• The agent responds, but has no Houdini tools. The MCP server crashes with No module named 'pywintypes' because the pywin32 .pth file is not read from PYTHONPATH.

The fix is MAY4VFX/houdini-agent-panel#47. Manually, you need to add deps\py3.13\win32 and win32\lib to HAP_MCP_PATH in the file Documents\houdini22.

0\packages\houdini_agent_panel.json.

The author ran into something similar in spring with houdini-mcp and Codex on Windows. Those fixes have already been merged into the project: oculairmedia/houdini-mcp#8.

The geode as a test

For the test, Claude itself suggested an asteroid, but the result looked "somehow off," so they switched to a geode. The task: a stone "nut" split in half, with a cluster of amethyst crystals inside. The prompt required the agent to keep the network always visible, create nodes one at a time, give them clear names, outline each stage with a network box, color the boxes, and check its work with a screenshot.

The stages were:

• shell: sphere → noise → VDB → hollow shell → polygons; • split: a cut with an uneven plane, leaving a ragged edge; • crystals: points inside, oriented along the normal, short near the walls and long toward the center, a hexagonal crystal with a pointed tip, copy to points; • color: gray-brown stone, light agate bands on the cut face, crystals running from dark purple to pale tips; • finish: everything wired to OUT, viewport set to the angle of the cut.

The geode itself, by the author's own admission, does not inspire much excitement. Something else was surprising: Claude noticed and fixed its own mistakes, even though Codex usually has to be brought in at this stage because Claude's vision is mediocre.

How the author actually works

An agent in Houdini is like a junior who has read the whole internet. Not long ago, it could not build a plain polygon cylinder, and the author tested this on Claude, ChatGPT, Perplexity, and others. The main thing is to steer it. Otherwise it builds everything in Python inside a couple of nodes, and editing that becomes impossible. Once, Claude threw out the author's nodes and replaced them with its own, with Python inside. Still, the agent is useful for routine work: for example, it assigned a hundred materials in Karma.

For games, the author uses hython rather than MCP. Hython is Python with the hou module that runs without the interface: `& "C:\Program Files\Side Effects Software\Houdini 22.0.368\bin\hython.exe" build_scene.py`. The agent writes the script and runs it itself. This is convenient when the project does not need to be edited in Houdini itself.

Practical takeaways

A connected agent can run any Python in your Houdini, and there is no password on the connection. Use this setup only on your own work machine. Each agent action is a separate undo step, which makes rollback easier.

The practical order is this: first check the token with `claude -p`, then make sure Houdini sees the environment variable, and only then deal with MCP. The agent is fine for routine work such as bulk material assignment. For project structure, it is better to set explicit rules: nodes one at a time, clear names, no Python inside. For autonomous tasks that do not require editing the scene in the interface, hython is simpler and more reliable than MCP.

Story

Key Questions Answered

What are the key details on The panel, MCP, and subscription login?

The author chose the houdini-agent-panel (MIT license), a chat with the agent inside Houdini. The reason is practical: it makes recording video easier. Under the hood, it runs the fxhoudinimcp MCP server. Installation looks like this: run `uvx --from houdini-agent-panel python -m houdini_agent_panel install`; restart Houdini, click "+" on the tabs, and choose New Pane Tab Type → Agent (at the very bottom of the list); in the panel settings, click Install next to Claude Agent; to log in with a Claude Pro/Max subscription without an API key, run `claude setup-token`, then `se

What broke on Windows?

The first thing the author hit was "token expired." Then it got worse: according to the author, nobody really debugs products like this. Claude found the causes in the code, and the author verified them and submitted the fixes. Symptoms and solutions: 401 OAuth access token has expired right after setx. The agent picks up the old login from ~/.claude/.credentials.json. To check the new token, run `claude -p "reply with: ok"`. Houdini does not see the variable after setx. Explorer and old PowerShell windows keep running with the old environment. Restart Explorer or log out o

What are the key details on The geode as a test?

For the test, Claude itself suggested an asteroid, but the result looked "somehow off," so they switched to a geode. The task: a stone "nut" split in half, with a cluster of amethyst crystals inside. The prompt required the agent to keep the network always visible, create nodes one at a time, give them clear names, outline each stage with a network box, color the boxes, and check its work with a screenshot. The stages were: shell: sphere → noise → VDB → hollow shell → polygons; split: a cut with an uneven plane, leaving a ragged edge; crystals: points inside, oriented along

ZK
Zhemal Khamidun — CPO at Alpina Digital, product manager of AlpinaGPT. Building AI products since 2019. Hamidun News is a pet project that grew into a production aggregator with 6,000+ readers.
✦ Hands-On AI Engineering · Hamidun Academy

Build & Ship Production AI Agents Without Boilerplate Code

Start your free 72-hour trial at Hamidun Academy (academy.hamidun.com) — interactive lessons on Claude Code & Cursor, live Tech Radar, and production agent templates.

Start 72h Free Trial →Vibe-Coding Intensive
What do you think?
Loading comments…