Support interactive TUI invocation for existing AgentCore Harnesses by ARN
- Dominant language
- TypeScript
- Stars
- 283
- Forks
- 95
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 183
Description
### Description
AgentCore CLI should support opening the existing interactive chat/TUI experience against an already-deployed AgentCore Harness that was created outside the current AgentCore CLI project, such as a Harness created through the AWS Console, Terraform, CloudFormation, or the AgentCore control-plane API.
Today an externally managed Harness can be invoked with:
```bash
agentcore invoke \
--harness-arn arn:aws:bedrock-agentcore:us-west-2:123456789012:harness/example \
--region us-west-2 \
--session-id \
"prompt"
```
However, `--harness-arn` is treated as a non-interactive option. Omitting the prompt results in:
```text
No prompt provided. Usage: agentcore invoke --harness-arn --region "your prompt"
```
This means users of externally managed Harnesses cannot use the CLI's interactive chat/TUI experience and instead have to repeatedly invoke the Harness with individual prompts or build their own frontend.
It would be useful to support something along the lines of:
```bash
agentcore invoke \
--harness-arn \
--region us-west-2 \
--interactive
```
or, if no prompt is supplied and stdin is a TTY, automatically enter interactive mode:
```bash
agentcore invoke \
--harness-arn \
--region us-west-2
```
The interactive session should reuse a single `runtimeSessionId` for the duration of the session and allow an explicitly supplied `--session-id` so an existing Harness session can be resumed.
This would make the AgentCore CLI useful as a general client for managed Harnesses without requiring the Harness infrastructure to be owned or deployed by an AgentCore CLI/CDK project.
This is especially valuable for organizations that manage AgentCore infrastructure centrally with Terraform or CloudFormation while individual developers authenticate using their own AWS credentials.
### Acceptance Criteria
* `agentcore invoke` can enter an interactive terminal chat experience when targeting a Harness with `--harness-arn`.
* The feature works without requiring an AgentCore CLI project or `agentcore deploy`.
* The Harness may have been created by the AWS Console, Terraform, CloudFormation, or API.
* An existing session can be resumed with:
```bash
agentcore invoke \
--harness-arn \
--region \
--session-id \
--interactive
```
* Streaming assistant output is rendered interactively.
* Exiting the TUI reports the session ID so the user can reconnect later.
### Additional Context
A common deployment model is:
```text
Terraform / CloudFormation / AWS Console
|
v
AgentCore Harness
^
|
InvokeHarness API
|
v
Developer CLI
```
In this model, the developer may have permission to invoke the Harness but intentionally does not have permission to deploy or modify it.
The existing CLI can already invoke such a Harness non-interactively:
```bash
agentcore invoke \
--harness-arn \
--region \
--session-id \
"prompt"
```
and `--verbose` exposes structured Harness streaming events such as `toolUse` and `toolResult`. The missing piece is an interactive frontend over the same invocation mechanism.
This would avoid teams having to build custom Harness clients solely to obtain a persistent terminal conversation and visibility into agent tool execution.
It would also make infrastructure ownership independent from developer UX: platform teams could manage Harnesses through their preferred IaC tooling while developers still get the native AgentCore interactive experience.
Contributor guide
Assessment
This issue has not been assessed yet.