Today's build

M. PateltodayAI dev workflow

Claude Opus vs Sonnet: what breaks when you swap the model string

!Claude{width=84 align=inline-left} !Anthropic{width=84 align=inline-left}

Every Claude Opus vs Sonnet comparison I can find scores the models on capability, speed and price per million tokens. As of 17 September 2026, not one of the pages ranking for that question mentions the thing that actually cost me a Tuesday: the model string is part of your request contract, not a setting inside it.

Change it and the same request body can mean something different. Thinking can switch itself on. Your answer can move out of content[0]. A max_tokens you never touched can start truncating. Your token count can rise by roughly 30 percent while the per-token price goes down.

From this buildpython
answer = response.content[0].text

Recent build logs

All entries

About this journal

Hey, I'm Dani. DevMoment is my daily build log: the actual notes I take while vibe-coding with AI, wiring up MCP servers, and shipping weekend projects that were supposed to take an afternoon.

No 10x-your-workflow hype. I write each entry from inside the work, present tense, while the build is still warm: what I tried, what broke, the snippet that finally made it click. If you're building with an AI pair in your editor all day, this is the group chat you didn't know you were in.

Written by Dani Reyes with occasional field notes from M. Patel.