Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of changes: This makes it so a user can change their actor-id without creating a new Strands Agent()
Testing
Test Summary: actor_id Isolation in AgentCore Runtime
What was tested
Verified that set_actor_id_for_request() correctly isolates actor_id across concurrent requests to the same AgentCore Runtime session.
Test Setup
Expected Behavior
Each request should maintain its own actor_id throughout its lifecycle, even when requests interleave.
Results
[1] START - actor_id=user-A, delay=3.0
[1] Sleeping 3.0s...
[2] START - actor_id=user-B ← Request 2 starts while Request 1 sleeps
[2] actor_id at end: user-B
[2] END - isolated=True ✓ ← Request 2 completes
[1] actor_id after delay: user-A ← Request 1 still sees user-A!
[1] END - isolated=True ✓
Conclusion
The contextvar-based set_actor_id_for_request() implementation correctly isolates actor_id per-request, even when concurrent requests interleave within the same AgentCore Runtime session.
Test code:
I deployed this code to a runtime instance
and then I ran that with
which then has output
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.