Skip to content

feat: add claude ACP sandbox target#2189

Merged
EItanya merged 7 commits into
kagent-dev:mainfrom
the-mentor:feat/claude-acp-sandbox-target
Jul 10, 2026
Merged

feat: add claude ACP sandbox target#2189
EItanya merged 7 commits into
kagent-dev:mainfrom
the-mentor:feat/claude-acp-sandbox-target

Conversation

@the-mentor

@the-mentor the-mentor commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds a claude target to docker/acp-sandbox/Dockerfile using @agentclientprotocol/claude-agent-acp@0.58.1 (wraps @anthropic-ai/claude-agent-sdk) on top of the node-base stage (Node ≥22 required)
  • Unlike the openclaw target, no sandbox-local gateway is needed — claude-agent-acp speaks ACP over stdio directly, so the shim runs it as its child: CMD ["--", "claude-agent-acp"]
  • Wires build-acp-sandbox-claude into the Makefile and adds acp-sandbox-claude to the build matrix in both ci.yaml and tag.yaml
  • Documents the full image family (including Claude) in docker/acp-sandbox/README.md

ACP handshake status

Verified locally at v0.58.1: initialize returns protocolVersion: 1, agentInfo.version: "0.58.1", authMethods: []. Authentication is via ANTHROPIC_API_KEY injected at runtime — no separate authenticate step.

Still to verify: full session/prompt round-trip reaches the model, and the in-memory session model holds across bridge reconnects.

Test plan

  • CI builds and pushes acp-sandbox-claude image successfully
  • Smoke test: docker run --rm -p 9000:9000 -e ANTHROPIC_API_KEY=<key> kagent/acp-sandbox-claude + websocat -1 ws://localhost:9000/acpinitialize succeeds
  • make build-acp-sandbox-claude works locally
  • make build-acp-sandbox now includes the claude target

🤖 Generated with Claude Code

the-mentor and others added 4 commits July 9, 2026 16:29
Signed-off-by: Avri Chen-Roth <avri210984@gmail.com>
Signed-off-by: Avri Chen-Roth <avri210984@gmail.com>
The initialize handshake round-trips against the built image
(protocolVersion 1, authMethods empty → env-key auth, no separate
authenticate step). Narrows the open item to the full prompt
round-trip and reconnect behavior.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Avri Chen-Roth <avri210984@gmail.com>
Add the claude target to the CI build matrix (ci.yaml) and the release
push matrix (tag.yaml), plus the supporting Makefile pieces:
build-acp-sandbox-claude target, image-name/IMG vars, print-images
echo, and the build-acp-sandbox aggregate dependency.

Scope is the standalone image only — not wired into build-controller
or the digest-embedding (that is harness-backend integration, tracked
separately).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Avri Chen-Roth <avri210984@gmail.com>
@the-mentor the-mentor force-pushed the feat/claude-acp-sandbox-target branch from 008cfa3 to aa67df4 Compare July 9, 2026 13:29
@github-actions github-actions Bot added the enhancement New feature or request label Jul 9, 2026
- Add missing "from another shell" instruction to the claude smoke-test
  block (consistent with the hermes example above it)
- Add note that a successful initialize handshake does not confirm
  end-to-end prompt processing
- Clarify table entry: claude-agent-acp speaks to the shim over stdio;
  the shim still exposes ws://0.0.0.0:9000/acp externally

Signed-off-by: Avri Chen-Roth <avri210984@gmail.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions github-actions Bot added enhancement New feature or request and removed enhancement New feature or request labels Jul 9, 2026
@Prefix

Prefix commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

+1 would love to see this

@the-mentor the-mentor marked this pull request as ready for review July 10, 2026 06:18
Copilot AI review requested due to automatic review settings July 10, 2026 06:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new ACP sandbox image target for Anthropic Claude by introducing a claude Docker build stage that runs claude-agent-acp under the existing acp-shim entrypoint, and wires the new image into local builds and CI/tag workflows.

Changes:

  • Added claude target to docker/acp-sandbox/Dockerfile that installs @agentclientprotocol/claude-agent-acp@0.58.1 and runs it as the shim child process.
  • Updated Makefile to build/push acp-sandbox-claude and include it in the build-acp-sandbox aggregate target and image-version output.
  • Updated CI/tag workflows and docker/acp-sandbox/README.md to include the new image target and usage notes.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
Makefile Adds image vars + build-acp-sandbox-claude target and includes it in aggregate build targets/output.
docker/acp-sandbox/README.md Documents the new claude target and runtime requirements (ANTHROPIC_API_KEY) plus smoke-test steps.
docker/acp-sandbox/Dockerfile Introduces claude stage built on node-base that runs claude-agent-acp via the shim.
.github/workflows/tag.yaml Adds acp-sandbox-claude to the release build matrix.
.github/workflows/ci.yaml Adds acp-sandbox-claude to the CI build matrix.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docker/acp-sandbox/README.md Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Avri Chen-Roth <the-mentor@users.noreply.github.com>
@EItanya EItanya merged commit 22208d1 into kagent-dev:main Jul 10, 2026
31 checks passed
@EItanya

EItanya commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Thanks so much for the contribution, are you planning on adding support for using this in as well?

@the-mentor

Copy link
Copy Markdown
Contributor Author

@EItanya yes I'm planning on working on it next.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants