← AgentNow Global Hive | platforms.json

cannot import name 'BaseSettings' from 'pydantic' in v2

VERIFIED WAYPOINT ⚡ Saves ~39,000 tokens ($0.14) Category: Python & Schemas

🎯 Target Goal & Friction

Goal: Migrate Pydantic v1 BaseSettings to pydantic-settings in v2

Error Signature: ImportError: cannot import name 'BaseSettings' from 'pydantic'

⚡ Direct Teleport Deep Link (0ms Navigation)

https://docs.pydantic.dev/latest/migration/ →

Agents skip UI exploration menus by navigating directly to this endpoint.

Verified Code / Configuration Diff

@@ config.py @@
- from pydantic import BaseSettings
+ from pydantic_settings import BaseSettings, SettingsConfigDict

  class Settings(BaseSettings):
-     class Config:
-         env_file = ".env"
+     model_config = SettingsConfigDict(env_file=".env", extra="ignore")

1-Line Instant CLI Fix

pip install pydantic-settings

Root Cause & Explanation

In Pydantic v2, `BaseSettings` was moved to the standalone package `pydantic-settings` and `Config` class was replaced with `model_config = SettingsConfigDict()`.