Skip to content

Merge master into feature/mcp-registry-dev#8728

Open
aws-toolkit-automation wants to merge 193 commits into
feature/mcp-registry-devfrom
autoMerge/feature/mcp-registry-dev
Open

Merge master into feature/mcp-registry-dev#8728
aws-toolkit-automation wants to merge 193 commits into
feature/mcp-registry-devfrom
autoMerge/feature/mcp-registry-dev

Conversation

@aws-toolkit-automation
Copy link
Copy Markdown
Collaborator

Automatic merge failed

  • Resolve conflicts and push to this PR branch.
  • Do not squash-merge this PR. Use the "Create a merge commit" option to do a regular merge.

Command line hint

To perform the merge from the command line, you could do something like the following (where "origin" is the name of the remote in your local git repo):

git stash
git fetch --all
git checkout origin/feature/mcp-registry-dev
git merge origin/master
git commit
git push origin HEAD:refs/heads/autoMerge/feature/mcp-registry-dev

breedloj and others added 30 commits January 12, 2026 11:29
## Problem


## Solution


---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: aws-ajangg <ajangg@amazon.com>
Co-authored-by: Keen Wilson <40321520+keenwilson@users.noreply.github.com>
Co-authored-by: invictus <149003065+ashishrp-aws@users.noreply.github.com>
… adding region to profile (#8522)

## Problem
- If a user picks a profile that does not have region entry from the
config file, smus tries to update the profile with selected region. But
smus is only looking for the profile in credentials file.

## Solution
- Look for profile in both config and credentials files when adding
region to profile
- Use shared parsing method to handle profiles with `profile` prefix

## Test
Updating profile with `profile` prefix in config file 

before
```
[profile configWithProfilePrefix]
AWS_ACCESS_KEY_ID=xyz        
AWS_SECRET_ACCESS_KEY=xyz              
AWS_SESSION_TOKEN=xyz
```

after
```
[profile configWithProfilePrefix]
AWS_ACCESS_KEY_ID=xyz        
AWS_SECRET_ACCESS_KEY=xyz              
AWS_SESSION_TOKEN=xyz
region = ap-east-1
```

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

Co-authored-by: kzr-at-amazon <build@amazon.com>
Co-authored-by: invictus <149003065+ashishrp-aws@users.noreply.github.com>
## Problem

Toolkit is using an older Lambda SDK (3.731, latest 3.9xx) due to
compatibility issues. This caused new fields introduced in LMI/DAR to be
not available in local types and need to be manually bypassed. see:
#8392, we need to
update lambda SDK to latest version and resolve all the compatibility
issues

Below is the compatibility issue when trying to upgrade sdk lambda
client
```
npm error src/shared/clients/lambdaClient.ts(327,9): error TS2741: Property 'config' is missing in type 'AwsClient' but required in type 'LambdaClient'.
npm error src/shared/clients/lambdaClient.ts(328,13): error TS2419: Types of construct signatures are incompatible.
npm error   Type 'new (...[configuration]: [] | [LambdaClientConfig]) => LambdaClient' is not assignable to type 'new (o: AwsClientOptions) => AwsClient'.
npm error     Construct signature return types 'LambdaClient' and 'AwsClient' are incompatible.
npm error       The types of 'middlewareStack.add' are incompatible between these types.
npm error         Type '{ (middleware: InitializeMiddleware<ServiceInputTypes, ServiceOutputTypes>, options?: (InitializeHandlerOptions & AbsoluteLocation) | undefined): void; (middleware: SerializeMiddleware<...>, options: SerializeHandlerOptions & AbsoluteLocation): void; (middleware: BuildMiddleware<...>, options: BuildHandlerOptions & ...' is not assignable to type '{ (middleware: InitializeMiddleware<any, MetadataBearer>, options?: (InitializeHandlerOptions & AbsoluteLocation) | undefined): void; (middleware: SerializeMiddleware<...>, options: SerializeHandlerOptions & AbsoluteLocation): void; (middleware: BuildMiddleware<...>, options: BuildHandlerOptions & AbsoluteLocation):...'.
npm error           Types of parameters 'middleware' and 'middleware' are incompatible.
npm error             Types of parameters 'context' and 'context' are incompatible.
npm error               Type 'import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/types/dist-types/middleware").HandlerExecutionContext' is not assignable to type 'import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@smithy/types/dist-types/middleware").HandlerExecutionContext'.
npm error                 Types of property '[SMITHY_CONTEXT_KEY]' are incompatible.
npm error                   Type '{ [key: string]: unknown; service?: string | undefined; operation?: string | undefined; commandInstance?: import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/types/dist-types/command").Command<any, any, any, any, any> | undefined; selectedHttpAuthScheme?:...' is not assignable to type '{ [key: string]: unknown; service?: string | undefined; operation?: string | undefined; commandInstance?: import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@smithy/types/dist-types/command").Command<any, any, any, any, any> | undefined; selectedHttpAuthScheme?: import("/Users/ruojiazh/proj/aws-toolkit-vsc...'.
npm error                     Type '{ [key: string]: unknown; service?: string | undefined; operation?: string | undefined; commandInstance?: import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/types/dist-types/command").Command<any, any, any, any, any> | undefined; selectedHttpAuthScheme?:...' is not assignable to type '{ [key: string]: unknown; service?: string | undefined; operation?: string | undefined; commandInstance?: import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@smithy/types/dist-types/command").Command<any, any, any, any, any> | undefined; selectedHttpAuthScheme?: import("/Users/ruojiazh/proj/aws-toolkit-vsc...'.
npm error                       Types of property 'commandInstance' are incompatible.
npm error                         Type 'import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/types/dist-types/command").Command<any, any, any, any, any> | undefined' is not assignable to type 'import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@smithy/types/dist-types/command").Command<any, any, any, any, any> | undefined'.
npm error                           Type 'import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/types/dist-types/command").Command<any, any, any, any, any>' is not assignable to type 'import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@smithy/types/dist-types/command").Command<any, any, any, any, any>'.
npm error                             The types of 'middlewareStack.add' are incompatible between these types.
npm error                               Type '{ (middleware: import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/types/dist-types/middleware").InitializeMiddleware<any, any>, options?: (import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/t...' is not assignable to type '{ (middleware: import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@smithy/types/dist-types/middleware").InitializeMiddleware<any, any>, options?: (import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@smithy/types/dist-types/middleware").InitializeHandlerOptions & import("/Users/ruojiazh/proj/aws-t...'.
npm error                                 Types of parameters 'options' and 'options' are incompatible.
npm error                                   Type 'SerializeHandlerOptions & AbsoluteLocation' is not assignable to type '(InitializeHandlerOptions & AbsoluteLocation) | undefined'.
npm error                                     Type 'SerializeHandlerOptions & AbsoluteLocation' is not assignable to type 'InitializeHandlerOptions & AbsoluteLocation'.
npm error                                       Type 'SerializeHandlerOptions & AbsoluteLocation' is not assignable to type 'InitializeHandlerOptions'.
npm error                                         Types of property 'step' are incompatible.
npm error                                           Type '"serialize"' is not assignable to type '"initialize"'.
```

## Reason for Compatibility Error
Upgrading @aws-sdk/client-lambda to version 3.953.0+ (which uses Smithy
v4) causes TypeScript compilation errors due to module path conflicts.
The toolkit's awsClientBuilderV3 uses Smithy v3 types, while the new
Lambda client uses Smithy v4 types. Even though the types are
structurally identical, TypeScript treats them as incompatible because
they're imported from different module paths.

## Solution
Added type assertions (as any and as LambdaSdkClient) in lambdaClient.ts
to bypass TypeScript's type checking when creating the Lambda client.
This allows the new SDK version to work while maintaining runtime
compatibility.

No new tests are required for the lambdaClient.ts changes because there
is no behavior change - The type assertions don't change runtime
behavior, only bypass compile-time type checking. The Lambda client
functions identically before and after.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

Co-authored-by: Chengjun Li <>
…8537)

