Skip to content

Troubleshooting

Check your Windows version. ConPTY requires Windows 10 build 18362 (version 1903) or later. On an older build the plugin logs a warning at startup and terminal behaviour degrades; if the CreatePseudoConsole API is missing altogether, the pane reports ConPTY is not available on this Windows installation. There is no workaround short of updating Windows.

Read the message in the pane. When a session cannot start the way you asked, the plugin writes the reason into the pane itself. If your Default Shell points at an executable that no longer exists, you will get a cmd.exe session instead with the warning Requested shell failed to start. Using cmd.exe instead. Pick a different shell from the dropdown, or fix the path. Paths with spaces need quoting:

"C:\Program Files\PowerShell\7\pwsh.exe" -NoLogo -NoExit

Check your working directory. With the policy set to Custom and a path that is missing or unreachable, sessions revert to Project Root — but a path on a disconnected network drive can hang instead. Switch back to ProjectRoot to confirm.

Look in the Output Log. Filter for LogConductorTerminal. At Verbose, shell detection logs every shell it found and why it skipped WSL:

Log LogConductorTerminal Verbose

Is the plugin switched off? Setting bIsEnabled=False under [Terminal] in the editor ini makes the module bail out at startup. It is not exposed in any UI; check the ini if nothing at all appears under Tools.

Work through these in order.

  1. Is the editor running? The MCP server is in-process. No editor, no server.

  2. Is ModelContextProtocol enabled? Check Edit → Plugins. The readiness section under Editor Preferences → Plugins → Conductor Terminal → Unreal MCP Client Config flags this with a Fix button.

  3. Is Auto Start Server on? Editor Preferences → Plugins → Model Context Protocol. Without it the server waits to be started by hand. The readiness section has a Fix button for this too.

  4. Did you restart the editor after enabling a plugin? Enabling writes to the .uproject and needs a restart.

  5. Did you restart the agent after writing its MCP config? Most CLI agents read MCP config only at startup.

  6. Does the port match? The generated config uses the port from your MCP settings. If you changed it afterwards, rewrite the agent config.

  7. Test the endpoint directly:

    Terminal window
    curl.exe -i http://127.0.0.1:8000/mcp

    Nothing at all means the server is not listening.

The agent sees the editor but not the terminal tools

Section titled “The agent sees the editor but not the terminal tools”

The Cndctr Terminal toolset is published through ToolsetRegistry. If Epic’s tools appear and this plugin’s do not, ToolsetRegistry is likely disabled, or ConductorTerminalMCP failed to load. Check Edit → Plugins and the Output Log for module load errors.

If no toolsets appear beyond the bare minimum, enable the AllToolsets aggregator — the readiness section has a Fix button for it. On an engine build that does not ship AllToolsets, the row reads 0/0 and the Fix cannot help; enable Epic’s individual toolset plugins by hand.

The agent can’t find the Conductor Terminal skill

Section titled “The agent can’t find the Conductor Terminal skill”

Skills are filtered by the registry’s AgentSkillAllowedNames / AgentSkillBlockedNames settings. If the agent’s ListSkills call does not show the Conductor Terminal skill, check those patterns in the Toolset Registry settings.

psmux is not bundled and the plugin will not install it. Install it yourself:

Terminal window
winget install marlocarlo.psmux

Or get it from github.com/psmux/psmux, or use tmux inside WSL.

The plugin looks for psmux.exe on PATH and via where.exe — nowhere else. If you installed it to an unusual folder, add that folder to PATH. Detection runs once per editor process, so after installing, restart the editor. To confirm, ask the agent for GetDebugSummary(0) and look for psmuxResolved=1.

If a psmux row is picked while psmux is unavailable, the session silently runs as a plain shell and a warning is logged.

  • WSL detection needs Windows build 19041 (version 2004) or later.
  • wsl.exe must be present in System32.
  • The probe runs wsl -l -q with a three-second deadline; if that command fails, returns a non-zero exit code, or hangs, detection skips WSL and says so at Verbose.
  • docker-desktop distributions are filtered out deliberately — they are not interactive shells.

Hold Ctrl. A plain click starts a text selection; links open on Ctrl+click, and the hand cursor appears only while Ctrl is down.

The path also has to resolve to a real asset or a real folder. Paths to something that has been renamed or deleted are left as plain text on purpose — no link beats a dead link. Paths containing a hyphen are split at the hyphen and will not link.

Syncing targets a docked Content Browser; the Content Browser drawer cannot be synced to. The plugin opens Content Browser 1 itself if none is docked, so a new Content Browser tab appearing on first click is expected.

This was a real bug in earlier builds, caused by settings being written to Config/Default*.ini while being read back from the per-user Saved config, which shadowed them. Settings page edits now go to:

<YourProject>/Config/UserEditorPerProjectUserSettings.ini

and agent-set values and session records go to:

<YourProject>/Saved/Config/WindowsEditor/EditorPerProjectUserSettings.ini

If it still happens, check whether something else — a build step, a version control hook, a CI script, or an agent calling SetTerminalSetting("FontSize", ...) — is overwriting or reverting one of those files. A project upgraded from an early build may also carry a stale Conductor Terminal block in the committed Config/DefaultEditorPerProjectUserSettings.ini; its values only resurface if the per-user files are deleted.

Restore runs once per editor process, at the first tab bootstrap. A few consequences:

  • Closing and reopening the panel drawer within one session does not re-read saved records.
  • Layout is autosaved about once a second on change, so a crash loses at most the last second of changes — not the whole layout.
  • Records whose shell is no longer installed, or whose psmux workspace no longer exists on the psmux server, are skipped on restore.
  • Terminal contents are never persisted. In Plain Shell mode the shells respawn fresh; only PSMux and Tmux workspaces bring their scrollback back with them.

Inline images show as garbled escape codes, or nothing

Section titled “Inline images show as garbled escape codes, or nothing”

The decoder recognises Sixel and iTerm2 OSC 1337. A tool emitting a variant it does not recognise will dump raw escape sequences — worth reporting, with the tool name, the exact command line, and a short capture of the output.

A tool that prints nothing at all is probably emitting Kitty graphics, which the terminal does not implement; switch it to Sixel or iTerm2 output. An [image too large] placeholder means the image exceeded the payload limit — see Inline Graphics → Limits.

Gather this before you get in touch:

  • Unreal Engine version and Windows build number (winver)
  • Conductor Terminal version (Edit → Plugins)
  • The relevant LogConductorTerminal lines from the Output Log
  • What you did, what happened, what you expected

Then head to Support.