Troubleshooting
Common issues and solutions.
App Won't Start
Symptom: CoreLayer fails to launch or crashes immediately.
Solutions:
- Verify Node.js 22+ is installed:
node --version - Verify pnpm 9+ is installed:
pnpm --version - Check platform-specific Tauri prerequisites
- Try rebuilding:
pnpm clean && pnpm build
Daemon Not Starting
Symptom: "Daemon unhealthy" or connection errors.
Solutions:
- Check if port 3001 is in use:
lsof -i :3001(macOS/Linux) ornetstat -ano | findstr 3001(Windows) - Kill conflicting processes:
pnpm clean:daemon - Check daemon logs in the Control Center
- Verify database file permissions
Model Not Responding
Symptom: Jarvis doesn't respond or shows "No model available".
Solutions:
- Verify API key is correct in Settings → Models
- Check provider status (Groq, OpenRouter, etc.)
- Try a different model/provider
- Check network connectivity
MCP Server Won't Connect
Symptom: Server shows "Disconnected" or "Error" status.
Solutions:
- Verify the command and args are correct
- Test the command manually in a terminal
- Check that npx can install the package:
npx -y @modelcontextprotocol/server-filesystem - Check environment variables are set
- Restart the MCP connection from the Control Center
Voice Not Working
Symptom: Wake word not detected or speech not recognized.
Solutions:
- Check microphone permissions in system settings
- Reduce background noise
- Try clicking the microphone button instead of wake word
- Switch ASR provider to Groq Whisper for better accuracy
- Check audio output settings for TTS
Permission Guard Blocking Everything
Symptom: All tool calls require approval.
Solutions:
highrisk always requires confirmation andcriticalis denied — this is the default policy, not a bug- Use "Remember" on the approval to stop being asked for that exact action
- Clear stale requests with
POST /api/approvals/expire-stale - The policy is not user-configurable yet; see Permissions
Approval Appears Stuck
Symptom: A run never finishes and no approval dialog is visible.
Solutions:
- Check
GET /api/approvalsfor a pending request belonging to the run - Approvals are persisted, so a daemon restart does not lose them; it also does not auto-decide them
- Inline tool confirmations live at
GET /api/tools/pending-confirmations
Coding Executor Fails Immediately
Symptom: A coding run fails before producing any output.
Solutions:
GET /api/runtimes/coding/diagnostics— check the agent probe stateneeds_authmeans the agent started but has no credentials; complete its loginunreachableusually meansacpxis not installed (npm install acpx) or the launch command is wrong- Claude Code runs on DeepSeek models only; a non-DeepSeek
ANTHROPIC_MODELis rejected on purpose
Eval Attempts Time Out
Symptom: pass^k collapses with many timed-out attempts.
Solutions:
- Check the gateway first: a flapping endpoint makes
acpxhang until the run budget expires instead of failing fast VOIDattempts are environment faults (quota, refused connection, 5xx) and are excluded from rates- Three environment faults in a row stop the eval run by design
POST /api/runs/:id/message returns 410
This endpoint was removed with the hand-written agent loop. Use the standard conversation send API (POST /api/conversations/:id/messages/stream) instead.
Build Failures
Symptom: pnpm build fails.
Solutions:
- Clean and rebuild:
pnpm clean && pnpm install && pnpm build - Check Rust toolchain:
rustc --version,cargo --version - Verify platform prerequisites for Tauri
- Check for TypeScript errors:
pnpm typecheck
Database Issues
Symptom: Data not saving or loading errors.
Solutions:
- Check storage mode in
storage.json(Settings → Storage writes it) - Verify the database file exists and is writable under
storage/ - Switching storage mode requires a daemon restart — it is not a live hot-swap
- For Supabase: verify project URL and service key
Still Stuck?
- Check the GitHub Issues for known problems
- Open a new issue with:
- Your platform and versions
- Steps to reproduce
- Error messages or logs
- Expected vs actual behavior