Skip to content

Add Anthropic Claude Haiku 5.5 API support - #1116

Merged
PeterDaveHello merged 1 commit into
ChatGPTBox-dev:masterfrom
hamzahamidi:feat/add-anthropic-haiku-5-5-api
Oct 8, 2026
Merged

PeterDaveHello merged 1 commit into
ChatGPTBox-dev:masterfrom
hamzahamidi:feat/add-anthropic-haiku-5-5-api

Conversation

@hamzahamidi

@hamzahamidi hamzahamidi commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Expose Claude Haiku 5.5 through the Anthropic API with model ID claude-haiku-5-5.

Changes

Register Claude Haiku 5.5 as a selectable Anthropic API model and make it the default Haiku option. Claude Haiku 4.5 remains selectable.

Omit custom temperature overrides for Haiku 5.5. Leave thinking unset so the API uses its default adaptive thinking behavior.

Add regression coverage for model group registration, default selection, display labels, request parameters, provider qualified IDs, and model family matching.

Localization

Add the English locale entry. Other locales continue to use the existing English fallback for untranslated model labels.

Validation

npm run pretty passed.

npm test passed with 1,102 tests.

npm run lint passed.

npm run build passed.

Manual browser smoke testing was not run.

References

https://www.anthropic.com/claude-haiku-5-5
https://platform.claude.com/docs/en/models/haiku-5-5/overview

Summary by CodeRabbit

  • New Features
    • Added Anthropic Claude Haiku 5.5 as a selectable model and made it the default Haiku model.
  • Bug Fixes
    • Custom temperature settings are omitted for Claude Haiku 5.5 models, including dated and free variants.

@coderabbitai

coderabbitai Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f0e3e388-e960-4cc2-996c-450a472c3e4f
📥 Commits

Reviewing files that changed from the base of the PR and between cb4e2a7 and e2d2d12.

📒 Files selected for processing (7)
  • src/_locales/en/main.json
  • src/config/index.mjs
  • src/services/apis/temperature-params.mjs
  • tests/unit/config/config-predicates.test.mjs
  • tests/unit/services/apis/claude-api.test.mjs
  • tests/unit/services/apis/temperature-params.test.mjs
  • tests/unit/utils/model-name-convert.test.mjs

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

The model catalog adds Claude Haiku 5.5 and makes it a default API mode. Haiku 4.5 remains selectable. Temperature overrides are excluded for recognized Haiku 5.5 model IDs, with tests covering model registration and temperature handling.

Changes

Claude Haiku 5.5 support

Layer / File(s) Summary
Register Claude Haiku 5.5
src/config/index.mjs, src/_locales/en/main.json, tests/unit/config/config-predicates.test.mjs, tests/unit/utils/model-name-convert.test.mjs
Adds the Haiku 5.5 model key, model definition, English label, and default API mode entry. Tests check its default status, Haiku 4.5 selectability, and display description.
Exclude custom temperature overrides
src/services/apis/temperature-params.mjs, tests/unit/services/apis/claude-api.test.mjs, tests/unit/services/apis/temperature-params.test.mjs
Adds Haiku 5.5 IDs to the temperature-override exclusion rules. Tests cover provider-prefixed, dated, and :free formats, plus similar IDs that retain overrides.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Feature

Suggested reviewers: peterdavehello

Merge Risk: ⚪ Minimal · up to e2d2d

The supplied change context identifies no concrete issue that should block merging; the reported checks passed, though manual browser smoke testing was not performed.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: adding Anthropic Claude Haiku 5.5 API support.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 6…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@hamzahamidi
hamzahamidi marked this pull request as ready for review October 7, 2026 19:09
@hamzahamidi
hamzahamidi force-pushed the feat/add-anthropic-haiku-5-5-api branch from 93b2730 to 576cfb0 Compare October 7, 2026 19:10

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@hamzahamidi
hamzahamidi marked this pull request as draft October 7, 2026 19:10
@qodo-code-review

qodo-code-review Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

PR Summary by Qodo

Add Claude Haiku 5.5 to the Anthropic API models

✨ Enhancement 🧪 Tests 🕐 10-20 Minutes

Grey Divider

AI Description

