Claude Code uses the @agentclientprotocol/claude-agent-acp adapter for ACP support.
docker build -f Dockerfile.claude -t openab-claude:latest .The image installs @agentclientprotocol/claude-agent-acp and @anthropic-ai/claude-code globally via npm.
helm install openab openab/openab \
--set agents.kiro.enabled=false \
--set agents.claude.discord.botToken="$DISCORD_BOT_TOKEN" \
--set-string 'agents.claude.discord.allowedChannels[0]=YOUR_CHANNEL_ID' \
--set agents.claude.image=ghcr.io/openabdev/openab-claude:latest \
--set agents.claude.command=claude-agent-acp \
--set agents.claude.workingDir=/home/nodeSet
agents.kiro.enabled=falseto disable the default Kiro agent.
[agent]
command = "claude-agent-acp"
args = []
working_dir = "/home/node"Sign in interactively using the OAuth device flow. Credentials are stored on disk (persisted via PVC across pod restarts):
kubectl exec -it deployment/openab-claude -- claude auth loginAfter authenticating, restart the pod so the bot process loads the new credentials:
kubectl rollout restart deployment/openab-claudeNote:
claude setup-tokenis a different command — it generates a long-lived token for CI/scripts and prints it without saving locally. For container-based deployments,claude auth loginis the correct approach as it persists credentials to the filesystem.