Features
Everything you need to run Claude Code at team scale.
Measure first, then pull the cost levers one at a time, without changing how developers work.
Zero install
Two lines in ~/.claude/settings.json. Developers need no AWS credentials.
Request-class routing
Sends subagent, auxiliary and compaction traffic to its own model, such as Sonnet or Haiku.
Effort control
fill sets a default effort when a request has none. override always sets it.
Tool-output trimming
Shortens huge tool_result text but keeps its head and tail.
Bedrock bridging
Strips beta fields and headers that Bedrock rejects, so you avoid 400 Extra inputs are not permitted.
Budgets & token limits
Daily per-developer limits with warn, downgrade or block, reported in response headers.
Live model catalog
Builds /v1/models live from Bedrock, so /model just works.
Observability
CloudWatch EMF metrics, a dashboard and alarms, plus an in-app dashboard with a 14-day trend.
Privacy by design
Conversation content is never stored. Tokens are kept only as hashes, and logs contain numbers only.
Marketplace-ready
A hardened CloudFormation template for production: HTTPS only, private subnets, admin console restricted to listed CIDRs, admin token in Secrets Manager, and RegisterUsage metering.
cd infra && npm ci && npm run synth:marketplace
# โ dist/tokener-marketplace.template.json
Recommended rollout order
Start in measurement mode for a week with every policy off and bridging on. Then enable one lever at a time.
- Auxiliary โ Haiku. Titles and summaries move to the cheapest model.
- Subagent โ Sonnet. Subagent work runs on a cheaper model than the main loop.
- tool_result trimming. 20,000 characters is a good threshold.
- Effort. Try
EFFORT_MODE=fillwithDEFAULT_EFFORT=high. - Budget downgrade. New conversations start on a cheaper model once a limit is reached.