By thodson-usgs
Set up Claude Code with tagged AWS Bedrock inference profiles for cost attribution
A Claude Code plugin that sets up tagged AWS Bedrock inference profiles for cost attribution.
Inference profiles let you attach wma:project_id, wma:application_id, and wma:contact tags to every Claude API call so usage shows up in your AWS Cost Explorer by project.
# macOS / Linux
curl -fsSL https://claude.ai/install.sh | bash
# Windows
winget install Anthropic.ClaudeCode
macOS (Homebrew)
brew install awscli jq
Ubuntu / Debian
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" \
&& unzip -qo awscliv2.zip && sudo ./aws/install --update && rm -rf awscliv2.zip aws
sudo apt-get install -y jq
Windows
winget install Amazon.AWSCLI jqlang.jq
The scripts call Bedrock and STS — any valid credential method works:
aws sso loginAWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKENAWS_PROFILE=my-profileVerify your session is active before running the skill:
aws sts get-caller-identity
/plugin marketplace add thodson-usgs/bedrock-profiles
/plugin install bedrock-profiles
The setup skill handles everything: checks prerequisites, prompts for your project tags, creates profiles if they don't exist, and writes configuration to ~/.claude/settings.json.
/bedrock-profiles:setup
Pass arguments to skip the prompts:
/bedrock-profiles:setup --project-id my_project --app-id claude --contact [email protected]
Restart Claude Code when it finishes. The /model picker will show entries like Opus 4.6 (my_project).
If you prefer more control — or if an admin creates profiles once and developers configure their own CLI — the two steps can be run independently.
Step 1 — Create profiles (run once per project, typically by an admin with write access to Bedrock):
/bedrock-profiles:create --project-id my_project --app-id claude --contact [email protected]
Step 2 — Configure Claude Code (run by each developer):
/bedrock-profiles:configure --project-id my_project
configure only needs read access to Bedrock (bedrock:ListInferenceProfiles) and write access to ~/.claude/settings.json — no profile creation permissions required.
The same scripts the skills use can be run directly for automation or CI:
# Create inference profiles (once per project)
bash scripts/create-bedrock-profiles.sh \
--project-id my_project --app-id claude --contact [email protected]
# Configure Claude Code (each developer)
bash scripts/configure-claude-cli.sh \
--project-id my_project
Both accept --region (default: us-west-2). Run with --help for full usage.
Edit the MODELS array at the top of scripts/create-bedrock-profiles.sh, then re-run the skill or scripts.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub thodson-usgs/bedrock-profiles --plugin bedrock-profiles36 on-demand AWS and cloud skills, slash commands, agents, and security hooks for Claude Code
DevsForge cloud cost optimization specialist for analyzing and reducing infrastructure expenses
Claude Code skill pack for Anthropic (30 skills)
OpenLit telemetry for Claude Code: sessions, tool calls, edit decisions, and cost rollups.
Estimate per-turn token cost of your .claude/ configuration and CLAUDE.md. Always-loaded vs path-scoped vs invoked-only, with top contributors. Use --api for exact counts via Anthropic's count_tokens endpoint.
Build, train, and deploy AI models with deep AWS AI/ML expertise brought directly into your coding assistants, covering the surface area of Amazon SageMaker AI.