Skip to content

Mobile app model selection not passed to daemon spawn command #158

@mark9232

Description

@mark9232

Bug Description

When selecting a model (e.g., Sonnet) in the Happy Coder mobile app before spawning a session, the model selection is not passed to the daemon. The session starts with the default model (Opus 4.5) instead of the selected model.

Steps to Reproduce

  1. Open Happy Coder mobile app
  2. Select "Sonnet" as the model
  3. Start a new session
  4. Check the model being used (it will be Opus 4.5, not Sonnet)

Evidence from Daemon Logs

The spawn command received by the daemon shows no model field:

[API MACHINE] Spawning session with params: {"type":"spawn-in-directory","directory":"/home/dell/.claude/workspace","approvedNewDirectoryCreation":true,"agent":"claude"}

The params payload is encrypted in the logs (AJ+VVjq1v5CZ...), but the decoded spawn params don't include a model field.

Expected Behavior

The spawn params should include the selected model:

{"type":"spawn-in-directory","directory":"...","agent":"claude","model":"sonnet"}

Or the daemon should spawn with --model sonnet flag.

Actual Behavior

Model selection from mobile app is ignored. Session defaults to Opus 4.5.

Environment

  • Happy Coder CLI: 0.13.0
  • Claude Code: 2.1.31
  • Platform: Linux (Ubuntu/Mint)
  • Mobile App: iOS (version unknown)

Impact

  • Users think they're using Sonnet (lower cost) but are charged for Opus
  • Context compaction can preserve stale "wrong model" discussions, compounding confusion
  • Session context doesn't match user expectations

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions