Repository navigation
Troubleshooting
Start with:
npx @knowtific/helppuff doctorIt checks the config, secrets, Cloudflare access, the Worker, the database,
the knowledge base and the widget, and prints a fix for each failing check.
helppuff status shows what is deployed and today's usage.
For live Cloudflare request logs, run helppuff logs in the same project folder
and repeat the failing request. It works with the existing Wrangler login or
the project's CLOUDFLARE_API_TOKEN in .env. See Logs.
-
Is the script on the page? View the page source and look for
loader.js. Dashboard → Home → Check my site looks for you. -
Is the page's origin allowed?
originsinhelppuff.jsonmust include the exact scheme and host, includingwww.if you use it. Add it and deploy. -
Does the site have a Content Security Policy? Allow the Worker in
script-srcandconnect-src(andimg-src, if the assistant has an avatar). Add?hpdebug=1to the page URL to see the widget's own log in the browser console. -
Is it hidden on this page? Check
widget.launcher.hideOnPaths.
The widget never shows a broken state: if anything is wrong it simply does
not appear, so the browser console (with ?hpdebug=1) is where to look.
The daily message cap (security.limits.messagesPerSitePerDay) or the daily
AI budget is used up. Both reset at 00:00 UTC. Visitors still get your contact
details and the callback form. Raise the limits if the traffic is real; see
Costs and limits.
- Dashboard → Knowledge → Test a question shows what it would answer from. No passage? The page may not be learned: check its status under Website pages.
- A page shows Blocked (robots.txt), Skipped (no readable text: often a page drawn by JavaScript; it is rendered automatically when possible) or Failed: the reason is on the row.
- Add the answer yourself under Your own answers, or upload a file.
- If good passages are found but dropped, the reranker may be strict for that
question; see
retrieval.minScorein Workers AI.
The reason is next to it. "No readable text" usually means a scanned PDF (pictures of text); upload a text version. "The upload went missing" means it was not read within a few minutes; upload it again.
| Error code | Meaning | Fix |
|---|---|---|
settings_changed |
Settings were changed in the dashboard since this folder pulled them |
helppuff config pull, check the diff, deploy |
prompt_behind, prompt_diverged
|
The prompt was changed in the dashboard |
helppuff prompt pull (your unpublished edits are kept in prompt.mine.md), then deploy |
missing_secret |
A key the config needs is not in .env
|
helppuff secret set <NAME> |
downgrade |
The Worker runs a newer release than this CLI |
npx @knowtific/helppuff@latest …, or --allow-downgrade to roll back on purpose |
cli_outdated |
upgrade was run with an older CLI |
npx @knowtific/helppuff@latest upgrade |
project_too_new |
helppuff.json was written by a newer CLI |
use the newer CLI (@latest) |
no_admin_key, admin_unauthorized
|
ADMIN_API_KEY is missing or does not match the Worker's |
helppuff deploy sets it again |
exit code 3
|
Cloudflare refused the credentials |
npx wrangler login, or check the token's permissions ([[Configuration |
exit code 4
|
A Cloudflare quota or limit | the message says which; often a free-plan daily limit |
Every error in --json mode has a stable code and a hint with the command
to run next.
npx @knowtific/helppuff dashboard # a one-time sign-in link (15 minutes)
helppuff users reset you@example.com # a new passwordBefore anyone has an account, helppuff dashboard prints the setup link again.
helppuff ask "<question>" --timing prints each step's time. On Workers AI the
model and the reranker take most of it. Turning the reranker off (Settings →
Advanced → "Double-check answers") saves about half a second, at some cost in
accuracy.
Settings → Webhooks → Recent deliveries shows each delivery's status and
error; Send test sends one now. Endpoints must be https:// and answer
within 8 seconds with a 2xx. See Webhooks.
Someone must be available: a dashboard tab open with the Available switch
on (bottom of the menu), or Telegram linked. helppuff live status and
helppuff doctor say which is missing. No sound: click anywhere in the
dashboard once (browsers need a click before playing sound), then
Settings → Notifications → Test sound. No notification: allow them for the
dashboard's site in the browser. See Live chat.
Open an issue with the output of helppuff doctor --json (it contains no
secrets) and what you expected to happen.
Start
Tutorials
- All tutorials
- Order tracking
- Send chats to your CRM
- Nearest store
- Verified account changes
- Logged-in customer support
- Product and stock
- Hot leads to Slack
- Knowledge base or tool?
- Testing and monitoring
- Why the AI never books
Configure
- Configuration
- Configuration reference
- CLI reference
- Knowledge base
- Prompt and instructions
- Tools: your APIs in the chat
- Agent files: import and export
- Signed-in visitors
- The widget
- The playground
- Leads and callbacks
- Jobs
- Photos and files
- Bookings and the calendar
- Integrations
- Live chat
- Telegram
- Webhooks
- Email notifications
API
API reference
- Overview
- Account
- Chat
- Conversations
- Live chat
- Labels and notes
- Leads
- Callbacks
- Jobs
- Appointments
- Integrations
- Knowledge
- Prompt
- Tools
- Settings
- Webhooks
- Analytics
- Team
- API keys
- Audit
Providers
- Overview
- Models and providers
- Custom model
- Custom knowledge base
- Workers AI (default)
- AI models: speed, quality, cost
- Cloudflare AI Search
- OpenAI
- Gemini
- Anthropic Claude
- Retell
- Your own API
Operate
- Deployment
- Turn on Turnstile
- Upgrading
- Costs and limits
- Cloudflare Free plan limits
- Security
- Troubleshooting
Build