An engineering team wants Claude Code. Another team already works in Codex. Product managers want help with research and specifications. Finance sees two overlapping subscriptions and asks a reasonable question: are we buying useful options, or paying twice for the same work?

For a software company, our recommendation is to choose one primary environment, evaluate the other on real work, and purchase secondary access where it earns its place. Sometimes that leads to both. It rarely justifies giving every employee the largest plan from both providers on day one.

The decisive question is how reliably a tool helps your team deliver an accepted result, at what total cost, within the boundaries your customers require. That connects directly to Homann Software’s focus on software engineering, architecture and iterative delivery.

Research snapshot: October 22, 2026. Product facts below come from official sources checked for this article. Plan prices are advertised USD prices before applicable tax, not a German quotation. The operating model, pilot and EUR calculations are proposals and fictional examples. We did not run a paid head-to-head evaluation of Claude Code and Codex.

The current trend: buying an environment for work

Three developments make this decision more consequential than choosing a favourite chat window.

First, the products increasingly combine conversation with action. Anthropic’s September release notes describe bringing Cowork capabilities into Claude conversations, initially rolling out to Pro and Max. OpenAI’s ChatGPT Work documentation describes an environment for delegating work with tools, files and connected services. Our interpretation: procurement is moving towards the environment in which people investigate, implement and verify work. A chat subscription and a coding workflow can no longer be assessed in isolation.

Second, capabilities change faster than procurement cycles. Anthropic recorded Opus 5.5 on September 22, Sonnet 5.5 on September 28 and Haiku 5.5 on October 7 in its release notes. OpenAI’s October changelog records the October 14 retirement of GPT-5.5 from Codex with ChatGPT sign-in and recommends GPT-6.1 Sol where available; API-key sessions are excluded from that retirement. Record the model, client, settings and authentication route in every evaluation. A vendor name alone does not identify what you tested.

Third, agents are moving further into business operations. On October 21 Anthropic announced Claude Duet, a proactive-agent research preview, starting with US Pro and Max subscribers through a waitlist. It shares Claude usage limits, including background activity. This is evidence of direction, not a generally available enterprise capability or a procurement promise for a German team.

For a software company, the important trend is therefore the expansion from code assistance to delegated work. That increases the value of good tools and the cost of unclear responsibilities.

Compare four layers before comparing brands

Anthropic and OpenAI are providers. Claude and ChatGPT are product environments. Claude Code and Codex are tools and agent environments used for engineering work. The models underneath them are another layer. API access is a separate commercial and integration decision.

Claude Code’s overview documents reading repositories, editing files, running commands and integration across terminal, IDE, desktop and browser. OpenAI’s documentation covers Codex alongside its CLI, IDE extension and cloud environment. These are overlapping candidates for real development work. The useful comparison is the entire task, including setup, steering, checks and review.

Four procurement layers: company workspace, engineering environment, model configuration and separately governed runtime API.

Figure 1. A proposed purchasing map. Buying both work environments does not imply putting both providers into the application you ship.

DecisionWhat to compareEvidence that matters
Company workspaceClaude versus ChatGPT for research, requirements, documents and collaborationA useful artefact with correct sources, access controls and an accountable owner
Engineering environmentClaude Code versus Codex on your repositoriesAn acceptable change, independent tests, review effort and elapsed time
Model and configurationThe exact available model, effort settings, context and toolsRepeated results with the configuration recorded
Product runtimeProvider APIs used by your softwareQuality, latency, metered cost, failure handling and contractual suitability

Keep those decisions connected through requirements, but give each an explicit owner. A successful developer-seat pilot does not establish that the same provider is the right production dependency for every customer feature.

What the advertised plans actually tell you

As checked on October 22, the OpenAI pricing documentation lists ChatGPT Business at $20 per user per month with annual billing, or $25 monthly, with a minimum of two users. It includes ChatGPT and Codex, workspace administration and no training on business data by default. Enterprise adds controls including retention and residency. API-key use is billed at API rates. Included usage depends on task and configuration; a seat is not an unlimited labour budget.

The Claude pricing page lists Team for 2–150 users, with Standard seats at $20 annually billed or $25 monthly, and Premium at $100 annually billed or $125 monthly. It lists Claude Code, central administration, SSO and no training on content by default. Enterprise is advertised at $20 per seat per month, annually billed, with a 20-seat minimum, plus usage at API rates. These are different cost structures. Some plans include conditional API-credit offers; do not assume credits are cash, perpetual or interchangeable with seat usage.

Separate entry access from sustained capacity. Claude’s plan comparison includes Claude Code in Pro as well as Max. Max is therefore a capacity choice, not a prerequisite for trying Claude Code. For a company pilot, choose an account with suitable workspace controls and measure usage interruptions and extra charges before upgrading.

The practical trap is comparing the two base seat prices and treating the decision as settled. Check the actual checkout or quotation, minimum seats, model access, pooled or individual allowances, overage controls, billing commitment and the usage you expect during a busy release week. A premium seat may be sensible for a small number of intensive users; that does not make it the default for the whole company.

