Skip to main content
Place the agent outside swap targets so it survives partial updates.
<body>
  <div id="content" hx-target="this" hx-swap="innerHTML"></div>

  <char-agent id="char-widget" publishable-key="pk_live_..."></char-agent>

  <script>
    const agent = document.getElementById("char-widget");
    const idToken = window.currentUserIdToken;
    if (idToken) {
      agent.connect({ publishableKey: "pk_live_...", idToken });
    }
  </script>
</body>