Skip to content

Support interactive TUI invocation for existing AgentCore Harnesses by ARN #2008

Description

@zkoeppen

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:

agentcore invoke \
  --harness-arn arn:aws:bedrock-agentcore:us-west-2:123456789012:harness/example \
  --region us-west-2 \
  --session-id <session-id> \
  "prompt"

However, --harness-arn is treated as a non-interactive option. Omitting the prompt results in:

No prompt provided. Usage: agentcore invoke --harness-arn <arn> --region <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:

agentcore invoke \
  --harness-arn <arn> \
  --region us-west-2 \
  --interactive

or, if no prompt is supplied and stdin is a TTY, automatically enter interactive mode:

agentcore invoke \
  --harness-arn <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:

    agentcore invoke \
      --harness-arn <arn> \
      --region <region> \
      --session-id <existing-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:

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:

agentcore invoke \
  --harness-arn <arn> \
  --region <region> \
  --session-id <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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions