diff --git a/src/cli/components/ModelSelector.tsx b/src/cli/components/ModelSelector.tsx index e696784..9e3cc5b 100644 --- a/src/cli/components/ModelSelector.tsx +++ b/src/cli/components/ModelSelector.tsx @@ -159,6 +159,7 @@ export function ModelSelector({ () => getModelCategories(billingTier, isSelfHosted), [billingTier, isSelfHosted], ); + const isFreeTier = billingTier === "free"; const defaultCategory = modelCategories[0] ?? "supported"; const [category, setCategory] = useState(defaultCategory); @@ -684,14 +685,18 @@ export function ModelSelector({ return "All models currently available for this account"; } if (cat === "supported") { - return "Recommended Letta API models currently available for this account"; + return isFreeTier + ? "Upgrade your account to access more models" + : "Recommended Letta API models currently available for this account"; } if (cat === "byok") return "Recommended models via your connected API keys (use /connect to add more)"; if (cat === "byok-all") return "All models via your connected API keys (use /connect to add more)"; if (cat === "all") { - return "All Letta API models currently available for this account"; + return isFreeTier + ? "Upgrade your account to access more models" + : "All Letta API models currently available for this account"; } return "All Letta API models currently available for this account"; }; @@ -783,6 +788,11 @@ export function ModelSelector({ const actualIndex = startIndex + index; const isSelected = actualIndex === selectedIndex; const isCurrent = model.id === currentModelId; + // Show lock for non-free models when on free tier (only for Letta API tabs) + const showLock = + isFreeTier && + !model.free && + (category === "supported" || category === "all"); return ( @@ -793,6 +803,7 @@ export function ModelSelector({ > {isSelected ? "> " : " "} + {showLock && 🔒 }