Troubleshooting
This page covers the most likely setup and runtime failures for contributors onboarding into the repo.
Database problems
DATABASE_URL is not configured
Cause:
- API Prisma service could not create a client because
DATABASE_URLis missing
Fix:
export DATABASE_URL=postgres://postgres:postgres@localhost:5432/veref
bun run db:generateIf the database exists but schema tables do not, run one of:
bun run db:migrate:dev
bun run db:pushAPI falls back to preview data
Cause:
- Prisma is unavailable, not migrated, or failed during a request
What to expect:
- dashboard and reference-request flows may still return preview-oriented responses
- this is a fallback, not proof that persistence is healthy
Clerk problems
Recruiter auth is not fully configured
Cause:
CLERK_SECRET_KEYorNEXT_PUBLIC_CLERK_PUBLISHABLE_KEYis missing
Fix:
- set both keys
- restart the affected Next.js process
If you are only exploring local product structure, missing keys may not block all understanding, but they do mean you are not running a fully configured auth path.
OpenRouter problems
LLM output says OpenRouter is not configured
Cause:
OPENROUTER_API_KEYis missing
Fix:
export OPENROUTER_API_KEY=...Optional override:
export OPENROUTER_BASE_URL=https://openrouter.ai/api/v1The repo is designed to return an unconfigured response instead of failing hard, so treat that message as a real setup signal.
Messaging problems
Email or SMS never leaves preview mode
Cause:
- Resend or Twilio credentials are absent
Fix:
- set
RESEND_API_KEYfor email - set
TWILIO_ACCOUNT_SID,TWILIO_AUTH_TOKEN, andTWILIO_MESSAGING_SERVICE_SIDfor SMS
Without those values, communication previews are still expected locally.
Desktop bridge problems
Desktop bridge unavailable. The preload API did not attach to window.verefDesktop.
Cause:
- Electron preload bridge is not loaded correctly or the desktop app was not started through the intended runtime path
Fix:
bun run dev:desktopThen confirm the desktop build artifacts and preload entrypoints are available.
Desktop shows agents unavailable
Cause:
claudeand orcodexis not installed or not onPATH
Fix:
- run
claude --version - run
codex --version - restart the desktop app after fixing the local shell environment
Desktop shows broken workspace links
Cause:
.claudeor.codexsymlinks are missing or no longer point at.agents/*
Fix:
./skills.sh install
./skills.sh statusExtension configuration problems
Extension opens the wrong recruiter app URL
Cause:
PLASMO_PUBLIC_APP_URLis unset or points at the wrong environment
Fix:
- set
PLASMO_PUBLIC_APP_URLto the correct app base URL - reload the extension
Local fallback is http://localhost:3000, so a mismatch usually shows up when the recruiter app is running elsewhere.
Docs and local URL mismatches
Surface links point at the wrong place
Cause:
NEXT_PUBLIC_APP_URL,NEXT_PUBLIC_WEB_URL, orNEXT_PUBLIC_DOCS_URLdoes not match the running local ports
Fix:
- align the env values with the actual local processes
- use the repo defaults unless you intentionally changed ports
Build verification problems
next build says another build is already running
Cause:
- a prior Next.js build process is still active or did not exit cleanly
Fix:
- wait for the previous build to finish
- if it is stale, stop the old build process and rerun the command once
Repo verify fails after docs edits
Fix order:
- Run
bun run --filter @veref/docs buildto isolate docs issues. - Run
bun run typecheck. - Run
bun run test. - Run
bun run build.
If the docs build passes but repo-wide build fails, the issue is outside the docs surface.