Workflows
Providers and keys
Claude, ChatGPT and Gemini behind one set of semantics — and where they genuinely differ.
A version names a provider and an exact model id. Switching provider is therefore a version bump you can diff, not a rewrite.
| Provider | Web search | Notes |
|---|---|---|
| Claude | Server-side web search tool | Newer models take the dynamic-filtering variant; older ones the basic one. Coldcache picks by model id. Opus 5 and the Sonnet 5 family reject sampling parameters, so the temperature field is disabled for them and effort is used instead. |
| ChatGPT | Responses API hosted web search | URL citations are harvested per run. Reasoning models reject temperature; Coldcache drops it and records that it did rather than failing the run. |
| Gemini | Google Search grounding | Grounding chunks become the source list. Temperature is supported across the current models. |
Where behaviour is normalised
- JSON output: instructed in the prompt and validated by Coldcache on all three, so a schema means the same thing everywhere.
- Citations: normalised into one shape — number, url, title, snippet, fetched_at.
- Replay: identical on all three, because it is a prompt construction rather than a provider feature.
Where it isn't, and can't be
- Search quality and index coverage differ per provider. A source set-diff across providers is a comparison of their search, not only of your prompt.
- Token accounting and pricing differ. Cost is shown where we can compute it and left blank where we can't, rather than estimated.
- Temperature is unavailable on some model families entirely. The version records that, so a diff shows temperature — → 0 rather than pretending they match.
By default a workspace runs on Coldcache's own provider accounts, metered against your credit balance — there is no key to manage. Enterprise workspaces can bring their own key instead; in that mode it never leaves your database and no request is proxied through Coldcache infrastructure.