Amazon CodeWhisperer FAQs

GENERAL
  • CodeWhisperer is an AI-powered productivity tool that generates real-time, single-line or full-function code suggestions in your integrated development environment (IDE) and in the command line to help you quickly build software. With CodeWhisperer, you can write a comment in natural language that outlines a specific task in English, such as, “Upload a file with server-side encryption.” Based on this information, CodeWhisperer recommends one or more code snippets directly in the IDE that can accomplish the task. You can quickly and easily accept the top suggestion (tab key), view more suggestions (arrow keys), or continue writing your own code. You should always review a code suggestion before accepting it, and you might need to edit it to ensure that it does exactly what you intended.

    For more information, see the User Guides for Visual Studio (VS) Code and JetBrainsAWS Cloud9, the AWS Lambda console, JupyterLab, and Amazon SageMaker StudioCommand line, and Visual Studio (preview)

  • CodeWhisperer helps accelerate software development by providing code suggestions that reduce total development effort and allow more time for ideation, complex problem solving, and writing differentiated code. In addition to general-purpose code suggestions, CodeWhisperer is designed to provide code suggestions for using AWS APIs. CodeWhisperer can also help you improve application security by helping detect and remediate security vulnerabilities.

  • As you write code, CodeWhisperer analyzes the English language comments and surrounding code to infer what code is needed to complete the task at hand. CodeWhisperer suggests one or more code snippets directly in the code editor, accelerating your work as you code. CodeWhisperer code suggestions are based on large language models (LLMs) trained on billions of lines of code, including Amazon and open source code. You can quickly and more easily accept the top suggestion (tab key), view more suggestions (arrow keys), or continue writing your own code. Always review a code suggestion before accepting it, and you might need to edit it to ensure that it does exactly what you intended.

  • CodeWhisperer uses your content, such as code snippets, comments, cursor location, and contents from files open in the IDE, as inputs to provide code suggestions.

  • Your content is transmitted using the TLS protocol to ensure secure communication between your IDE and the CodeWhisperer service. Content is encrypted in transit to prevent eavesdropping or man-in-the-middle attacks. For CodeWhisperer Individual users, we may retain content for the purpose of service improvement, based on a user's settings. We store this content in a secured manner with encryption at rest and strict access controls.
     

  • Available as part of the AWS Toolkit for Visual Studio (VS) Code and JetBrains, CodeWhisperer currently supports Python, Java, JavaScript, TypeScript, C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, Shell scripting, SQL, Scala, JSON, YAML, and HCL. In addition to VS Code and the JetBrains family of IDEs—including IntelliJ, PyCharm, GoLand, CLion, PhpStorm, RubyMine, Rider, WebStorm, DataGrip, and Visual Studio (preview)—CodeWhisperer is also available for AWS Cloud9, the Lambda console, JupyterLab, and SageMaker Studio, and your favorite command lines including macOs terminal, iTerm2 and the built-in- VS Code terminal. 

  • To get started in VS Code, the JetBrains IDEs, or Visual Studio (preview) watch these brief videos. You can also follow the instructions in the documentation.

    CodeWhisperer is available by default on AWS Cloud9 and in the Lambda console. For more information, use the following links for instructions on how to get started with CodeWhisper in the following IDEs:

  • Once CodeWhisperer is enabled, you will receive code suggestions in your code editor as you type. To manually trigger CodeWhisperer, use Option+C (MacOS) or Alt+C (Windows).

  • CodeWhisperer works most efficiently when developer comments are short and map to smaller discrete tasks so that no single function or code block is too long. Similarly, CodeWhisperer can generate helpful code suggestions when developers use intuitive names for various code elements, such as function names. The more code that is available as surrounding context, the better the suggestion will be.

  • Yes. You can pause auto-suggestions in the CodeWhisperer section of the Developer Tools panel in the AWS Toolkit. Auto-suggestions will remain paused until you resume them. To manually trigger CodeWhisperer, use Option+C (MacOS) or Alt+C (Windows).

  • The CodeWhisperer reference tracker detects whether a code suggestion might be similar to particular CodeWhisperer open source training data. The reference tracker can flag such suggestions with a repository URL and project license information or optionally filter them out. You can then more easily find and review the referenced code and see how it is used in the context of another project before deciding to use it. All references are logged for you to review later to ensure that your code flow is not disturbed, and you can keep coding without interruption.

  • You can scan your code to identify hard-to-find security vulnerabilities and get code suggestions to help remediate the identified issues. Built-in security scanning is designed to detect issues such as exposed credentials and log injection. Generative AI-powered code suggestions help to remediate the identified vulnerabilities, and are tailored to your application code, so you can quickly accept fixes with confidence. Security scanning is available for Java, Python, JavaScript, and for TypeScript, C#, AWS CloudFormation (YAML, JSON), AWS CDK (TypeScript, Python), and HashiCorp Terraform (HCL). Code suggestions to help remediate vulnerabilities are currently available for code written in Java, Python, and JavaScript.

  • CodeWhisperer is a generative AI service powered by a foundation model (FM) trained on various data sources, including Amazon and open source code. In addition, You can also access Amazon Q via CodeWhisperer in the IDE. Amazon Q is built on Amazon Bedrock, a fully managed service for building generative AI applications that offers a choice of high-performing FMs from Amazon and leading AI companies. Amazon Q uses multiple FMs to complete its tasks and uses logic to route tasks to the FM that is the best fit for the job.

