Appearance
Troubleshooting
FreshSource: bible/setup.md (Troubleshooting), bible/runbook.md (Gotchas)
Common problems and fixes.
Server won't start
- Port in use: another process on 4700. Kill it or change
GHOST_ENGINE_PORTin.env - Module not found: run
npm installagain - Node version: must be 18+ (20+ recommended). Check with
node -v
Accounts not importing
- Registry not found: check the path to
registry.json. Default:browser-sender/data/account-identity/registry.json - Zero cookies: cookie directory might be empty. Accounts will work but need fresh login
Browser won't launch
- Chrome not found: install Google Chrome (not Chromium). The engine looks in standard install paths
- Profile locked: another Chrome instance is using the profile. Close it first
Ghost mode not working
- No vision provider: set
VISION_PROVIDERand the matching API key in.env - Window not focused: ghost mode requires window focus. Only one ghost session at a time on desktop
CTR not finding the domain
- Rank below maxPages: default
maxPagesis 3. If your rank is > 30, CTR will not find the domain - Wrong city: check the city name matches a known geo-profile
- Domain mismatch: case-sensitive in some cases. Try with and without
www.
Too many campaign failures
- Reduce concurrency: try
"concurrency": 2or1 - Check proxy health:
curl http://localhost:4700/proxies/health - Cookie staleness: refresh cookies for the failing accounts
Rank not moving after 2 weeks
- Volume too low: increase
clicksPerDay - Single keyword: add 3-5 keyword variants
- No supporting content: layer in cascades and brand-bombs
Account attrition too high
- Reduce
maxRunsPerAccount: try 20 instead of 30 - Run warmup batches:
curl -X POST http://localhost:4700/warmup/batch ... - Check
proxy-poolsize: refill if low
Gotchas
- Don't patch
navigator.webdrivervia JS. Use--disable-blink-features=AutomationControlledChrome flag. JS patching triggers CreepJS lie detection - Don't use big engine (:3500) for persona work. It doesn't accept inline fingerprint/location
- Don't pass
windowSizeor fingerprint from registry.json. Stale data (1440x900 macOS defaults). Let engine's locked defaults apply - Ghost mode is one desktop session at a time. SendInput requires window focus. Mobile (ADB) has no such limit
- Vision calls cost ~$0.003 each. Only use for navigation, not data reads