## Problem

- Users without pre-configured credentials encounter authentication
errors when opening Lambda functions from console
- Credential mismatches between console account and local profile cause
errors even when function is accessible in console:
- `ResourceNotFoundException` when function exists in console account
but not in local profile account
- `AccessDeniedException` when local credentials lack
`lambda:GetFunction` permission but console credentials have access


## Solution
- Add `setupConsoleConnection()` to encapsulate browser-based AWS CLI
`aws login` authentication and use the new connection
- Add `getFunctionWithFallback()` to retrieve Lambda configuration with
automatic console login fallback
- Integrate fallback into `openLambdaFolderForEdit()` to handle missing
credentials and credential mismatches
- Improve error handling to distinguish credential mismatches and
resource access issues
- Handle `ResourceNotFoundException` by showing account-specific error
message before fallback
- Handle `AccessDeniedException` by showing permission error message
before fallback

### Screenshots
#### Show warning message when Lambda GetFunction API returns
ResourceNotFoundException, then automatically proceed with console login
flow
 

<img width="461" height="90" alt="Screenshot 2026-01-29 at 12 29 00 AM"
src="https://github.com/user-attachments/assets/1c1c700f-5585-4684-bcae-9daa43add315"
/>


#### Show warning message when Lambda GetFunction API returns
AccessDeniedException, then automatically proceed with console login
flow