RESPONSIBLE AI
  • Just like with your IDE, you own the code that you write, including any code suggestions provided by CodeWhisperer. You are responsible for the code that you write, including the CodeWhisperer suggestions that you accept. Always review code suggestions before accepting them, and you might need to make edits to ensure that the code does exactly what you intended.

  • As a generative AI, CodeWhisperer creates new code based on what its underlying models have learned from the code that they were trained on and the context that you provided as prior code and comments. While CodeWhisperer is not designed to reproduce code from training data it is possible that on rare occasions it will generate code that closely matches publicly available code. If CodeWhisperer detects that its output matches publicly available code, the built-in reference tracker will notify you with a reference to the license type (for example, MIT or Apache) and a URL for the publicly available code. You can then more easily find and review the referenced code and see how it is used in the context of another project before deciding whether or not to use it. To ensure that your coding flow is not disturbed, all references are logged for you to review later, so you can keep coding without interruption.

  • Yes. In the configuration setting for CodeWhisperer, you can deselect the “Include Suggestions With Code References” option. This will prevent CodeWhisperer from making suggestions that include references to known licensed open source code. For free CodeWhisperer Individual Tier users, this setting is available in the IDE. With CodeWhisperer Professional, the AWS administrator can centrally configure this setting on an organization level from the AWS Management Console.

  • CodeWhisperer can filter out code suggestions that include toxic phrases and suggestions that contain commonly known code structures that indicate bias.

  • CodeWhisperer is designed to prevent suggesting code with security vulnerabilities, and as many security vulnerabilities are filtered out as possible. However, given the generative nature of CodeWhisperer, we cannot completely rule out code suggestions with security issues. Therefore, CodeWhisperer comes with a built-in code-scanning feature that detects security vulnerabilities within your Python, Java, and JavaScript projects, including code suggestions from CodeWhisperer and code written by you.

  • CodeWhisperer was trained on various data sources, including Amazon and open source code. CodeWhisperer has been trained and validated to generate code suggestions from English language comments. Given the various examples in the training dataset, it is possible that CodeWhisperer may provide code suggestions from comments written in non-English languages; however, this is not a supported use case.

PRICING AND AVAILABILITY
  • CodeWhisperer Individual is free to use by creating and signing in with an AWS Builder ID. The sign-up process only takes a few minutes and does not require a credit card or an AWS account.

    CodeWhisperer Professional is $19 per user, per month and provides administrators the ability to enable CodeWhisperer for their organization with single sign-on (SSO) authentication. Administrators can more easily integrate CodeWhisperer with their existing workforce identity solutions, provide access to users and groups, and configure organization-wide settings, such as including or excluding suggestions with code references. For more details, see Amazon CodeWhisperer Pricing.
     

  • CodeWhisperer is AWS Region agnostic and available to developers worldwide. CodeWhisperer is currently hosted in the US East [N. Virginia] Region. As a CodeWhisperer Professional administrator, you can configure CodeWhisperer as an authorized cross-Region application if you have IAM Identity Center in other Regions.

  • An AWS administrator can enable CodeWhisperer for an organization through the AWS Management Console. As a prerequisite, administrators must set up SSO through IAM Identity Center if it is not already enabled for their organization. Once SSO authentication is set up, administrators can enable CodeWhisperer and assign access to users and groups in their organization.

  • SSO for CodeWhisperer is enabled by IAM Identity Center. For more information, see the CodeWhisperer User Guide.

