Skip to content

Critical: iOS mobile UI uses expensive legacy models (Opus 4.1, Sonnet 4) instead of newer versions #471

Closed as not planned

Description

@sstraus

Description

When forcing a model selection from the iOS mobile UI, Happy uses legacy expensive models instead of the current generation models.

Expected behavior:

  • Selecting "Opus" should use: claude-opus-4.5 (model ID: claude-opus-4-5-20251101)
  • Selecting "Sonnet" should use: claude-sonnet-4.5 (model ID: claude-sonnet-4-5-20250929)

Actual behavior:

  • Selecting "Opus" uses: claude-opus-4.1 (significantly more expensive)
  • Selecting "Sonnet" uses: claude-sonnet-4 (legacy model)

Impact

This is a critical issue because:

  1. Cost impact: Opus 4.1 costs significantly more than Opus 4.5
  2. No visibility: There's no way to know which model is actually active from the UI
  3. Silent failure: The /model command produces no output, making it impossible to verify the active model
  4. User expectation mismatch: Users expect to use the latest models when selecting a model tier

Environment

  • Platform: iOS mobile UI
  • Happy version: 1.5.0
  • Device: iOS

Steps to Reproduce

  1. Open Happy on iOS mobile
  2. Force select a model (Opus or Sonnet) from the UI
  3. The system uses legacy models instead of current generation
  4. Run /model command - no output is shown to verify

Suggested Fix

  1. Update model selection mapping to use latest model IDs:
    • Opus → claude-opus-4-5-20251101
    • Sonnet → claude-sonnet-4-5-20250929
  2. Fix /model command to display output showing active model
  3. Add UI indicator showing which model is currently active
  4. Add release notes when model defaults change

Additional Context

This affects user trust and cost management, especially since there's no feedback mechanism to verify which model is actually being used.

Activity

  1. sstraus commented on Jan 25, 2026

    @sstraus
    ContributorAuthor

    You can validate by forcing a model and asking “which model are you using?”

  2. fwx commented on Jan 27, 2026

    @fwx

    Using Claude Code v1.0.110 from npm

    Getting kinda the same stuff. When I open any folder with happy and doing /model I am getting only Opus 4.1 and Sonnet 4.

    Image

    If "Opus" is selected via Model menu in the iOS app and asked what model is this:

    Image

    Feels like it's always falling back to Opus 4.1

    Running the same /model command via claude resulting this:

    Image
  3. fwx commented on Jan 27, 2026

    @fwx

    Fixed it myself. Seems like some kind of installation issue:

      ❯   npm update -g @anthropic-ai/claude-code
      npm error code ENOTEMPTY
      npm error syscall rename
    
    1. sudo rm -rf /opt/homebrew/lib/node_modules/@anthropic-ai/claude-code

    2. npm update -g @anthropic-ai/claude-code

    3. Run happy
      Get opus 4.5

    Now I am getting "Using Claude Code from native installer" instead of "Using Claude Code v1.0.110 from npm" from happy @sstraus

  4. sstraus commented on Jan 27, 2026

    @sstraus
    ContributorAuthor

    I'll try. My goal is to start with sonnet, not opus, by default; that's where the problem starts. At first run works with the expected cli model, if you change, then it falls back to the old versions.

  5. moved this from Backlog to Done in roadmapon Jun 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    • Status
      Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions