Notes on Engineering Judgment and System Design, from a decade leading distributed systems and payment cryptography at AWS.
Moving from ChatGPT to Claude Conclusions
I ended [Moving from ChatGPT to Claude](https://www.jacobmarks.com/2026/04/moving-from-chatgpt-to-claude.html) with "more once I've actually used it." I've used it. The answer isn't simple because chat and coding are different enough to warrant separate conclusions. I'll preface this with noting that these are my observations and not scientific conclusions.
** Overall **
Claude's setup friction was real. Claude depends on more non-Anthropic services than you'd expect and Pi-hole blocks a significant number of them silently. I ended up building an allow list and publishing it before I could use Claude reliably. ChatGPT has never required any of that. I also happened to start evaluating Claude during an outage, which didn't help first impressions. Not everyone runs Pi-hole, but enough technically-minded people do that it's worth noting.
Anthropic's availability is noticeably worse than OpenAI's. The status dashboard reflects a steady stream of incidents. ChatGPT is install and forget. Claude required fighting to get working and has had more downtime in my experience since. For a productivity tool that's a meaningful gap.
**Pure Chat**
Claude is the better conversational model. It's more precise, more willing to say it doesn't know something, and less likely to overstate confidence. Some of that is the model itself. Some of it is how I set up my initial context. Either way, in a direct exchange Claude feels more honest.
The browser plugin is a genuine differentiator. ChatGPT doesn't have an equivalent. In practice though the plugin resets every session, no saved context, and no way to return to a prior chat. I'm mentally comparing that to the Amazon Q Business, which used a Claude Sonnet or Opus model, early browser plugin which held context across sessions and could pull from authenticated sources through your existing browser session. Amazon Q Business now of course is part of Amazon Quick Suite or just Quick for short. Claude's plugin can only fetch public URLs without an auth wall. For quick stateless lookups it works. For anything requiring continuity or access to non-public content it falls short of what I had before.
The plugin also has the ability to take actions on your behalf in the browser. In practice I found this clunky. It works by taking screenshots of the UI and clicking buttons, which is a brittle approach that fails quickly when a page has any complexity. There are some useful integrations, Gmail and Google Calendar work reasonably well, but the general-purpose browser automation is not reliable.
I tried to use it during my job search to pull application confirmation emails and build a tracking spreadsheet in Google Sheets. The goal was straightforward: parse the emails, extract the relevant data, populate a sheet. It created the sheet, added a title, and then entered a death spiral trying to enter data. It burned through my five-hour session limit without completing a single row. I eventually had to give it "extra usage" and asked it to output the table as text in the chat that I copied and pasted myself. That took about thirty seconds. The automation approach took a long time and produced nothing. It felt like automation for automation's sake, the tool reaching for a capability because it exists, not because it was the right way to solve the problem.
On balance I'd give the edge to Claude for chat, but it's not a clean win. The reliability and setup story work against it.
**Coding**
I was using Codex CLI, OpenAI's agentic command-line coding tool, before switching to Claude Code. Both are terminal-based, both do agentic file editing, both require approval before taking actions. The comparison is direct.
I find Codex CLI more intuitive for queueing follow-up prompts. Both tools produce a significant volume of terminal output and neither makes it easy to truly track everything being done in real time unless you sit and stare at the screen. Often they prompt you to confirm an action that to understand you need to review significant output. That's a category problem, not specific to either tool.
The approval friction exists in both. I eventually got Codex CLI configured to a point where I was comfortable letting it run with less interruption. I haven't got there yet with Claude Code. The default trust level in both tools is overcalibrated for safety when the real safety mechanism is constraining its action to a limited path and using proper source tracking so that you can rollback if something goes really wrong. There's also no good way to say "operate at a higher autonomy level for this session."
Output quality is comparable for the kinds of projects I've worked on. I haven't found a meaningful difference in what either tool produces.
The limits issue tips it toward Codex. I hit Claude's conversation length limits frequently. I have never hit a visible limit in Codex CLI. Whether that reflects a product decision about how limits are surfaced or an actual difference in what's enforced, the practical experience is different.
For coding work I'd reach for Codex CLI first, at elast right now.
Author’s Note: This article reflects my personal professional experience and opinions. While my insights are informed by my professional history, these views are my own and do not represent the official position of my former employer.
About the Author: Jacob Marks is an engineering leader with over 20 years of experience, including a decade at Amazon Web Services (AWS) where he led teams in EC2 Core Platform and the development of the AWS Payment Cryptography service.
Labels
.NET
.NET 10
.NET 3.5
Active Directory
AD DS
Adoption
AI
AI coding
AI Ethics
AI Hype
Alerts
Amazon Cognito
Amazon DLM
Amazon Q
Anthropic
AppDomain
Architecture
Artificial Intelligence
Asia Pacific Sydney
ASP.net
ASPxGridView
Audit Readiness
Auto Recovery
Automation
AWS
AWS Certified
AWS Lambda
AWS Payment Cryptography
AWS SDK
AWS Security Specialty
Azure
Azure DevOps Server
Backup
BIG-IP
C#
Career Growth
Cartes Bancaires
CB
Certificate Bundle
Certification
ChatGPT
Claude
Cloud
Cloud Certification
Cloud Hosting
Cloud Security
CloudWatch
CLR
Content Query
Cost Optimization
Credentials
CyberChef
Database
Defense Industry
Deloitte
Developer Tools
Developers
DevEx
DevExpress
DevOps
DISA
Disk Space
DISM
Distributed Systems
DoD
DoD CC SRG
DUKPT
EBS
EC2
Engineering
Engineering Leadership
Engineering Management
EnPasFltV2
Enterprise
Event Receiver
Exam
F5
Federal IT
FedRAMP
Fintech
FISMA
GAC
Generative AI
GitHub
gMSA
GovCloud
Government Compliance
GridView
Hardware Security Modules
HSM
IAM
Identity Management
IIS
Infra
Infrastructure as Code
IT Tools
Jacob Marks
JavaScript
jQuery
Lambda
Leadership
Linqpad
LLM
lsass.exe
LTM
Memory Optimization
Mentorship
Microsoft
Migration
Multi-Region Keys
NACL
Native AOT
Network Architecture
Networking
NIST
ODBC
Open Source
Payment Cryptography
Payments
PCI Compliance
Performance
Platform
Platform Architecture
Power Tools
PowerShell
Python
Python (if you reference CLI tooling)
re:Invent
Reachability Analyzer
Redshift
Relationships List
Replace Root Volume
SAA-C00
SAP-C00
Security
Security Group
Serverless
SES
SharePoint
SharePoint 2010
Site Reliability
SMTP
Snapshot
Software Engineering
Solutions Architect
Solutions Architect Professional
SP 2007
SPAWAR
SSL
STIG
Storage
Strategy
Sydney
SysAdmin
Team Foundation Server
Team Utilities
Tech Industry
Technical Depth
Technology
TFS
Tools
Troubleshooting
Upgrade
Visual Studio
VPC
VPC Flow Logs
Web Development
WebPart
WinDirStat
Windows Server
Windows Server 2025
WinForms