• Add Claude Haiku 5.5 as the default Haiku API option while retaining Haiku 4.5.
• Omit custom temperature and thinking settings so Haiku 5.5 uses API defaults.
• Add an English label and regression tests for selection, model identification, and requests.
Diagram

graph TD
  A["API defaults"] --> B["Model registry"] --> C["Claude handler"] --> D["Temperature policy"] --> E["Anthropic API"]
  F["English label"] --> B
Loading
High-Level Assessment

Extend the existing model registry and shared temperature policy. A separate Haiku request path or dynamic model discovery would add complexity without improving this single-model integration.

Files changed (7) +30 / -2

Enhancement (2) +7 / -1
index.mjsRegister Haiku 5.5 and make it the default Haiku option +6/-1

Register Haiku 5.5 and make it the default Haiku option

• Adds the 'claude-haiku-5-5' preset to the Claude API model group and replaces Haiku 4.5 in the default API model list. Haiku 4.5 remains selectable.

src/config/index.mjs

temperature-params.mjsSuppress custom temperature for Haiku 5.5 +1/-0

Suppress custom temperature for Haiku 5.5

• Adds Haiku 5.5 to the model families that do not receive a custom temperature override.

src/services/apis/temperature-params.mjs

Tests (4) +22 / -1
config-predicates.test.mjsVerify Haiku registration and default selection +11/-1

Verify Haiku registration and default selection

• Checks Claude API group recognition, the Haiku 5.5 default, and continued availability of Haiku 4.5.

tests/unit/config/config-predicates.test.mjs

claude-api.test.mjsVerify Haiku 5.5 request parameters +1/-0

Verify Haiku 5.5 request parameters

• Adds Haiku 5.5 to request tests that check the model ID and absence of custom temperature and thinking fields.

tests/unit/services/apis/claude-api.test.mjs

temperature-params.test.mjsCover Haiku 5.5 temperature-policy matching +6/-0

Cover Haiku 5.5 temperature-policy matching

• Tests direct, provider-qualified, dated, and suffixed Haiku 5.5 IDs. Also checks that similar but unrelated names still permit temperature overrides.

tests/unit/services/apis/temperature-params.test.mjs

model-name-convert.test.mjsVerify the Haiku 5.5 preset description +4/-0

Verify the Haiku 5.5 preset description

• Checks that the new preset resolves to its Anthropic display label.

tests/unit/utils/model-name-convert.test.mjs

Other (1) +1 / -0
main.jsonAdd the English Haiku 5.5 display label +1/-0

Add the English Haiku 5.5 display label

• Adds the English locale entry for the new Anthropic model label. Untranslated locales continue to use the existing fallback.

src/_locales/en/main.json

@qodo-code-review

qodo-code-review Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Remediation recommended

1. Other locales lack the new model label ✗ Dismissed
Description
The new model label is added only to src/_locales/en/main.json, while the 12 other loaded locale
files omit the key. Selecting the model under any of those locales reaches i18next's English
fallback without a locale entry or placeholder, leaving the new label untranslated and preventing
locale completeness checks from seeing it.
Code

src/_locales/en/main.json[212]

+  "Anthropic (Claude Haiku 5.5)": "Anthropic (Claude Haiku 5.5)",
Evidence
The changed English locale line introduces the new user-facing model label.
src/_locales/resources.mjs loads twelve additional locale files, and repository inspection shows
the new key is absent from those files, so the change does not provide the required locale entries
or placeholders.

Rule 2262059: Add new English localization keys before other locales
src/_locales/en/main.json[212-212]
src/_locales/resources.mjs[1-13]
src/_locales/fr/main.json[1-178]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The new `Anthropic (Claude Haiku 5.5)` localization key exists only in the English locale, while every other supported locale is loaded as an independent translation resource. Add the key to each supported locale using a translation or the project's clearly marked English fallback convention.

## Fix Focus Areas
- src/_locales/de/main.json[1-1]
- src/_locales/es/main.json[1-1]
- src/_locales/fr/main.json[1-1]
- src/_locales/id/main.json[1-1]
- src/_locales/it/main.json[1-1]
- src/_locales/ja/main.json[1-1]
- src/_locales/ko/main.json[1-1]
- src/_locales/pt/main.json[1-1]
- src/_locales/ru/main.json[1-1]
- src/_locales/tr/main.json[1-1]
- src/_locales/zh-hans/main.json[1-1]
- src/_locales/zh-hant/main.json[1-1]

