Fetching from the wire…
Public story · 2026-08-25 · high
JoeJag's post separates model, inference service, harness and agent system, and explains why identical Sonnet weights act differently across tools.
Why now: The split matters as more builders stack MCP servers and skills onto the same handful of shared models without a common vocabulary for what breaks where.
The word 'Claude' hides four separate things, per JoeJag's breakdown of the agent stack. The model is just the trained weights. Sitting on top of that, the inference service is the hosted runner that meters API calls. The harness is the interaction layer where MCP servers, skills and tool routing live, and the agent system is all three stacked together.
The load-bearing claim is that MCP and skills are harness features, not model capabilities. That's why the same Sonnet weights behave differently in Claude CLI, in Cursor, and in a plain LangChain script. Each tool wires up its own tool calls and skill routing on top of the same weights.
The layers matter once something breaks. JoeJag frames it as deciding whether a failure belongs to your prompt, your tool wiring, or the model itself. Each answer points at a different fix.
A tool-routing bug in a harness won't go away no matter how the prompt gets rewritten. A real model limitation won't get fixed by swapping MCP servers either.
Each link below shares sources, entities, or timing with this story.
Claude Code uses Sonnet / Shared entities / Shared topic / Earlier coverage / Tension
Linked by a graph relationship (Claude Code uses Sonnet); both cover Claude, MCP, Sonnet; overlapping topics (agent, claude, skill).
Claude uses MCP / Shared entities / Shared topic / Earlier coverage
Linked by a graph relationship (Claude uses MCP); both cover CLAUDE, Cursor, MCP; overlapping topics (call, claude, cursor, tool).
Claude Code uses Sonnet / Shared entities / Shared topic / Earlier coverage
Linked by a graph relationship (Claude Code uses Sonnet); both cover CLAUDE, Cursor, MCP; overlapping topics (agent, claude, cursor, skill).
Claude Code uses Sonnet / Shared entities / Shared topic / Earlier coverage / Tension
Linked by a graph relationship (Claude Code uses Sonnet); both cover Cursor, MCP; overlapping topics (agent, claim, claude, cursor, failure).
Claude Code uses Sonnet / Shared entities / Shared topic / Earlier coverage
Linked by a graph relationship (Claude Code uses Sonnet); both cover Cursor, MCP; overlapping topics (agent, claude, cursor, model, skill).
Linked by a graph relationship (Claude Code uses Sonnet); both cover Claude, Cursor; overlapping topics (agent, claim, claude, model, skill).
Claude competes with ChatGPT / Shared entities / Shared topic / Earlier coverage / Tension
Linked by a graph relationship (Claude competes with ChatGPT); both cover Claude, Cursor, MCP; overlapping topics (agent, claude).
Claude uses MCP / Shared entities / Shared topic / Earlier coverage
Linked by a graph relationship (Claude uses MCP); both cover Claude, Cursor, MCP; overlapping topics (agent, claude, cursor).