{"id":19049,"date":"2026-09-09T06:10:02","date_gmt":"2026-09-09T10:10:02","guid":{"rendered":"https:\/\/wp.glbgpt.com\/?p=19049"},"modified":"2026-09-09T06:10:03","modified_gmt":"2026-09-09T10:10:03","slug":"claude-haiku-vs-sonnet-vs-opus","status":"publish","type":"post","link":"https:\/\/wp.glbgpt.com\/nl\/hub\/claude-haiku-vs-sonnet-vs-opus","title":{"rendered":"Vergelijking van Claude-modellen: Haiku vs Sonnet vs Opus, en waar Fable in dit rijtje past"},"content":{"rendered":"<p class=\"article-dek wp-block-paragraph\"><strong>A practical 2026 guide to choosing by speed, API cost, context, task complexity, and the cost of a wrong answer.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For most everyday writing, analysis, coding, and tool-using work, start with Claude Sonnet 5. Choose Haiku 4.5 when low latency and high volume matter more than handling difficult edge cases. Choose Opus 5 when the task is complex, hard to verify, or expensive to get wrong. Fable 5.1 sits above Opus as a specialist escalation path, not the default.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Those recommendations are for general mixed workloads. Anthropic&#8217;s production guidance says most workloads should start with Opus 5, while its own task matrix separately positions Sonnet for everyday speed-and-capability work. The right starting point therefore depends on your risk tolerance and evaluation process, not just the model name. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>GlobalGPT makes the broader workflow<\/strong> practical with one affordable subscription: Claude, GPT-5.6 Sol, Gemini 3 Pro, Kimi K3, and multiple AI functions share one dashboard for research, writing, analysis, coding, and refinement. Its CLI can also bring that model access into your terminal, development workflow, and existing production tools. Comparing outputs is one useful part of the workflow; for the broader family-level choice, see our <a href=\"https:\/\/www.glbgpt.com\/hub\/chatgpt-vs-claude-vs-gemini\/\">Vergelijking tussen ChatGPT, Claude en Gemini<\/a>. The rest of this guide focuses on choosing within Claude.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img alt=\"\" fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"547\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/image-4-1024x547.png\" class=\"wp-image-18874\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/image-4-1024x547.png 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/image-4-300x160.png 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/image-4-768x410.png 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/image-4-1536x820.png 1536w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/image-4-18x10.png 18w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/image-4-2048x1094.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-3e41869c wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-black-color has-text-color has-background has-link-color wp-element-button\" href=\"https:\/\/www.glbgpt.com\/home\/gpt-6-astra?inviter=hub_popup&amp;login=1\" style=\"background:linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 24%,rgb(51,167,181) 100%)\"><strong>Probeer de GPT-serie op de GlobalGPT<\/strong><\/a><\/div>\n<\/div>\n\n\n\n<nav class=\"chso-toc\" aria-labelledby=\"chso-toc-title\" style=\"margin:28px 0;padding:22px 24px;border:1px solid #d8d8d4;border-radius:8px;background:#f6f6f3;color:#1e1e1e\">\n  <style>\n    .chso-toc{margin:28px 0;border:1px solid #d8d8d4;border-radius:8px;background:#f6f6f3;color:#1e1e1e;padding:22px 24px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;letter-spacing:0}.chso-toc *{box-sizing:border-box}.chso-toc h2{margin:0 0 14px;font-size:20px;line-height:1.3}.chso-toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px;margin:0;padding-left:22px}.chso-toc li{padding-left:2px;color:#555}.chso-toc a{color:#145b9d;text-decoration-thickness:1px;text-underline-offset:3px}.chso-toc a:hover{color:#0d426f}@media(max-width:620px){.chso-toc{padding:18px}.chso-toc ol{grid-template-columns:1fr;gap:7px}}\n  <\/style>\n  <h2 id=\"chso-toc-title\">In deze handleiding<\/h2>\n  <ol>\n    <li><a href=\"#claude-models-quick-answer\">Kort antwoord<\/a><\/li>\n    <li><a href=\"#current-claude-models\">Current Claude models<\/a><\/li>\n    <li><a href=\"#haiku-vs-sonnet-vs-opus\">Haiku vs Sonnet vs Opus<\/a><\/li>\n    <li><a href=\"#choose-claude-by-task\">Choose by task<\/a><\/li>\n    <li><a href=\"#cost-of-failure\">Cost of failure<\/a><\/li>\n    <li><a href=\"#upgrade-or-downgrade\">Upgrade or downgrade<\/a><\/li>\n    <li><a href=\"#fixed-api-cost-example\">Fixed API cost example<\/a><\/li>\n    <li><a href=\"#test-your-claude-model\">Praktijktests<\/a><\/li>\n    <li><a href=\"#where-globalgpt-fits\">Waar GlobalGPT van pas komt<\/a><\/li>\n    <li><a href=\"#faq\">FAQ<\/a><\/li>\n    <li><a href=\"#final-verdict\">Eindoordeel<\/a><\/li>\n  <\/ol>\n<\/nav>\n\n\n\n<h2 id=\"claude-models-quick-answer\" class=\"wp-block-heading\">Claude Models: The Quick Answer<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The four current tiers solve different economic problems. The cheapest call is not always the cheapest completed task, and the strongest model is not automatically the best use of a budget.<\/p>\n\n\n\n<section class=\"chso-decision\" aria-labelledby=\"chso-decision-title\" style=\"margin:24px 0;overflow:hidden;border:1px solid #d8d8d4;border-radius:8px;background:#fff;color:#171717\">\n  <style>\n    .chso-decision{--ink:#171717;--muted:#5f6368;--line:#d8d8d4;--wash:#f5f5f2;--haiku:#147d64;--sonnet:#1769aa;--opus:#b65a24;--fable:#8f3d58;margin:24px 0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;letter-spacing:0}.chso-decision *{box-sizing:border-box}.chso-decision .chso-head{padding:24px 26px 20px;border-bottom:1px solid var(--line)}.chso-decision .chso-kicker{margin:0 0 7px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.chso-decision h3{margin:0;font-size:26px;line-height:1.2}.chso-decision .chso-lead{max-width:820px;margin:9px 0 0;color:var(--muted);line-height:1.55}.chso-decision .chso-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.chso-decision article{min-width:0;padding:22px;border-right:1px solid var(--line)}.chso-decision article:last-child{border-right:0}.chso-decision .chso-tier{display:flex;align-items:center;gap:9px;margin-bottom:12px}.chso-decision .chso-swatch{width:10px;height:26px;flex:0 0 auto;border-radius:3px;background:var(--accent)}.chso-decision article h4{margin:0;font-size:19px}.chso-decision .chso-label{display:inline-block;margin-bottom:12px;padding:3px 7px;border:1px solid currentColor;border-radius:4px;color:var(--accent);font-size:12px;font-weight:700}.chso-decision article p{margin:0;color:#383838;font-size:14px;line-height:1.55}.chso-decision .chso-trigger{margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.chso-decision .chso-trigger strong{display:block;margin-bottom:3px;color:var(--ink);font-size:12px}.chso-decision .chso-haiku{--accent:var(--haiku)}.chso-decision .chso-sonnet{--accent:var(--sonnet)}.chso-decision .chso-opus{--accent:var(--opus)}.chso-decision .chso-fable{--accent:var(--fable)}.chso-decision .chso-rule{display:grid;grid-template-columns:170px 1fr;gap:18px;padding:18px 26px;background:var(--wash);border-top:1px solid var(--line)}.chso-decision .chso-rule p{margin:0;color:#424242;font-size:14px;line-height:1.55}.chso-decision footer{padding:13px 26px 16px;color:var(--muted);font-size:12px;line-height:1.5}.chso-decision a{color:#145b9d}@media(max-width:880px){.chso-decision .chso-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chso-decision article:nth-child(2){border-right:0}.chso-decision article:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media(max-width:560px){.chso-decision .chso-head,.chso-decision article,.chso-decision .chso-rule,.chso-decision footer{padding-left:18px;padding-right:18px}.chso-decision .chso-grid{grid-template-columns:1fr}.chso-decision article,.chso-decision article:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.chso-decision article:last-child{border-bottom:0}.chso-decision .chso-rule{grid-template-columns:1fr;gap:5px}}\n  <\/style>\n  <header class=\"chso-head\"><p class=\"chso-kicker\">Claude model decision guide<\/p><h3 id=\"chso-decision-title\">Choose by workload and failure cost<\/h3><p class=\"chso-lead\">Use Sonnet for balanced everyday work, move down for efficiency, and move up when verification is difficult or mistakes are expensive.<\/p><\/header>\n  <div class=\"chso-grid\">\n    <article class=\"chso-haiku\"><div class=\"chso-tier\"><span class=\"chso-swatch\" aria-hidden=\"true\"><\/span><h4>Haiku 4.5<\/h4><\/div><span class=\"chso-label\">Efficiency first<\/span><p>Start here for high-volume, latency-sensitive, clearly bounded tasks whose errors are cheap to detect and correct.<\/p><p class=\"chso-trigger\"><strong>Move up when<\/strong>Edge cases or reviewer correction time erase the token-price advantage.<\/p><\/article>\n    <article class=\"chso-sonnet\"><div class=\"chso-tier\"><span class=\"chso-swatch\" aria-hidden=\"true\"><\/span><h4>Sonnet 5<\/h4><\/div><span class=\"chso-label\">Everyday balance<\/span><p>Use for mixed writing, analysis, coding, visual understanding, and tool-using work that still receives normal review.<\/p><p class=\"chso-trigger\"><strong>Move up when<\/strong>Long-horizon reasoning, verification, or failure cost becomes the limiting factor.<\/p><\/article>\n    <article class=\"chso-opus\"><div class=\"chso-tier\"><span class=\"chso-swatch\" aria-hidden=\"true\"><\/span><h4>Opus 5<\/h4><\/div><span class=\"chso-label\">Capability first<\/span><p>Start here for complex agentic coding, enterprise work, difficult diagnosis, or decisions that are costly to get wrong.<\/p><p class=\"chso-trigger\"><strong>Move down when<\/strong>A cheaper model repeatedly passes the same acceptance checks.<\/p><\/article>\n    <article class=\"chso-fable\"><div class=\"chso-tier\"><span class=\"chso-swatch\" aria-hidden=\"true\"><\/span><h4>Fable 5.1<\/h4><\/div><span class=\"chso-label\">Exception path<\/span><p>Escalate only for demanding reasoning or long-running agent work when higher-effort Opus still fails your evaluation.<\/p><p class=\"chso-trigger\"><strong>Ga er niet zomaar vanuit<\/strong>A higher tier is automatically cheaper after quality, review time, and retries are counted.<\/p><\/article>\n  <\/div>\n  <div class=\"chso-rule\"><strong>The practical rule<\/strong><p>Freeze one representative task and its acceptance checks. Choose the least expensive model that passes reliably, then count correction and verification time before calling it the cheapest option.<\/p><\/div>\n  <footer>Source snapshot: Anthropic&#8217;s <a href=\"https:\/\/platform.claude.com\/docs\/en\/about-claude\/models\/choosing-a-model\">Choosing the right model<\/a> en <a href=\"https:\/\/platform.claude.com\/docs\/en\/models\/overview\">Models overview<\/a>, verified September 8, 2026. Anthropic says most workloads start with Opus 5; its task matrix separately positions Sonnet 5 for everyday work and Haiku 4.5 for the lowest latency and price.<\/footer>\n<\/section>\n\n\n\n<h2 id=\"current-claude-models\" class=\"wp-block-heading\">The Current Claude Model Lineup<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">As of September 8, 2026, Anthropic&#8217;s active lineup includes Claude Haiku 4.5, Claude Sonnet 5, Claude Opus 5, and Claude Fable 5.1. Haiku, Sonnet, and Opus are durable family names, but the version attached to each family changes over time. Pin the exact model ID you evaluated in production instead of assuming a family label will always resolve to the same snapshot.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Current model<\/th><th>Official speed label<\/th><th>API context<\/th><th>Maximaal vermogen<\/th><th>Base API input \/ output<\/th><\/tr><\/thead><tbody><tr><td>Haiku 4.5<\/td><td>Snelste<\/td><td>200K<\/td><td>64K<\/td><td>$1 \/ $5 per MTok<\/td><\/tr><tr><td>Sonnet 5<\/td><td>Snel<\/td><td>1M<\/td><td>128K<\/td><td>$2 \/ $10 per MTok<\/td><\/tr><tr><td>Opus 5<\/td><td>Matig<\/td><td>1M<\/td><td>128K<\/td><td>$5 \/ $25 per MTok<\/td><\/tr><tr><td>Fable 5.1<\/td><td>Langzamer<\/td><td>1M<\/td><td>128K<\/td><td>$10 \/ $50 per MTok<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-models-current-lineup-2026-09-08-16x9-1-1.webp\" alt=\"Anthropic current Claude model lineup with pricing, latency, context, and output limits\" class=\"wp-image-19065\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-models-current-lineup-2026-09-08-16x9-1-1.webp 1600w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-models-current-lineup-2026-09-08-16x9-1-1-300x169.webp 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-models-current-lineup-2026-09-08-16x9-1-1-1024x576.webp 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-models-current-lineup-2026-09-08-16x9-1-1-768x432.webp 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-models-current-lineup-2026-09-08-16x9-1-1-1536x864.webp 1536w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-models-current-lineup-2026-09-08-16x9-1-1-18x10.webp 18w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><figcaption class=\"wp-element-caption\">Anthropic&#8217;s model overview lists Haiku 4.5, Sonnet 5, Opus 5, and Fable 5.1 as the current lineup on September 8, 2026.<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Claude.ai access is not the same as API specifications<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The Claude.ai plan table describes consumer access and currently lists a 200K context window for individual plans. The API documentation lists model-specific context and output limits, including 1M context for Sonnet 5, Opus 5, and Fable 5.1. Do not use the API table to infer what a particular Claude.ai plan includes, or use the consumer plan table to infer an API model&#8217;s limits. See the <a href=\"https:\/\/www.glbgpt.com\/hub\/claude-ai-pricing-2026-the-ultimate-guide-to-plans-api-costs-and-limits\/\">Claude pricing and plan guide<\/a> for the plan-level distinction.<\/p>\n\n\n\n<h2 id=\"haiku-vs-sonnet-vs-opus\" class=\"wp-block-heading\">Claude Haiku vs Sonnet vs Opus: Key Differences<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The main trade-off is not a simple quality ranking. Moving up the lineup buys more capability for complex work, but it also increases base token cost and generally reduces speed. Context limits and reasoning controls differ too.<\/p>\n\n\n\n<section class=\"chso-compare\" aria-labelledby=\"chso-compare-title\" style=\"margin:24px 0;overflow:hidden;border:1px solid #d7d8d4;border-radius:8px;background:#fff;color:#1d1d1d\">\n  <style>\n    .chso-compare{margin:24px 0;border:1px solid #d7d8d4;border-radius:8px;overflow:hidden;background:#fff;color:#1d1d1d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;letter-spacing:0}.chso-compare *{box-sizing:border-box}.chso-compare header{padding:22px 24px;background:#f5f5f2;border-bottom:1px solid #d7d8d4}.chso-compare h3{margin:0;font-size:24px}.chso-compare header p{margin:7px 0 0;color:#5c6065}.chso-compare .chso-scroll{overflow-x:auto}.chso-compare table{width:100%;min-width:720px;border-collapse:collapse}.chso-compare th,.chso-compare td{padding:14px 16px;border-bottom:1px solid #e2e2df;text-align:left;vertical-align:top}.chso-compare th{font-size:12px;text-transform:uppercase;background:#fafafa}.chso-compare td{font-size:14px;line-height:1.5}.chso-compare tbody tr:last-child td{border-bottom:0}.chso-compare .chso-note{margin:0;padding:15px 24px;border-top:1px solid #d7d8d4;background:#fff8f3;color:#54321f;font-size:13px;line-height:1.55}@media(max-width:560px){.chso-compare header,.chso-compare .chso-note{padding-left:18px;padding-right:18px}}\n  <\/style>\n  <header><h3 id=\"chso-compare-title\">The practical trade-offs<\/h3><p>Official labels and base API specifications, paired with practical starting points for common workloads.<\/p><\/header>\n  <div class=\"chso-scroll\" style=\"overflow-x:auto\"><table style=\"width:100%;min-width:720px;border-collapse:collapse\"><thead><tr><th>Afmeting<\/th><th>Haiku 4.5<\/th><th>Sonnet 5<\/th><th>Opus 5<\/th><\/tr><\/thead><tbody><tr><td><strong>Het beste uitgangspunt<\/strong><\/td><td>Fast, repeated, bounded work<\/td><td>Mixed everyday knowledge work<\/td><td>Complex, high-consequence work<\/td><\/tr><tr><td><strong>Official speed label<\/strong><\/td><td>Snelste<\/td><td>Snel<\/td><td>Matig<\/td><\/tr><tr><td><strong>API context \/ output<\/strong><\/td><td>200K \/ 64K<\/td><td>1M \/ 128K<\/td><td>1M \/ 128K<\/td><\/tr><tr><td><strong>Reasoning control<\/strong><\/td><td>Handmatig uitgebreid denken<\/td><td>Adaptive thinking and effort<\/td><td>Adaptive thinking and effort<\/td><\/tr><tr><td><strong>Base API price<\/strong><\/td><td>$1 input \/ $5 output<\/td><td>$2 input \/ $10 output<\/td><td>$5 ingang \/ $25 uitgang<\/td><\/tr><\/tbody><\/table><\/div>\n  <p class=\"chso-note\"><strong>Where Fable fits:<\/strong> Fable 5.1 is officially labeled Slower, with 1M context, 128K maximum output, and $10 \/ $50 base input\/output pricing per million tokens. Treat it as an escalation tier when Opus at higher effort still fails your evaluation.<\/p>\n<\/section>\n\n\n\n<h3 class=\"wp-block-heading\">Snelheid en latentie<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Anthropic labels Haiku 4.5 \u201cFastest,\u201d Sonnet 5 \u201cFast,\u201d Opus 5 \u201cModerate,\u201d and Fable 5.1 \u201cSlower.\u201d These are qualitative product labels, not measured milliseconds or tokens per second. Actual latency depends on request size, reasoning settings, tools, load, and serving mode.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Context, output, and reasoning controls<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Haiku&#8217;s smaller 200K API context and 64K maximum output are still substantial for many bounded jobs. Sonnet and Opus expand both limits to 1M and 128K. Haiku 4.5 uses manual extended thinking, while Sonnet 5 and Opus 5 support adaptive thinking and effort control. That difference is one reason a single identical reasoning setting cannot create perfectly equivalent tests across all models.<\/p>\n\n\n\n<h2 id=\"choose-claude-by-task\" class=\"wp-block-heading\">Which Claude Model Should You Use for Each Task?<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Werkdruk<\/th><th>Begin met<\/th><th>Waarom<\/th><th>Upgraden wanneer<\/th><\/tr><\/thead><tbody><tr><td>Classification, extraction, routing, support triage<\/td><td>Haiku 4.5<\/td><td>Low latency and low base token cost suit clear, repeatable work.<\/td><td>Edge cases or correction time erase the savings.<\/td><\/tr><tr><td>Writing, analysis, visual understanding, everyday coding<\/td><td>Sonnet 5<\/td><td>Balanced speed, capability, context, and cost for mixed work.<\/td><td>Long-horizon reasoning or verification becomes the bottleneck.<\/td><\/tr><tr><td>Complex coding, difficult diagnosis, autonomous agents<\/td><td>Opus 5<\/td><td>Capability matters more than the lowest per-token price.<\/td><td>Higher-effort Opus still fails a demanding representative evaluation.<\/td><\/tr><tr><td>Exceptional long-running or reasoning-heavy work<\/td><td>Fable 5.1<\/td><td>It is the current escalation path above Opus.<\/td><td>Use only when the measured benefit justifies its higher cost.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">These are starting points, not universal winners. For example, a short but high-stakes code change may justify Opus, while a long but highly structured extraction job may still fit Haiku. For practical workflow examples, see our guide to <a href=\"https:\/\/www.glbgpt.com\/hub\/how-to-use-claude-ai-for-coding\/\">using Claude for coding<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When your shortlist extends beyond Claude, GlobalGPT lets you run the same representative prompt through Claude, GPT-5.6 Sol, Gemini 3 Pro, and Kimi K3 in one workspace. Keep the acceptance check constant: speed matters for repeated work, while answer quality and correction time determine whether a lower-cost result is actually cheaper.<\/p>\n\n\n\n<h2 id=\"cost-of-failure\" class=\"wp-block-heading\">Choose by the Cost of Failure, Not Just Task Type<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Task labels hide the most important variable: what happens when the answer is wrong? The framework below is an editorial decision tool grounded in Anthropic&#8217;s efficiency-first and capability-first guidance. It is not an Anthropic benchmark.<\/p>\n\n\n\n<section class=\"chso-risk\" aria-labelledby=\"chso-risk-title\" style=\"margin:24px 0;overflow:hidden;border:1px solid #d7d8d4;border-radius:8px;background:#fff;color:#1c1c1c\">\n  <style>\n    .chso-risk{margin:24px 0;border:1px solid #d7d8d4;border-radius:8px;overflow:hidden;background:#fff;color:#1c1c1c;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;letter-spacing:0}.chso-risk *{box-sizing:border-box}.chso-risk header{padding:21px 24px;border-bottom:1px solid #d7d8d4}.chso-risk h3{margin:0;font-size:24px}.chso-risk header p{margin:7px 0 0;color:#606368}.chso-risk .chso-band{display:grid;grid-template-columns:120px 1.2fr 1fr 1.1fr;gap:18px;padding:18px 24px;border-bottom:1px solid #e1e1de;align-items:start}.chso-risk .chso-band:last-child{border-bottom:0}.chso-risk .chso-level{font-weight:750}.chso-risk .chso-level:before{content:\"\";display:inline-block;width:9px;height:18px;margin-right:8px;border-radius:2px;background:var(--risk);vertical-align:-4px}.chso-risk .chso-band p{margin:0;color:#3e4144;font-size:14px;line-height:1.5}.chso-risk .chso-low{--risk:#147d64}.chso-risk .chso-medium{--risk:#b8860b;background:#fffdf5}.chso-risk .chso-high{--risk:#b65a24;background:#fff8f3}.chso-risk strong{color:#1c1c1c}@media(max-width:720px){.chso-risk .chso-band{grid-template-columns:1fr;gap:7px;padding:17px 18px}}\n  <\/style>\n  <header><h3 id=\"chso-risk-title\">Failure-cost ladder<\/h3><p>Start lower when errors are cheap to catch; start higher when verification is incomplete or expensive.<\/p><\/header>\n  <div class=\"chso-band chso-low\"><div class=\"chso-level\">Low cost<\/div><p><strong>Voorbeelden<\/strong><br>Tagging, routing, draft cleanup, reversible summaries<\/p><p><strong>Start<\/strong><br>Haiku 4.5<\/p><p><strong>Escalate<\/strong><br>When correction time removes the efficiency gain<\/p><\/div>\n  <div class=\"chso-band chso-medium\"><div class=\"chso-level\">Material<\/div><p><strong>Voorbeelden<\/strong><br>Customer-facing drafts, reviewed analysis, tested production code<\/p><p><strong>Start<\/strong><br>Sonnet 5<\/p><p><strong>Escalate<\/strong><br>When review cannot reliably catch important failures<\/p><\/div>\n  <div class=\"chso-band chso-high\"><div class=\"chso-level\">Dure<\/div><p><strong>Voorbeelden<\/strong><br>High-autonomy changes, difficult diagnosis, consequential decisions<\/p><p><strong>Start<\/strong><br>Opus 5<\/p><p><strong>Escalate<\/strong><br>To Fable only after higher-effort Opus misses a frozen evaluation<\/p><\/div>\n<\/section>\n\n\n\n<h2 id=\"upgrade-or-downgrade\" class=\"wp-block-heading\">When to Upgrade or Downgrade Your Claude Model<\/h2>\n\n\n\n<section class=\"chso-flow\" aria-labelledby=\"chso-flow-title\" style=\"margin:24px 0;padding:24px;border:1px solid #d7d8d4;border-radius:8px;background:#f6f6f3;color:#1d1d1d\">\n  <style>\n    .chso-flow{margin:24px 0;padding:24px;border:1px solid #d7d8d4;border-radius:8px;background:#f6f6f3;color:#1d1d1d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;letter-spacing:0}.chso-flow *{box-sizing:border-box}.chso-flow h3{margin:0 0 16px;font-size:24px}.chso-flow .chso-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.chso-flow article{position:relative;min-width:0;padding:17px;border:1px solid #d7d8d4;border-top:4px solid var(--accent);border-radius:6px;background:#fff}.chso-flow article:not(:last-child):after{content:\"\u2192\";position:absolute;right:-10px;top:50%;z-index:1;width:20px;height:20px;border-radius:50%;background:#1f1f1f;color:#fff;text-align:center;line-height:19px}.chso-flow h4{margin:0 0 7px;font-size:17px}.chso-flow p{margin:0;color:#494c50;font-size:13px;line-height:1.5}.chso-flow .chso-haiku{--accent:#147d64}.chso-flow .chso-sonnet{--accent:#1769aa}.chso-flow .chso-opus{--accent:#b65a24}.chso-flow .chso-fable{--accent:#8f3d58}.chso-flow .chso-down{margin:16px 0 0;padding-top:15px;border-top:1px solid #d7d8d4;font-size:14px;line-height:1.55}@media(max-width:760px){.chso-flow .chso-steps{grid-template-columns:1fr}.chso-flow article:not(:last-child):after{content:\"\u2193\";right:auto;left:50%;top:auto;bottom:-15px;transform:translateX(-50%)}.chso-flow{padding:18px}}\n  <\/style>\n  <h3 id=\"chso-flow-title\">Move up only when a measured limit appears<\/h3>\n  <div class=\"chso-steps\"><article class=\"chso-haiku\"><h4>Haiku to Sonnet<\/h4><p>Upgrade when edge cases, instruction misses, or reviewer correction time exceed the savings.<\/p><\/article><article class=\"chso-sonnet\"><h4>Sonnet to Opus<\/h4><p>Upgrade when long-horizon execution, complex reasoning, verification, or failure cost becomes the constraint.<\/p><\/article><article class=\"chso-opus\"><h4>Opus at higher effort<\/h4><p>Test the demanding workload with frozen acceptance checks before moving to the top tier.<\/p><\/article><article class=\"chso-fable\"><h4>Opus to Fable<\/h4><p>Escalate only when higher-effort Opus still fails the representative evaluation and the gain is worth the cost.<\/p><\/article><\/div>\n  <p class=\"chso-down\"><strong>Downgrade rule:<\/strong> Move back down when a cheaper model repeatedly passes the same acceptance checks at the required latency and reliability.<\/p>\n<\/section>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-model-selection-matrix-2026-09-08-16x9-1-1.webp\" alt=\"Anthropic model selection matrix for Haiku, Sonnet, Opus, and Fable\" class=\"wp-image-19067\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-model-selection-matrix-2026-09-08-16x9-1-1.webp 1600w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-model-selection-matrix-2026-09-08-16x9-1-1-300x169.webp 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-model-selection-matrix-2026-09-08-16x9-1-1-1024x576.webp 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-model-selection-matrix-2026-09-08-16x9-1-1-768x432.webp 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-model-selection-matrix-2026-09-08-16x9-1-1-1536x864.webp 1536w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-model-selection-matrix-2026-09-08-16x9-1-1-18x10.webp 18w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><figcaption class=\"wp-element-caption\">Anthropic&#8217;s matrix maps four current Claude models to different capability, speed, and workload needs.<\/figcaption><\/figure>\n\n\n\n<h2 id=\"fixed-api-cost-example\" class=\"wp-block-heading\">A Fixed Claude API Cost Example<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For a fixed aggregate workload of 1 million input tokens plus 100,000 output tokens across multiple standard API requests, base token cost ranges from $1.50 with Haiku 4.5 to $15.00 with Fable 5.1. This is not one request, and it does not override per-request output limits.<\/p>\n\n\n\n<section class=\"chso-cost\" aria-labelledby=\"chso-cost-title\" style=\"margin:24px 0;overflow:hidden;border:1px solid #d7d8d4;border-radius:8px;background:#fff;color:#171717\">\n  <style>\n    .chso-cost{--line:#d7d8d4;--muted:#616368;--wash:#f4f5f2;margin:24px 0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;color:#171717;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;letter-spacing:0}.chso-cost *{box-sizing:border-box}.chso-cost header{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end;padding:23px 25px 20px;border-bottom:1px solid var(--line)}.chso-cost h3{margin:0;font-size:25px}.chso-cost header p{margin:7px 0 0;color:var(--muted)}.chso-cost .chso-snapshot{padding-left:16px;border-left:3px solid #272727;font-size:13px}.chso-cost .chso-chart{padding:24px 25px 18px}.chso-cost .chso-row{display:grid;grid-template-columns:135px minmax(160px,1fr) 82px;gap:15px;align-items:center;margin-bottom:17px}.chso-cost .chso-row:last-child{margin-bottom:0}.chso-cost .chso-track{height:27px;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:var(--wash)}.chso-cost .chso-bar{width:var(--width);min-width:30px;height:100%;background:var(--color)}.chso-cost .chso-total{text-align:right;font-size:18px;font-variant-numeric:tabular-nums}.chso-cost .chso-scroll{overflow-x:auto}.chso-cost table{width:100%;min-width:620px;border-collapse:collapse;border-top:1px solid var(--line)}.chso-cost th,.chso-cost td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:right;font-size:13px}.chso-cost th:first-child,.chso-cost td:first-child{text-align:left}.chso-cost th{background:var(--wash)}.chso-cost tbody tr:last-child td{border-bottom:0}.chso-cost .chso-notes{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:17px 25px;background:var(--wash);border-top:1px solid var(--line)}.chso-cost .chso-notes p{margin:0;color:#414448;font-size:12px;line-height:1.5}.chso-cost footer{padding:13px 25px 16px;color:var(--muted);font-size:12px;line-height:1.5}.chso-cost a{color:#145b9d}@media(max-width:680px){.chso-cost header{grid-template-columns:1fr;align-items:start}.chso-cost header,.chso-cost .chso-chart,.chso-cost .chso-notes,.chso-cost footer{padding-left:18px;padding-right:18px}.chso-cost .chso-row{grid-template-columns:105px minmax(80px,1fr) 66px;gap:9px}.chso-cost .chso-total{font-size:16px}.chso-cost .chso-notes{grid-template-columns:1fr;gap:10px}}\n  <\/style>\n  <header><div><h3 id=\"chso-cost-title\">One workload, four Claude models<\/h3><p>The same token volume costs 2x, 5x, or 10x the Haiku total as you move up the current tiers.<\/p><\/div><div class=\"chso-snapshot\"><strong>Werkdruk<\/strong><br>1.0M input + 0.1M output<br>across multiple requests<\/div><\/header>\n  <div class=\"chso-chart\" role=\"img\" aria-label=\"Base API cost comparison: Haiku 4.5 costs 1 dollar 50 cents, Sonnet 5 costs 3 dollars, Opus 5 costs 7 dollars 50 cents, and Fable 5.1 costs 15 dollars.\"><div class=\"chso-row\"><strong>Haiku 4.5<\/strong><div class=\"chso-track\"><div class=\"chso-bar\" style=\"--width:10%;--color:#147d64\"><\/div><\/div><strong class=\"chso-total\">$1.50<\/strong><\/div><div class=\"chso-row\"><strong>Sonnet 5<\/strong><div class=\"chso-track\"><div class=\"chso-bar\" style=\"--width:20%;--color:#1769aa\"><\/div><\/div><strong class=\"chso-total\">$3.00<\/strong><\/div><div class=\"chso-row\"><strong>Opus 5<\/strong><div class=\"chso-track\"><div class=\"chso-bar\" style=\"--width:50%;--color:#b65a24\"><\/div><\/div><strong class=\"chso-total\">$7.50<\/strong><\/div><div class=\"chso-row\"><strong>Fable 5.1<\/strong><div class=\"chso-track\"><div class=\"chso-bar\" style=\"--width:100%;--color:#8f3d58\"><\/div><\/div><strong class=\"chso-total\">$15.00<\/strong><\/div><\/div>\n  <div class=\"chso-scroll\" style=\"overflow-x:auto\"><table style=\"width:100%;min-width:620px;border-collapse:collapse\"><thead><tr><th>Model<\/th><th>Input calculation<\/th><th>Output calculation<\/th><th>Totaal<\/th><\/tr><\/thead><tbody><tr><td>Haiku 4.5<\/td><td>1.0 x $1<\/td><td>0.1 x $5<\/td><td><strong>$1.50<\/strong><\/td><\/tr><tr><td>Sonnet 5<\/td><td>1.0 x $2<\/td><td>0.1 x $10<\/td><td><strong>$3.00<\/strong><\/td><\/tr><tr><td>Opus 5<\/td><td>1.0 x $5<\/td><td>0.1 x $25<\/td><td><strong>$7.50<\/strong><\/td><\/tr><tr><td>Fable 5.1<\/td><td>1.0 x $10<\/td><td>0.1 x $50<\/td><td><strong>$15.00<\/strong><\/td><\/tr><\/tbody><\/table><\/div>\n  <div class=\"chso-notes\"><p><strong>Included:<\/strong> Standard base input and output token rates from one Anthropic price snapshot.<\/p><p><strong>Excluded:<\/strong> Prompt caching, Batch API, fast mode, geography, tool fees, taxes, discounts, and GlobalGPT credits.<\/p><\/div>\n  <footer>USD base rates per million tokens from Anthropic&#8217;s <a href=\"https:\/\/platform.claude.com\/docs\/en\/about-claude\/pricing\">Model pricing<\/a>, verified September 8, 2026. Sonnet 5&#8217;s $2 input \/ $10 output rates are standard pricing.<\/footer>\n<\/section>\n\n\n\n<p class=\"wp-block-paragraph\">The price table tells you the cost of tokens, not the cost of a completed result. A cheaper model can become more expensive if retries, corrections, and verification consume more staff time than the token savings.<\/p>\n\n\n\n<h2 id=\"test-your-claude-model\" class=\"wp-block-heading\">Hands-On Claude Model Test: Same Prompts, Different Failure Modes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On September 9, 2026, we sent the same three prompts through the Anywhere API to Claude Haiku 4.5, Sonnet 5, Opus 5, and Fable 5.1. The tasks covered structured support triage, evidence-led writing, and auditable JavaScript debugging. We kept each model&#8217;s first valid output and evaluated it against rules frozen before the responses were reviewed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The result was not a simple ranking. Sonnet, Opus, and Fable each finished on 26.5 out of 30, while their strengths and failures differed sharply. Haiku returned HTTP 503 on both allowed attempts for every task, so its output quality remains unknown in this test.<\/p>\n\n\n\n<section class=\"chso-test-setup\" aria-labelledby=\"chso-test-setup-title\" style=\"margin:24px 0;overflow:hidden;border:1px solid #cfd3d5;border-radius:8px;background:#fff;color:#202124\">\n  <style>\n    .chso-test-setup{margin:24px 0;border:1px solid #cfd3d5;border-radius:8px;overflow:hidden;background:#fff;color:#202124;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;letter-spacing:0}.chso-test-setup *{box-sizing:border-box}.chso-test-setup header{padding:21px 24px;background:#1f2428;color:#fff}.chso-test-setup h3{margin:0;color:#fff;font-size:24px}.chso-test-setup header p{margin:7px 0 0;color:#d8dde1;line-height:1.55}.chso-test-setup .setup-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #cfd3d5}.chso-test-setup .setup-grid div{padding:15px;border-right:1px solid #d7d9dc}.chso-test-setup .setup-grid div:last-child{border-right:0}.chso-test-setup .setup-grid strong,.chso-test-setup .setup-grid span{display:block}.chso-test-setup .setup-grid span{margin-top:4px;color:#555a5f;font-size:13px;line-height:1.45}.chso-test-setup .setup-scroll{overflow-x:auto}.chso-test-setup table{width:100%;min-width:720px;border-collapse:collapse}.chso-test-setup th,.chso-test-setup td{padding:12px 14px;border-bottom:1px solid #e0e1df;text-align:left;font-size:13px}.chso-test-setup th{background:#f5f6f4}.chso-test-setup tr:last-child td{border-bottom:0}.chso-test-setup .unscored{color:#a73535;font-weight:800}.chso-test-setup footer{padding:14px 24px;background:#fff8df;color:#654800;font-size:12px;line-height:1.55}@media(max-width:720px){.chso-test-setup .setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chso-test-setup .setup-grid div:nth-child(2){border-right:0}.chso-test-setup .setup-grid div:nth-child(-n+2){border-bottom:1px solid #d7d9dc}}@media(max-width:480px){.chso-test-setup header,.chso-test-setup footer{padding-left:17px;padding-right:17px}.chso-test-setup .setup-grid{grid-template-columns:1fr}.chso-test-setup .setup-grid div{border-right:0;border-bottom:1px solid #d7d9dc}.chso-test-setup .setup-grid div:last-child{border-bottom:0}}\n  <\/style>\n  <header><h3 id=\"chso-test-setup-title\">Test setup and overall result<\/h3><p>Three frozen prompts, the same task-level token limits, no tools or search, and the first valid output retained for each model.<\/p><\/header>\n  <div class=\"setup-grid\"><div><strong>Locatie<\/strong><span>Anywhere API<\/span><\/div><div><strong>Datum<\/strong><span>September 9, 2026<\/span><\/div><div><strong>Taken<\/strong><span>Structured triage, launch note, JavaScript debugging<\/span><\/div><div><strong>Retry rule<\/strong><span>Once for transport, 429\/5xx, empty content, or malformed response<\/span><\/div><\/div>\n  <div class=\"setup-scroll\" style=\"overflow-x:auto\"><table style=\"width:100%;min-width:720px;border-collapse:collapse\"><thead><tr><th>Model<\/th><th>Completed tasks<\/th><th>Total quality score<\/th><th>Most useful signal<\/th><\/tr><\/thead><tbody>\n    <tr><td><strong>Claude Haiku 4.5<\/strong><\/td><td>0\/3<\/td><td><span class=\"unscored\">Niet gescoord<\/span><\/td><td>All six permitted requests returned 503; route availability only.<\/td><\/tr>\n    <tr><td><strong>Claude Sonnet 5<\/strong><\/td><td>3\/3<\/td><td><strong>26.5\/30<\/strong><\/td><td>Only model to satisfy every launch-note requirement.<\/td><\/tr>\n    <tr><td><strong>Claude Opus 5<\/strong><\/td><td>3\/3<\/td><td><strong>26.5\/30<\/strong><\/td><td>Strong debugging depth; missed a writing length constraint.<\/td><\/tr>\n    <tr><td><strong>Claude Fable 5.1<\/strong><\/td><td>3\/3<\/td><td><strong>26.5\/30<\/strong><\/td><td>Clean structured outputs; launch note was truncated after one empty response.<\/td><\/tr>\n  <\/tbody><\/table><\/div>\n  <footer>The three scored models tied at 26.5\/30, but for different reasons. This is a task-profile result, not a universal model ranking. Haiku is excluded from the tie because no output was available to score.<\/footer>\n<\/section>\n\n\n\n<section class=\"chso-test-t01\" aria-labelledby=\"chso-test-t01-title\" style=\"margin:26px 0;overflow:hidden;border:1px solid #d7d9dc;border-radius:8px;background:#fff;color:#202124\">\n  <style>.chso-test-t01{margin:26px 0;border:1px solid #d7d9dc;border-radius:8px;overflow:hidden;background:#fff;color:#202124;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;letter-spacing:0}.chso-test-t01 *{box-sizing:border-box}.chso-test-t01 header{padding:22px 24px 18px;border-bottom:1px solid #d7d9dc;background:#f5f6f4}.chso-test-t01 .test-kicker{margin:0 0 6px;color:#62666b;font-size:12px;font-weight:800;text-transform:uppercase}.chso-test-t01 h3{margin:0;font-size:24px;line-height:1.25}.chso-test-t01 .test-winner{display:inline-block;margin-top:12px;padding:5px 8px;border-radius:4px;background:#e7f4ed;color:#126544;font-size:13px;font-weight:800}.chso-test-t01 .test-verdict{margin:0;padding:18px 24px;color:#3d4145;line-height:1.65}.chso-test-t01 .test-scroll{overflow-x:auto;border-top:1px solid #d7d9dc;border-bottom:1px solid #d7d9dc}.chso-test-t01 table{width:100%;min-width:760px;border-collapse:collapse}.chso-test-t01 th,.chso-test-t01 td{padding:12px 14px;border-bottom:1px solid #e2e3e1;text-align:left;vertical-align:top;font-size:13px;line-height:1.5}.chso-test-t01 th{background:#fafafa;color:#34373a}.chso-test-t01 tr:last-child td{border-bottom:0}.chso-test-t01 .status-ok{color:#126544;font-weight:800}.chso-test-t01 .status-off{color:#a73535;font-weight:800}.chso-test-t01 .test-evidence{padding:8px 24px 20px}.chso-test-t01 details{border-bottom:1px solid #d7d9dc}.chso-test-t01 details:last-child{border-bottom:0}.chso-test-t01 summary{cursor:pointer;padding:14px 2px;color:#202124;font-weight:750}.chso-test-t01 summary::marker{color:#1769aa}.chso-test-t01 pre{margin:0 0 16px;padding:15px;overflow:auto;border:1px solid #d7d9dc;border-radius:6px;background:#161b1f;color:#edf1f3;font:12px\/1.58 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.chso-test-t01 .test-note{margin:0;padding:14px 24px;background:#fff8df;color:#654800;font-size:12px;line-height:1.55}@media(max-width:620px){.chso-test-t01 header,.chso-test-t01 .test-verdict,.chso-test-t01 .test-evidence,.chso-test-t01 .test-note{padding-left:17px;padding-right:17px}.chso-test-t01 h3{font-size:21px}.chso-test-t01 pre{font-size:11px}}<\/style>\n  <header><p class=\"test-kicker\">Gestructureerde uitvoer<\/p><h3 id=\"chso-test-t01-title\">Test 1: Support-ticket triage<\/h3><span class=\"test-winner\">Task result: Fable 5.1, 10\/10<\/span><\/header>\n  <p class=\"test-verdict\">Fable was the only model to return directly parseable JSON with all six labels and actions correct. Opus and Sonnet got the labels right but added Markdown fences; both also strengthened one supplied deadline, and Sonnet prematurely promised a correction or refund.<\/p>\n  <div class=\"test-scroll\" style=\"overflow-x:auto\"><table style=\"width:100%;min-width:760px;border-collapse:collapse\"><thead><tr><th>Model<\/th><th>Status<\/th><th>Score<\/th><th>Anywhere latency<\/th><th>Reported tokens<\/th><th>What happened<\/th><\/tr><\/thead><tbody><tr><td><strong>Claude Haiku 4.5<\/strong><\/td><td><span class=\"status-off\">Route unavailable<\/span><\/td><td>Niet gescoord<\/td><td>Niet beschikbaar<\/td><td>Niet beschikbaar<\/td><td>Two 503 responses; no quality score.<\/td><\/tr><tr><td><strong>Claude Sonnet 5<\/strong><\/td><td><span class=\"status-ok\">Output retained<\/span><\/td><td>7.5\/10<\/td><td>10.39 s<\/td><td>1005<\/td><td>Correct labels, but fenced JSON and an invented refund\/correction outcome.<\/td><\/tr><tr><td><strong>Claude Opus 5<\/strong><\/td><td><span class=\"status-ok\">Output retained<\/span><\/td><td>8.5\/10<\/td><td>11.87 s<\/td><td>1051<\/td><td>Correct labels and strong actions, but fenced JSON and a strengthened deadline.<\/td><\/tr><tr><td><strong>Claude Fable 5.1<\/strong><\/td><td><span class=\"status-ok\">Output retained<\/span><\/td><td>10\/10<\/td><td>8.55 s<\/td><td>680<\/td><td>Directly parseable JSON; all frozen checks passed.<\/td><\/tr><\/tbody><\/table><\/div>\n  <div class=\"test-evidence\"><details><summary>Full test input<\/summary><pre>You manage a SaaS support inbox. Classify every ticket below. Return JSON only with one top-level field named tickets. tickets must be an array in the original order, and every item must contain exactly ticket_id, category, urgency, and action. category must be one of billing, access, bug, feature. urgency must be one of low, medium, high. Use only the ticket text; do not invent policy outcomes or customer facts.\n\n#481: We were charged twice for the same annual renewal. Payroll closes Friday and I need this investigated before then.\n#482: Password reset says the email was sent, but nothing arrives. I checked spam and retried once.\n#483: CSV exports round every currency amount to whole dollars, while the dashboard still shows cents.\n#484: Please add a dark mode to the analytics dashboard.\n#485: After our company domain changed this morning, every employee receives an SSO access denied message.\n#486: Could you send me a copy of last month's invoice?<\/pre><\/details>\n<details><summary>Claude Haiku 4.5: full operational result<\/summary><pre>No model output was produced. Both permitted Anywhere API attempts returned HTTP 503, so this route was marked unavailable and excluded from quality scoring.<\/pre><\/details>\n<details><summary>Claude Sonnet 5: full output<\/summary><pre>```json\n{\n  &quot;tickets&quot;: [\n    {\n      &quot;ticket_id&quot;: &quot;#481&quot;,\n      &quot;category&quot;: &quot;billing&quot;,\n      &quot;urgency&quot;: &quot;high&quot;,\n      &quot;action&quot;: &quot;Investigate the duplicate annual renewal charge and issue a correction\/refund before the customer's payroll closes Friday.&quot;\n    },\n    {\n      &quot;ticket_id&quot;: &quot;#482&quot;,\n      &quot;category&quot;: &quot;access&quot;,\n      &quot;urgency&quot;: &quot;medium&quot;,\n      &quot;action&quot;: &quot;Verify the account's email address and mail deliverability, then manually trigger or resend the password reset email.&quot;\n    },\n    {\n      &quot;ticket_id&quot;: &quot;#483&quot;,\n      &quot;category&quot;: &quot;bug&quot;,\n      &quot;urgency&quot;: &quot;medium&quot;,\n      &quot;action&quot;: &quot;Escalate to engineering to fix CSV export rounding so currency values match the cents-level precision shown on the dashboard.&quot;\n    },\n    {\n      &quot;ticket_id&quot;: &quot;#484&quot;,\n      &quot;category&quot;: &quot;feature&quot;,\n      &quot;urgency&quot;: &quot;low&quot;,\n      &quot;action&quot;: &quot;Log the dark mode request for the analytics dashboard and add it to the product feature backlog.&quot;\n    },\n    {\n      &quot;ticket_id&quot;: &quot;#485&quot;,\n      &quot;category&quot;: &quot;access&quot;,\n      &quot;urgency&quot;: &quot;high&quot;,\n      &quot;action&quot;: &quot;Immediately investigate SSO configuration tied to the changed company domain and restore access for all affected employees.&quot;\n    },\n    {\n      &quot;ticket_id&quot;: &quot;#486&quot;,\n      &quot;category&quot;: &quot;billing&quot;,\n      &quot;urgency&quot;: &quot;low&quot;,\n      &quot;action&quot;: &quot;Locate last month's invoice and send a copy to the customer.&quot;\n    }\n  ]\n}\n```<\/pre><\/details>\n<details><summary>Claude Opus 5: full output<\/summary><pre>```json\n{\n  &quot;tickets&quot;: [\n    {\n      &quot;ticket_id&quot;: &quot;481&quot;,\n      &quot;category&quot;: &quot;billing&quot;,\n      &quot;urgency&quot;: &quot;high&quot;,\n      &quot;action&quot;: &quot;Escalate to billing to verify the duplicate annual renewal charge and confirm resolution before the customer's Friday payroll close.&quot;\n    },\n    {\n      &quot;ticket_id&quot;: &quot;482&quot;,\n      &quot;category&quot;: &quot;access&quot;,\n      &quot;urgency&quot;: &quot;medium&quot;,\n      &quot;action&quot;: &quot;Check email delivery logs for the reset message to that address and, if undelivered, trigger a verified reset path for the user.&quot;\n    },\n    {\n      &quot;ticket_id&quot;: &quot;483&quot;,\n      &quot;category&quot;: &quot;bug&quot;,\n      &quot;urgency&quot;: &quot;medium&quot;,\n      &quot;action&quot;: &quot;File a bug for CSV export currency rounding, noting the mismatch with dashboard values, and request reproduction steps or a sample export.&quot;\n    },\n    {\n      &quot;ticket_id&quot;: &quot;484&quot;,\n      &quot;category&quot;: &quot;feature&quot;,\n      &quot;urgency&quot;: &quot;low&quot;,\n      &quot;action&quot;: &quot;Log as a dark mode feature request for the analytics dashboard and acknowledge receipt without committing to a timeline.&quot;\n    },\n    {\n      &quot;ticket_id&quot;: &quot;485&quot;,\n      &quot;category&quot;: &quot;access&quot;,\n      &quot;urgency&quot;: &quot;high&quot;,\n      &quot;action&quot;: &quot;Escalate as an org-wide SSO outage tied to the domain change; have identity\/auth review the SSO domain configuration immediately.&quot;\n    },\n    {\n      &quot;ticket_id&quot;: &quot;486&quot;,\n      &quot;category&quot;: &quot;billing&quot;,\n      &quot;urgency&quot;: &quot;low&quot;,\n      &quot;action&quot;: &quot;Send the requested prior-month invoice copy to the verified account contact.&quot;\n    }\n  ]\n}\n```<\/pre><\/details>\n<details><summary>Claude Fable 5.1: full output<\/summary><pre>{&quot;tickets&quot;:[{&quot;ticket_id&quot;:&quot;481&quot;,&quot;category&quot;:&quot;billing&quot;,&quot;urgency&quot;:&quot;high&quot;,&quot;action&quot;:&quot;Investigate the reported duplicate annual renewal charge and respond before the customer's Friday payroll deadline.&quot;},{&quot;ticket_id&quot;:&quot;482&quot;,&quot;category&quot;:&quot;access&quot;,&quot;urgency&quot;:&quot;medium&quot;,&quot;action&quot;:&quot;Check password reset email delivery logs for the user's address and resend or provide an alternate reset path.&quot;},{&quot;ticket_id&quot;:&quot;483&quot;,&quot;category&quot;:&quot;bug&quot;,&quot;urgency&quot;:&quot;medium&quot;,&quot;action&quot;:&quot;Reproduce the CSV export rounding of currency amounts to whole dollars and escalate to engineering for a fix.&quot;},{&quot;ticket_id&quot;:&quot;484&quot;,&quot;category&quot;:&quot;feature&quot;,&quot;urgency&quot;:&quot;low&quot;,&quot;action&quot;:&quot;Log the dark mode request for the analytics dashboard with the product team and acknowledge receipt.&quot;},{&quot;ticket_id&quot;:&quot;485&quot;,&quot;category&quot;:&quot;access&quot;,&quot;urgency&quot;:&quot;high&quot;,&quot;action&quot;:&quot;Escalate the company-wide SSO access denied errors following the domain change and review SSO domain configuration.&quot;},{&quot;ticket_id&quot;:&quot;486&quot;,&quot;category&quot;:&quot;billing&quot;,&quot;urgency&quot;:&quot;low&quot;,&quot;action&quot;:&quot;Locate and send the customer a copy of last month's invoice.&quot;}]}<\/pre><\/details><\/div>\n  <p class=\"test-note\">First-valid-output policy. Latency is wall-clock time through Anywhere, not native Anthropic latency. Token counts are provider-reported; no direct API cost is inferred from this route.<\/p>\n<\/section>\n\n\n\n<section class=\"chso-test-t02\" aria-labelledby=\"chso-test-t02-title\" style=\"margin:26px 0;overflow:hidden;border:1px solid #d7d9dc;border-radius:8px;background:#fff;color:#202124\">\n  <style>.chso-test-t02{margin:26px 0;border:1px solid #d7d9dc;border-radius:8px;overflow:hidden;background:#fff;color:#202124;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;letter-spacing:0}.chso-test-t02 *{box-sizing:border-box}.chso-test-t02 header{padding:22px 24px 18px;border-bottom:1px solid #d7d9dc;background:#f5f6f4}.chso-test-t02 .test-kicker{margin:0 0 6px;color:#62666b;font-size:12px;font-weight:800;text-transform:uppercase}.chso-test-t02 h3{margin:0;font-size:24px;line-height:1.25}.chso-test-t02 .test-winner{display:inline-block;margin-top:12px;padding:5px 8px;border-radius:4px;background:#e7f4ed;color:#126544;font-size:13px;font-weight:800}.chso-test-t02 .test-verdict{margin:0;padding:18px 24px;color:#3d4145;line-height:1.65}.chso-test-t02 .test-scroll{overflow-x:auto;border-top:1px solid #d7d9dc;border-bottom:1px solid #d7d9dc}.chso-test-t02 table{width:100%;min-width:760px;border-collapse:collapse}.chso-test-t02 th,.chso-test-t02 td{padding:12px 14px;border-bottom:1px solid #e2e3e1;text-align:left;vertical-align:top;font-size:13px;line-height:1.5}.chso-test-t02 th{background:#fafafa;color:#34373a}.chso-test-t02 tr:last-child td{border-bottom:0}.chso-test-t02 .status-ok{color:#126544;font-weight:800}.chso-test-t02 .status-off{color:#a73535;font-weight:800}.chso-test-t02 .test-evidence{padding:8px 24px 20px}.chso-test-t02 details{border-bottom:1px solid #d7d9dc}.chso-test-t02 details:last-child{border-bottom:0}.chso-test-t02 summary{cursor:pointer;padding:14px 2px;color:#202124;font-weight:750}.chso-test-t02 summary::marker{color:#1769aa}.chso-test-t02 pre{margin:0 0 16px;padding:15px;overflow:auto;border:1px solid #d7d9dc;border-radius:6px;background:#161b1f;color:#edf1f3;font:12px\/1.58 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.chso-test-t02 .test-note{margin:0;padding:14px 24px;background:#fff8df;color:#654800;font-size:12px;line-height:1.55}@media(max-width:620px){.chso-test-t02 header,.chso-test-t02 .test-verdict,.chso-test-t02 .test-evidence,.chso-test-t02 .test-note{padding-left:17px;padding-right:17px}.chso-test-t02 h3{font-size:21px}.chso-test-t02 pre{font-size:11px}}<\/style>\n  <header><p class=\"test-kicker\">Constraint following<\/p><h3 id=\"chso-test-t02-title\">Test 2: Evidence-led launch note<\/h3><span class=\"test-winner\">Task result: Sonnet 5, 10\/10<\/span><\/header>\n  <p class=\"test-verdict\">Sonnet was the only model to satisfy every frozen requirement. Opus produced a strong note but exceeded the word limit and inferred that all non-respondents were enrolled students. Fable&#8217;s first response was empty; its allowed retry returned a visibly truncated note without the recommendation or caveat.<\/p>\n  <div class=\"test-scroll\" style=\"overflow-x:auto\"><table style=\"width:100%;min-width:760px;border-collapse:collapse\"><thead><tr><th>Model<\/th><th>Status<\/th><th>Score<\/th><th>Anywhere latency<\/th><th>Reported tokens<\/th><th>What happened<\/th><\/tr><\/thead><tbody><tr><td><strong>Claude Haiku 4.5<\/strong><\/td><td><span class=\"status-off\">Route unavailable<\/span><\/td><td>Niet gescoord<\/td><td>Niet beschikbaar<\/td><td>Niet beschikbaar<\/td><td>Two 503 responses; no quality score.<\/td><\/tr><tr><td><strong>Claude Sonnet 5<\/strong><\/td><td><span class=\"status-ok\">Output retained<\/span><\/td><td>10\/10<\/td><td>9.94 s<\/td><td>796<\/td><td>Met the word range, structure, evidence, recommendation, and caveat requirements.<\/td><\/tr><tr><td><strong>Claude Opus 5<\/strong><\/td><td><span class=\"status-ok\">Output retained<\/span><\/td><td>8\/10<\/td><td>9.49 s<\/td><td>826<\/td><td>Strong analysis, but 223 words under the frozen count method and one unsupported inference.<\/td><\/tr><tr><td><strong>Claude Fable 5.1<\/strong><\/td><td><span class=\"status-ok\">Output retained<\/span><\/td><td>6.5\/10<\/td><td>19.27 s<\/td><td>1685<\/td><td>First response empty; retained retry was truncated before the recommendation and caveat.<\/td><\/tr><\/tbody><\/table><\/div>\n  <div class=\"test-evidence\"><details><summary>Full test input<\/summary><pre>Write a 180-220 word internal launch note for a product director using only the facts below. Include: a subject line, a short opening paragraph, exactly three bullet points, a recommendation, and one clearly labeled caveat. Do not invent a budget resolution, percentages, statistical significance, or causal effects.\n\nFacts:\n- The pilot enrolled 120 students.\n- At the 31 March checkpoint, 96 students had attended at least three sessions.\n- A survey score averaged 4.3 out of 5 from 71 respondents.\n- The program operations sheet lists a budget of $18,000.\n- The finance approval note lists $20,000. It does not say whether the difference is a revision or a recording error.\n- Participants were not randomly assigned and no baseline score was collected.\n- The decision is whether to launch a second pilot, not whether to roll out permanently.<\/pre><\/details>\n<details><summary>Claude Haiku 4.5: full operational result<\/summary><pre>No model output was produced. Both permitted Anywhere API attempts returned HTTP 503, so this route was marked unavailable and excluded from quality scoring.<\/pre><\/details>\n<details><summary>Claude Sonnet 5: full output<\/summary><pre>**Subject: Pilot Program Results \u2014 Recommendation to Proceed with Second Pilot**\n\nThe initial pilot has concluded its first checkpoint period, and early engagement and satisfaction indicators are encouraging. Before committing to a second pilot, there are a few data points and open items the team should review together.\n\n- Of the 120 students enrolled, 96 had attended at least three sessions as of the March 31 checkpoint.\n- A post-session survey completed by 71 respondents produced an average score of 4.3 out of 5.\n- Budget figures are inconsistent across documents: the program operations sheet lists $18,000, while the finance approval note lists $20,000; it is unclear whether this reflects a revision or a recording error.\n\n**Recommendation:** Given the attendance and survey results, we recommend moving forward with a second pilot to gather more structured data \u2014 ideally with a defined comparison group and baseline measurement \u2014 before considering any broader rollout decision. This second pilot should also serve as an opportunity to reconcile the budget discrepancy with finance before funds are finalized.\n\n**Caveat:** These results should be interpreted cautiously. Participants were not randomly assigned and no baseline score was collected, so we cannot attribute the survey results or attendance patterns to the program itself. This is a scoping decision for a second pilot, not a decision on permanent implementation.<\/pre><\/details>\n<details><summary>Claude Opus 5: full output<\/summary><pre>**Subject: Pilot results and recommendation on a second pilot cohort**\n\nThe first pilot has completed its 31 March checkpoint, and we now have enough information to decide whether to run a second pilot. This note summarizes what we observed, what we recommend, and the main limitation on interpretation. No permanent rollout decision is on the table at this stage.\n\n- **Enrollment and engagement:** 120 students enrolled. As of the 31 March checkpoint, 96 of them had attended at least three sessions.\n- **Participant feedback:** The post-participation survey averaged 4.3 out of 5, based on 71 respondents. The remaining enrolled students did not respond, so the score reflects that subset only.\n- **Budget discrepancy:** The program operations sheet lists a budget of $18,000, while the finance approval note lists $20,000. The finance note does not state whether the difference reflects a revision or a recording error, and we have not resolved which figure governs.\n\n**Recommendation:** Proceed with planning a second pilot, conditional on Finance and Program Operations reconciling the two budget figures and confirming a single governing number before we commit spend. A second pilot should also collect baseline scores at intake.\n\n**CAVEAT:** Participants were not randomly assigned and no baseline score was collected. The engagement and survey figures therefore describe what this group did and reported; they cannot tell us what the program caused or how it would perform with a different population.<\/pre><\/details>\n<details><summary>Claude Fable 5.1: full output<\/summary><pre>**Subject:** Pilot checkpoint summary and second-pilot recommendation\n\nHi [Director],\n\nBelow is a summary of where the pilot stands at the 31 March checkpoint, along with a recommendation on whether to proceed to a second pilot. This note covers only the second-pilot decision, not permanent rollout.\n\n- **Enrollment and attendance:** 120 students enrolled. At the 31 March checkpoint, 96 had attended at least three sessions.\n- **Participant feedback:** A survey returned an average score of 4.3 out of 5 from 71 respondents.\n- **Budget records:** The program operations sheet lists a budget of $18,000, while the finance approval note lists $20,000. The finance note does not indicate whether the difference is a revision or a recording error.\n\n**<\/pre><\/details><\/div>\n  <p class=\"test-note\">First-valid-output policy. Latency is wall-clock time through Anywhere, not native Anthropic latency. Token counts are provider-reported; no direct API cost is inferred from this route.<\/p>\n<\/section>\n\n\n\n<section class=\"chso-test-t03\" aria-labelledby=\"chso-test-t03-title\" style=\"margin:26px 0;overflow:hidden;border:1px solid #d7d9dc;border-radius:8px;background:#fff;color:#202124\">\n  <style>.chso-test-t03{margin:26px 0;border:1px solid #d7d9dc;border-radius:8px;overflow:hidden;background:#fff;color:#202124;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;letter-spacing:0}.chso-test-t03 *{box-sizing:border-box}.chso-test-t03 header{padding:22px 24px 18px;border-bottom:1px solid #d7d9dc;background:#f5f6f4}.chso-test-t03 .test-kicker{margin:0 0 6px;color:#62666b;font-size:12px;font-weight:800;text-transform:uppercase}.chso-test-t03 h3{margin:0;font-size:24px;line-height:1.25}.chso-test-t03 .test-winner{display:inline-block;margin-top:12px;padding:5px 8px;border-radius:4px;background:#e7f4ed;color:#126544;font-size:13px;font-weight:800}.chso-test-t03 .test-verdict{margin:0;padding:18px 24px;color:#3d4145;line-height:1.65}.chso-test-t03 .test-scroll{overflow-x:auto;border-top:1px solid #d7d9dc;border-bottom:1px solid #d7d9dc}.chso-test-t03 table{width:100%;min-width:760px;border-collapse:collapse}.chso-test-t03 th,.chso-test-t03 td{padding:12px 14px;border-bottom:1px solid #e2e3e1;text-align:left;vertical-align:top;font-size:13px;line-height:1.5}.chso-test-t03 th{background:#fafafa;color:#34373a}.chso-test-t03 tr:last-child td{border-bottom:0}.chso-test-t03 .status-ok{color:#126544;font-weight:800}.chso-test-t03 .status-off{color:#a73535;font-weight:800}.chso-test-t03 .test-evidence{padding:8px 24px 20px}.chso-test-t03 details{border-bottom:1px solid #d7d9dc}.chso-test-t03 details:last-child{border-bottom:0}.chso-test-t03 summary{cursor:pointer;padding:14px 2px;color:#202124;font-weight:750}.chso-test-t03 summary::marker{color:#1769aa}.chso-test-t03 pre{margin:0 0 16px;padding:15px;overflow:auto;border:1px solid #d7d9dc;border-radius:6px;background:#161b1f;color:#edf1f3;font:12px\/1.58 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.chso-test-t03 .test-note{margin:0;padding:14px 24px;background:#fff8df;color:#654800;font-size:12px;line-height:1.55}@media(max-width:620px){.chso-test-t03 header,.chso-test-t03 .test-verdict,.chso-test-t03 .test-evidence,.chso-test-t03 .test-note{padding-left:17px;padding-right:17px}.chso-test-t03 h3{font-size:21px}.chso-test-t03 pre{font-size:11px}}<\/style>\n  <header><p class=\"test-kicker\">Code correctness<\/p><h3 id=\"chso-test-t03-title\">Test 3: Auditable JavaScript debugging<\/h3><span class=\"test-winner\">Task result: Opus 5 and Fable 5.1 tied, 10\/10<\/span><\/header>\n  <p class=\"test-verdict\">All three available models found both defects and produced replacements that passed eight executable cases. Opus and Fable returned valid JSON and tied at 10\/10. Sonnet&#8217;s code also passed, but the surrounding Markdown fence broke the direct-JSON requirement.<\/p>\n  <div class=\"test-scroll\" style=\"overflow-x:auto\"><table style=\"width:100%;min-width:760px;border-collapse:collapse\"><thead><tr><th>Model<\/th><th>Status<\/th><th>Score<\/th><th>Anywhere latency<\/th><th>Reported tokens<\/th><th>What happened<\/th><\/tr><\/thead><tbody><tr><td><strong>Claude Haiku 4.5<\/strong><\/td><td><span class=\"status-off\">Route unavailable<\/span><\/td><td>Niet gescoord<\/td><td>Niet beschikbaar<\/td><td>Niet beschikbaar<\/td><td>Two 503 responses; no quality score.<\/td><\/tr><tr><td><strong>Claude Sonnet 5<\/strong><\/td><td><span class=\"status-ok\">Output retained<\/span><\/td><td>9\/10<\/td><td>13.17 s<\/td><td>1471<\/td><td>Replacement passed 8\/8 cases; fenced output lost the JSON-format point.<\/td><\/tr><tr><td><strong>Claude Opus 5<\/strong><\/td><td><span class=\"status-ok\">Output retained<\/span><\/td><td>10\/10<\/td><td>20.17 s<\/td><td>1826<\/td><td>Valid JSON, both defects identified, and 8\/8 executable cases passed.<\/td><\/tr><tr><td><strong>Claude Fable 5.1<\/strong><\/td><td><span class=\"status-ok\">Output retained<\/span><\/td><td>10\/10<\/td><td>15.89 s<\/td><td>1409<\/td><td>Valid JSON, concise diagnosis and 8\/8 executable cases passed.<\/td><\/tr><\/tbody><\/table><\/div>\n  <div class=\"test-evidence\"><details><summary>Full test input<\/summary><pre>Diagnose and repair this JavaScript function. Return JSON only with exactly four fields: root_cause (string), replacement (string containing the complete replacement function), tests (array of test-case strings), and remaining_risk (string). Do not claim that you executed tests. Make the smallest clear repair that satisfies the contract.\n\nContract:\n- tasks is an array of zero-argument functions that return promises.\n- Return the first fulfilled value in input order, even when that value is 0, false, or an empty string.\n- Ignore rejected tasks.\n- Return null when every task rejects or the array is empty.\n\nCurrent code:\nasync function firstSuccessful(tasks) {\n  const results = await Promise.all(tasks.map((task) =&gt; task()));\n  return results.find(Boolean) || null;\n}<\/pre><\/details>\n<details><summary>Claude Haiku 4.5: full operational result<\/summary><pre>No model output was produced. Both permitted Anywhere API attempts returned HTTP 503, so this route was marked unavailable and excluded from quality scoring.<\/pre><\/details>\n<details><summary>Claude Sonnet 5: full output<\/summary><pre>```json\n{\n  &quot;root_cause&quot;: &quot;Two bugs: (1) Promise.all rejects immediately if any task rejects, instead of ignoring rejected tasks; (2) results.find(Boolean) incorrectly treats falsy fulfilled values (0, false, '') as failures, causing them to be skipped in favor of null.&quot;,\n  &quot;replacement&quot;: &quot;async function firstSuccessful(tasks) {\\n  const settled = await Promise.allSettled(tasks.map((task) =&gt; task()));\\n  const firstFulfilled = settled.find((r) =&gt; r.status === 'fulfilled');\\n  return firstFulfilled ? firstFulfilled.value : null;\\n}&quot;,\n  &quot;tests&quot;: [\n    &quot;test('returns null for empty array', async () =&gt; { expect(await firstSuccessful([])).toBeNull(); });&quot;,\n    &quot;test('returns null when all tasks reject', async () =&gt; { const tasks = [() =&gt; Promise.reject('err1'), () =&gt; Promise.reject('err2')]; expect(await firstSuccessful(tasks)).toBeNull(); });&quot;,\n    &quot;test('returns first fulfilled value even if falsy (0)', async () =&gt; { const tasks = [() =&gt; Promise.resolve(0), () =&gt; Promise.resolve(42)]; expect(await firstSuccessful(tasks)).toBe(0); });&quot;,\n    &quot;test('returns first fulfilled value even if false', async () =&gt; { const tasks = [() =&gt; Promise.resolve(false), () =&gt; Promise.resolve(true)]; expect(await firstSuccessful(tasks)).toBe(false); });&quot;,\n    &quot;test('returns first fulfilled value even if empty string', async () =&gt; { const tasks = [() =&gt; Promise.resolve(''), () =&gt; Promise.resolve('nonempty')]; expect(await firstSuccessful(tasks)).toBe(''); });&quot;,\n    &quot;test('ignores leading rejected tasks and returns first fulfilled in order', async () =&gt; { const tasks = [() =&gt; Promise.reject('err'), () =&gt; Promise.resolve('second'), () =&gt; Promise.resolve('third')]; expect(await firstSuccessful(tasks)).toBe('second'); });&quot;,\n    &quot;test('preserves input order even if later task resolves faster', async () =&gt; { const tasks = [() =&gt; new Promise((res) =&gt; setTimeout(() =&gt; res('slow-first'), 50)), () =&gt; new Promise((res) =&gt; setTimeout(() =&gt; res('fast-second'), 5))]; expect(await firstSuccessful(tasks)).toBe('slow-first'); });&quot;\n  ],\n  &quot;remaining_risk&quot;: &quot;The fix assumes 'first fulfilled value in input order' means the first task by array index that fulfills, regardless of timing, which matches the contract wording but await Promise.allSettled waits for all tasks to complete (including slow ones) before returning, which may not be desired if early-exit performance is needed; also unhandled promise rejection warnings are avoided by allSettled, but if tasks throw synchronously instead of returning rejected promises, this is not explicitly tested here beyond the reject cases.&quot;\n}\n```<\/pre><\/details>\n<details><summary>Claude Opus 5: full output<\/summary><pre>{\n  &quot;root_cause&quot;: &quot;Two defects. (1) `Promise.all` rejects as soon as any task rejects, so a single rejected task makes the whole function reject instead of ignoring it and returning a later fulfilled value. (2) `results.find(Boolean) || null` selects by truthiness rather than by fulfillment, so legitimate fulfilled values such as 0, false, '', NaN, null, or undefined are skipped and\/or coerced to null. Using `Promise.allSettled` plus a status check on the settled records fixes both, and returning `record.value` directly preserves falsy results.&quot;,\n  &quot;replacement&quot;: &quot;async function firstSuccessful(tasks) {\\n  const results = await Promise.allSettled(tasks.map((task) =&gt; task()));\\n  const firstFulfilled = results.find((result) =&gt; result.status === 'fulfilled');\\n  return firstFulfilled ? firstFulfilled.value : null;\\n}&quot;,\n  &quot;tests&quot;: [\n    &quot;firstSuccessful([]) resolves to null (empty input).&quot;,\n    &quot;firstSuccessful([() =&gt; Promise.resolve('a'), () =&gt; Promise.resolve('b')]) resolves to 'a' (input order, not completion order).&quot;,\n    &quot;firstSuccessful([() =&gt; new Promise((res) =&gt; setTimeout(() =&gt; res('slow-first'), 50)), () =&gt; Promise.resolve('fast-second')]) resolves to 'slow-first' (order is by index, not by who settles first).&quot;,\n    &quot;firstSuccessful([() =&gt; Promise.reject(new Error('boom')), () =&gt; Promise.resolve('second')]) resolves to 'second' (rejection ignored, does not propagate).&quot;,\n    &quot;firstSuccessful([() =&gt; Promise.reject(new Error('a')), () =&gt; Promise.reject(new Error('b'))]) resolves to null (all reject).&quot;,\n    &quot;firstSuccessful([() =&gt; Promise.resolve(0)]) resolves to 0, not null (falsy number preserved).&quot;,\n    &quot;firstSuccessful([() =&gt; Promise.resolve(false)]) resolves to false (falsy boolean preserved).&quot;,\n    &quot;firstSuccessful([() =&gt; Promise.resolve('')]) resolves to '' (empty string preserved).&quot;,\n    &quot;firstSuccessful([() =&gt; Promise.resolve(undefined), () =&gt; Promise.resolve('later')]) resolves to undefined (first fulfilled wins even if its value is undefined).&quot;,\n    &quot;firstSuccessful([() =&gt; Promise.reject(new Error('x')), () =&gt; Promise.resolve(null), () =&gt; Promise.resolve('third')]) resolves to null because index 1 fulfilled with null \u2014 verifying null-as-value is not confused with the all-rejected sentinel by inspecting status.&quot;,\n    &quot;firstSuccessful([() =&gt; Promise.resolve(NaN)]) resolves to NaN (Number.isNaN on the result is true).&quot;\n  ],\n  &quot;remaining_risk&quot;: &quot;The function still starts every task and awaits all of them, so there is no short-circuiting: a slow or never-settling later task delays or blocks the result, and side effects of later tasks always occur. A task that throws synchronously (rather than returning a rejected promise) will throw inside `tasks.map`, causing the returned promise to reject instead of being ignored; wrap the invocation in `Promise.resolve().then(task)` if that must also be tolerated. `null` is still returned both for all-rejected\/empty input and when a task genuinely fulfills with `null`, so callers cannot distinguish those cases. Non-array or non-function inputs are not validated, and rejection reasons are discarded rather than aggregated (no AggregateError), which can hide diagnostics.&quot;\n}<\/pre><\/details>\n<details><summary>Claude Fable 5.1: full output<\/summary><pre>{&quot;root_cause&quot;:&quot;Two defects: (1) Promise.all rejects as soon as any task rejects, so rejected tasks are not ignored and the function throws instead of skipping them; (2) results.find(Boolean) skips legitimate falsy fulfilled values (0, false, '') and the trailing '|| null' also converts such values to null, violating the requirement to return the first fulfilled value even when it is falsy.&quot;,&quot;replacement&quot;:&quot;async function firstSuccessful(tasks) {\\n  const results = await Promise.allSettled(tasks.map((task) =&gt; task()));\\n  const first = results.find((result) =&gt; result.status === 'fulfilled');\\n  return first ? first.value : null;\\n}&quot;,&quot;tests&quot;:[&quot;firstSuccessful([]) resolves to null&quot;,&quot;firstSuccessful([() =&gt; Promise.resolve('a'), () =&gt; Promise.resolve('b')]) resolves to 'a'&quot;,&quot;firstSuccessful([() =&gt; Promise.reject(new Error('x')), () =&gt; Promise.resolve('b')]) resolves to 'b' and does not throw&quot;,&quot;firstSuccessful([() =&gt; Promise.reject(new Error('x')), () =&gt; Promise.reject(new Error('y'))]) resolves to null&quot;,&quot;firstSuccessful([() =&gt; Promise.resolve(0), () =&gt; Promise.resolve(5)]) resolves to 0&quot;,&quot;firstSuccessful([() =&gt; Promise.resolve(false), () =&gt; Promise.resolve(true)]) resolves to false&quot;,&quot;firstSuccessful([() =&gt; Promise.resolve(''), () =&gt; Promise.resolve('z')]) resolves to ''&quot;,&quot;firstSuccessful([() =&gt; Promise.reject(new Error('x')), () =&gt; Promise.resolve(null)]) resolves to null (fulfilled null is returned as-is)&quot;,&quot;firstSuccessful([() =&gt; new Promise(r =&gt; setTimeout(() =&gt; r('slow'), 50)), () =&gt; Promise.resolve('fast')]) resolves to 'slow' (input order wins over settlement order)&quot;],&quot;remaining_risk&quot;:&quot;All tasks are started concurrently and the function waits for every task to settle before returning, so a slow task delays the result even when an earlier task has already fulfilled; a sequential or early-exit strategy would be needed if latency matters. A task that throws synchronously (rather than returning a rejected promise) will still cause the function to reject, since the contract assumes tasks return promises. Promise.allSettled requires ES2020 or a polyfill.&quot;}<\/pre><\/details><\/div>\n  <p class=\"test-note\">First-valid-output policy. Latency is wall-clock time through Anywhere, not native Anthropic latency. Token counts are provider-reported; no direct API cost is inferred from this route.<\/p>\n<\/section>\n\n\n\n<p class=\"wp-block-paragraph\">These Anywhere results show why model choice should follow the task instead of a single leaderboard. In GlobalGPT, you can apply the same comparison method to your own prompt across Claude and other leading models, then choose the output that best fits your quality bar, speed needs, and review workload.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How to reproduce the comparison fairly<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Freeze a representative task.<\/strong> Use the same intent, source material, tool access, and objective acceptance checks.<\/li>\n\n\n\n<li><strong>Record the first valid output.<\/strong> Do not quietly give one model extra retries in the primary comparison.<\/li>\n\n\n\n<li><strong>Separate quality from availability.<\/strong> Authentication, capacity, and route failures belong in an availability note, not the quality score.<\/li>\n\n\n\n<li><strong>Measure the whole workflow.<\/strong> Count elapsed time, reviewer effort, correction time, and failed-task recovery.<\/li>\n\n\n\n<li><strong>Choose the least expensive passing model.<\/strong> Re-test when prompts, tools, model versions, or failure costs change.<\/li>\n<\/ol>\n\n\n\n<h2 id=\"where-globalgpt-fits\" class=\"wp-block-heading\">Waar GlobalGPT van pas komt<\/h2>\n\n\n\n<aside class=\"chso-global\" aria-labelledby=\"chso-global-title\" style=\"margin:24px 0;padding:22px 24px;border:1px solid #cfd3d5;border-left:5px solid #1769aa;border-radius:8px;background:#f7f9fa;color:#202124\">\n  <style>\n    .chso-global{margin:24px 0;padding:22px 24px;border:1px solid #cfd3d5;border-left:5px solid #1769aa;border-radius:8px;background:#f7f9fa;color:#202124;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;letter-spacing:0}.chso-global *{box-sizing:border-box}.chso-global h3{margin:0 0 8px;font-size:22px}.chso-global p{margin:0;color:#45484c;line-height:1.6}.chso-global p+p{margin-top:10px}.chso-global a{color:#145b9d;font-weight:700;text-underline-offset:3px}@media(max-width:560px){.chso-global{padding:18px}}\n  <\/style>\n  <h3 id=\"chso-global-title\">Run the complete AI workflow from one dashboard<\/h3>\n  <p>GlobalGPT combines an affordable multi-model subscription with a broad set of AI functions in one dashboard. You can use Claude, GPT-5.6 Sol, Gemini 3 Pro, Kimi K3, and other leading models across research, writing, planning, analysis, coding, and refinement without moving the job between separate products.<\/p>\n  <p>Its CLI extends the same workspace into your terminal, development workflow, and existing production tools. <a href=\"https:\/\/www.glbgpt.com\/home?inviter=hub_content_home&amp;login=1\">Test your own prompt across leading models<\/a> when comparison helps, then keep the chosen model inside the larger workflow instead of treating side-by-side output as the destination.<\/p>\n<\/aside>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-fable-5-1-where-it-fits-2026-09-08-16x9-1-1.webp\" alt=\"Anthropic guidance on when to choose Claude Fable 5.1 instead of Opus 5\" class=\"wp-image-19066\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-fable-5-1-where-it-fits-2026-09-08-16x9-1-1.webp 1600w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-fable-5-1-where-it-fits-2026-09-08-16x9-1-1-300x169.webp 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-fable-5-1-where-it-fits-2026-09-08-16x9-1-1-1024x576.webp 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-fable-5-1-where-it-fits-2026-09-08-16x9-1-1-768x432.webp 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-fable-5-1-where-it-fits-2026-09-08-16x9-1-1-1536x864.webp 1536w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/claude-fable-5-1-where-it-fits-2026-09-08-16x9-1-1-18x10.webp 18w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><figcaption class=\"wp-element-caption\">Anthropic positions Fable 5.1 for demanding work when higher-effort Opus 5 evaluations still fall short.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">For a deeper look at the upper tiers, continue to our <a href=\"https:\/\/www.glbgpt.com\/hub\/claude-opus-5-vs-fable-5-vs-sonnet-5\/\">advanced Claude model comparison<\/a> or explore the dedicated <a href=\"https:\/\/www.glbgpt.com\/hub\/claude-fable-5-1\/\">Claude Fable 5.1-handleiding<\/a>.<\/p>\n\n\n\n<h2 id=\"faq\" class=\"wp-block-heading\">Veelgestelde vragen<\/h2>\n\n\n\n<section class=\"chso-faq\" aria-label=\"Claude model frequently asked questions\" style=\"margin:22px 0;border-top:1px solid #d7d8d4\">\n  <style>\n    .chso-faq{margin:22px 0;border-top:1px solid #d7d8d4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;letter-spacing:0}.chso-faq details{border-bottom:1px solid #d7d8d4;padding:0}.chso-faq summary{cursor:pointer;padding:17px 4px;font-weight:750;color:#202124}.chso-faq summary::marker{color:#1769aa}.chso-faq p{margin:0;padding:0 4px 18px;color:#474b4f;line-height:1.65}.chso-faq a{color:#145b9d}@media(max-width:560px){.chso-faq summary{padding-top:15px;padding-bottom:15px}}\n  <\/style>\n  <details><summary>What are the current Claude models?<\/summary><p>As of September 8, 2026, Anthropic&#8217;s active lineup includes Claude Haiku 4.5, Claude Sonnet 5, Claude Opus 5, and Claude Fable 5.1. Exact versions and model IDs can change, so recheck the official model overview before deployment.<\/p><\/details>\n  <details><summary>What is the difference between Claude Haiku, Sonnet, and Opus?<\/summary><p>Haiku prioritizes speed and low base token cost, Sonnet balances speed and capability for everyday work, and Opus prioritizes capability for complex or high-consequence tasks. The right choice depends on your workload and verification cost, not an absolute ranking.<\/p><\/details>\n  <details><summary>Which Claude model should I use for most tasks?<\/summary><p>Start with Sonnet 5 for most everyday writing, analysis, coding, visual understanding, and tool-using work. Start with Opus 5 instead when failure is expensive or the work requires deeper reasoning and harder verification.<\/p><\/details>\n  <details><summary>Welk Claude-model is het meest geschikt voor codering?<\/summary><p>Sonnet 5 is a practical starting point for everyday coding with normal review and tests. Use Opus 5 for difficult diagnosis, complex agentic coding, long-horizon execution, or changes that are costly to get wrong.<\/p><\/details>\n  <details><summary>Which Claude model is best for writing?<\/summary><p>Sonnet 5 is the balanced starting point for most drafting and editing. Haiku 4.5 can fit high-volume, tightly structured copy, while Opus 5 can be worth testing for difficult synthesis or high-stakes material that is hard to verify.<\/p><\/details>\n  <details><summary>Is Claude Sonnet better than Opus?<\/summary><p>Not universally. Sonnet 5 is faster and cheaper at base API rates, while Anthropic positions Opus 5 for more complex work. The better model is the least expensive option that reliably passes your own acceptance checks.<\/p><\/details>\n  <details><summary>Is Claude Fable replacing Opus?<\/summary><p>No. Anthropic positions Fable 5.1 as an escalation tier for demanding reasoning or long-running agent work when higher-effort Opus 5 still falls short, not as a universal replacement for Opus.<\/p><\/details>\n  <details><summary>Do Claude.ai and the Claude API have the same context window?<\/summary><p>No. Claude.ai plan limits and API model specifications are separate. Anthropic&#8217;s individual plan table currently lists a 200K context window, while the API documentation lists 1M context for Sonnet 5, Opus 5, and Fable 5.1.<\/p><\/details>\n  <details><summary>When should I upgrade from Haiku to Sonnet or Opus?<\/summary><p>Upgrade when failed acceptance checks, difficult edge cases, correction time, verification effort, or the cost of an error outweigh the lower model&#8217;s speed and token-price advantage. Move back down when a cheaper model repeatedly passes the same frozen checks.<\/p><\/details>\n  <details><summary>How much do Claude Haiku, Sonnet, and Opus cost through the API?<\/summary><p>At Anthropic&#8217;s base rates verified September 8, 2026, Haiku 4.5 costs $1 input and $5 output, Sonnet 5 costs $2 and $10, and Opus 5 costs $5 and $25 per million tokens. See Anthropic&#8217;s <a href=\"https:\/\/platform.claude.com\/docs\/en\/about-claude\/pricing\">offici\u00eble prijspagina<\/a> for current rates and additional pricing modes.<\/p><\/details>\n<\/section>\n<script type=\"application\/ld+json\">{\n    \"@context\": \"https:\\\/\\\/schema.org\",\n    \"@type\": \"FAQPage\",\n    \"mainEntity\": [\n        {\n            \"@type\": \"Question\",\n            \"name\": \"What are the current Claude models?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"As of September 8, 2026, Anthropic's active lineup includes Claude Haiku 4.5, Claude Sonnet 5, Claude Opus 5, and Claude Fable 5.1. Exact versions and model IDs can change, so recheck the official model overview before deployment.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"What is the difference between Claude Haiku, Sonnet, and Opus?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"Haiku prioritizes speed and low base token cost, Sonnet balances speed and capability for everyday work, and Opus prioritizes capability for complex or high-consequence tasks. The right choice depends on your workload and verification cost, not an absolute ranking.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"Which Claude model should I use for most tasks?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"Start with Sonnet 5 for most everyday writing, analysis, coding, visual understanding, and tool-using work. Start with Opus 5 instead when failure is expensive or the work requires deeper reasoning and harder verification.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"Which Claude model is best for coding?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"Sonnet 5 is a practical starting point for everyday coding with normal review and tests. Use Opus 5 for difficult diagnosis, complex agentic coding, long-horizon execution, or changes that are costly to get wrong.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"Which Claude model is best for writing?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"Sonnet 5 is the balanced starting point for most drafting and editing. Haiku 4.5 can fit high-volume, tightly structured copy, while Opus 5 can be worth testing for difficult synthesis or high-stakes material that is hard to verify.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"Is Claude Sonnet better than Opus?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"Not universally. Sonnet 5 is faster and cheaper at base API rates, while Anthropic positions Opus 5 for more complex work. The better model is the least expensive option that reliably passes your own acceptance checks.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"Is Claude Fable replacing Opus?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"No. Anthropic positions Fable 5.1 as an escalation tier for demanding reasoning or long-running agent work when higher-effort Opus 5 still falls short, not as a universal replacement for Opus.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"Do Claude.ai and the Claude API have the same context window?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"No. Claude.ai plan limits and API model specifications are separate. Anthropic's individual plan table currently lists a 200K context window, while the API documentation lists 1M context for Sonnet 5, Opus 5, and Fable 5.1.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"When should I upgrade from Haiku to Sonnet or Opus?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"Upgrade when failed acceptance checks, difficult edge cases, correction time, verification effort, or the cost of an error outweigh the lower model's speed and token-price advantage. Move back down when a cheaper model repeatedly passes the same frozen checks.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"How much do Claude Haiku, Sonnet, and Opus cost through the API?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"At Anthropic's base rates verified September 8, 2026, Haiku 4.5 costs $1 input and $5 output, Sonnet 5 costs $2 and $10, and Opus 5 costs $5 and $25 per million tokens. See Anthropic's official pricing page for current rates and additional pricing modes.\"\n            }\n        }\n    ]\n}<\/script>\n\n\n\n<h2 id=\"final-verdict\" class=\"wp-block-heading\">Final Verdict: Start with the Cheapest Model That Passes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For general mixed work, Sonnet 5 remains the most practical default, and it was the only model to pass every launch-note constraint in our test. Opus 5 and Fable 5.1 matched Sonnet&#8217;s 26.5\/30 total through different strengths, while Haiku 4.5 could not be scored because the Anywhere route returned 503 for every permitted attempt. Treat these results as workload evidence, not a permanent universal ranking.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Your next step is simple: freeze one real task, define what a passing result looks like, run each serious candidate under comparable conditions, and include correction time in the final cost. The winning model is the least expensive one that passes reliably, not the one with the lowest token rate or the highest tier name.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GlobalGPT makes that method part of a broader, affordable AI workflow. Use Claude, GPT-5.6 Sol, Gemini 3 Pro, Kimi K3, and other leading models with multiple AI functions in one dashboard, then carry the work into your terminal, development workflow, and existing production tools through the GlobalGPT CLI. Side-by-side testing helps you choose; the larger advantage is keeping the complete workflow connected.<\/p>","protected":false},"excerpt":{"rendered":"<p>A practical 2026 guide to choosing by speed, API cost, context, task complexity, and the cost of a wrong answer. For most everyday writing, analysis, coding, and tool-using work, start with Claude Sonnet 5. Choose Haiku 4.5 when low latency and high volume matter more than handling difficult edge cases. Choose Opus 5 when the [&hellip;]<\/p>","protected":false},"author":7,"featured_media":19064,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"Claude Haiku vs Sonnet vs Opus: Which Claude Model Should You Use?","_seopress_titles_desc":"Compare Claude Haiku 4.5, Sonnet 5, and Opus 5 by speed, API cost, context, and failure risk, with a practical guide to where Fable 5.1 fits today.","_seopress_robots_index":"","footnotes":""},"categories":[7],"tags":[],"class_list":["post-19049","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-chat"],"_links":{"self":[{"href":"https:\/\/wp.glbgpt.com\/nl\/wp-json\/wp\/v2\/posts\/19049","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.glbgpt.com\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.glbgpt.com\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.glbgpt.com\/nl\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.glbgpt.com\/nl\/wp-json\/wp\/v2\/comments?post=19049"}],"version-history":[{"count":2,"href":"https:\/\/wp.glbgpt.com\/nl\/wp-json\/wp\/v2\/posts\/19049\/revisions"}],"predecessor-version":[{"id":19068,"href":"https:\/\/wp.glbgpt.com\/nl\/wp-json\/wp\/v2\/posts\/19049\/revisions\/19068"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wp.glbgpt.com\/nl\/wp-json\/wp\/v2\/media\/19064"}],"wp:attachment":[{"href":"https:\/\/wp.glbgpt.com\/nl\/wp-json\/wp\/v2\/media?parent=19049"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.glbgpt.com\/nl\/wp-json\/wp\/v2\/categories?post=19049"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.glbgpt.com\/nl\/wp-json\/wp\/v2\/tags?post=19049"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}