Skip to content

godotmaker.yaml

godotmaker.yaml lives at .claude/godotmaker.yaml inside each generated project. It tells GodotMaker about your machine — the path to your Godot executable — so it can be different per host without changing the project files.

When you work on one project across two computers (or share a project with another developer), each machine has its own copy of this file. The project files themselves stay the same; only this one file differs.

What's in it

The file currently has one field:

godot_path — the full path to the Godot 4 executable on this machine. GodotMaker uses this every time it needs to run Godot: compiling scripts, running unit tests, capturing screenshots.

Platform Typical value
Windows "C:/Godot/Godot_v4.4-stable_win64.exe"
macOS "/Applications/Godot.app/Contents/MacOS/Godot"
Linux "/usr/local/bin/godot4"

If Godot is already on your system PATH, you can set it to just "godot" and omit the full path.

A minimal file looks like this:

# Host-specific tool paths -- not committed to git
godot_path: "C:/Godot/Godot_v4.4-stable_win64.exe"

When to edit it

Edit this file when:

  • You move your Godot installation to a different folder.
  • You upgrade Godot and the executable name changes (e.g. _v4.4_v4.5).
  • You open the project on a second machine for the first time and the path on that machine differs from the first.

When NOT to edit it

Do not edit this file to change per-project behaviour like which AI model to use or which image generator to call. Those settings belong in .godotmaker/config.yaml — see Project config.

How it gets created

The first time you run python tools/publish.py <project>, the publish script checks whether .claude/godotmaker.yaml already exists. If it does not, it asks you one question:

No godotmaker.yaml found. Let's create one.
Enter the full path to your Godot executable
  (e.g. C:/path/to/Godot_v4.4-stable_win64.exe)
godot_path: _

What you enter is verified by running <godot_path> --version before the file is written. The verification has three outcomes:

  • Verified — the command exits cleanly (return code 0). Whatever it prints on stdout is shown back as the detected version (or ? if it stayed silent — wrapper scripts and sandbox runners sometimes suppress output, and that is intentionally still treated as success). Publish writes the file and continues.
  • Empty input or invalid path — publish prints the error (executable not found, non-zero exit, timeout) and re-prompts. You get up to 5 attempts before the script gives up without writing the file.
  • Aborted (Ctrl+C / Ctrl+D) — publish prints an "aborted" message and leaves the file uncreated; re-run publish later to set the path.

If Godot is on your system PATH you can still enter just "godot" — it is verified the same way (the validator runs godot --version), and only writes if it actually resolves and runs.

The file is only created during the first publish that produces a verified path. On every subsequent publish the file is left untouched — your path is never overwritten automatically.

What happens if it's wrong

If godot_path points to an executable that does not exist or is the wrong version, most /gm-* commands that invoke Godot will fail with a path error. Run python tools/check_env.py first — it reads this file, tries to run Godot, and tells you exactly what is wrong before you get partway through a build. See check-env for details.