Skip to main content

Overview

PicoClaw has transitioned from the legacy providers configuration to a new model_list format. The new format is:
  • More flexible - Configure multiple models from the same provider
  • More powerful - Support for load balancing and custom endpoints
  • Vendor-agnostic - Uses vendor/model format instead of separate provider + model
  • Easier to understand - Model-centric configuration
The legacy providers format is deprecated but still supported for backward compatibility. New features will only be added to model_list.

Migration Overview

The migration process involves:
  1. Moving provider configuration from providers to model_list
  2. Updating agents.defaults.model from model name to vendor/model format
  3. Removing the old provider field
PicoClaw automatically migrates legacy configs at runtime, but you should update your config files manually for clarity.

Migration Examples

Example 1: OpenAI

Before (Legacy):
After (New):

Example 2: Anthropic

Before:
After:

Example 3: Zhipu

Before:
After:
The api_base for Zhipu is optional in the new format - it’s set automatically to the correct endpoint.

Example 4: Multiple Providers

Before:
After:

Example 5: Custom Endpoint

Before:
After:

Field Mapping

Vendor Name Mapping

When migrating, use these vendor prefixes: See the complete provider list for all supported vendors.

Automatic Migration

PicoClaw automatically migrates legacy configs at runtime:
But you should manually update your config for clarity.

Migration Script

Here’s a Python script to help migrate your config:
Usage:

Testing Your Migration

After migrating, test your config:

Breaking Changes

No breaking changes! The legacy format is still supported. However:
  • New features (load balancing, advanced routing) only work with model_list
  • Deprecation warnings may appear in logs
  • Future versions may remove legacy support entirely

Benefits of New Format

Load balancing

Configure multiple API keys for the same model

Flexible routing

Mix models from different providers

Clearer config

Model-centric instead of provider-centric

Custom endpoints

Easier to configure custom API bases

Troubleshooting

  • Ensure you deleted the provider field from agents.defaults
  • Check that model in agents.defaults matches a model_name in model_list
  • Restart PicoClaw after config changes
  • Verify api_key is correctly copied to model_list
  • Check api_base if you had a custom endpoint
  • Run picoclaw status to see provider health
  • These are safe to ignore if everything works
  • Migrate to model_list to remove warnings
  • Legacy support will be removed in a future version

Next Steps

Model Configuration

Complete guide to model_list configuration

Load Balancing

Use multiple endpoints for high availability

Providers

Understand the provider system

Troubleshooting

Common issues and solutions