<img width="463" height="91" alt="Screenshot 2026-01-29 at 12 28 07 AM"
src="https://github.com/user-attachments/assets/dce48127-1cca-406e-b966-ebc615ef5fa6"
/>



## Background

The Lambda `load-function` URI handler enables a seamless workflow where
users can click "Open in Visual Studio Code" from the AWS Lambda console
to view, edit, and deploy their Lambda functions directly in their
preferred IDE. This feature downloads the function code locally, opens
it in VS Code, and allows users to make changes and deploy updates back
to AWS—all without leaving their development environment.




## Testing

- [X] Tested with no local credentials configured
- [X] Tested credential mismatch scenarios:
- ResourceNotFoundException (function in console account but not local
profile account)
- AccessDeniedException (local credentials lack permission, console
credentials have access)
- [X] Tested user cancellation flow
- [X] Test with SSO connection active

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
This merges the released changes for rc-20260129 into main.
MCM-143408862

---------

Co-authored-by: aws-toolkit-automation <>
…8520)

Add support for multi-tenant Lambda functions by introducing a Tenant ID
input field in the Local Invoke configuration panel. The field appears
conditionally when the SAM template contains TenancyConfig (either at
function-level or in Globals section).

The tenant ID value is saved in launch.json and passed to SAM CLI when
invoking Lambda functions locally.

<img width="619" height="862" alt="Screenshot 2026-01-29 at 10 16 29 AM"
src="https://github.com/user-attachments/assets/985e01ce-cbcd-4204-a1ce-37ea9c1fca70"
/>

---------

Co-authored-by: Chengjun Li <>
## Problem
Need to add support for AWS SigV4 for the WebSocket URL used to open a
remote connection. These parameters, including the cell-number, can
contain special characters and must be properly handled.

## Solution
Encode all URI query parameters and extract and append AWS signature
parameters to the WebSocket URL.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
## Problem
This is to support the Lambda multi-tenancy feature in toolkit.

## Solution
Add conditional Tenant ID field to Remote Invoke panel for multi-tenant
Lambda functions. The field appears when function has TenancyConfig and
passes the value to AWS Lambda Invoke API.

<img width="333" height="381" alt="Screenshot 2026-01-29 at 10 08 54 AM"
src="https://github.com/user-attachments/assets/b7048c07-2919-48e9-9bd0-ddfa89660f79"
/>

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: Chengjun Li <>
**Description**
Added a local cache that will list the last 10 recently used domains
during login.

The data is stored in the memento storage, which is VSCode's SQLite DB
abstraction for storing metadata for extensions.

**Motivation**
Better UX for login for customers who use multiple domains

**Testing Done**

Tested locally and also added unit tests

## Problem


## Solution


---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

Co-authored-by: Bhargava Varadharajan <vabharga@amazon.com>
This merges the released changes for rc-20260212 into main.
MCM-144328882

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: aws-toolkit-automation <>
…8586)

