The model itself only predicts tokens; the harness is what wires those tokens into actions: parsing tool calls, executing them in a sandbox, feeding results back into context, managing memory and compaction, and presenting output to a user. Claude Code, Codex CLI, Cursor, and OpenCode are all harnesses built around different underlying models — the same model can feel very different depending on which harness runs it.