Which one should become the primary environment?

Choose the environment that wins on your weighted workload and meets the mandatory constraints. The following are evaluation priorities, not claims that one vendor inherently performs better at a class of work.

Your situationWhat to put into the pilotA sensible purchasing response
Most people already use ChatGPT productivelyCodex repository work plus the complete research-to-specification workflowKeep OpenAI primary if delivery results remain strong; trial Claude on difficult or materially different tasks
Claude Code already fits the engineering teamRepository changes plus Claude’s requirements and document workflowKeep Anthropic primary if broader company needs are met; trial OpenAI where there is a concrete gap
Neither is establishedRepresentative maintenance, feature, architecture and research tasksCompare both before choosing a primary
A specialist repeatedly gets a better accepted result from the other providerRepeat the task class with independent review and full cost captureBuy secondary seats for that role or task class
A client restricts data or providersTest only inside approved contractual and technical boundariesExclude ineligible configurations before scoring quality

For architecture work, ask both candidates to analyse the same business requirement, identify use cases, propose responsibility boundaries and explain dependencies. Score whether their recommendation survives a change in requirements. For coding, use the same repository snapshot and acceptance criteria. For research, score whether citations actually support the claims. Eloquence is not an acceptance criterion.

When buying both is rational

Complementary task performance is the strongest argument. One environment may work better for your legacy build, while another produces a more useful specification or helps a specialist resolve a difficult defect. That is a hypothesis until repeated on your own tasks.

A second perspective can also help. Ask the secondary tool to inspect the requirements and patch independently before showing it the primary tool’s explanation. Require a reproducer, failing test or concrete counterexample for every material finding. Two models can share blind spots; agreement is not a replacement for verification. Anthropic’s October 15 announcement of generally available Code Review illustrates the growing attention to review, but it does not establish the benefit of your proposed two-provider workflow.

Continuity is a further reason, if it is operationally real. A second provider can reduce dependence on a single service or quota pool, but only if the relevant repository, context, credentials, approvals and users are ready. Both environments may still depend on the same Git hosting, identity provider or network. Test a small handover exercise before assigning resilience value to the subscription.

Buying both becomes wasteful when people alternate without a reason, repeat the same task for reassurance, or spend their savings reconciling incompatible outputs. Giving both agents write access to the same checkout can create another avoidable source of rework. Use isolated branches or worktrees, one owner for the final change and a common verification pipeline.

Security and customer obligations are entry conditions

A tool that fails a mandatory customer requirement does not become eligible through a higher productivity score.

Anthropic’s Claude Code data-usage documentation distinguishes consumer plans from commercial Team, Enterprise and API use. Consumer model-improvement settings and commercial defaults are different. Check the actual account and authentication method used by the developer, rather than relying on the fact that the company pays for something elsewhere.

Both environments expose security controls, but their details matter. Anthropic’s security documentation distinguishes permission modes from operating-system sandboxing. OpenAI’s permissions documentation separately describes filesystem and network controls; domain rules depend on enabling the network proxy. A reassuring prompt or an allowlist is not proof of an enforced boundary.

For the pilot, document allowed repositories and data, credentials, connector scopes, filesystem access, network destinations, retention needs and the review required before external actions. Verify the configuration in the operating system and client you actually deploy. Treat training policy, retention, residency and access by third-party connectors as separate questions. Review relevant terms and customer obligations with the responsible people; this article does not establish legal compliance.

The engineering principle is straightforward: repository content and retrieved documents are inputs. They must not grant authority to publish, deploy, send customer information or change business records. Human approval and resource-level enforcement still need explicit owners.

A four-week pilot that can produce a purchasing decision

Start with a proposed sample of 20–30 tasks from your real backlog: defect investigation, a bounded feature, refactoring, tests, documentation, an architecture decision and a source-backed research task. Include representative difficult cases. This is a practical discovery sample, not a statistically conclusive benchmark.

In week one, define the acceptance checks and hard constraints, prepare clean repository snapshots and give users comparable onboarding. Write the domain facts and build instructions once in version-controlled documentation; keep tool-specific instruction files thin and review them for drift.

Include instruction-file portability in onboarding. Claude Code documents conditional loading of AGENTS.md, depending on version, settings and the presence of CLAUDE.md or CLAUDE.local.md; it also supports importing shared guidance from CLAUDE.md. Codex documents AGENTS.md and configurable fallback filenames, which can include CLAUDE.md when no higher-priority file applies. This is a loading-rule difference, not an inability to understand the other file. Keep shared instructions in one maintained source, check what each client actually loads and count adapter maintenance in the pilot’s administration effort.

In weeks two and three, compare configurations on matched tasks. Counterbalance the order across users and tasks so that the second tool does not always benefit from what the first attempt taught the operator. Keep the starting commit, task statement, available tools, time budget and evaluation criteria comparable. Record actual differences instead of pretending the environments are identical. Keep independent tests outside the agent-editable acceptance criteria.

