How should I import GitHub plugins so logos display and update correctly?

I am a ChatGPT Business workspace admin importing custom Codex/ChatGPT plugins from a GitHub repository through Workspace settings → Plugins → Import from GitHub.

What is the current, supported repository and manifest structure for ensuring that plugin logos display correctly and update when the GitHub source changes?

My plugins use:

  • .agents/plugins/marketplace.json
  • plugins/<plugin-name>/.codex-plugin/plugin.json
  • interface.logo and interface.composerIcon pointing to ./assets/*.png
  • assets committed inside each plugin folder
  • valid 75×75 PNG files under 10 KB
  • version increments for updates

The plugins themselves, skills, and bundled apps appear correctly after import, but the custom plugin logos show as broken images in ChatGPT web, Codex, and the ChatGPT mobile app.

The existing workspace import also does not show a Refresh action, and importing the same GitHub repository again reports that it is already imported.

Questions:

  1. Is this the correct GitHub import structure and asset-path convention?
  2. Should logo and composerIcon be separate files, or may they point to the same asset?
  3. How are logo changes/version updates supposed to be refreshed for an existing workspace import?
  4. Is there a supported way for an admin to force a re-import or refresh without deleting and recreating the plugin?
  5. Are skill-level icon_small/icon_large paths in agents/openai.yaml expected to appear in the Workspace plugin page?

I am looking for the current 2026 guidance for GitHub-imported workspace plugins, especially for logo handling and update behavior.