[BUG] /model command accepts arbitrary text instead of validating model names

Resolved 💬 2 comments Opened Jul 27, 2025 by nijaru Closed Sep 9, 2025

Bug Description

Environment

  • Platform (select one):
  • [x] Anthropic API
  • [ ] AWS Bedrock
  • [ ] Google Vertex AI
  • [ ] Other: <!-- specify -->
  • Claude CLI version: 1.0.61 (Claude Code)
  • Operating System: macOS 15.5 (24F74)
  • Terminal: Ghostty 1.1.3

Bug Description

The /model command accepts any arbitrary text as a model name instead of validating that the input is a recognized model (default, opus, or sonnet). This allows users to set invalid model names that likely won't work.

Steps to Reproduce

  1. Open Claude Code CLI
  2. Type /model randomtext and press Enter
  3. Observe that the model is set to "randomtext"

Expected Behavior

The /model command should validate the input and only accept valid model names:

  • default
  • opus
  • sonnet

If an invalid model name is provided, it should display an error message listing the valid options.

Actual Behavior

The command accepts any arbitrary text as the model name without validation, potentially leading to errors when trying to use the invalid model.

Additional Context

This could cause confusion for users who mistype model names or don't know the valid options, as the command appears to succeed but may fail when actually trying to use the model.

Environment Info

  • Platform: darwin
  • Terminal: ghostty
  • Version: 1.0.61
  • Feedback ID: fac184ec-abbb-4c2b-bc3a-5588cdda110d

Errors

[{"error":"Error: Command failed: security find-generic-password -a $USER -w -s \"Claude Code\"\nsecurity: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.\n\n    at genericNodeError (node:internal/errors:983:15)\n    at wrappedFn (node:internal/errors:537:14)\n    at checkExecSyncError (node:child_process:924:11)\n    at execSync (node:child_process:996:15)\n    at i7 (file:///Users/nick/.local/share/mise/installs/node/24.4.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:865:5106)\n    at file:///Users/nick/.local/share/mise/installs/node/24.4.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:777:49649\n    at Q (file:///Users/nick/.local/share/mise/installs/node/24.4.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:674:14420)\n    at kJ (file:///Users/nick/.local/share/mise/installs/node/24.4.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:777:47087)\n    at XH (file:///Users/nick/.local/share/mise/installs/node/24.4.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:777:45954)\n    at Y9 (file:///Users/nick/.local/share/mise/installs/node/24.4.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:777:52275)","timestamp":"2025-07-27T09:21:44.300Z"}]

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