moeru-ai/airi · error · Error

GODOT4 points to a missing Godot executable.\nConfigured pat

Error message

GODOT4 points to a missing Godot executable.\nConfigured path: ${executable}\nSet GODOT4 to the absolute path of your Godot 4.x .NET/Mono executable before starting dev mode.\nOriginal error: ${errorMessageFrom(error) ?? 'unknown error'}

What it means

Thrown by validateConfiguredGodotEnginePath when stat(GODOT4) rejects (typically ENOENT) in development mode. The error interpolates the configured path and the original stat error, and instructs the user to set GODOT4 to an absolute Godot 4.x .NET/Mono executable.

Source

Thrown at apps/stage-tamagotchi/src/main/services/airi/godot-stage/index.ts:325

  const binaryPath = join(process.resourcesPath, 'godot-stage', binaryName)

  try {
    await access(binaryPath)
    return binaryPath
  }
  catch {
    return undefined
  }
}

async function validateConfiguredGodotEnginePath(executable: string) {
  let executableStats
  try {
    executableStats = await stat(executable)
  }
  catch (error) {
    throw new Error(
      'GODOT4 points to a missing Godot executable.\n'
      + `Configured path: ${executable}\n`
      + 'Set GODOT4 to the absolute path of your Godot 4.x .NET/Mono executable before starting dev mode.\n'
      + `Original error: ${errorMessageFrom(error) ?? 'unknown error'}`,
    )
  }

  if (!executableStats.isFile()) {
    throw new Error(
      'GODOT4 must point to the Godot executable file, not a directory or app bundle.\n'
      + `Configured path: ${executable}\n`
      + 'Examples:\n'
      + '  Windows: C:\\Path\\To\\Godot_v4.x-stable_mono_win64.exe\n'
      + '  macOS: /Applications/Godot_mono.app/Contents/MacOS/Godot\n'
      + '  Linux: /path/to/Godot_v4.x-stable_mono_linux.x86_64',
    )
  }
}

View on GitHub (pinned to 27111382b4)

Solutions

  1. Set GODOT4 to the absolute path of an existing Godot 4.x Mono/.NET executable and restart the dev app.
  2. Verify the path with `stat "$GODOT4"` (or Get-Item on Windows) before launching.
  3. Expand any ~ or env references to an absolute path.
  4. Reinstall Godot 4 .NET/Mono if the binary was removed.

Example fix

# before
export GODOT4=godot # not absolute / not on PATH as a file

# after
export GODOT4="/opt/Godot_v4.x-stable_mono_linux.x86_64"
Defensive patterns

Strategy: validation

Validate before calling

import { stat } from 'node:fs/promises'

async function godotExecutableExists(path: string): Promise<boolean> {
  try { await stat(path); return true } catch { return false }
}

Type guard

async function isExistingGodotPath(path: string): Promise<boolean> {
  try { await stat(path); return true } catch { return false }
}

Prevention

When it happens

Trigger: GODOT4 environment variable points to a path that does not exist on disk; relative path resolved against an unexpected cwd; typo in the path; the Godot binary was moved/uninstalled after the env var was set.

Common situations: Fresh dev setup where GODOT4 was never set correctly; path uses ~ or $HOME that wasn't expanded; Windows path with backslashes passed unquoted through a shell that mangled it; Godot uninstalled/upgraded and the old path retained.

Related errors


AI-assisted analysis of moeru-ai/airi@27111382b4 (2026-08-12). Data as JSON: /api/errors/6217a8120808dc24. Report an issue: GitHub.