moeru-ai/airi · error · Error
GODOT4 is required to start Godot Stage in development mode.
Error message
GODOT4 is required to start Godot Stage in development mode.\nSet GODOT4 to the absolute path of your Godot 4.x .NET/Mono executable, then restart the Electron dev app.\nExamples:\n PowerShell: $env:GODOT4 = "C:\\Path\\To\\Godot_v4.x-stable_mono_win64.exe"\n Bash: export GODOT4="/path/to/godot"
What it means
Thrown by resolveGodotBinary in development mode (app.isPackaged false) when process.env.GODOT4 is unset or empty after trimming. The Godot stage cannot start in dev mode without an engine executable, so the error tells the user to set GODOT4 with platform-specific examples (PowerShell and Bash).
Source
Thrown at apps/stage-tamagotchi/src/main/services/airi/godot-stage/index.ts:360
}
}
async function resolveGodotBinary(): Promise<GodotBinaryResolution> {
if (app.isPackaged) {
const exported = await resolveExportedGodotBinary()
if (exported) {
return { executable: exported, mode: 'exported' }
}
throw new Error(
'Godot stage exported binary not found. '
+ `Expected at: ${join(process.resourcesPath, 'godot-stage')}`,
)
}
const envPath = process.env.GODOT4?.trim()
if (!envPath) {
throw new Error(
'GODOT4 is required to start Godot Stage in development mode.\n'
+ 'Set GODOT4 to the absolute path of your Godot 4.x .NET/Mono executable, then restart the Electron dev app.\n'
+ 'Examples:\n'
+ ' PowerShell: $env:GODOT4 = "C:\\Path\\To\\Godot_v4.x-stable_mono_win64.exe"\n'
+ ' Bash: export GODOT4="/path/to/godot"',
)
}
await validateConfiguredGodotEnginePath(envPath)
return { executable: envPath, mode: 'engine' }
}
/**
* Creates the shared Godot stage manager.
*
* Call stack:
*
* setupGodotStageManagerView on GitHub (pinned to 27111382b4)
Solutions
- Set GODOT4 to the absolute path of a Godot 4.x .NET/Mono executable in the same shell that launches the dev app (PowerShell: $env:GODOT4 = "..."; Bash: export GODOT4="/path/to/godot").
- Persist it in the shell profile or a local .env consumed by the dev script.
- Restart the Electron dev app after setting the variable so the main process re-reads env.
- Validate the path also passes validateConfiguredGodotEnginePath (exists and is a file).
Example fix
# before: GODOT4 unset electron . # after export GODOT4="/opt/Godot_v4.x-stable_mono_linux.x86_64" electron .
Defensive patterns
Strategy: validation
Validate before calling
function godotDevExecutableConfigured(): boolean {
return !!(process.env.GODOT4 && process.env.GODOT4.trim().length > 0)
} Type guard
function godotDevExecutableConfigured(): boolean {
const v = process.env.GODOT4
return typeof v === 'string' && v.trim().length > 0
} Prevention
- Set GODOT4 in the same shell that launches the dev app.
- Persist it in a shell profile or local .env consumed by the dev script.
- Restart the Electron main process after setting the variable.
When it happens
Trigger: Running the Electron dev app without having exported GODOT4, or with GODOT4 set to only whitespace.
Common situations: Fresh dev setup; GODOT4 set in a different shell profile that the Electron launcher didn't source; env var set for a previous session but lost after reboot; CI runner missing the secret/env.
Related errors
- GODOT4 points to a missing Godot executable.\nConfigured pat
- GODOT4 must point to the Godot executable file, not a direct
- Invalid remote debug port: ${env.APP_REMOTE_DEBUG_PORT}
- Unable to locate engines/stage-tamagotchi-godot/project.godo
- No reachable private LAN address is available for the curren
AI-assisted analysis of moeru-ai/airi@27111382b4 (2026-08-12).
Data as JSON: /api/errors/4755e8d43a228363.
Report an issue: GitHub.