Hermes agent Bedrock support is built in. Per the Hermes docs, Hermes Agent supports Amazon Bedrock as a native provider, so you can run Claude, Nova, Llama, DeepSeek and more through your own AWS account using an IAM role or aws configure. You install the Bedrock extra, pick AWS Bedrock in hermes model, choose a region and model, and start chatting.
📺 Watch: GLM-5.3 Just Launched on Amazon Bedrock
🔥 Get the Agent OS as a free bonus: AI Profit Boardroom members get the full Agent OS zip, prompt libraries, daily tutorials and weekly live coaching calls. → Get inside
This page walks you through the whole thing using only what the official Hermes docs say: which models you get, how auth works, the exact setup steps, the config file, prompt caching, and the errors you are most likely to hit.
I run Hermes daily inside my own Agentic Operating System, with a separate profile per model. If you want the full Hermes courses, the Agent OS zip and four coaching calls a week, it is all inside the AI Profit Boardroom ($69/mo).
Why use AWS Bedrock with Hermes
Hermes Agent is an open-source, self-hosted AI agent from Nous Research. It has persistent memory, writes its own skills and talks to you on Telegram, Discord, Slack, WhatsApp, Signal, email and the CLI. The model behind it is your choice.
Bedrock makes sense if your company already lives in AWS. Per the docs, the native integration gives you IAM authentication, Guardrails, cross-region inference profiles and access to the foundation models in your account. On EC2, ECS or Lambda, you attach an IAM role and Hermes detects it with no API keys at all.
If you are mainly after Claude and want to compare routes, see my Hermes Claude guide.
Which models work with hermes agent bedrock
The Hermes providers table lists AWS Bedrock as covering Claude, Nova, Llama and DeepSeek via the native Converse API. The Bedrock guide goes further and explains that Hermes routes each model family through the API that suits it best:
| Model family | Route Hermes uses | Why, per the docs |
|---|---|---|
| Anthropic Claude | Anthropic SDK (AnthropicBedrock) | Prompt caching, thinking budgets and adaptive thinking, which Converse does not expose |
| OpenAI models with a bare openai ID | Bedrock Mantle OpenAI Responses endpoint | Mantle serves the bare in-Region ID |
| OpenAI models with a us. or global. profile ID | Converse API (bedrock-runtime) | Cross-Region profiles exist only on bedrock-runtime |
| Everything else (Nova, DeepSeek, Llama, GPT-OSS) | Converse API (bedrock-runtime) | Full Bedrock features: Guardrails, inference profiles, streaming |
All routes share the same AWS credential chain and region settings, so there is nothing extra to configure.
Models in the docs' Available Models table include Claude Sonnet 4.6 (us.anthropic.claude-sonnet-4-6, marked recommended), Claude Opus 4.6, Claude Haiku 4.5, Amazon Nova Pro and Nova Micro, DeepSeek V3.2 (deepseek.v3.2), Llama 4 Scout 17B, and several OpenAI models. The hermes model picker shows inference profile IDs automatically, with recommended models at the top. Hermes also auto-discovers available models through the Bedrock control plane.
For how these stack up against other options, see my best Hermes Agent models list, and the real-task scores in Goldie Bench.
📺 Watch: Hermes3D Is INSANE: AI Agents Now Have a 3D Office
What you need before you start
Per the Hermes docs, you need three things.
AWS credentials
Any source the boto3 credential chain supports:
- an IAM instance role on EC2, ECS or Lambda (zero config)
- AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables
- AWS_PROFILE for SSO or named profiles
- aws configure for local development
The boto3 dependency
The docs give this install command for Bedrock support:
cd ~/.hermes/hermes-agent && python -c "import pm; pm.sync_venv(['bedrock'], explicit=True)"
It runs inside a source checkout prepared by Hermes' package manager. After a dependency change, the docs say to reactivate the checkout and restart Hermes.
IAM permissions
- bedrock:InvokeModel and bedrock:InvokeModelWithResponseStream for inference
- bedrock:ListFoundationModels and bedrock:ListInferenceProfiles for model discovery
- bedrock:GetInferenceProfile, only if your default model is an application inference profile ARN
On AWS compute, the docs say you can attach a role with AmazonBedrockFullAccess and you are done.
📺 Watch: Hermes AI Agents Just Went Portable
Set up AWS Bedrock in Hermes, step by step
- Install Bedrock support with the command above.
- Run hermes model.
- Choose More providers, then AWS Bedrock.
- Pick your region and model.
- Run hermes chat and start talking to your agent.
After hermes model, your ~/.hermes/config.yaml holds a model section with the default model (for example us.anthropic.claude-sonnet-4-6), provider set to bedrock, and a base_url pointing at the bedrock-runtime endpoint for your region. A bedrock section holds the region.
Region is picked in this order, highest first: bedrock.region in config.yaml, then AWS_REGION, then AWS_DEFAULT_REGION, then a default of us-east-1.
To switch models mid-conversation, use /model, for example /model us.amazon.nova-pro-v1:0 or /model deepseek.v3.2.
Bedrock also works with every Hermes gateway platform. Configure Bedrock as your provider, then run hermes gateway setup and hermes gateway start. The gateway reads the same config.yaml. If you want to understand how the provider layer fits with the rest of Hermes, read Hermes Agent backend.
Want help deciding whether Bedrock is the right provider for your team? Book a free AI strategy session.
Prompt caching, Guardrails and context windows
Prompt caching
Per the docs, Hermes applies prompt caching automatically on the Bedrock Converse path by inserting cachePoint markers after the system prompt, tool definitions and the latest message. Because sending a cachePoint to an unsupported model raises a ValidationException, markers only go to a known-good allowlist: Anthropic Claude and Amazon Nova model IDs. Unknown models get no cache markers.
Claude models normally use the AnthropicBedrock SDK path, which has its own prompt caching. No configuration is needed, and cache reads and writes show up in usage accounting.
Guardrails
You can apply Amazon Bedrock Guardrails to every call by adding a guardrail block under bedrock in config.yaml, with a guardrail_identifier, guardrail_version, stream_processing_mode and trace. A blocked request shows up as a content-filter refusal. The docs note that AWS does not apply Guardrails to the Mantle Responses endpoint used by bare openai IDs, so use a us. or global. profile when you need one.
Context windows
For models not in Hermes' static table, Hermes can probe the real context limit. If neither the probe nor the table knows a model, Hermes falls back to 128,000 tokens and logs a warning. Set model.context_length in config.yaml to the real window. Per the docs, explicit overrides always win, and limits a provider confirms persist across restarts.
Limitations and common errors
These come straight from the troubleshooting section of the Hermes docs.
- No AWS credentials found. Hermes checks AWS_BEARER_TOKEN_BEDROCK, then access keys, then AWS_PROFILE, then EC2 instance metadata, ECS container credentials and the Lambda role. If none exist, run aws configure or attach an IAM role.
- On-demand throughput is not supported. Use an inference profile ID with a us. or global. prefix, such as us.anthropic.claude-sonnet-4-6, not the bare anthropic.claude-sonnet-4-6.
- ThrottlingException. You hit the per-model rate limit. Hermes retries with backoff. For higher limits, request a quota increase in the AWS Service Quotas console.
- Guardrails gap. Not applied on the Mantle Responses endpoint.
- Mantle region. The docs note GPT-6.1 Sol's Mantle in-Region access is us-east-1 only.
To check everything at once, run hermes doctor. Per the docs, it checks for AWS credentials, whether boto3 is installed, whether the Bedrock API is reachable, and how many models are available in your region.
For a fully automated EC2 setup, the docs point to a one-click CloudFormation sample (sample-hermes-agent-on-aws-with-bedrock) that creates the VPC, IAM role and EC2 instance and configures Bedrock.
I keep a separate profile for each provider and model in my stack, which my Agent OS guide walks through. For daily Hermes updates and coaching calls, join the AI Profit Boardroom.
FAQ
Does Hermes Agent support AWS Bedrock?
Yes. Per the Hermes docs, Amazon Bedrock is a native provider, covering Claude, Nova, Llama, DeepSeek and more, authenticated with an IAM role or aws configure.
How do I select Bedrock in Hermes?
Install Bedrock support, run hermes model, choose More providers, then AWS Bedrock, and pick your region and model. Then run hermes chat.
Do I need an API key for Bedrock?
No separate key is needed. Hermes uses the boto3 credential chain: an IAM role, access key environment variables, AWS_PROFILE or aws configure. A Bedrock bearer token also works.
Does prompt caching work on Bedrock?
Yes, automatically. Claude uses the AnthropicBedrock SDK's caching, and the Converse path adds cachePoint markers for Claude and Nova model IDs.
If you want to plan your provider setup with me, book a free AI strategy session and get your hermes agent bedrock setup running properly.