CODEWHISPERER CUSTOMIZATION CAPABILITY (PREVIEW)
  • With the CodeWhisperer customization capability, you can customize CodeWhisperer to generate more relevant recommendations by making it aware of your internal libraries, APIs, best practices, and architectural patterns. For more information, see Customize CodeWhisperer for even better recommendations.

  • Currently, you can customize CodeWhisperer recommendations on code bases written in Java, JavaScript, TypeScript, and Python. Files written in other languages supported by CodeWhisperer (C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, Shell scripting, SQL, and Scala) will not be used when creating the customization or when providing customized recommendations in the IDE based on your internal code repositories.

  • You can securely connect your code repositories to CodeWhisperer using the AWS Management Console. CodeWhisperer administrators can easily manage access to a private customization from the console, so that only specific developers have access.

  • Each customization is completely isolated from other customers, and none of the customizations built with this new capability will be used to train the foundation model underlying CodeWhisperer. When creating a customization, CodeWhisperer helps maintain the security of your code by providing the option to encrypt your customization data using customer-managed key in AWS Key Management Service (AWS KMS). The customization data is deleted once the customization job finishes.

  • During the preview, you can use the CodeWhisperer customization capability to create up to eight customizations based on your internal code bases. You can keep up to two code customizations active at the same time.

AMAZON Q IN IDE (PREVIEW)
  • CodeWhisperer is a generative AI–powered productivity tool for the IDE and command line. You can install the AWS Toolkit extension in your IDE and log in to the CodeWhisperer module to access features like inline code suggestions, customizations, security scans, and Amazon Q in the IDE. Amazon Q is a generative AI–powered assistant designed for work. When used in the IDE, Amazon Q can answer questions about building software on AWS and beyond. Additionally, it understands the code in your IDE and can assist you in tasks like explaining your code, writing tests, or upgrading application language versions.

  • Amazon Q is available in the IDE through Amazon CodeWhisperer, and it currently supports Visual Studio (VS) Code and the JetBrains family of IDEs. To get started with Amazon Q in the IDE, see Getting started with Amazon Q—Your expert assistant for AWS or read the documentation.

  • Install the AWS Toolkit for Visual Studio (preview), JetBrains or VS Code through the respective extension/plugin marketplace. Then, authenticate with AWS Builder ID or AWS IAM Identity Center. After authenticating, Amazon Q can be found in the activity bar in VS Code or the tool window anchored in the top right in JetBrains. For more help getting started with Amazon Q, see Getting started with Amazon Q—Your expert assistant for AWS.

  • Amazon Q goes beyond code generation and completion in a developer environment. It helps developers interact through conversations in natural language, supports various use cases to help developers learn how to use libraries and APIs, can generate code to solve prompts, explains complex code logic, and discusses possible resolutions for errors in code. It can significantly improve developers' efficiency and productivity, serving as a companion in their daily development lifecycle and freeing them up to think about the right problems to solve in their software systems.

  • Amazon Q can answer questions about getting started and building, deploying, or operating applications and workloads on AWS and beyond. Amazon Q can also help explain an unfamiliar code base, fix errors, or generate code and tests. With the Amazon Q feature development capability, you can go from a natural language prompt to application feature in a fraction of the time, with interactive step-by-step instructions right from your IDE. Amazon Q Code Transformation can help you upgrade your Java applications to the latest language version (Java 8 or 11 upgrade to Java 17 during preview) by identifying and updating mandatory package dependencies and frameworks, updating deprecated code incorporating security best practices, and generating tests to validate the upgraded application will run.

  • Amazon Q uses the following contextual information while answering questions: 1. Current conversational context, like questions asked and answers/code generated in the conversation panel. 2. The IDE context, including the selected code line, snippet or functions in the file, and repository that the developers are currently working on.

  • Amazon Q does not store or use any content from CodeWhisperer Professional users for service improvement. When using Amazon Q as an Amazon CodeWhisperer Professional user, AWS may collect and use client-side telemetry and usage metrics as well as your feedback for service improvement purposes. Amazon Q uses this to make future responses better and more tailored to developers' instructions and intentions as the conversation progresses. You can opt out of this data collection by adjusting your settings in the IDE. For information about how CodeWhisperer Individual collects and uses your data, see the CodeWhisperer Individual FAQs.

  • In preview, the CodeWhisperer customization capability will not be supported for Amazon Q. Amazon Q will not provide customized code recommendations based on your internal code bases, even if you're using customizations through CodeWhisperer. Currently, the customization capability is only supported for code generation uses cases for the in-IDE experience with CodeWhisperer.

