Skip to content

Error Reference

Error codes and messages returned by Theatre's MCP tools.

MCP error structure

When a tool call fails, the MCP response contains an isError: true flag and the error content in the response body. Theatre errors have this structure:

json
{
  "content": [
    {
      "type": "text",
      "text": "{ \"error\": \"Node not found\", \"node\": \"NonExistent\", \"hint\": \"Use scene_tree to list available nodes\" }"
    }
  ],
  "isError": true
}

The text content is a JSON object with at minimum an "error" field, and often a "hint" field with a suggestion.

Spectator errors

Connection errors

ErrorCauseResolution
Game not runningPort 9077 is not reachableStart the game (F5) and ensure the Spectator addon is enabled
Connection refusedNothing listening on 9077Game is not running, or addon failed to load
Connection timed outGame is running but not respondingCheck for script errors in the Godot output panel
Handshake version mismatchAddon and server version mismatchRebuild and redeploy with theatre-deploy

Node errors

ErrorCauseResolution
Node not found: "X"No tracked node named XUse scene_tree to see available node names; check spelling
Node not tracked: "X"Node exists but its type is not in tracked_typesAdd the class to extra_tracked_types via spatial_config
Ambiguous node name: "X"Multiple nodes share the same nameUse the full scene path (e.g., "Level/Enemy_0" not "Enemy_0")

Frame errors

ErrorCauseResolution
Frame out of buffer rangesince_frame is older than the ring bufferUse a more recent frame, or start a recording for longer history
No data collected yetSnapshot called before any physics tickWait a moment and retry; the collector needs at least 1 frame

Recording errors

ErrorCauseResolution
Clip not found: "X"clip_id does not existUse clips { "action": "list" } to see available clips
No active recordingstop or mark called when not recordingStart a recording first with action: "start"
Frame out of clip rangeframe is beyond the clip's frame countCheck frame_count in the clip list before querying
Write error: disk fullNo space for clip fileFree disk space; change record_path via spatial_config

Query errors

ErrorCauseResolution
Invalid query type: "X"Unknown type fieldUse one of: nearest, radius, area, raycast, path_distance, relationship
Navigation not availableNo NavigationRegion3D bakedBake navmesh in the Godot editor
Raycast origin out of rangeOrigin node outside capture radiusIncrease capture_radius via spatial_config

Action errors

ErrorCauseResolution
Property not found: "X"Property does not exist on this node classUse spatial_inspect to see available properties
Type error: expected X, got YWrong value type for the propertyMatch the Godot property type (see Wire Format type mapping)
Method not found: "X"Method does not exist or is privateCheck the script for the exact method name

Director errors

Backend errors

ErrorCauseResolution
No backend availableEditor closed, no daemon, godot not on PATHStart editor or daemon; or add godot to PATH for one-shot
Backend connection refusedPort 6550/6551 not listeningEnable Director addon or start daemon
Godot process failedOne-shot Godot process exited with errorCheck stderr output; project path may be wrong
Project not found: "X"project_path does not contain project.godotUse the absolute path to the project root directory

Scene errors

ErrorCauseResolution
Scene not found: "X"Scene path does not existUse scene_list to find available scenes
Node not found: "X"Node path does not exist in sceneUse scene_read to see the scene structure
Parent not found: "X"Parent path does not existCreate parent nodes first
Duplicate node name: "X"A node with this name already exists under the parentUse a different name or use node_reparent with new_name first

Property errors

ErrorCauseResolution
Property not found: "X"Property does not exist on this Godot classCheck Godot documentation for valid property names
Invalid property valueValue type does not match property typeSee type mapping in Wire Format
Read-only property: "X"Property cannot be set (computed/const)Some Godot properties are read-only at editor time

Resource errors

ErrorCauseResolution
Resource type not found: "X"Unknown Godot resource classCheck spelling; use full class name (StandardMaterial3D not Material)
Resource not found: "X".tres/.res file does not existUse resource_list to find available resources
Save failed: "X"Could not write resource fileCheck directory exists and is writable

TileMap errors

ErrorCauseResolution
TileMap has no TileSetTileMap node has no TileSet assignedAssign a TileSet to the TileMap in the editor first
Invalid source_id: NTileSet does not have this sourceCheck source IDs in the TileSet resource
Invalid atlas_coordsCoordinates out of range for the atlasCheck atlas dimensions in the TileSet

Animation errors

ErrorCauseResolution
Animation not found: "X"AnimationPlayer does not have this animationUse scene_read to see the AnimationPlayer's animations list
Track index out of range: NTrack index from animation_add_track is wrongUse the exact track_index from the add_track response
Invalid track path: "X"NodePath:property format is wrongEnsure node path is relative to AnimationPlayer root

Common mistakes

Wrong project_path

Error: Project not found at "/home/user/game"

project_path must point to the directory containing project.godot, not a subdirectory or parent.

Wrong: "/home/user/game/scenes"
Right: "/home/user/game"

Case-sensitive node names

Godot node names are case-sensitive. "player" and "Player" are different nodes.

Error: Node not found: "player"

Use scene_tree or spatial_snapshot to see exact names.

Using scene_tree paths in Director

The scene path in Director is relative to the scene's root node, not from the game's root. If scene_read shows the root as "Player", use "Player/CollisionShape3D" (not "/root/Player/CollisionShape3D").

Forgetting to start the game before using Spectator

Spectator requires the game to be running. Director does not.

Error: Game not running

Press F5 in the Godot editor to start the game, then retry.

Open source under the MIT License.