Skip to main content
Connect Kiro to track your team’s AI-assisted development activity. Kiro is an AI-powered IDE by Amazon/AWS that exports per-user usage metrics as daily CSV files to Amazon S3. Weave ingests these reports to give you visibility into how your team uses Kiro.

What’s tracked

  • Inline suggestions — Code suggestions displayed, accepted, and lines generated
  • Chat interactions — Messages sent, interactions, and AI-generated code from chat
  • Inline chat — Accepted inline chat suggestions, with their line additions and deletions
  • Code review — Findings count, and code fixes accepted (count and lines)
  • Test generation — Tests and lines accepted via /test
  • Dev command — Code accepted via /dev (count and lines)
For the full list of 40+ metrics, see the Kiro user activity report metrics documentation.

Prerequisites

Setup

1

Create an S3 bucket for activity reports

Create an Amazon S3 bucket to hold the Kiro activity report CSV files. See S3 bucket requirements below for details on region, prefix, and bucket policy configuration.If you’ve already set up an S3 bucket for Kiro user activity reports, you can skip this step.
2

Enable Kiro user activity reports

In the AWS console, navigate to the Kiro console and enable user activity reports:
  1. Open the Kiro console in AWS
  2. Choose Settings
  3. Under Kiro user activity reports, choose Edit
  4. Toggle Collect granular metrics per user
  5. Enter the S3 URI for your bucket (e.g. s3://my-bucket/user-activity-reports/)
For detailed instructions, see Enabling user activity reports in the Kiro documentation.
You need the IAM permissions defined in Allow administrators to configure Kiro to access these settings.
3

Create an IAM user for Weave

Create an IAM user that Weave will use to read the S3 activity reports and resolve user identities.
  1. Go to the IAM console
  2. Create a new IAM user (e.g. weave-kiro-reader)
  3. Attach the IAM policy shown below
The IAM user needs:
  • s3:GetObject and s3:ListBucket on the activity report bucket
  • identitystore:ListUsers and identitystore:DescribeUser to resolve Kiro user IDs to names and emails
4

Generate access keys

Generate access keys for the IAM user you created:
  1. Go to IAM users
  2. Select the IAM user
  3. Go to Security credentials → Access keys → Create access key
  4. Choose Third-party service as the use case
  5. Copy the Access key ID and Secret access key — you’ll need both for the next step
5

Find your Identity Store ID

Weave uses IAM Identity Center to map Kiro user IDs to names and emails.
  1. Go to the IAM Identity Center console
  2. Choose Settings
  3. Under Identity source, find the Identity Store ID — it starts with d- followed by 10 characters (e.g. d-1234567890)
  4. Note the Region where your IAM Identity Center is configured
6

Configure in Weave

  1. In Weave, go to Data → Kiro → Connect, then click Configure S3
  2. Enter the following details:
    • S3 bucket name — the bucket holding your Kiro activity reports
    • S3 bucket region — the AWS region of your bucket
    • S3 bucket prefix — the prefix you configured when enabling activity reports (e.g. user-activity-reports/)
    • AWS access key ID — from step 4
    • AWS secret access key — from step 4
    • Identity store ID — from step 5 (e.g. d-1234567890)
    • Identity store region — the AWS region of your IAM Identity Center
  3. Click Save — Weave will validate your credentials and bucket access
  4. Data will start syncing immediately after successful configuration
7

Optional: enable prompt logging

If you’d like Weave to also sync prompt logs (full inline suggestions and chat conversations), you can enable prompt logging in the Kiro console and configure a separate S3 bucket for it.See the Kiro prompt logging documentation for setup instructions. In the Weave configuration form, Enable prompt logging is on by default for new configurations, so Weave syncs any prompt logs Kiro writes to the configured bucket. Turn it off if you don’t want them synced. If prompt logs go to a separate bucket, choose Use different bucket for prompt logs and enter that bucket’s details.

S3 bucket requirements

The S3 bucket for Kiro user activity reports must meet these requirements (per the Kiro documentation):
  • Same region as the Kiro profile (created when you first subscribed users)
  • Same AWS account where users are subscribed — cross-account buckets are not supported
  • Include a prefix (subfolder) — Kiro cannot write reports to the bucket root
  • Bucket policy granting Kiro write access — apply the following policy, replacing bucketName, prefix, accountId, and region in the ARN:
The service principal q.amazonaws.com and the codewhisperer ARN prefix are correct — Kiro shares infrastructure with Amazon Q Developer and uses these legacy identifiers.
Kiro writes activity reports to the following path structure:

IAM policy for Weave

Attach the following policy to the IAM user you create for Weave. Replace bucketName and prefix with your values:
If you enable prompt logging with a separate S3 bucket, add s3:GetObject and s3:ListBucket permissions for that bucket as well.

Metrics enabled

Once connected, you can track:

Cost tracking

Kiro activity reports track usage, not dollar cost, so Kiro cost is seat-based. Enter your Kiro subscription in Settings → Financial → Tool subscription costs (seats × cost per user), and Weave allocates that flat cost across the engineers active in Kiro during each period.

Sync frequency

Kiro generates activity report CSVs once per day at 02:00 UTC. Weave syncs new reports periodically throughout the day, so expect data to appear within a few hours of the daily report being generated.

Troubleshooting

If Weave fails to validate your AWS credentials:
  1. Verify the AWS access key ID and AWS secret access key are correct and active
  2. Ensure the IAM user has the required permissions (see IAM policy)
  3. Check that the S3 bucket name and region are correct
  4. Confirm the bucket policy grants write access to the q.amazonaws.com service principal
  5. Try regenerating the access keys if the original ones may have been compromised or deactivated
If no activity data appears in Weave:
  1. Verify that Kiro user activity reports are enabled in the Kiro console under Settings
  2. Confirm users have been active in Kiro — reports are only generated for days when users interact with Kiro
  3. Check that at least one daily report CSV has been written to your S3 bucket (reports generate at 02:00 UTC)
  4. Verify the S3 bucket prefix in Weave matches what you configured in the Kiro console
  5. Wait up to 24 hours for the first report to be generated after enabling the setting
If Weave can’t resolve Kiro user IDs to names and emails:
  1. Verify the Identity store ID is correct. It starts with d- followed by 10 characters
  2. Check the Identity store region matches where your IAM Identity Center is configured
  3. Ensure the IAM user has identitystore:ListUsers and identitystore:DescribeUser permissions
  4. Confirm your IAM Identity Center has users provisioned — the Identity Store must contain the same users who are subscribed to Kiro
If some team members aren’t appearing in Weave:
  1. Verify the users have active Kiro subscriptions
  2. Ensure users are signing in via IAM Identity Center (not AWS Builder ID) — users on Builder ID won’t appear in organization-level reports
  3. Check that the missing users have been active in Kiro during the reporting period
  4. If users are subscribed across multiple AWS accounts, note that Weave supports one Kiro configuration per organization, so it reads reports only for that configuration’s AWS account (cross-account is not supported)

Data privacy

Weave syncs only aggregate usage metrics from Kiro activity reports:
  • Suggestion counts and acceptance rates
  • Lines of code generated and accepted
  • Chat message counts and interaction counts
  • Code review, test generation, and /dev acceptance counts
We never access:
  • Your source code content
  • AI prompts or chat conversations (unless you explicitly enable prompt logging)
  • Individual code suggestions or completions
  • File names or project structure
If you enable prompt logging in Weave, full prompt and response content will be synced from the prompt log S3 bucket. This is controlled by your organization’s Kiro admin and can be disabled at any time.
Last modified on October 17, 2026