Problem:
Every Homey app (my own, sample, community) gives
✖ Invalid id
when running homey app validate — even with unique, simple IDs and on debug-level, on multiple Macs.
What I’ve tried / checked:
- Node/NVM/CLI setup:
- Reinstalled NVM (official script)
- Node.js v18.20.8 installed via nvm (
node -vcorrect, path in ~/.nvm) - Homey CLI 3.8.1 installed cleanly (no old root/global CLI left)
- app.json:
- Tried multiple (unique) IDs (e.g.
"id": "joosttestabc123","id": "abc123","id": "joostsuperuniek999abc") - All-lowercase, no spaces, hyphens, or underscores, 3–50 characters
- Minimal, clean app.json without drivers/assets (see below)
- Encoding checked (
file app.jsongivesJSON data/ UTF-8)
- Test apps:
- My own app, ZIP validated on other environments
- Community/sample apps (cloned or downloaded)
- Brand new app in an empty directory with only a minimal app.json
- Validation commands:
homey app validatehomey app validate --level debug- Always the same error:
✖ Invalid id
- CLI & Node environment:
which homeypoints to~/.nvm/versions/node/v18.x.x/bin/homey- Permissions, npm cache, global node_modules all cleaned/reset
- Xcode Command Line Tools installed (tested on both Intel & ARM Mac)
- Homebrew and git are up to date
- Also tried:
- Downgraded CLI to 3.7.0 — same error
- Tried on different user accounts and two separate Macs
- Same result every time, also after reboot/fresh terminal
Extra info:
- Sample app.json:
json
KopiërenBewerken
{
"id": "joostsuperuniek999abc",
"version": "1.0.0",
"compatibility": ">=5.0.0",
"name": { "en": "Test", "nl": "Test" },
"description": { "en": "Test", "nl": "Test" },
"category": ["other"],
"author": { "name": "Test", "email": "test@test.com" },
"drivers": []
}
- Node: v18.20.8 (
which nodeis in ~/.nvm) - Homey CLI: 3.8.1 (
which homeyis in ~/.nvm) - Error message always:
bash
KopiërenBewerken
✓ Pre-processing app...
✓ Validating app...
✖ App did not validate against level `debug`:
✖ Invalid id
- My app-zip validates fine on other systems, installs/validates instantly
My question:
What can I try next? Is this a bug in the Homey CLI validator on Mac or a recent dependency, or does it now always check IDs against a (remote?) database, even on debug-level?
Any tips? Has anyone else experienced this?
Thanks in advance for your help!
— Joost