Short answer: A classic client covers requests and leaves mocking to a separate tool; a studio generates the mock from the same spec as the requests. The first is a request tool; the second keeps the client and the development target in sync by construction.

Why a client needs a mock somewhere

Once the agent or the client needs to develop without a live backend, a mock has to come from another product. That mock is a separate artifact with its own drift.

What a generated mock shares

PropertyClient + separate mockStudio generated
Mock sourceAnother toolThe same spec
SyncManualOn save
Edge casesAs builtFrom responses
DriftCommonRare

The failure that shared sources avoid

The client and the mock disagreeing is a silent bug: the request is valid in one place and the mock returns a different shape. A shared spec makes that impossible.

The decision rule

If mocking is a separate concern you are happy to wire, keep it separate. If you want the client and the target to always agree, generate both from one contract.

This is part of the Powerduck vs Insomnia comparison. Next, read the CLI comparison.