Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 14 additions & 3 deletions amplifier_app_cli/commands/run.py
Original file line number Diff line number Diff line change
Expand Up @@ -213,17 +213,28 @@ def run(
)
providers_list = config_data.get("providers", [])

# Find the target provider
# Find the target provider by name first, then by module
target_idx = None
for i, entry in enumerate(providers_list):
if isinstance(entry, dict) and entry.get("module") == provider_module:
if isinstance(entry, dict) and entry.get("name") == provider:
target_idx = i
provider_module = entry.get("module", provider_module)
break
if target_idx is None:
for i, entry in enumerate(providers_list):
if isinstance(entry, dict) and entry.get("module") == provider_module:
target_idx = i
break

if target_idx is None:
def _provider_label(p: dict) -> str:
name = p.get("name")
module = p.get("module", "?").replace("provider-", "")
return f"{name} ({module})" if name else module

console.print(
f"[red]Error:[/red] Provider '{provider}' not configured\n"
f"Available providers: {', '.join(p.get('module', '?').replace('provider-', '') for p in providers_list if isinstance(p, dict))}\n"
f"Available providers: {', '.join(_provider_label(p) for p in providers_list if isinstance(p, dict))}\n"
f"Run 'amplifier provider use --help' for configuration options"
)
sys.exit(1)
Expand Down