The claude-code runtime for the Language Operator: an interactive Claude Code terminal agent that runs as a native Kubernetes workload.
This repository is self-contained — it builds both the runtime image and the
Helm chart that registers the claude-code LanguageAgentRuntime.
- Image (
ghcr.io/language-operator/claude-code-adapter) — a combined image used by both the init container (seed-config.mjs, which translates the operator's/etc/agent/config.yamlinto Claude Code's native settings) and the main container (server.mjs, the xterm.js / tmux WebSocket terminal). Ships the Claude Code CLI, the GitHub CLI, a Go toolchain, and common Unix tools. - Chart (
chart/) — renders the cluster-scopedclaude-codeLanguageAgentRuntime. Published tooci://ghcr.io/language-operator/charts/claude-code.
Prerequisite: the language-operator
chart must be installed first — it provides the LanguageAgentRuntime CRD.
helm install claude-code oci://ghcr.io/language-operator/charts/claude-code \
--namespace language-operatorThen reference it from a LanguageAgent:
apiVersion: langop.io/v1alpha1
kind: LanguageAgent
metadata:
name: my-agent
spec:
runtime: claude-codeClaude Code authentication is interactive: open the agent terminal and run /login.
make build # docker build -t ghcr.io/language-operator/claude-code-adapter:latest .
make test # build, then run the in-image smoke tests (/app/test.sh)
make publish # build and push the image to ghcr.io
helm lint chart
helm template claude-code chartFor a local cluster, build the image and import it into k3s, then install the
chart with image.pullPolicy=Never:
make build
docker save ghcr.io/language-operator/claude-code-adapter:latest | sudo k3s ctr images import -
helm install claude-code chart --namespace language-operator --set image.pullPolicy=Neverbuild-image.yaml— builds and pushes the image toghcr.ioon push tomainandv*tags.release-chart.yaml— packageschart/and pushes it tooci://ghcr.io/language-operator/charts.test.yaml— builds the image, runs the smoke tests, and lints/templates the chart on every PR.