Capture accepted completion, engineering and review minutes, failed attempts, rework, elapsed time, incremental usage cost and administrative effort. Count unresolved tasks and abandoned runs. Report the task categories and spread of results, not just one average. Follow accepted changes for regressions; a month cannot reveal every maintenance consequence.

In week four, evaluate three purchase patterns: a single primary provider, primary plus selective secondary seats, and both for everybody. Record the decision in an ADR with the evidence, assumptions, owner and a review date. Revisit after a material release, billing change or change in your workload.

BPMN process: define constraints and tasks, run matched trials, check eligibility, compare total cost, choose a portfolio and record the decision.

Figure 2. A proposed BPMN 2.0 evaluation process, supplied as an editable, non-executable .bpmn model. An ineligible configuration returns to redesign; scoring cannot override the gate.

A tested calculator for the decision

The comparison should include labour and operating effort:

Monthly cost = seat fees + incremental usage + hourly cost × (engineering hours + administration hours).

Engineering hours include prompting, checking, retries, rework and review across all attempts, including failures. Administration includes configuration, access management and recurring maintenance. Amortise onboarding and integration costs into the period being evaluated. Use elapsed time as a separate delivery metric: waiting can affect a deadline without consuming an engineer’s full attention.

The following is a fictional monthly scenario in EUR, independent of the USD vendor prices above. It assumes ten people, a comparable basket of 80 accepted outcomes, equal acceptance standards and an €80 loaded hourly cost. We assume €25 per seat purely for the calculation; this is not a currency conversion or vendor quotation. Two secondary seats cost €50 in this scenario.

Monthly assumptionPrimary onlyPrimary + two secondary seatsBoth for all ten
Total seat fees€250€300€500
Incremental usage€80€100€100
Engineering hours1009696
Administration hours244
Total modelled cost€8,490€8,400€8,600
Cost per accepted outcome€106.125€105€107.50
Saving against primary only—€90−€110

Selective access saves four engineering hours in the assumption, but creates €230 of additional fees, usage and administration. At €80 per hour, it needs more than 2.875 hours, or 172.5 minutes, of engineering savings per month to improve the economics. At exactly that threshold it breaks even. Giving everybody both tools loses money under the same assumed benefit. Real adoption could change that benefit; the table holds it fixed to expose the purchasing trade-off.

Here is the executable calculation from the companion example:

from decimal import Decimal as D
from portfolio import BASE, SELECTIVE, ALL_SEATS, compare

selective = compare(BASE, SELECTIVE, D("80"))
blanket = compare(BASE, ALL_SEATS, D("80"))

assert selective["net_saving_eur"] == "90"
assert selective["break_even_hours_saved"] == "2.875"
assert blanket["net_saving_eur"] == "-110"
print(selective["candidate_per_accepted_eur"])  # 105

The companion evaluation toolkit includes the calculator, tests, this runnable snippet, pilot record templates, BPMN and UML sources. From its examples directory, run python -m unittest -v, python portfolio.py and python article_example.py. It uses the Python standard library and requires no accounts or API keys.

The tests check arithmetic, break-even behaviour, administration cost, invalid inputs and mismatched accepted-outcome counts. The program uses Decimal and rejects non-finite or negative inputs. Equal counts do not prove equal difficulty or quality; the evaluator must establish a comparable workload before calling it. These tests validate the calculator, not the performance, security or ROI of either AI provider. Lower calculated labour cost creates capacity; it does not automatically reduce payroll or generate revenue.

Keep the evidence portable

Your durable assets are the task definition, domain model, use cases, ADRs, source code, tests and accepted results. Store them in systems the company controls. Chats are useful working context, but should not be the only record of why a design was chosen.

UML sequence: evaluator submits the same task independently to two isolated agent environments, CI tests both patches, reviewer accepts or rejects them, and an evidence record feeds the purchasing decision.

Figure 3. A proposed UML sequence for matched trials. Each agent works independently. CI and the reviewer supply the acceptance evidence; the calculator consumes the resulting records.

This does not require building a universal abstraction over both desktop applications. Keep the interfaces that matter portable: a clear task, a reproducible starting point, a patch, independent acceptance checks and a result record. If a customer product later needs two provider APIs, design that separately around explicit capabilities, data policies and failure behaviour. A second API is not a drop-in substitute merely because both accept text.

The purchasing decision

Choose Claude and Claude Code when their evaluated workflows best fit your engineering and company work, with acceptable cost and controls. Choose ChatGPT and Codex when those evaluated workflows fit better. Existing adoption is a real advantage when it reduces onboarding and fragmentation, but it should remain open to evidence.

Choose both selectively when the secondary environment produces a repeatable, valuable improvement or a tested continuity benefit that exceeds its added cost. Expand access as that evidence grows. If neither configuration passes mandatory requirements, choose neither for the affected work until the gap is resolved.

For most software companies starting this decision, the practical first purchase is one governed primary environment and a small, time-bounded trial of the alternative. Keep the engineering discipline common to both: explicit responsibilities, maintained use cases, independent tests, reviewable changes and feedback from actual delivery. Buy the second environment when it improves that system.