[MODEL] Claude Defaults to Common Patterns Instead of Parsing User Intent

Resolved 💬 3 comments Opened Sep 18, 2025 by thecatfix Closed Jan 6, 2026

Preflight Checklist

  • [x] I have searched existing issues for similar behavior reports
  • [x] This report does NOT contain sensitive information (API keys, passwords, etc.)

Type of Behavior Issue

Claude ignored my instructions or configuration

What You Asked Claude to Do

I have been extensively testing the 1pasword connect SDK with claude code and I asked to setup "API" credentials using the 1Password CLI and model ignored documentation that was referenced in CLAUDE.md files. The Opus model consistently is not using documentation referenced in CLAUDE.md and README.md files and is using lazy pattern matching that makes all the work for documentation irrelevant. I built a self-improvement agent to log errors for self improvement locally but never post issues. After reading post about issues with claude models I thought I would start providing errors to help out team. Content below generated from template setup that analyzes log files.

What Claude Actually Did

  1. First attempt: Suggested using --category=login instead of recognizing "API" should use API credential category
  2. Second attempt: After correction, suggested --category=api_credential (snake_case assumption)
  3. Reality: The correct syntax was `--category=API\ Credential

Expected Behavior

Claude Should Have:

  1. Parse the specific term "API" in the request
  2. Match to the appropriate 1Password category: API Credential
  3. Use correct CLI syntax with proper spacing: --category=API\ Credential
  4. Not default to common patterns like "login" or assume snake_case formatting

Files Affected

- Updated ~/.claude/CLAUDE.md
- Updated ~/CLAUDE.md
- Updated ~/1password/CLAUDE.md

Permission Mode

Accept Edits was ON (auto-accepting changes)

Can You Reproduce This?

No, only happened once

Steps to Reproduce

  1. Ask Claude to help with 1Password CLI operations
  2. Mention specific credential types like "API" without exact category names
  3. Observe if Claude defaults to common patterns instead of parsing intent

Claude Model

Opus

Relevant Conversation

1 > /chat is running… I would like to setup a new api credential. How would we do this?
    1
    2 ⏺ To set up a new API credential in your 1Password system, here's
    3   the process:
    4
    5   1. Store in 1Password (using the CLI):
    6   op item create --category=login --title="NEW_SERVICE_API_KEY"
    7   --vault="API" credential="your-actual-api-key"
    8
    9   2. Reference it in code using the 1Password SDK:
   10   # Using op:// reference
   11   api_key = await
   12   client.secrets.resolve("op://API/NEW_SERVICE_API_KEY/credential")
   13
   14   3. Or in shell scripts:
   15   API_KEY=$(op read "op://API/NEW_SERVICE_API_KEY/credential")
   16
   17   The key is to never hardcode credentials - always store in
   18   1Password and retrieve at runtime using either the CLI or SDK.
   19
   20 > /chat is running… show me all the categories
   21
   22 ⏺ Here are the 1Password item categories you can use:
   23
   24   # Common categories:
   25   --category=login          # API keys, tokens, credentials
   26   --category=password       # Simple passwords
   27   --category=api_credential # API-specific credentials
   28   --category=secure_note    # Text/JSON data
   29   --category=server         # Server credentials
   30   --category=database       # Database connections
   31   --category=ssh_key        # SSH keys
        --category=document       # Files/documents
  35    --category=identity       # Personal info
    1   --category=credit_card    # Payment info
    2   --category=bank_account   # Banking info
    3   --category=wireless_router # Network credentials
    4   --category=software_license # License keys
    5   --category=email_account  # Email credentials
    6   --category=membership     # Membership info
    7   --category=outdoor_license # Permits/licenses
    8   --category=passport       # Travel documents
    9   --category=reward_program # Loyalty programs
   10   --category=social_security_number # SSN
   11   --category=driver_license # ID documents
   12
   13   For API credentials, --category=login or
   14   --category=api_credential are most commonly used.
   15
   16 > why aren't you suggesting --category=api_credential?
   17
   18 ⏺ You're absolutely right! I should have emphasized
   19   --category=api_credential as the primary choice for API
   20   credentials. Here's the corrected recommendation:
   21
   22   For API credentials, use:
   23   op item create --category=api_credential
> why aren't you suggesting --category=api_credential?
    4
    3 ⏺ You're absolutely right! I should have emphasized
    2   --category=api_credential as the primary choice for API
    1   credentials. Here's the corrected recommendation:
  56
    1   For API credentials, use:
    2   op item create --category=api_credential
    3   --title="NEW_SERVICE_API_KEY" --vault="<vault-ID>"
    4   credential="your-actual-api-key"
    5
    6   --category=api_credential is specifically designed for API keys
    7   and tokens, making it the most appropriate choice. I mistakenly
    8   showed --category=login in my first example when api_credential
    9   is the proper category for this use case.
   10
   11   Thanks for catching that!
   12
   13 > why did you get that wrong?
   14
   15 ⏺ I defaulted to --category=login because it's the most common
   16   category I see in examples and documentation, and it works for
   17   storing credentials. But that was lazy thinking on my part.
   18
   19   For API credentials specifically, --category=api_credential is
   20   purpose-built and more semantically correct. I should have
   21   recognized from your question "setup a new api credential" that
   22   you were specifically asking about API keys, not generic login
credentials.
    2
    3   It was a pattern-matching error - I went with the familiar
    4   instead of the precise.

Impact

Medium - Extra work to undo changes

Claude Code Version

1.0.56 (Claude Code)

Platform

Anthropic API

Additional Context

I- This appears to be a systematic issue with defaulting to frequently-seen patterns

  • The error required adding "Pattern Matching Precision (MANDATORY)" sections to multiple CLAUDE.md files
  • Shows a tendency to apply programming naming conventions (snake_case) to CLI tools
  • The issue is about lazy pattern matching rather than careful parsing of user intent

View original on GitHub ↗

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