-
Notifications
You must be signed in to change notification settings - Fork 329
Description
Checks
- I have searched github.com/aws/amazon-q-developer-cli/issues and there are no duplicates of my issue
- I have run
q doctor
in the affected terminal session - I have run
q restart
and replicated the issue again
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
).

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
- Update the Q Developer CLI filter parameter generation logic to use Pascal-case keys (
Name
,Values
) - Add validation to ensure generated AWS CLI commands conform to AWS CLI parameter specifications
- 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
- Use Q Developer CLI to execute any AWS describe command with filters
- Observe that generated commands use lowercase JSON keys in filter parameters
- 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