Skip to content

bug: AWS CLI Parameter Validation Error for All Describe Commands #3092

@sam-fakhreddine

Description

@sam-fakhreddine

Checks

Operating system

macos 26.0

Expected behaviour

Bug Report: AWS CLI Parameter Validation Error for All Describe Commands

Description

The Q Developer CLI generates AWS CLI describe-* commands with incorrect parameter casing in filter specifications. All describe commands fail with parameter validation errors because lowercase parameter names (name, values) are used instead of the required Pascal-case format (Name, Values).

Image

Example Command Executed

aws ec2 describe-subnets \
  --filters '[{"name":"tag:Name","values":["*app-a*"]}]' \
  --profile test \
  --region us-east-1

Error Output

Execution failed after 0.341s:

Parameter validation failed:
Unknown parameter in Filters[0]: "name", must be one of: Name, Values
Unknown parameter in Filters[0]: "values", must be one of: Name, Values

Expected Behavior

Q Developer CLI should generate AWS CLI commands with correctly cased filter parameters:

aws ec2 describe-subnets \
  --filters '[{"Name":"tag:Name","Values":["*app-a*"]}]' \
  --profile test \
  --region us-east-1

Actual behaviour

Actual Behavior

All describe commands are generated with lowercase name and values keys, causing systematic parameter validation failures across all AWS services.

Impact

  • Severity: Low (annoying but easily worked around)
  • Scope: All AWS describe commands that use filters (EC2, RDS, ECS, Lambda, etc.)
  • User Impact: Users must manually correct casing before commands will execute successfully

Root Cause

The Q Developer CLI appears to have a systematic issue where it generates filter parameters using lowercase JSON keys instead of the Pascal-case format required by AWS CLI.

Proposed Solution

  1. Update the Q Developer CLI filter parameter generation logic to use Pascal-case keys (Name, Values)
  2. Add validation to ensure generated AWS CLI commands conform to AWS CLI parameter specifications
  3. Implement automated testing for describe commands across multiple AWS services

Affected Services (Non-exhaustive)

  • EC2: describe-instances, describe-subnets, describe-vpcs, describe-security-groups
  • RDS: describe-db-instances, describe-db-clusters
  • ECS: describe-clusters, describe-services, describe-tasks
  • Lambda: list-functions (with filters)
  • And any other service using the --filters parameter

Workaround

Manually correct the casing in generated commands before execution:

  • Change "name""Name"
  • Change "values""Values"

Steps to reproduce

Reproduction Steps

  1. Use Q Developer CLI to execute any AWS describe command with filters
  2. Observe that generated commands use lowercase JSON keys in filter parameters
  3. Command fails with parameter validation error

Environment

## Environment
- **Tool**: Q Developer CLI / use_aws tool
- **Service**: AWS CLI (all services)
- **Affected Operations**: All `describe-*` commands that use filters
- **Profile**: test
- **Region**: us-east-1

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingq chatRelated to the Q agentic chat experience

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions