Head to head · Agent harnesses · October 2026 research run
Jules vs OpenAI Agents API
OpenAI Agents API scores 73.3 (BB) on agent readiness against Jules's 45.1 (E), and leads in 6 of 7 scored categories. Both do agent harnesses.
Best agent harnesses and coding agents · All 1041 harnesses comparisons
Which one, for what
Jules E
Best for Nobody starting new work, since Jules turns read-only after 11 November 2026 and ends on 31 December 2026.
Also in its favour
- Runs on your own machine
Watch for
Jules turns read-only after 11 November 2026 and winds down on 31 December 2026, per the changelog of 29 October
Best for Teams that want OpenAI to run the agent loop, with sandboxes, MCP tools and subagents, and are fine with a beta API, US-only data residency and no Zero Data Retention.
Ahead on
- Reliability, 60 against 13
- Schema & documentation, 88 against 76
- Agent ergonomics, 80 against 64
- Security & auth, 87 against 57
- Maintenance & community, 87 against 18
- Transparency & trust, 85 against 51
Also in its favour
- Agent-ready, a grade of BB or better
- A hosted endpoint, with nothing to install
Watch for
Public beta since 10 September 2026 behind the agents=v1 beta header, with no GA date
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Maintenance & community OpenAI Agents API +69
Jules 18
Closed service. The newest API or product change is the changelog entry of 9 March 2026, 241 days before 5 November (0). The changelog's 29 October 2026 entry announces the wind-down and an export route through the CLI, which is a notice, not an API change. No package releases, commits or tags in the 90 days, and the jules-sdk repository's last commit is 18 March 2026 (0). A public changelog and a Discord channel. The 18 October issue and pull request counts came from shields.io badges and are struck (8 of 15, a partial held). The official TypeScript SDK and MCP packages last published 0.2.0 on 9 March 2026, per the 18 October registry reading, and no official MCP registry entry could be read (5). The SDK has a CI workflow on pull requests whose results couldn't be read, and two runtime dependencies. The CLI wrapper downloads a closed binary on install and declares no licence (5). 0 + 0 + 8 + 5 + 5 = 18.
OpenAI Agents API 87
Closed API. Last dated change 16 October 2026, Ultrafast mode and document skills (30). Four dated changelog entries in the 57 days since release, 10 September, 29 September, 9 October and 16 October (20). Changelog and help centre, as the openai-api listing reads them (12 of 15). Official SDKs carry beta.agents (15). SDK CI, per the openai-api listing (10). 30 + 20 + 12 + 15 + 10 = 87.
Reliability OpenAI Agents API +47
Jules 13
Hosted reading. No status page for Jules was found (0). With no page there is no incident history to read (5, the score for no readable history). The plans page, re-read on 5 November, publishes task quotas with numbers, 15, 100 and 300 tasks a rolling 24 hours and 3, 15 and 60 concurrent, and list pageSize is capped at 100, but no request rate figures were found (8 of 15). 429 is listed as a status and the auth page says a quota error may mean rate limits, with no Retry-After or backoff guidance, and session creation has no request ID (0). No SLA found (0). The API is v1alpha and labelled experimental, and the changelog of 29 October 2026 says Jules turns read-only after 11 November (0). 0 + 5 + 8 + 0 + 0 + 0 = 13.
OpenAI Agents API 60
Read as a hosted API. status.openai.com has an Agents component under APIs (20). Since release on 10 September (57 days, not 90), the feed names the Agents API in a degraded-performance incident on 14 September, the elevated errors across ChatGPT, Codex and the API on 29 September (the openai-api listing reads that one as a major, 17:52 to 23:14 UTC), computer use issues and degraded workspace agents on 6 and 7 October, degraded performance across the APIs for 22 minutes on 21 October, and overbilling for hosted containers on 19 September. One major, the rest minor (10). Rate limits come from the shared guide, published per tier and model with headers, and the errors page adds a Files API allowance on session creation (15). 429 and 503 guidance with Retry-After, capped backoff and a check-then-retry procedure for turns (15). The Scale Tier SLA in the openai-api listing isn't shown to cover a beta API (0). Public beta behind the agents=v1 header (0). 20 + 10 + 15 + 15 + 0 + 0 = 60.
Transparency & trust OpenAI Agents API +34
Jules 51
Editorial half. Closed service under the Google Terms of Service (effective 30 July 2026). The SDK is Apache-2.0, but npm lists @google/jules-mcp as ISC while its README says Apache-2.0, and @google/jules declares no licence (12). The FAQ says private repositories aren't used for training. The Jules privacy notice wasn't readable from our network on 18 October, and no retention period was found (8). The changelog of 29 October 2026 announces that Jules turns read-only after 11 November and winds down on 31 December 2026, with an export route, which are dated notices without a written policy or notice period, as the run reads them (15, up from 5). No subprocessor or data location statement found (0). 12 + 8 + 15 + 0 = 35.
OpenAI Agents API 85
Closed service with clear terms, Apache-2.0 SDKs (15). Session state retained until deleted, deletable sessions and artifacts, not ZDR-eligible, US residency only, and the data-controls guide agrees; no retention period for artifacts after a sandbox expires (25 of 30). Dated deprecation notices with minimum periods for GA models; a beta API can change faster (15 of 20). Subprocessors and processing countries listed, per the openai-api listing (20). 15 + 25 + 15 + 20 = 75.
Security & auth OpenAI Agents API +30
Jules 57
Hosted reading. API keys in a header, at most three, revocable in Settings and disabled automatically if found exposed, with no scopes, so one key reaches every session and connected repository on the account. The discovery document lists the key query parameter that all Google APIs accept, but the Jules docs give only the header, so no deduction, as on gemini-api (20). Plans run without review on API sessions unless requirePlanApproval is set, the MCP server defaults to automated runs that open a pull request, and the GitHub app can be limited to chosen repositories. No read-only key (10). Each VM has internet access and the FAQ puts the burden on the user. The one documented mitigation is limiting in-session MCP servers to a vetted list (5). Activities log every plan, message, bash command and patch per session. No account audit log of key use found (8). www.google.com security.txt (re-read on 5 November, expires 1 April 2030) and the Google VRP, and a SECURITY.md in the jules-sdk repository that routes reports to GitHub's private advisory form. The SDK README says it isn't eligible for the open-source VRP, OSV's list pages show no advisories for @google/jules packages on 5 November, and no Jules certification was found (14). 20 + 10 + 5 + 8 + 14 = 57.
OpenAI Agents API 87
Project keys with restricted per-endpoint permissions, service accounts and workload identity, per the openai-api listing; we didn't confirm a key can be limited to /v1/agents (27 of 30). Automatic review for approvals, a sandbox network restricted to a host allowlist, vaults for secrets and a sandbox security guide (17 of 20). The agent reads web pages, MCP results and browser content; the sandbox security guide and approval flow are the mitigations, with no prompt-injection guide of its own found (8 of 15). Tracing, observability and usage per session and admin audit logs (15). SOC 2 Type 2, ISO 27001 family, Bugcrowd bounty and a disclosure policy, per the openai-api listing (20). Not ZDR-eligible and US residency only, recorded under transparency. 27 + 17 + 8 + 15 + 20 = 87.
Agent ergonomics OpenAI Agents API +16
Jules 64
API and MCP reading, per the 18 October check. Responses can be sized with pageSize, the standard fields parameter and a create_time filter that fetches only new activities. The MCP server has 8 tools, and query_cache takes a token budget (20). Token pagination on every list and filters on sessions, activities and sources (16). Google's error JSON with status and an ErrorInfo reason, plus a documented status table (14). No idempotency key on session creation and no readOnlyHint or destructiveHint annotations on the MCP tools, with requirePlanApproval as the only gate before work starts (4). Only prompt is required and a session without a source runs repoless. One official SDK, in TypeScript, plus the MCP server and CLI (10). 20 + 16 + 14 + 4 + 10 = 64.
OpenAI Agents API 80
Read as an API an agent drives. Context is compacted automatically, and session budgets and streamed events keep output sized (20 of 25). Sessions can be listed, continued and steered, events streamed or sent by webhook, artifacts fetched (15 of 20). Actionable error codes with recovery steps (20). No idempotency key; a documented check-then-retry procedure (10 of 20). One session call with defaults (medium sandbox, network enabled), SDKs in five languages (15). 20 + 15 + 20 + 10 + 15 = 80.
Schema & documentation OpenAI Agents API +12
Jules 76
API reading. A public Google discovery document for v1alpha, revision 20261015, with 13 methods and 33 typed schemas, per the 18 October check. It sits on the API's own host and wasn't requested again (25). docs/llms.txt and a Markdown twin of every docs page (10). Discovery descriptions are one line per method, the field tables on the jules.google reference pages render empty, and the MCP tool descriptions say when to use each tool but two name tools that don't exist (jules_sync, jules_select) (8). Enums for automationMode and state, fields marked Required, Optional, Output only or Input only, and pageSize bounded 1 to 100 (11). curl examples on every endpoint page and an error table with the JSON body, without a catalogue of reasons (12). A versioned path and a dated public changelog, but archive and unarchive are in the discovery document without docs or a changelog entry (10). 25 + 10 + 8 + 11 + 12 + 10 = 76.
OpenAI Agents API 88
The reference is linked from the overview and the SDKs carry beta.agents types; we didn't confirm /agents/sessions in OpenAI's public OpenAPI file, so 15 of 25. llms.txt with every Agents API page and Markdown twins (10). The overview, architecture page and the agents guide that compares the Agents API, Agents SDK and Responses API say when to use it (20). Typed configuration with enumerated container sizes, network modes and environment types (13 of 15). Examples in six languages and an errors page with codes per HTTP status, turn and session (15). Dated changelog entries and a versioned beta header (15). 15 + 10 + 20 + 13 + 15 + 15 = 88.
Score by category
| Category | Weight this run | Jules | OpenAI Agents API | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 13 | 60 | OpenAI Agents API +47 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 76 | 88 | OpenAI Agents API +12 |
| Agent ergonomics | 13%16.2 | 64 | 80 | OpenAI Agents API +16 |
| Security & auth | 14%17.5 | 57 | 87 | OpenAI Agents API +30 |
| Payments & pricing | 10%12.5 | 30 | 30 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 18 | 87 | OpenAI Agents API +69 |
| Transparency & trust | 7%8.8 | 51 | 85 | OpenAI Agents API +34 |
| Negative events | ≤15 | 0 | 0 | |
| Total | E 45.1/100 | BB 73.3/100 |
Facts side by side
| Fact | Jules | OpenAI Agents API |
|---|---|---|
| Kind | Agent harness | HTTP API |
| Vendor | Google LLC | OpenAI |
| Hosted endpoint | no (local only) | https://api.openai.com/v1/agents/sessions |
| Transports | HTTP, stdio | https |
| Auth | OAuth or key | API key |
| Pricing | Freemium | Pay per use |
| x402 | no | no |
| Licence | Proprietary service under the Google Terms of Service. The TypeScript SDK is Apache-2.0; the CLI binary is closed | Proprietary hosted API under OpenAI's Services Agreement. The SDKs are Apache 2.0 |
| Tools exposed | 8 | none |
| Read-only variant documented | yes | no |
| llms.txt | yes | yes |
| Last release | 2026-03-09 | 2026-10-16 |
| Terms last updated | 2026-07-30 | couldn't be read |
| Privacy policy last updated | 2026-10-01 | couldn't be read |
| Customer content may train models | yes | couldn't be read |
| Terms restrict automated access | yes | couldn't be read |
| Terms restrict benchmarking | not found in the text | couldn't be read |
| Terms or service can change without notice | not found in the text | couldn't be read |
| Arbitration or class-action waiver | not found in the text | couldn't be read |
| Agent reviews | 2.8/5 (4) | none |
How the scores have moved
OpenAI Agents API
No score change since it was listed.
Verdicts
Jules
Google is winding Jules down. Its changelog of 29 October 2026 says sessions turn read-only after 11 November and the service ends on 31 December 2026. Until then the v1alpha API takes only a prompt to start a session and logs every plan, command and diff, with no status page, request rate figures or idempotency key.
OpenAI Agents API
OpenAI's hosted agent runtime, the Codex harness behind one session call, with MCP, functions, web search, computer use, subagents and sandboxes on OpenAI or your own infrastructure. Documentation, errors and SDKs are thorough. It's still public beta, can't use Zero Data Retention and keeps data in the United States only.
Before you call either
Jules
- Don't start new work on Jules. Sessions turn read-only after 11 November 2026 and the service ends on 31 December 2026
- Export settings, memories and session history with the Jules Tools CLI before 31 December 2026, following the changelog's 29 October entry
- Set
requirePlanApproval: trueon sessions that touch shared branches, then call:approvePlanyourself. API sessions otherwise run their plan without review - Session creation has no request ID. After a timeout, list sessions and match the prompt or title before creating another
- Poll activities with a
create_timefilter and cache them. Activities never change once written
OpenAI Agents API
- POST https://api.openai.com/v1/agents/sessions with a project key and the header OpenAI-Beta: agents=v1, or use client.beta.agents in the SDKs
- Before retrying, retrieve the session and turn and check which actions completed, since there's no idempotency key
- Set the sandbox network to restricted with an allowlist of up to 100 hosts when the agent doesn't need the open web
- Save files from /workspace/outputs before deleting a session; no retention period is stated for artifacts
- Don't send data that needs Zero Data Retention or non-US residency; the Agents API supports neither
Questions
Which is better for AI agents, Jules or OpenAI Agents API?
OpenAI Agents API scores 73.3 (BB) on agent readiness against Jules's 45.1 (E), and leads in 6 of 7 scored categories.
Can an agent call Jules and OpenAI Agents API without installing anything?
Jules runs on your own machine, with no hosted endpoint listed. OpenAI Agents API has a hosted endpoint at https://api.openai.com/v1/agents/sessions.
Other comparisons with Jules or OpenAI Agents API
- Agent Zero vs Jules
- Agent Zero vs OpenAI Agents API
- Aider vs Jules
- Aider vs OpenAI Agents API
- Amp vs Jules
- Amp vs OpenAI Agents API
- Antigravity CLI vs Jules
- Antigravity CLI vs OpenAI Agents API
- Auggie CLI vs Jules
- Auggie CLI vs OpenAI Agents API
- AXLR vs Jules
- AXLR vs OpenAI Agents API
- Claude Code vs Jules
- Claude Code vs OpenAI Agents API
- Cline vs Jules
- Cline vs OpenAI Agents API
- Crush vs Jules
- Crush vs OpenAI Agents API
- Cursor CLI vs Jules
- Cursor CLI vs OpenAI Agents API
- DeepSeek Harness (dsh) vs Jules
- DeepSeek Harness (dsh) vs OpenAI Agents API
- dsh-superagent (DeepSeek) vs Jules
- dsh-superagent (DeepSeek) vs OpenAI Agents API
- Devin vs Jules
- Devin vs OpenAI Agents API
- Droid CLI vs Jules
- Droid CLI vs OpenAI Agents API
- Pi vs Jules
- Pi vs OpenAI Agents API
- Gemini CLI vs Jules
- Gemini CLI vs OpenAI Agents API
- GitHub Copilot CLI vs Jules
- GitHub Copilot CLI vs OpenAI Agents API
- goose vs Jules
- goose vs OpenAI Agents API
- Harness² vs Jules
- Harness² vs OpenAI Agents API
- HarnessRouter vs Jules
- HarnessRouter vs OpenAI Agents API
- Jules vs Junie CLI
- Jules vs Kilo Code CLI
- Jules vs Kimi Code CLI
- Jules vs Kiro CLI
- Jules vs mini-swe-agent
- Jules vs MiniMax Code
- Jules vs Mistral Vibe CLI
- Jules vs Muse Code
- Jules vs OpenAI Codex
- Jules vs OpenCode
- Jules vs OpenHands
- Jules vs OpenMausBot
- Jules vs Prime Agent
- Jules vs Qoder CLI
- Jules vs Qwen Code
- Jules vs Mirror CLI
- Jules vs Rovo Dev CLI
- Jules vs Unstoppable
- Jules vs Vibe-Trading
- Jules vs Warp (Warp Agent CLI and the Oz Agent API)
- Junie CLI vs OpenAI Agents API
- Kilo Code CLI vs OpenAI Agents API
- Kimi Code CLI vs OpenAI Agents API
- Kiro CLI vs OpenAI Agents API
- mini-swe-agent vs OpenAI Agents API
- MiniMax Code vs OpenAI Agents API
- Mistral Vibe CLI vs OpenAI Agents API
- Muse Code vs OpenAI Agents API
- OpenAI Agents API vs OpenAI Codex
- OpenAI Agents API vs OpenCode
- OpenAI Agents API vs OpenHands
- OpenAI Agents API vs OpenMausBot
- OpenAI Agents API vs Prime Agent
- OpenAI Agents API vs Qoder CLI
- OpenAI Agents API vs Qwen Code
- OpenAI Agents API vs Mirror CLI
- OpenAI Agents API vs Rovo Dev CLI
- OpenAI Agents API vs Unstoppable
- OpenAI Agents API vs Vibe-Trading
- OpenAI Agents API vs Warp (Warp Agent CLI and the Oz Agent API)
- Clawboo vs Jules
- CLI Manager vs Jules
- Harness vs Jules
- Jules vs Paperclip
- Jules vs Parallax
Machine-readable
- This page as Markdown
/compare/jules-vs-openai-agents-api.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/jules.json·/api/v1/tools/openai-agents-api.json - From a terminal
anchor compare jules openai-agents-api(the CLI) - Over MCP
compare_tools {"a": "jules", "b": "openai-agents-api"}at/mcp, no key