Supercompat: AI compatibility without compromises

2 min read Original article ↗

Supercompat

Switch AI providers with full persistence, computer use and no latency.

supercompat({

clientAdapter:

Anthropic

,

})

const response = await client.responses.create({ model: 'claude-sonnet-4-6', input: 'My name is Alice.', previous_response_id: resp.id, })

Output SDK

Responses API

Messages API

Assistants API

One SDK for every provider, every API feature, and persistent state — without a proxy.

0ms

Zero latency

In-process. No proxy, no extra hop.

supercompat/openai

supercompat/anthropic

Multiple output SDKs

Real OpenAI and Anthropic clients. More coming.

PrismaIn-memoryOpenAI ResponsesOpenAI AssistantsAzure ResponsesAzure Agents

6 storage adapters

Prisma, in-memory, or provider-managed state.

FunctionsWeb searchComputer useCodeFile search

Full tool support

Functions, web search, computer use, and more.

MIT

Open source & free

MIT licensed. No vendor lock-in, no usage fees.

Full SDK surface.

Every method from the OpenAI and Anthropic SDKs — responses, assistants, threads, messages, streaming, token counting — translated to work with any provider.

OpenAI SDK

client.responses.create()client.responses.retrieve()client.responses.delete()client.beta.assistants.create()client.beta.threads.create()client.beta.threads.messages.create()client.beta.threads.runs.create()client.beta.threads.runs.stream()

Anthropic SDK

client.messages.create()client.messages.stream()client.messages.create({ stream: true })client.models.list()client.models.retrieve()client.messages.count_tokens()

Wide provider support.

Swap one adapter to change backends. Your API calls, types, and streaming stay identical.

Store conversations your way.

Choose where conversation data lives — your own PostgreSQL via Prisma, in-memory for development, or let OpenAI and Azure manage state natively.

OpenAI Responses

Provider-managed

OpenAI Assistants

Native threads & runs

Azure Responses

Provider-managed

Computer use, any provider.

Screenshots, clicks, typing, and scrolling — one interface for OpenAI, Anthropic, and Google. Provider formats translated automatically.

Taking screenshot...screenshot captured (1920×1080)

Clicking "Sign in"click at (940, 520)

Typing email addresstype "alice@example.com"

Scrolling downscroll delta_y: 300

Normalized to computer_call / computer_call_output

Battle-tested in production.

1.6Mthreads created

22Mmessages sent

Configure and go.

Pick a provider, a storage adapter, and a run adapter. The generated code is ready to copy.

Client

Anthropic

Storage

Prisma

Output SDK

Responses API

Messages API

Assistants API

import { supercompat, anthropicClientAdapter, completionsRunAdapter, prismaStorageAdapter, } from 'supercompat/openai' import Anthropic from '@anthropic-ai/sdk' import { PrismaClient } from '@prisma/client' const client = supercompat({ clientAdapter: anthropicClientAdapter({ anthropic: new Anthropic() }), storageAdapter: prismaStorageAdapter({ prisma: new PrismaClient() }), runAdapter: completionsRunAdapter(), }) const response = await client.responses.create({ model: 'claude-sonnet-4-6', input: 'My name is Alice.', previous_response_id: resp.id, })