## Recommended Fix
Add `Anthropic (Claude Haiku 5.5)` to every supported locale file, using a proper translation where available or the repository's established placeholder convention where it is not.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Context sources
✅ Compliance rules (platform): 6 rules
Review mode: Auto: ⚖️ Balanced: Adds an API model and changes defaults and request parameter behavior.

Grey Divider

Tip of the day
💡 Did you know, you can keep summaries lean with Findings visible per group, which tucks the rest behind a View link

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Previous reviews

Review updated until commit e2d2d12

Results up to commit 93b2730 ⚖️ Balanced


🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0) 🎨 UX issues (0) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)


Remediation recommended
1. Other locales lack the new model label ✗ Dismissed
Description
The new model label is added only to src/_locales/en/main.json, while the 12 other loaded locale
files omit the key. Selecting the model under any of those locales reaches i18next's English
fallback without a locale entry or placeholder, leaving the new label untranslated and preventing
locale completeness checks from seeing it.
Code

src/_locales/en/main.json[212]

+  "Anthropic (Claude Haiku 5.5)": "Anthropic (Claude Haiku 5.5)",
Evidence
The changed English locale line introduces the new user-facing model label.
src/_locales/resources.mjs loads twelve additional locale files, and repository inspection shows
the new key is absent from those files, so the change does not provide the required locale entries
or placeholders.

Rule 2262059: Add new English localization keys before other locales
src/_locales/en/main.json[212-212]
src/_locales/resources.mjs[1-13]
src/_locales/fr/main.json[1-178]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The new `Anthropic (Claude Haiku 5.5)` localization key exists only in the English locale, while every other supported locale is loaded as an independent translation resource. Add the key to each supported locale using a translation or the project's clearly marked English fallback convention.

## Fix Focus Areas
- src/_locales/de/main.json[1-1]
- src/_locales/es/main.json[1-1]
- src/_locales/fr/main.json[1-1]
- src/_locales/id/main.json[1-1]
- src/_locales/it/main.json[1-1]
- src/_locales/ja/main.json[1-1]
- src/_locales/ko/main.json[1-1]
- src/_locales/pt/main.json[1-1]
- src/_locales/ru/main.json[1-1]
- src/_locales/tr/main.json[1-1]
- src/_locales/zh-hans/main.json[1-1]
- src/_locales/zh-hant/main.json[1-1]

## Recommended Fix
Add `Anthropic (Claude Haiku 5.5)` to every supported locale file, using a proper translation where available or the repository's established placeholder convention where it is not.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

Comment thread src/_locales/en/main.json

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found.

Reviewed changes

Adds Anthropic Claude Haiku 5.5 (claude-haiku-5-5) as a direct Anthropic API model and makes it the default Haiku option, while leaving Haiku 4.5 selectable.

  • Model registration — claudeHaiku55Api added to claudeApiModelKeys, given a Models entry (claude-haiku-5-5, desc Anthropic (Claude Haiku 5.5)), and substituted for claudeHaiku45Api in defaultApiModeIds. This mirrors the claudeOpus55Api / claudeSonnet55Api registration exactly, and isUsingClaudeApiModel routes the key to generateAnswersWithClaudeApi via group membership.
  • Temperature opt-out — claude-haiku-5-5 added to MODELS_WITHOUT_CUSTOM_TEMPERATURE, which also drives canApplyTemperatureOverride in AdvancedPart.jsx (that path resolves the model value, so the entry matches).
  • Localization — English label added to src/_locales/en/main.json; other locales fall back to English via fallbackLng: 'en', per the repo's no-duplicate-model-labels policy.
  • Tests — the Claude API request test gains ['claudeHaiku55Api', 'claude-haiku-5-5'] (asserts temperature and thinking are both omitted), and the temperature normalization test gains claude-haiku-5-5 plus provider-qualified anthropic/claude-haiku-5.5.

I verified the new key is registered everywhere its 5.5 siblings are, that leaving thinking unset matches how claude-opus-5-5 is handled (getThinkingConfig only special-cases the Sonnet 5.x entries), and that src/_locales/en/main.json still parses.

Pullfrog  | View workflow run | Using deepseek-v4.1-flash (free via Pullfrog for OSS) | 𝕏

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found.

Reviewed changes (delta against prior pullfrog review)

The only change since the prior review is a history squash: 93b2730 + 048784b were collapsed into a single commit 576cfb0. All five changed-file blob hashes are identical to the previously reviewed tree, so there is no new code to evaluate — the findings from the prior review at 93b2730 still hold.

  • No content delta — src/_locales/en/main.json, src/config/index.mjs, src/services/apis/temperature-params.mjs, tests/unit/services/apis/claude-api.test.mjs, and tests/unit/services/apis/temperature-params.test.mjs are unchanged.

The Haiku 5.5 model key is registered at every point its claudeOpus55Api / claudeSonnet55Api siblings are, routes via isUsingClaudeApiModel, and the temperature opt-out drives both the request body and the AdvancedPart UI toggle. Approved.

Pullfrog  | View workflow run | Using deepseek-v4.1-flash (free via Pullfrog for OSS) | 𝕏

Expose the current Haiku model to users who want a faster, lower cost choice through the existing Claude API integration.
@hamzahamidi
hamzahamidi force-pushed the feat/add-anthropic-haiku-5-5-api branch from 576cfb0 to e2d2d12 Compare October 7, 2026 19:12

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found.

Reviewed changes (delta against prior pullfrog review)

The only change since the prior review at 576cfb0 is a test-only commit — no runtime source was touched. The Haiku 5.5 registration itself was already reviewed and approved; this delta hardens its regression coverage.

  • Config predicate coverage — tests/unit/config/config-predicates.test.mjs gains claudeHaiku55Api in the representative Claude list and a new test asserting the default set includes 5.5, excludes 4.5, and that claudeHaiku45Api remains in claudeApiModelKeys (selectable).
  • Temperature ID-format coverage — tests/unit/services/apis/temperature-params.test.mjs adds the snapshot (claude-haiku-5-5-20261007) and :free (anthropic/claude-haiku-5.5:free) forms to the omit list, plus negative assertions (claude-haiku-5-50, my-claude-haiku-5-5) confirming the family matcher does not over-match.
  • Desc mapping coverage — tests/unit/utils/model-name-convert.test.mjs asserts claudeHaiku55Api → Anthropic (Claude Haiku 5.5).

I ran the four affected suites (node --import ./tests/setup/browser-shim.mjs --test): 150/150 pass. Each new test fails if the underlying registration is reverted — none are tautological.

Pullfrog  | View workflow run | Using deepseek-v4.1-flash (free via Pullfrog for OSS) | 𝕏

@hamzahamidi
hamzahamidi marked this pull request as ready for review October 7, 2026 19:16

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@qodo-code-review

Copy link
Copy Markdown
Contributor

Code review by qodo was updated up to the latest commit e2d2d12

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Required manual browser smoke validation remains incomplete.

0 open findings

What changed in this PR

Adds Claude Haiku 5.5 support to the Anthropic API model catalog.

Changes:

  • Registers Haiku 5.5 and makes it the default Haiku option.
  • Omits unsupported temperature overrides while preserving adaptive thinking defaults.
  • Adds localization and regression coverage.
File Description
src/​config/​index.mjs Registers and defaults Haiku 5.5.
src/​services/​apis/​temperature-params.mjs Disables custom temperature for Haiku 5.5.
src/​_locales/​en/​main.json Adds the English display label.
tests/​unit/​config/​config-predicates.test.mjs Covers registration and defaults.
tests/​unit/​services/​apis/​claude-api.test.mjs Verifies Anthropic request parameters.
tests/​unit/​services/​apis/​temperature-params.test.mjs Covers model-family matching.
tests/​unit/​utils/​model-name-convert.test.mjs Verifies the display description.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@hamzahamidi

Copy link
Copy Markdown
Contributor Author

@PeterDaveHello you gonna merge it?

@PeterDaveHello
PeterDaveHello merged commit f41bfc8 into ChatGPTBox-dev:master Oct 8, 2026
9 checks passed
@PeterDaveHello

Copy link
Copy Markdown
Member

Thank you for the contribution, PR merged!

@hamzahamidi
hamzahamidi deleted the feat/add-anthropic-haiku-5-5-api branch October 8, 2026 18:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants