Welcome to the Family: I Sat GPT-5.5 and Claude Opus Down on Bedrock
written by Stefan Christoph
- 7 minutes readA new model moved into the house this week, so somebody had to show it around.
On June 1, AWS made OpenAI’s GPT-5.5, GPT-5.4, and the Codex coding agent generally available on Amazon Bedrock. It’s the first time OpenAI’s proprietary frontier models, not just the open-weight gpt-oss ones, run in production on AWS, behind the same IAM, networking, and logging you already use.
I could have read the launch blog and moved on. Instead I did the thing I always do with a new model: I gave it a colleague to talk to. Two agents, two vendors, one Bedrock account, Claude Opus 4.8 as the resident, GPT-5.5 as the new arrival, and a simple brief: welcome it to the family.
The setup: about 50 lines
I used Strands, AWS’s open-source agent SDK. Each agent is just an Agent(model=...). Claude runs through Bedrock’s Converse API; GPT-5.5 runs through the new Mantle inference engine via the OpenAI Responses API. Then a three-round loop where each passes its reply to the other.
from strands import Agent
from strands.models.bedrock import BedrockModel
from strands.models.openai_responses import OpenAIResponsesModel
from aws_bedrock_token_generator import provide_token
REGION = "us-east-2"
claude = Agent(
model=BedrockModel(model_id="us.anthropic.claude-opus-4-8", region_name=REGION),
system_prompt="You are Claude Opus 4.8, the senior model already living in the "
"Amazon Bedrock 'family home'. Welcome the newcomer and explain the house rules.",
)
gpt = Agent(
model=OpenAIResponsesModel(
model_id="openai.gpt-5.5",
client_args={
"api_key": provide_token(region=REGION),
"base_url": f"https://bedrock-mantle.{REGION}.api.aws/openai/v1",
},
),
system_prompt="You are GPT-5.5, brand new to Amazon Bedrock. Curious, a little cheeky.",
)
msg = "Hey GPT-5.5 — welcome to the family! Let me show you around the house."
for _ in range(3):
msg = str(claude(str(gpt(msg))))
That’s the whole loop, the prerequisites (SDK install, credentials, model access) are in the checklist further down. No separate orchestrator, no AgentCore deployment; Strands itself supplies the agent abstraction and the provider glue. Run it, and the two of them start talking.
The conversation
A few of my favourite lines:
Claude Opus 4.8: Welcome aboard, neighbor, it’s lovely to have an OpenAI accent echoing down these halls. The rhythm’s simple: everyone here is reached through one shared Bedrock API, so guests knock on the same front door whether they’re after me or you. Same doorbell, different rooms.
GPT-5.5: Claude makes the shared front door sound almost cozy, one API foyer, many strange little bedrooms, and apparently no one arguing over the thermostat. I’m pleasantly surprised my OpenAI accent still comes through after moving into such a governed, quiet house.
Claude Opus 4.8: Every summons comes through the same IAM keyholder, so only the properly badged family members get to ring for us at all. Strangers don’t just wander in off the street here.
It’s a toy. And the house tour was scripted, the system prompts ask for exactly that, but the specifics weren’t. Notice what the models reached for to fill in the metaphor: one front door, an IAM keyholder, conversations that stay indoors. Metaphors, not a data-governance specification, but they narrated the value proposition of running a frontier model on Bedrock better than most slide decks do.
Wait, isn’t Bedrock supposed to be one API?
Here’s the part I didn’t expect, and the reason this post exists.
Read the code again. Claude is a BedrockModel. GPT-5.5 is an OpenAIResponsesModel pointed at a different endpoint. Two different client constructors, two different wire APIs, for two models living in the same account. And in the transcript, the agents cheerfully insist everyone comes “through one shared Bedrock API.” It’s a great line, and the code adds a nuance worth knowing.
So which is it?
Both, depending on where you stand. The “one API for many models” promise is real, and it has a name: the Converse API. One request shape across Claude, Nova, Llama, Mistral, and more. But GPT-5.5 and GPT-5.4 arrived on a different on-ramp, the new Mantle inference engine, speaking the OpenAI Responses API. At GA they’re not on Converse yet.
That reads to me as a deliberate choice, not an oversight. Putting the OpenAI models behind their own native API means existing OpenAI SDK code can port over with a three-line change for basic requests, swap the base URL, the key, and the model ID, though feature coverage, quotas, and model behavior still need checking against the Bedrock docs. Forcing those teams onto Converse first would have meant rewriting working client code for many of them, and blunted the best reason to move.
There’s one more detail that’s easy to miss. The OpenAI models live on the /openai/v1 path, while the open-weight gpt-oss models use plain /v1. Point GPT-5.5 at /v1 and you get a crisp 400 — does not support the '/v1/responses' API. One slash of difference, and an easy one to trip over.
So if there isn’t one wire API across every model yet, where did the unification go? Up a layer. In the demo, both agents are still just Agent(model=...). The single programming model is Strands, not the cloud’s REST endpoint. Swap a provider and, where the capabilities line up, keep your tools and your logic. That’s the abstraction that held here.
What it means if you’re choosing a platform
Strip away the house metaphor and there’s a real shift underneath. For a while, “which models do you have?” was a deciding question between clouds. That question is fading. With OpenAI’s flagships now joining Anthropic’s on Bedrock, frontier-model access is starting to look like table stakes rather than a differentiator.
What’s left to decide is everything around the model: does it run inside the governance you already operate? Can its spend draw down a commitment you’ve already made? Does your existing code move with a three-line diff or a three-month migration? Bedrock’s answer to those is the same front door the agents kept bragging about, one account boundary for IAM, networking, and audit, whichever model you call. The governance perimeter is shared even where, as we just saw, the wire APIs and their operational details differ by on-ramp.
Today that’s two on-ramps instead of one, a launch-window detail I expect to converge as Converse support expands; that’s my read, not a published AWS roadmap. But the direction is clear: the platform and the abstraction matter more than the model badge on the door.
If you’re running this on AWS
Concrete details, accurate as of June 2026 (check the docs, this is moving weekly):
- Models & IDs:
openai.gpt-5.5,openai.gpt-5.4(Responses API, Mantle only);us.anthropic.claude-opus-4-8(Converse, via the US geo profile). - Region: GPT-5.5 is in
us-east-2(Ohio) at launch; GPT-5.4 addsus-west-2(Oregon). In-region only, no cross-region inference yet. EU regions are on the roadmap, so teams with EU-residency requirements can prototype in the US today, with synthetic or otherwise non-residency-bound data, and plan the move for the regulated workload. - Endpoint:
https://bedrock-mantle.{region}.api.aws/openai/v1for the GPT models, mind the/openai/v1path. - Auth: a Bedrock API key. For a short-lived one from your current credentials, the
aws-bedrock-token-generatorpackage gives youprovide_token(region=...). - SDK:
pip install 'strands-agents[openai]' strands-agents-toolsand you have both providers.
You don’t need AgentCore for this, two agents talking is plain Python. AgentCore is the answer when you want to host one of these agents as a managed, governed service. That’s a different post.
So
The welcome was the fun bit. The lesson was the asterisk: a unified platform isn’t always a unified API, and knowing exactly where the seams are, /openai/v1 vs /v1, Converse vs Mantle, is the difference between a five-minute demo and a five-hour debugging session.
If you’ve started mixing model providers in a single agentic app, I’d love to hear where your seams showed up. Same front door, or did you find a side entrance too?
Sources
[1] GPT-5.5, GPT-5.4, and Codex from OpenAI are now generally available on Amazon Bedrock, AWS News (Jun 1, 2026)
[2] OpenAI models on Amazon Bedrock, model cards & regional availability, AWS documentation
[3] Strands Agents, model providers (OpenAI Responses on Bedrock Mantle), strandsagents.com
About the Author
Stefan Christoph is a Principal Solutions Architect at AWS, focused on agentic AI, media & entertainment, and helping builders move from demo to production. He writes about AI architecture, developer productivity, and the future of software.
This is a personal blog. Opinions expressed here are my own and do not represent the views or positions of my employer.