{"version":"2.1.281","anchor":"plugin-install-ui-new-error-messages-and-telemetry-surface","canonical_anchor":"plugin-install-ui-new-error-messages-and-telemetry-surface","heading":"Plugin install UI: new error messages and telemetry 'surface'","tier":"notice","area":"Plugins","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/plugin-install-ui-new-error-messages-and-telemetry-surface","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### Plugin install UI: new error messages and telemetry 'surface'\n\nThe plugin install screen now shows messages for the new install failures, and its success message can mention copies in other projects\n\n**Unclear.** The finding does not say which `surface` values exist or where each one comes from.\n\n**What**\n\nThe marketplace install screen now turns the installer's new failure reasons into error messages. A `plugin-directory-unavailable` failure shows a general \"Failed to install plugin\" message. The success message is now built by a helper that can add a note about copies of the plugin in other projects.\n\nThe install flow, including bulk installs of several plugins, now tells the installer which part of Claude Code started it (a `surface` value). The `tengu_plugin_installed` and `tengu_plugin_install_failed` telemetry events gain `surface` and `replaced` fields, and the record of installed plugins can now store a `directoryRepositoryKey`.\n\n**Why**\n\nA failed install now ends with a message on screen instead of an unhandled reason. A dependency directory that cannot be reached is reported only as a general failure, so the message itself will not tell you which dependency caused it.\n\n- Area: Plugins\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5"}