## Problem


## Solution

`includePlatform` will append a platform surfix `Visual-Studil-Code`


---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
…r fails (#8580)

## Problem

- #8537 introduced
setupConsoleConnection() and getFunctionWithFallback() to handle
authentication fallback for Lambda console-to-IDE transitions.
- When developers click "Open in VSCode" and their local AWS profile is
invalid, toolkit automatically triggers browser-based console login as a
fallback. However, console login requires prerequisites that not all
developers can complete. When developers cancel console login, the CLI
never writes the connection profile to disk. The Toolkit then attempts
to use this non-existent connection, resulting in "Connection does not
exist" errors.






<img width="471" height="265"
alt="problem-before-the-fix-connection-does-not-exist"
src="https://github.com/user-attachments/assets/fd973ce1-7b28-4474-8b55-b0408c67e0ce"
/>


## Solution

- Verify connection exists in `setupConsoleConnection()` after
"aws.toolkit.auth.consoleLogin" completes
- Show warning message with link to [prerequisites
documentation](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sign-in.html#cli-configure-sign-in-prerequisites)
when connection verification fails
- Throw ToolkitError to halt execution and prevent downstream connection
usage

<img width="1293" height="302" alt="update-message-with-learnmore"
src="https://github.com/user-attachments/assets/a1d35f14-4c42-43c1-8417-b6532ed00e9a"
/>

<img width="1042" height="625" alt="click-learnmore-show-dialog"
src="https://github.com/user-attachments/assets/aace3330-4ea8-4bd8-ad24-e8e956f09c45"
/>


### Background

The Lambda load-function URI handler enables a seamless workflow where
users can click "Open in Visual Studio Code" from the AWS Lambda console
to view, edit, and deploy their Lambda functions directly in their
preferred IDE. This feature downloads the function code locally, opens
it in VS Code, and allows users to make changes and deploy updates back
to AWS—all without leaving their development environment.



---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
Right now, we don't support reconnection from toolkit for hyperpod
spaces.

This PR will add the reconnection functionality which leads to seamless
user experience.

The duplicate check is failing but we need that code at 2 places, one
for initial connection and in detached-server so that when the user
closes the main window, detached server is able to provide the seamless
user experience.

Tested the unit test cases and reconnection use cases end to end
locally.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: msgupta <mgupta@onemedical.com>
Co-authored-by: Laxman Reddy <141967714+laileni-aws@users.noreply.github.com>
Co-authored-by: invictus <149003065+ashishrp-aws@users.noreply.github.com>
SageMaker Studio currently supports the ability for customers to connect
their local VS Code IDE to SageMaker Spaces from the AWS Toolkit
extension, but this is not supported for the Kiro IDE due to the Remote
SSH extension for VS Code not being supported.

Merge staged feature enhancement which allows SageMaker Studio customers
to connect to Spaces from the Kiro IDE. This includes the
sagemaker-ssh-kiro sidecar extension as a scoped-down replacement for
the Remote SSH for specifically SageMaker use cases, which will be
installed on-demand with user consent when needed during the remote
access ingress.

This PR includes a changelog entry.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: aws-ides-bot <github-aws-toolkit-automation@amazon.com>
Co-authored-by: aws-toolkit-automation <43144436+aws-toolkit-automation@users.noreply.github.com>
Co-authored-by: Bhargav <bhargavavaradh@gmail.com>
Co-authored-by: Bhargava Varadharajan <vabharga@amazon.com>
Co-authored-by: kzr <kzr@amazon.com>
Co-authored-by: Laxman Reddy <141967714+laileni-aws@users.noreply.github.com>
Co-authored-by: Sherry Lu <xiaoluk@amazon.com>
Co-authored-by: Sherry Lu <75588211+XiaoxuanLu@users.noreply.github.com>
Co-authored-by: Dylan Ross <90357952+dylanraws@users.noreply.github.com>
Co-authored-by: zulil <31738836+liuzulin@users.noreply.github.com>
Co-authored-by: Zulin Liu <zulil@amazon.com>
Co-authored-by: Bhavya Sharma <bhavya2109sharma@gmail.com>
Co-authored-by: David <60020664+dhasani23@users.noreply.github.com>
Co-authored-by: David Hasani <davhasan@amazon.com>
Co-authored-by: Arkaprava De <arkaprava08@gmail.com>
Co-authored-by: Arkaprava De <arkaprav@amazon.com>
Co-authored-by: Keyu Wu <Keyu.Wu.Wky@gmail.com>
Co-authored-by: chungjac <chungjac@amazon.com>
Co-authored-by: aws-asolidu <asolidu@amazon.com>
Co-authored-by: Newton Der <dernewtz@amazon.com>
Co-authored-by: Newton Der <newton.der@gmail.com>
Co-authored-by: Will Lo <96078566+Will-ShaoHua@users.noreply.github.com>
Co-authored-by: Boyu <wangby56@gmail.com>
Co-authored-by: atontb <104926752+atonaamz@users.noreply.github.com>
Co-authored-by: Richard Li <742829+rli@users.noreply.github.com>
Co-authored-by: Shruti Sinha <44882001+shruti0085@users.noreply.github.com>
Co-authored-by: Roger Zhang <ruojiazh@amazon.com>
Co-authored-by: Tai Lai <ctlai95@gmail.com>
Co-authored-by: invictus <149003065+ashishrp-aws@users.noreply.github.com>
Co-authored-by: BlakeLazarine <blake.l.lazarine@gmail.com>
Co-authored-by: Blake Lazarine <blakelaz@amazon.com>
Co-authored-by: tobixlea <tobixlea@amazon.com>
Co-authored-by: seshubaws <116689586+seshubaws@users.noreply.github.com>
Co-authored-by: Keen Wilson <40321520+keenwilson@users.noreply.github.com>
Co-authored-by: Bhavya Sharma <bhavyssh@amazon.com>
Co-authored-by: satyaki <208557303+satyakigh@users.noreply.github.com>
Co-authored-by: Chris Mendoza <chrisqm@amazon.com>
Co-authored-by: Kevin DeJong <kddejong@amazon.com>
Co-authored-by: Akila Tennakoon <akila.n.tennakoon@gmail.com>
Co-authored-by: Akila Tennakoon <tennakoo@amazon.com>
Co-authored-by: Deep Furiya <79759607+deepfuriya@users.noreply.github.com>
Co-authored-by: Deep Furiya <dfuriya@amazon.com>
Co-authored-by: vicheey <181402101+vicheey@users.noreply.github.com>
Co-authored-by: Renato Valenzuela <37676028+valerena@users.noreply.github.com>
Co-authored-by: Aseem sharma <198968351+aseemxs@users.noreply.github.com>
Co-authored-by: Reed Hamilton <reedham@amazon.com>
Co-authored-by: Zeeshan Ahmed <37942674+Zee2413@users.noreply.github.com>
Co-authored-by: kzr-at-amazon <build@amazon.com>
Co-authored-by: Ziwei Ba <ziwikiwi@amazon.com>
…8598)

## Problem

When users click “Open in VS Code” from the Lambda console and the
request reaches Toolkit without an active connection or with mismatched
credentials, Toolkit currently falls back to console credential login
(`aws login`) immediately. This triggers a browser-based authentication
flow without prior notice.



## Solution

This change adds a modal confirmation dialog before invoking `aws login`
in these cases. The dialog explains that Toolkit will sign in using
browser-based authentication and states the required prerequisites.
Users must explicitly choose to continue before the console login flow
starts.



The prompt:
- Explains that signing in is required to open the Lambda function
locally
- Informs users that browser-based authentication will occur
- States the AWS CLI and permission prerequisites
- Allows users to explicitly choose whether to proceed

This makes the flow intentional, reduces surprise browser redirects, and
helps distinguish between informed cancellation and setup issues.

## Screenshots



<img width="1197" height="800" alt="Screenshot 2026-02-23 at 3 53 57 PM"
src="https://github.com/user-attachments/assets/8e7d0c64-7506-4e13-8ec5-322ca720003f"
/>


---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
## Problem


## Solution


---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

Co-authored-by: David Hasani <davhasan@amazon.com>
Co-authored-by: Laxman Reddy <141967714+laileni-aws@users.noreply.github.com>
… prompt a warning (#8610)

## Problem

The SMUS agent context prompt was displayed as an information
notification that users were easily overlooking or ignoring.
Additionally, there was no telemetry to track how users responded to the
prompt (accepted, declined, or dismissed), making it impossible to
measure engagement.

## Solution

Changed the prompt from showInformationMessage to showWarningMessage for
higher visibility. Added telemetry using smus_acceptAgentsNotification
to track whether users accept, decline, or dismiss the prompt.
---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

Co-authored-by: Ziwei Ba <ziwikiwi@amazon.com>
… for MCP servers (#8608)

Kiro struggles to troubleshoot credential issues when MCP server doesn't
have the proper credentials environment variable, even though it's
mentioned in the smus-context file.

Add a prompt to smus-context.md to include credentials provider uri in
MCP server env block.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

Co-authored-by: kzr-at-amazon <build@amazon.com>
… user choice (#8611)

## Problem
Previously, we emitted a metric when a user chooses Yes, No, or closes
out of the prompt. However, sometimes the notification is buried or goes
to the little notification bell. We also want to see if users will
actually see the prompt.

## Solution

- Changed existing agent context metric to two metrics:
  - smus_agentContextShowPrompt — emitted when the prompt is displayed
- smus_agentContextUserChoice — emitted when the user accepts, declines,
or dismisses the prompt
- Both metrics include rich context: domain ID, account ID, region,
project ID, project account ID, project region, space key, and auth
mode.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: Ziwei Ba <ziwikiwi@amazon.com>
…#8620)

The `sagemaker-ssh-kiro` extension VSIX is showing up in the release
artifacts for prerelease, but we don't want it to show there. It's
intended only to be embedded inside of the toolkit VSIX.

Remove the `sagemaker-ssh-kiro` extension VSIX from the top level file
system during the GitHub Action workflow step which packages the VSIX
files.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
## Problem
Did not include "Result: Success" in the emitted metric for showing the
AGENTS.md prompt, which resulted in a warning when logging the metric.

## Solution
Added this missing field.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

Co-authored-by: Ziwei Ba <ziwikiwi@amazon.com>
Co-authored-by: Will Lo <96078566+Will-ShaoHua@users.noreply.github.com>
---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: aws-toolkit-automation <>
Co-authored-by: Laxman Reddy <141967714+laileni-aws@users.noreply.github.com>
)

## Problem


## Solution


---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

Co-authored-by: invictus <149003065+ashishrp-aws@users.noreply.github.com>
## Problem
1. Toolkit CI builds fail when they detect more than one VSIX file at
the top level, due to the `sagemaker-ssh-kiro` extension being present
even though it's not needed there
2. Whenever the `sagemaker-ssh-kiro` extension version is updated (e.g.,
0.2.0 -> 0.3.0), there can be two VSIX files in the toolkit resources
directory, which can eventually lead to an error as the toolkit cannot
determine which file to install at runtime

## Solution
1. As part of packaging `toolkit`, move (rather than copy) the
`sagemaker-ssh-kiro` VSIX file to the toolkit resources directory, so
that it will be no longer present at the top level, thus preventing any
CI build failures
2. Remove all `sagemaker-ssh-kiro` VSIX files from the toolkit resources
directory before moving the new file there

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
msgupta-amazon and others added 30 commits April 24, 2026 09:44
feat(sagemaker): Added the api path to the detached server for supporting reconnection
Merge staging into smus feature branch
fix(smus): Use project environment credentials to call GetEnvironment
#8774)

This merges the released changes for rc-20260429 into master.
MCM-149312532

---------

Co-authored-by: aws-toolkit-automation <>
build(aws-toolkit-vscode): merge release candidate version rc-2026042…
fix(smus): Remove unused import statement
feat(smus): Enable login into both SMUS domain types from IAM credentials and SSO
fix(smus): Add changelog entry for Domain Unification
…e-reasons

fix(cloudformation): add error message to import resource state failure
build(aws-toolkit-vscode): merge release candidate version rc-20260506
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.