iOfficeAI/AionUi · warning
Missing: ${backendBin}
Error message
Missing: ${backendBin} What it means
Part of the FRONTEND-ONLY warning block; prints the exact resolved backend binary path that was not found. It is diagnostic output identifying which file/path the CLI looked for, so the operator can correct the env var or install location.
Source
Thrown at packages/web-cli/src/index.ts:171
process.exit(1);
}
console.log(`[aionui-web] version : ${version}`);
console.log(`[aionui-web] data dir : ${dataDir}`);
console.log(`[aionui-web] log dir : ${logDir}`);
console.log(`[aionui-web] static dir : ${staticDir}`);
console.log(`[aionui-web] backend bin: ${backendBin}`);
console.log(`[aionui-web] launching : port=${port} allowRemote=${allowRemote}`);
const backendAvailable = fs.existsSync(backendBin);
if (!backendAvailable) {
// Graceful degradation: serve the SPA shell without spawning backend.
// API calls from the browser will 502/ECONNREFUSED — frontend is expected
// to surface this to the user (e.g. "backend missing" banner).
console.warn('');
console.warn('⚠️ Backend binary not found — starting in FRONTEND-ONLY mode.');
console.warn(` Missing: ${backendBin}`);
console.warn(' The web UI will load but API calls will fail until a backend is available.');
console.warn(' To enable backend: download aioncore and set AIONUI_BACKEND_BIN.');
console.warn('');
const handle = await startStaticServer({
staticDir,
backendPort: 0, // invalid port → API proxy will fail cleanly
port,
allowRemote,
});
currentHandle = handle;
console.log('');
console.log('AionUi WebUI (frontend only) is ready');
console.log(` Local : ${handle.localUrl}`);
if (handle.networkUrl) console.log(` Network: ${handle.networkUrl}`);
if (autoOpenBrowser) {
const openResult = openBrowserUrl(handle.localUrl);View on GitHub (pinned to 711aa0550e)
Solutions
- Copy the printed path and check it: ls -l <path> to confirm whether it's a typo, missing file, or dangling symlink.
- Fix AIONUI_BACKEND_BIN to the correct absolute path (expand ~ manually if needed).
- Reinstall/download the aioncore binary if the file genuinely doesn't exist.
- Ensure the binary is executable (chmod +x) once present.
Example fix
# before AIONUI_BACKEND_BIN='~/aioncore/aioncore' aionui-web start # Missing: ~/aioncore/aioncore (~ not expanded) # after AIONUI_BACKEND_BIN="$HOME/aioncore/aioncore" aionui-web start
Defensive patterns
Strategy: validation
Validate before calling
const bin = process.env.AIONUI_BACKEND_BIN;
if (!bin || !fs.existsSync(bin)) {
throw new Error(`AIONUI_BACKEND_BIN resolves to missing path: ${bin}`);
} Prevention
- Expand ~ and $HOME before assigning the env var.
- Symlink the binary into a stable location (e.g. /usr/local/bin) instead of moving it.
When it happens
Trigger: Always printed immediately after the frontend-only banner whenever backend binary resolution fails (bad AIONUI_BACKEND_BIN value, missing install, wrong PATH).
Common situations: Env var pointing to an old binary name after an upgrade; symlink dangling; container image built without the backend layer; path with unexpanded ~ or $HOME.
Related errors
- Image file not found. Searched paths: ${possiblePaths.map((p
- ⚠️ Backend binary not found — starting in FRONTEND-ONLY mod
- To enable backend: download aioncore and set AIONUI_BACKE
AI-assisted analysis of iOfficeAI/AionUi@711aa0550e (2026-08-28).
Data as JSON: /api/errors/80651824ceca6a50.
Report an issue: GitHub.