Because a harness doesn't just "drive" the LLM. e.g., there's code in claude code that detects if the user's prompt shows they're angry, and they react to those prompts differently. (they use regex on "wtf", etc.!)
Claude also now ends the session if you curse at it too much. Not sure how it’s helpful but they must think it is.
That doesn't sound like it would require a lot of code.