Troubleshooting CMD+K: common errors and fixes
Most CMD+K support tickets fall into a short list of issues: the widget doesn't open, MCP returns 401 or 402, OAuth consent loops, or meter events stop forwarding. This page lists the symptoms and the exact fix for each. If your problem isn't here, email support@commandplusk.com with your workspace ID and a short repro and we'll respond within one business day.
Symptoms and fixes
FAQ
- The widget doesn't open when I press ⌘K (or click the launcher).
- Check the browser console for a 'cmdk' error. Most common causes: the <script> tag is missing data-cmdk-widget (your widget UUID — copy the snippet from the assistant's Install tab), or the page's domain isn't listed under Allowed origins in the assistant's Advanced tab, so the widget's requests are rejected. If you built your own launcher (data-cmdk-launcher="custom"), open the panel with window.CommandK.open() — ⌘K / Ctrl+K toggles it, and window.CommandK.isOpen() tells you its state.
- MCP endpoint returns 401.
- Either the deployment isn't published or your OAuth credentials are wrong. Open the deployment page and use the Test tab to see the exact error.
- MCP endpoint returns 402 (Payment Required).
- You've hit the workspace's hard spending cap or a past-due invoice has suspended the gateway. Open Billing, clear the invoice or raise the cap, and traffic resumes within seconds.
- OAuth consent loops forever.
- Your client ID is misconfigured or the redirect URI doesn't match. Ensure the redirect URI in your OAuth provider exactly matches what the deployment shows.
- Monetize meter events stopped forwarding.
- Open Monetize → DLQ. Common causes: revoked Stripe restricted key, deleted meter, or missing customer mapping. Fix and click Replay.
- Knowledge base returns empty answers.
- Open Dashboard → Knowledge. The source must show 'ready' and be attached to the assistant (the Knowledge page lists which assistants each source is attached to; the assistant's Knowledge tab lets you tick it). If a crawl stopped early, raise Max pages (up to 200) or loosen Exclude paths and click Re-sync. Use Preview search on the Knowledge page to confirm the passage you expect is actually indexed.
- End-user identity doesn't appear in chats.
- Visitor identity comes from the signed JWT you put in data-cmdk-token on the <script> tag — there is no identify() call. Check three things: the assistant is in 'Signed-in users only' mode (Install tab), your page template injects data-cmdk-token for signed-in users (the token is read once at page load, so render it server-side after sign-in), and the token verifies against the signing secret or JWKS URL configured in the assistant's Install tab (signed-in mode → Visitor sign-in setup). When it works, the conversation in Chats shows the token's sub and email.
- I deleted something by accident.
- Deletes are hard deletes — there's no soft-delete recovery on workspace, audience, or chat history removals. Email support immediately; we may have a recent backup.