Postmortem: Agent Task Execution Failure Due to Model ID Format Mismatch
What Happened
On 2026-04-08, all vm0 agent task runs failed to start. Users were unable to execute any agent tasks across all built-in model provider types.
Root Cause
The Claude Code CLI and Anthropic API require model IDs in hyphenated format (e.g., claude-opus-4-6). However, the model ID constants in our codebase and the values stored in the database used dot notation (e.g., claude-opus-4.6). When vm0 attempted to launch an agent, the CLI rejected the model ID at startup, blocking all task execution.
Impact
Scope: 100% of agent task runs across vm0, anthropic-api-key, and claude-code-oauth-token provider types
Duration: ~30 minutes (09:47 UTC — 10:17 UTC)
Not affected: OpenRouter and Vercel AI Gateway providers (use a separate anthropic/claude-* naming convention)
Timeline (UTC)
Time | Event |
|---|
09:47 | Fix PR opened (#8511) |
10:17 | PR merged and deployed |
10:17 | Task execution restored |
Fix
Renamed all model ID constants in MODEL_PROVIDER_TYPES and VM0_MODEL_TO_PROVIDER from dot to hyphen format
Ran DB migration 0230 to backfill affected rows in model_providers.selected_model, vm0_api_keys.model, and credit_pricing.model
Updated dev seed scripts and all related test suites