CODEWHISPERER COMMAND LINE (PREVIEW)
  • CodeWhisperer for command line helps developers be more productive in the command line with contextual CLI completions, inline documentation, and AI natural-language-to-bash translation. CodeWhisperer for command line integrates with a developer’s existing command line so developers don’t have to change the tools they use to start benefiting from it.

  • While a user types in their command line, CodeWhisperer shows inline completions and documentation for over 250 CLI tools.

    For example, a developer can type `git ` and see a list of all the git subcommands, options, and arguments, ordered by their usage recency. A developer could also type `npm install ` and see a list of all the node packages available to install. Finally, a developer could type `aws ` and see a list of all the aws subcommands available. 

  • CodeWhisperer for command line can take natural language text prompts (such as "reverse my most recent git commit") and convert them into instantly executable bash code

    To get started, just run `q`, insert a prompt, and then execute the bash!

  • CodeWhisperer for command line currently supports integrations with the following tools:

    1. Operating systems: macOS
    2. Shells: bash, zsh, fish
    3. Terminal emulators: iTerm2, macOS terminal, Hyper, Tabby
    4. IDEs: Terminal inside VS Code
    5) CLIs: 250+ of the most popular CLIs such as git, aws, docker, npm, yarn (see https://github.com/withfig/autocomplete)

    For support with Jetbrains IDEs (except Fleet), Alacritty, Kitty, and Wezterm on macOS, run `cw integrations install input-method`

  • CodeWhisperer may store data about your usage and content for service improvement purposes. Your content includes the parts of your command line history that CodeWhisperer uses to generate AI recommendations and translations, as well as the content of the recommendations themselves. CodeWhisperer does not collect your content for service improvement purposes at the Professional Tier. Your usage of the service is quantified with client-side telemetry. For example, AWS may track whether you accept or reject a recommendation. Your client-side telemetry does not contain actual code and does not contain personally identifiable information (PII) such as your IP address. You can opt out of usage and content data collection by adjusting your settings in the CodeWhisperer for command line dashboard.

  • Yes.
    1. Run `cw` to open the settings page.
    2. Select the CLI Completions tab.
    3. Toggle the switch in the top right corner of the page to Off.

PRIVACY CODEWHISPERER PROFESSIONAL
  • CodeWhisperer Professional uses your content, such as code snippets, comments, and content from files open in the IDE. This content is processed by the service solely to provide and maintain the service. Content processed by CodeWhisperer Professional is not stored or used for service improvement.

    In addition, AWS may collect and use client-side telemetry and usage metrics for service improvement purposes. You can opt out of this data collection by adjusting your settings in the IDE.

    For more information, see the CodeWhisperer User Guide.

  • Content processed by CodeWhisperer Professional, such as code snippets, comments, and contents from files open in the IDE, is not stored or used for service improvement.

    AWS may collect and use client-side telemetry and usage metrics for service improvement purposes. You can opt out of this data collection by adjusting your settings in the IDE.

    For more information, see the CodeWhisperer User Guide.

  • No. Content processed by CodeWhisperer Professional, such as code snippets, comments, and contents from files open in the IDE, is not stored or used to train the model, and therefore will never be reproduced in a code suggestion for another user.

PRIVACY CODEWHISPERER INDIVIDUAL
  • CodeWhisperer Individual uses your content, such as code snippets, comments, cursor location, and contents from files open in the IDE as inputs to provide code suggestions. You can opt out of allowing AWS to store and use your content for service improvement by adjusting the "Share CodeWhisperer Content with AWS" setting in the AWS Toolkit in the IDE.

    In addition, AWS may collect and use client-side telemetry and usage metrics for service improvement purposes. You can opt out of this data collection by adjusting the Telemetry setting in the AWS Toolkit in the IDE.

    For more information, see the CodeWhisperer User Guide.

  • CodeWhisperer Individual may store and use your content, such as code snippets, comments, and contents from files open in the IDE, processed by the service to provide and maintain the service and—unless you opt out as mentioned below—to improve and develop the quality of CodeWhisperer. This includes learning the best ways to improve developer productivity through code generation, detecting potential misuse of the service, evaluating the effectiveness of CodeWhisperer features, improving the underlying LLMs that enable code generation, fine-tuning the ranking algorithms, and more. You can opt out of allowing AWS to store and use your content for service improvement by adjusting your settings in the IDE.

    In addition, AWS may collect and use client-side telemetry and usage metrics for service improvement purposes. You can opt out of this data collection by adjusting your settings in the IDE.

    For more information, see the CodeWhisperer User Guide.

  • For CodeWhisperer Individual, you can opt out of data collection by adjusting your settings in the IDE.

    For more information, see the CodeWhisperer User Guide.

  • We have safeguards designed to prevent reproduction of unique private code collected from CodeWhisperer Individual users.

PRIVACY GENERAL
Browse the documentation

View the CodeWhisperer documentation to learn more.

Learn more »

Start building with CodeWhisperer