Observed since 20 Oct, 21:43 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
agentcore-cli
Unofficial Python port of the AgentCore CLI (@aws/agentcore) for Amazon Bedrock AgentCore
Create, develop, and deploy AI agents to Amazon Bedrock AgentCore.
Python port of the AgentCore CLI (@aws/agentcore v0.31.1).
Status: early release. All commands are ported and covered by tests, but
agentcore deployhas not yet been verified end-to-end against a real AWS account. Please report issues.
Amazon Bedrock AgentCore enables you to deploy and operate AI agents securely at scale using any framework and model. AgentCore provides tools and capabilities to make agents more effective, purpose-built infrastructure to securely scale agents, and controls to operate trustworthy agents. This CLI helps you create, develop locally, and deploy agents to AgentCore with minimal configuration.
pip install agentcore-cli
Requirements:
agentcore deploy (deploys run the project's CDK app)Upgrading from the Bedrock AgentCore Starter Toolkit? Both the old Python CLI and this one use the
agentcorecommand name, so having both installed can cause confusion. Uninstall the old one using whichever tool you originally used:pip uninstall bedrock-agentcore-starter-toolkit # if installed via pip pipx uninstall bedrock-agentcore-starter-toolkit # if installed via pipx uv tool uninstall bedrock-agentcore-starter-toolkit # if installed via uv
Run agentcore with no arguments to walk through the commands interactively, or run each command individually:
# Initialize a new agent project (choose framework: strands, langgraph, or custom)
agentcore init my-agent --framework strands
# Develop locally
cd my-agent
agentcore dev
# Deploy to AgentCore Runtime
agentcore deploy --region us-east-1
# Test the deployed agent
agentcore invoke --agent-name my-agent --input "Hello, what can you do?"
init derives valid names from the folder: my-agent becomes project MyAgent with agent
my_agent (invoke --agent-name accepts either spelling). --framework custom scaffolds a minimal
bedrock-agentcore entrypoint for your own code.
You can also use the upstream wizard, agentcore create, which guides you through agent setup.
| Framework | Notes |
|---|---|
| Strands Agents | AWS-native, streaming support (Python + TypeScript) |
| LangChain/LangGraph | Graph-based workflows |
| Google ADK | Gemini models only |
| OpenAI Agents | OpenAI models only |
| Bedrock Managed Agents | Runtime environment for Bedrock Managed Agents sessions (Python, Container) |
| Provider | API key required | Default model |
|---|---|---|
| Amazon Bedrock | No (uses AWS credentials) | us.anthropic.claude-sonnet-4-5-20250514-v1:0 |
| Anthropic | Yes | claude-sonnet-4-5-20250514 |
| Google Gemini | Yes | gemini-2.5-flash |
| OpenAI | Yes | gpt-4.1 |
| Command | Description |
|---|---|
create | Create a new AgentCore project |
init | Initialize a new agent project (added in this port) |
dev | Start local development server |
deploy | Deploy infrastructure to AWS |
invoke | Invoke deployed agents |
| Command | Description |
|---|---|
add | Add harnesses, agents, memory, credentials, gateways and gateway-targets, evaluators, online evals, online insights, knowledge bases, config bundles, datasets, policy engines and policies, payment managers and payment connectors, capacity providers, runtime endpoints |
remove | Remove any of the above resources from the project |
Note: run
agentcore deployafteraddorremoveto update resources in AWS.
A harness bundles a runtime, model, tools, skills, memory, and observability into one declarative config. Use it when you want infrastructure without writing agent code.
| Command | Description |
|---|---|
add harness | Add a harness resource (runtime + model + memory) |
add tool | Add a tool to a harness (--harness <name> --type <type> --name <name>) |
add skill | Add a skill to a harness (--harness <name> + --path / --s3 / --git) |
export harness | Export a harness config to a deployable Strands Python agent under app/ |
After export harness, read app/<agentName>/EXPORT_NOTES.md before running deploy. It lists any manual
follow-up the exporter could not automate.
| Command | Description |
|---|---|
logs | Stream or search agent runtime logs |
traces list | List recent traces for a deployed agent |
traces get | Download a trace to a JSON file |
status | Show deployed resource details |
| Command | Description |
|---|---|
add evaluator | Add a custom LLM-as-a-Judge evaluator |
add online-eval | Add continuous evaluation for live traffic |
run eval | Run on-demand evaluation against agent traces |
run batch-evaluation | Run evaluators across all sessions |
run recommendation | Optimize prompts and tool descriptions |
evals history | View past eval run results |
pause online-eval | Pause a deployed online eval config |
resume online-eval | Resume a paused online eval config |
stop batch-evaluation | Stop a running batch evaluation |
logs evals | Stream or search online eval logs |
| Command | Description |
|---|---|
add config-bundle | Add a versioned configuration bundle |
cb versions | List version history for a bundle |
cb diff | Diff two versions of a bundle |
cb create-branch | Create a new branch on an existing bundle |
Create agents with --with-config-bundle to auto-wire config bundle support into the generated template.
| Command | Description |
|---|---|
run ab-test | Start an A/B test (config-bundle or target-based) on a gateway |
view ab-test | List A/B test jobs or view one in detail |
pause ab-test | Pause traffic splitting for a running test |
resume ab-test | Resume a paused test |
stop ab-test | Stop a running test (terminal) |
promote ab-test | Apply the winning variant to agentcore.json |
archive ab-test | Delete the test on the service and clear local history |
| Command | Description |
|---|---|
add knowledge-base | Add a managed Bedrock Knowledge Base wired to a gateway |
All upstream commands and flags work as documented in the
upstream command reference
(agentcore create, add, remove, status, logs, traces, evals, ...).
agentcore/ files, written byte-for-byte as the npm CLI writes them.agentcore/.env.local use the same enc:v1: AES-256-GCM envelope and key (OS keychain entry
aws-agentcore / env-local-secret-key, or ~/.agentcore/secrets.key).agentcore init, deploy --region, and invoke --agent-name / --input.agentcore update upgrades via pip (or tells you the pipx/uv command).Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
boto3Environment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | boto3>=1.43.111 | runtime |
cryptographyEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | cryptography>=42 | runtime |
keyringEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | keyring>=25 | runtime |
opentelemetry-protoEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | opentelemetry-proto>=1.20 | runtime |
packagingEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | packaging>=24 | runtime |
pybars3Environment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | pybars3>=0.9.7 | runtime |
pydanticEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | pydantic>=2.7 | runtime |
pyyamlEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | pyyaml>=6 | runtime |
questionaryEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | questionary>=2 | runtime |
richEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | rich>=13 | runtime |
typerEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | typer>=0.12 | runtime |
websocketsEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | websockets>=13 | runtime |
pytestEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | pytest>=8; extra == "dev" | runtime |
ruffEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | ruff>=0.5; extra == "dev" | runtime |
bdist_wheel · 1,260.72 KB · Python py3
sdist · 1,280.9 KB · Python source
Observed since 20 Oct, 21:43 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:f579cbb2b6bc56e9e0b06d1d646797db8def736d74873396c60aa905158b36fe