{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreihfz76fwnhekr64womkn7osqojju7e7agckapltv52eowa4roayj4",
    "uri": "at://did:plc:lk3jfj3zq4k4wxnk474axylu/app.bsky.feed.post/3mgzrdaqxgkn2"
  },
  "path": "/t/how-to-debug-chatgpt-app-widget-in-chatgpt-android-app/1376662#post_2",
  "publishedAt": "2026-03-14T15:36:44.000Z",
  "site": "https://community.openai.com",
  "tags": [
    "@amoywolf",
    "https://platform.openai.com/docs/guides/chatkit⁠",
    "https://platform.openai.com/docs/guides/chatkit-widgets⁠",
    "https://platform.openai.com/docs/guides/custom-chatkit⁠"
  ],
  "textContent": "Hi @amoywolf\n\nI’d avoid relying on window.openai.userAgent unless OpenAI documents it as a stable contract. I’m not seeing an official Apps/ChatKit doc that guarantees that property, so capability detection is the safer path than UA sniffing.\n\nFor debugging, I’d separate:\n\nwidget logic — reproduce first in browser / standard ChatKit flow\n\nhost-specific behavior — then compare against the app surface\n\nOfficial starting points:\n\nChatKit overview: https://platform.openai.com/docs/guides/chatkit⁠\n\nChatKit widgets: https://platform.openai.com/docs/guides/chatkit-widgets⁠\n\nAdvanced/custom ChatKit integrations: https://platform.openai.com/docs/guides/custom-chatkit⁠\n\n\n\nSo my rule would be: don’t depend on undocumented host detection, prefer feature checks, and isolate web-vs-app behavior with strong widget-side logging.",
  "title": "How to debug ChatGPT app widget in ChatGPT Android App"
}