Tasks

Fix a hidden launcher

The copilot's button does not show, or opening it draws nothing. One prompt finds the cause.

The launcher is missing, or open() returns without showing anything, and no error appears.

Prompt

The Rendel (rendel.ai) copilot's button does not show in this project. I am the developer and I am asking you to find out why and fix it. Check, in this order: that Rendel.init runs (awaited, before runApp in Flutter; the script tag is in <head> on every page on the web); that the key starts with rd_pk_ and is not a placeholder; that the build uses the test key (rd_pk_test_) while the app is not live, because a live key is refused with app_not_live until then; that nothing sets enabled: false; that a RendelLauncher (or a button calling Rendel.open) is actually on the screen. Run the app with the test key and read the Rendel lines in its log: they name the cause. If it is something else, the symptoms are listed at https://rendel.ai/docs/resources/troubleshooting. Fix it, build, and tell me what it was.

Paste into your coding agent, opened in your project. Works in Claude Code, Cursor, Codex, Windsurf, GitHub Copilot and Gemini CLI.

What the agent will do

  • Check the five usual causes, in order, in your code.
  • Run the app with the test key and read Rendel's log lines, which name the cause.
  • Fix it and tell you what it was.

How to check it worked

The launcher shows on a build with the test key. On a live build, Overview says Live: until then the live key is refused on purpose.

The five causes

  • It is a live key, and the app has not gone live. The server answers app_not_live, the launcher stays hidden and the SDK logs one warning. A setup turns the app live by itself once its four checks pass; Overview names the one still open. Use the test key until then.
  • init never ran, or ran after the widget built. It is a Future: await it in main before runApp. On the web the script tag belongs in <head> on every page.
  • The key is not a publishable key. init refuses anything that does not start with rd_pk_ (or nc_pk_, from before the rename), turns the copilot off for the run and asserts in debug. Check Rendel.isInitialized.
  • The key is still the placeholder. rd_pk_test_… from an example is not a key. Your app's own is under Settings → Keys & environments.
  • The copilot is switched off. RendelConfig(enabled: false) in code, or availability turned off in the console, makes RendelLauncher draw nothing. Rendel.isEnabled says which.

On a website, also check that the page's domain is listed under Settings → Security → Allowed domains; another origin is refused with origin_not_allowed (a test key also answers on localhost).

Something else: Troubleshooting.

On this page