TL;DR
ParameterNotFound means the name, path, region, or account is wrong, or you asked for a SecureString without decryption rights. List parameters with a path filter, confirm the region, and retry with the exact full name. The value returns once the address is right.
Error
aws ssm get-parameter: ParameterNotFound
Steps
- List with a path filter: run
aws ssm describe-parameters filtered to the expected path prefix. Expected: you see the real parameter names, which often differ in casing or hierarchy from memory. - Use the full name: pass the complete hierarchical name starting with
/, exactly as listed. Expected: no more guessing at partial names. - Confirm the region: parameters are regional; check you are calling the region where the parameter was created. Expected: the region matches, or you add the right
--region. - For
SecureString parameters, add --with-decryption; without it the call can fail or return ciphertext you cannot use. Expected: the decrypted value returns. - Check the account: cross-account parameters need the full ARN form and resource policies. Expected: the ARN resolves once the sharing is configured.
When to use
get-parameter or get-parameters-by-path returns ParameterNotFound- Parameters visible in the console but not from the CLI (region or name issue)
- Automating parameter reads across regions
When not to use
- AccessDenied errors (IAM or KMS permissions)
- Throttling on high-volume reads (use the higher-throughput setting)
Tool compatibility
- AWS Systems Manager Parameter Store, AWS CLI v2 (
get-parameter, describe-parameters)
Variant phrasings
ssm parameter not found but exists in console
The console may be showing a different region; switch the CLI region to match.
get-parameters-by-path returns nothing
Path filters need the leading / and Recursive set appropriately for nested hierarchies.
Why it happens
Parameter Store addresses are exact-match hierarchical strings in a single region and account. A missing leading slash, a wrong region, or a console-vs-CLI region mismatch all produce the same not-found error, and SecureString adds a decryption gate on top.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_6Rd7G2H8pvD16QbxUfwSNQ