Skip to content

Bedrock startup sometimes shows raw model id (eu.anthropic...) instead of model name #137

@adithya-n05

Description

@adithya-n05

Summary

When Claude Code starts a session on AWS Bedrock and model.display_name is not yet present in stdin, Claude HUD shows the raw Bedrock model ID (for example eu.anthropic.claude-opus-4-5-20251101-v1:0) in the statusline instead of a readable model name.

Steps to Reproduce

  1. Install current main version of Claude HUD.
  2. Run Claude Code with a Bedrock-backed model where startup frames may include only model.id.
  3. Or reproduce directly with stdin:
echo '{"model":{"id":"eu.anthropic.claude-opus-4-5-20251101-v1:0"},"cwd":"/tmp","context_window":{"current_usage":{"input_tokens":1000},"context_window_size":200000}}' | node dist/index.js
  1. Observe the rendered first line.

Expected Behavior

Model label should remain human-readable (for example Opus, Sonnet, or an intentionally normalized Bedrock model label), not the raw provider-qualified model ID.

Actual Behavior

HUD shows:

[eu.anthropic.claude-opus-4-5-20251101-v1:0 | Bedrock]

This is noisy and appears intermittently during startup depending on whether display_name is present yet.

Environment

  • OS: macOS
  • Node/Bun version: Node.js 22.x
  • Claude Code version: 2.x

Logs or Screenshots

Observed behavior maps to current fallback logic:

  • src/stdin.ts:
    • getModelName() currently returns stdin.model?.display_name ?? stdin.model?.id ?? 'Unknown'
  • Bedrock detection and provider label are already correct (Bedrock), so the issue is specifically model display fallback when display_name is missing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions