Skip to content

feat(web): add Claude Opus 4.7 to model list#651

Open
xPeiPeix wants to merge 1 commit into
The-Vibe-Company:mainfrom
xPeiPeix:feat/add-opus-4-7
Open

feat(web): add Claude Opus 4.7 to model list#651
xPeiPeix wants to merge 1 commit into
The-Vibe-Company:mainfrom
xPeiPeix:feat/add-opus-4-7

Conversation

@xPeiPeix
Copy link
Copy Markdown

Summary

Anthropic released Claude Opus 4.7 (claude-opus-4-7) on 2026-04-16, but the static CLAUDE_MODELS fallback in web/src/utils/backends.ts still tops out at Opus 4.6. This PR adds the new model as the first entry so it becomes the default selection for Claude backends when the dynamic model list is unavailable.

Changes

  • web/src/utils/backends.ts — prepend { value: "claude-opus-4-7", label: "Opus 4.7", icon: "" } to CLAUDE_MODELS.
 export const CLAUDE_MODELS: ModelOption[] = [
+  { value: "claude-opus-4-7", label: "Opus 4.7", icon: "" },
   { value: "claude-opus-4-6", label: "Opus 4.6", icon: "" },
   { value: "claude-sonnet-4-6", label: "Sonnet 4.6", icon: "" },
   { value: "claude-haiku-4-5-20251001", label: "Haiku 4.5", icon: "" },
 ];

Notes

  • The label follows the existing convention used for Opus/Sonnet 4.6 (no dated suffix); only Haiku keeps the dated alias because that's how the published model ID is spelled.
  • This only touches the static fallback. toModelOptions() + dynamic BackendModelInfo fetching paths are untouched, so any backend that already reports 4.7 will continue to override the fallback as before.
  • getDefaultModel() transparently picks up the new entry because it returns CLAUDE_MODELS[0].value.
  • Test fixtures referencing older Opus IDs were intentionally left alone to avoid unrelated churn.

Test plan

  • bun test (Claude backend tests) still passes with the new entry
  • Frontend ModelSwitcher renders "Opus 4.7" as the top option for the Claude backend
  • New Claude sessions default to claude-opus-4-7 when no dynamic list is available

Opus 4.7 (claude-opus-4-7) was released by Anthropic on 2026-04-16.
Add it to the static CLAUDE_MODELS fallback as the first entry so it
becomes the default model for Claude backends.

Dynamic model lists fetched from the backend remain unaffected.
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 17, 2026

@xPeiPeix is attempting to deploy a commit to the The Vibe Company Team on Vercel.

A member of the Team first needs to authorize it.

Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

No issues found across 1 file

croll83 added a commit to croll83/companion that referenced this pull request Apr 28, 2026
Two fixes for PR The-Vibe-Company#647 that didn't fully land:

1. Code-block copy button was invisible on mobile because it relied on
   hover state (opacity-70 hover:opacity-100) and also used `text-gray-500
   hover:bg-gray-100` which had poor contrast on the code-block background.
   Switch to theme-aware colors (text-cc-muted, hover:bg-cc-fg/[0.06]) and
   force opacity-100 on mobile, fading to 0.7 only on >=sm breakpoints.

2. Add a message-level copy button under each completed assistant turn.
   PR The-Vibe-Company#647's description claimed this was implemented but only the code-
   block button shipped. The new MessageActions row is always visible on
   mobile (60% opacity → 100% on hover at desktop) and copies the
   concatenated text from the message's text blocks.

Also unrelated test fixes from PR The-Vibe-Company#651: existing dropdown tests used /Opus/
which now matches both Opus 4.7 and Opus 4.6, and the default-model
assertion in HomePage was still claude-opus-4-6 instead of the new -4-7.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant