Skip to content

feat(user-agent): Attribute the Kiro IDE agent - #10584

Open
seshubaws wants to merge 1 commit into
aws:v2from
seshubaws:feature/kiro-ide-user-agent
Open

feat(user-agent): Attribute the Kiro IDE agent#10584
seshubaws wants to merge 1 commit into
aws:v2from
seshubaws:feature/kiro-ide-user-agent

Conversation

@seshubaws

@seshubaws seshubaws commented Aug 19, 2026

Copy link
Copy Markdown

The Kiro IDE and Kiro CLI are separate products with separate app bundles. Only the CLI exports KIRO_SESSION_ID, so commands driven by the IDE's agent were reported as ordinary human-run commands and its traffic was unattributed.

Add AGENTIC_CALLER_KIRO_IDE (AX), keyed on KIRO_AGENT. The variable is scoped to agent activity rather than to the editor being open, following CURSOR_AGENT and ANTIGRAVITY_AGENT.

Something like TERM_PROGRAM=kiro was rejected since the IDE's integrated terminal is also human-driven, so it would attribute a person's typing as agentic and make the metric non-comparable with the other AGENTIC_CALLER_* rows. Kiro service must export KIRO_AGENT for this to report, matching how Cursor behaves today. Setting this up for when it does.

Also expose is_agentic_caller() so callers that adapt behavior for agents (for example, suppressing interactive prompts) use the same signals the User-Agent already reports instead of reimplementing the table.

Issue #, if available:

Description of changes:

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@seshubaws
seshubaws requested a review from a team as a code owner August 19, 2026 02:56
@hssyoo
hssyoo self-requested a review August 20, 2026 20:34
Comment thread awscli/botocore/useragent.py Outdated
# Kiro IDE, distinct from the Kiro CLI above. The IDE agent drives an
# integrated terminal and does not export KIRO_SESSION_ID, so its traffic
# was previously unattributed.
('KIRO_AGENT', 'AGENTIC_CALLER_KIRO_IDE', None),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are there docs that reference KIRO_AGENT? When prompting Kiro to check runtime environment variables on Kiro IDE v1.0.337, there's no match on KIRO_AGENT.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kiro service must export KIRO_AGENT for this to report, matching how Cursor behaves today. Setting this up for when it does.

I missed this in the description. I don't think we should ship code that depends on future work by the Kiro team. The user agent won't track Kiro IDE usage with or without this PR.

Comment thread awscli/botocore/useragent.py Outdated
Comment on lines +131 to +133
# Kiro IDE, distinct from the Kiro CLI above. The IDE agent drives an
# integrated terminal and does not export KIRO_SESSION_ID, so its traffic
# was previously unattributed.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: We can remove comment. These values are documented internally where we define feature ids.

@seshubaws

Copy link
Copy Markdown
Author

ack, cut a ticket to kiro team internally

The agentic caller env var signals are already collected to populate the
AGENTIC_CALLER_* metrics in the User-Agent, but they are only reachable
through private helpers. Callers that want to adapt behavior when an agent
is driving them -- for example suppressing interactive prompts that would
otherwise block with no one to answer -- have to reimplement the table and
then drift from it as new agents are added.

Expose is_agentic_caller() so those callers stay in sync with what the SDK
already reports. No change to the User-Agent itself.
@seshubaws
seshubaws force-pushed the feature/kiro-ide-user-agent branch from 3fd35d2 to 09bc857 Compare August 25, 2026 20:28
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.

2 participants