docs/bedrock.md
CodexBar reads AWS Cost Explorer for Bedrock spend and can compare the current month against an optional budget.
CodexBar supports two authentication modes, selected in Preferences → Providers → AWS Bedrock → Authentication.
Provide static AWS credentials through Settings or the environment inherited by CodexBar/the CLI:
export AWS_ACCESS_KEY_ID="..."
export AWS_SECRET_ACCESS_KEY="..."
export AWS_REGION="us-east-1"
Optional:
export AWS_SESSION_TOKEN="..."
export CODEXBAR_BEDROCK_BUDGET="250"
Resolve credentials from a named profile in ~/.aws/config / ~/.aws/credentials instead of pasting keys. Set the
profile name in Settings (or via AWS_PROFILE). CodexBar shells out to the AWS CLI
(aws configure export-credentials --profile <name>), so this works with SSO, assume-role,
credential_process, and MFA-cached profiles — not just static credentials.
Requirements:
PATH (CodexBar also checks /opt/homebrew/bin/aws, /usr/local/bin/aws, and ~/.local/bin/aws).
Override the location with AWS_CLI_PATH if it lives elsewhere.aws sso login --profile <name>). Credentials are resolved fresh on each
refresh; the AWS CLI caches the SSO token, so this does not re-prompt unless the session has expired.The profile's region is read automatically (aws configure get region); leave the Region field blank to use it, or set
AWS_REGION / the Region field to override.
Relevant environment variables:
export CODEXBAR_BEDROCK_AUTH_MODE="profile" # set automatically by Settings; "keys" or "profile"
export AWS_PROFILE="work"
export AWS_CLI_PATH="/opt/homebrew/bin/aws" # optional override
The AWS identity (from either mode) must have permission to call Cost Explorer APIs, including ce:GetCostAndUsage.
AWS_REGION or AWS_DEFAULT_REGION, defaulting to us-east-1.CODEXBAR_BEDROCK_BUDGET, when set to a positive dollar amount.CODEXBAR_BEDROCK_API_URL replaces the Cost Explorer endpoint.codexbar --provider bedrock --source api
codexbar --provider bedrock --format json --pretty
ce:GetCostAndUsage.AWS_SESSION_TOKEN.AWS_CLI_PATH) and that the profile name is correct.The profile's SSO/temporary session has expired. Run aws sso login --profile <name> (or refresh the underlying
credentials) and retry.
Profile mode requires AWS CLI v2. Install it (e.g. brew install awscli) or point CodexBar at the binary with
AWS_CLI_PATH.
Set AWS_REGION or AWS_DEFAULT_REGION. Bedrock usage is regional, but Cost Explorer itself is account-level; CodexBar still needs a signing region for the request.
Sources/CodexBarCore/Providers/Bedrock/BedrockProviderDescriptor.swiftSources/CodexBarCore/Providers/Bedrock/BedrockSettingsReader.swiftSources/CodexBarCore/Providers/Bedrock/BedrockProfileCredentialProvider.swiftSources/CodexBarCore/Providers/Bedrock/BedrockUsageStats.swiftSources/CodexBarCore/Providers/Bedrock/BedrockAWSSigner.swift