# Why both vendors chose the same design (/claude-and-chatgpt-2/architecture/why-both-vendors-chose-the-same-design)

---
type: Document
title: "Why both vendors chose the same design"
description: "What each feature is for, and the seven constraints that led Anthropic and OpenAI to similar designs."
status: stable
order: 0.42
ksor:
  owner: team:panaversity
  audience: [ public ]
  approval:
    by: process:panaversity
    at: 2026-11-09T20:42:36Z
chapter: "F00A"
part: Front
expert_status: required
concepts: [ "Why the same design" ]
last_verified: 2026-11-09
sources:
  - id: cowork-architecture
    title: "Claude Cowork architecture overview (Anthropic, verified 2026-11-09)"
    resource: https://support.claude.com/en/articles/14479288-claude-cowork-architecture-overview
  - id: codex-harness
    title: "Unlocking the Codex harness: how we built the App Server (OpenAI, February 2026, verified 2026-11-09)"
    resource: https://openai.com/index/unlocking-the-codex-harness/
  - id: cloud-scheduled-tasks
    title: "Automate work with scheduled tasks (Anthropic, verified 2026-11-09)"
    resource: https://code.claude.com/docs/en/routines
  - id: desktop-scheduled-tasks
    title: "Schedule recurring tasks in Claude Code Desktop (Anthropic, verified 2026-11-09)"
    resource: https://code.claude.com/docs/en/desktop-scheduled-tasks
  - id: agents-api
    title: "Agents API architecture (OpenAI, verified 2026-11-09)"
    resource: https://developers.openai.com/api/docs/guides/agents-api/architecture
  - id: work-cloud-security
    title: "ChatGPT Work cloud security (OpenAI, verified 2026-11-09)"
    resource: https://learn.chatgpt.com/docs/enterprise/chatgpt-work-cloud-security
  - id: new-stack
    title: "OpenAI is folding Codex into the ChatGPT app (The New Stack, July 2026, verified 2026-11-09)"
    resource: https://thenewstack.io/openai-codex-work-atlas/
generated:
  at: 2026-11-09T20:42:36Z
  by: process:panaversity
trust_tier: unverified
build_id: sha256:46fd53c5d7ab1c14f6347908d45c9fdaecda4d914439923ee878bdcecd57803e
dirty: true
ksor_version: 0.0.60
---

### The goals

These features let an AI agent do real work on a computer. They let it keep working after you close the tab. And they let it do this safely, while the model itself stays a stateless service.

Anthropic and OpenAI face similar constraints and made similar choices. Both put a harness in an isolated cloud sandbox around a stateless model, and store lasting state elsewhere. This is one design pattern, not the only one. Local and self-hosted agents arrange things differently.

### What each feature is for

| Feature or change | Goal | Basis |
| --- | --- | --- |
| A cloud sandbox for each session (a VM or a container) | Give the agent a real computer (a shell, files and code) without touching your machine or other users' work | Isolation for each session is vendor-documented.[^cowork-architecture] The goal is inferred |
| The harness runs in the cloud, not in your browser or app | Work continues when the tab closes or you switch devices | Vendor-documented. OpenAI says keeping state on the server "means work continues even if the tab disappears"[^codex-harness] |
| One harness behind every surface | The same agent behaves the same way on the web, desktop, mobile, the CLI and the IDE (the code editor) | Vendor-documented for Codex: "the same Codex harness" powers all experiences. For Claude, inferred: the session examined was a chat running on Claude Code, and the cloud docs list the same environments for every surface |
| Cloud scheduled tasks | Unattended work that recurs or starts on an event, and runs with your computer off | Vendor-documented. Tasks "keep working when your laptop is closed"[^cloud-scheduled-tasks] |
| The bridge to your computer, and Desktop tasks | Reach local files and apps only when a task needs them, inside folders you choose | Vendor-documented[^cowork-architecture],[^desktop-scheduled-tasks] |
| An egress proxy, and connector tokens kept outside the sandbox | Limit the damage if untrusted content steers the agent | Vendor-documented[^cowork-architecture] |
| The conversation is stored on the backend, and the sandbox can be thrown away | Resume from anywhere, and pause or reclaim machines cheaply | Inferred |

Two terms in the table are new. An **egress proxy** is a gatekeeper that all traffic leaving the sandbox must pass through. A **connector token** is the key that lets a connector sign in to one of your apps.

### Seven shared constraints, similar design choices

**[Inferred]** This is our reasoning from the documented features. Neither vendor states it.
![Seven shared constraints, each leading to a design response: a sandboxed computer, a harness loop, a server-side harness, one harness behind every app, reuse of Claude Code and Codex, disposable VMs with state outside, and keys outside with approvals required. Together they give the common pattern: UI, backend, a harness in an isolated sandbox, then a stateless model, with state and authority outside the sandbox.](img/seven-shared-constraints.png)

1. **Agents must act, not just answer.** Useful work means calling tools. An agent that only calls outside services may need no computer, as OpenAI's Agents API allows.[^agents-api] But code and files need a computer. Because the agent can be wrong or steered, that computer is isolated.
2. **The model is stateless, and its context is limited.** Something must build each call's context, run the tools, compact the context and track progress. That is the harness.
3. **Work outlives the screen.** A loop in a browser tab stops when the tab closes. Long, scheduled or cross-device work needs the harness on the server.
4. **The same agent should appear everywhere.** One harness behind every app is cheaper and more consistent than one harness for each app.
5. **Coding agents had shown that the pattern works.** Claude Code and Codex already combined a loop, tools and a sandbox. OpenAI documents that ChatGPT Work's cloud tasks use the Codex harness.[^work-cloud-security] In the Claude session examined, a chat ran on Claude Code. Press coverage reports the same direction.[^new-stack]
6. **Fresh machines are cheap and safe.** Light VMs start quickly, so a fresh one per session is affordable. Throwing them away limits leaks and frees capacity. So lasting state must live outside the machine.
7. **Safety has to sit outside the agent.** The agent can be wrong or manipulated. So both vendors keep credentials out of the sandbox, filter network traffic and require approvals. See [Security boundaries](security-boundaries.md).

The common pattern: UI → backend → harness in an isolated sandbox → stateless model. Lasting state and authority (the power to decide what is allowed) stay outside the sandbox. Claude and Codex are two versions of it.

[^cowork-architecture]: As verified on November 9, 2026. Claude Cowork architecture overview, Anthropic.
[^codex-harness]: As verified on November 9, 2026. Unlocking the Codex harness: how we built the App Server, OpenAI.
[^cloud-scheduled-tasks]: Automate work with scheduled tasks, Anthropic.
[^agents-api]: Agents API architecture, OpenAI.
[^work-cloud-security]: As verified on November 9, 2026, OpenAI says "Work Cloud uses the Codex task-execution harness". ChatGPT Work cloud security, OpenAI.
[^new-stack]: OpenAI is folding Codex into the ChatGPT app, The New Stack.
[^desktop-scheduled-tasks]: As verified on November 9, 2026. Schedule recurring tasks in Claude Code Desktop, Anthropic.
