separate hints for disabled vs not installed provider#2441
Open
evgunter wants to merge 1 commit into
Open
Conversation
When a provider references a backend whose plugin is not installed at all, the "references unknown backend" error previously advised adding `plugin = "<plugin-name>"` to the block whenever any plugin was disabled. That advice cannot resolve an uninstalled backend, so users who followed it hit the same error again, and the "Currently disabled plugins" list (which omitted the missing backend) added confusion. The message now leads with the concrete install hint for an unregistered backend (e.g. naming imbue-mngr-azure) and only mentions the `plugin =` path as a secondary "if instead" option when other plugins are disabled. The installed-but-disabled branch is unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The
Provider 'X' references unknown backend 'X'config error told users to addplugin = "<plugin-name>"to the provider block whenever any plugin was disabled — advice that cannot resolve a backend whose plugin is not installed at all. Users who followed it hit the same error again, and the "Currently disabled plugins" list (which didn't include the missing backend) added to the confusion.Repro (before)
After
Changes
config/loader.py_parse_providers: an unregistered backend now leads with the concrete plugin install hint (via the existing catalog-backedget_plugin_install_hint), and only mentions theplugin =path as a secondary "if instead" option, and only when other plugins are disabled. The installed-but-disabled branch (backend name maps directly to a disabled plugin) is unchanged.test_parse_providers_unknown_backend_mentions_disabled_pluginsfor the new phrasing; added two tests asserting the install hint is primary and thatplugin =is not suggested when the plugin is uninstalled.Testing
uv run pytest libs/mngr/imbue/mngr/config/loader_test.py -k parse_providers— 18 passed. Fullloader_test.pyrun: 134 passed (40 errors are a local-environment artifact — a fixture runsgit init -b mainand this machine resolves an old Windows git without-b; unrelated to this change and green in CI sandboxes). Also manually verified all three message paths end-to-end.🤖 Generated with Claude Code