これは、なにをしたくて書いたもの?
以前にコーディングエージェントを強く意識したターミナルマルチプレクサー、herdrを試してみました。
ターミナルマルチプレクサーherdrを試す - CLOVER🍀
Claude CodeやGitHub Copilot CLIなどを認識してくれて便利なのですが、これらのコーディングエージェントをDockerコンテナーなどで
動かしていると認識してくれません。
これをなんとかしたいというのが今回のお題です。
HERDR_AGENT環境変数を使う
答えを書いてしまうと、HERDR_AGENT環境変数を使います。
ドキュメントではこちらですね。
Agents / VMs and sandbox wrappers
対象はフォアグラウンドで動作するプロセスです。
HERDR_AGENT環境変数で、herdrにどのコーディングエージェントとして認識させるかを指定します。例はこちらです。
$ HERDR_AGENT=claude nono run --profile claude-code -- claude
また子プロセスグループを辿りたい場合はHERDR_PROCESS_DETECTION=child-groups環境変数を使うようですが、herdrサーバーの
再起動が必要なのと、ベストエフォートで動作します。
HERDR_AGENT環境変数の利用で、基本的には事足りる気はしますが。それでは試してみましょう。
環境
今回の環境はこちら。
$ herdr --version herdr 0.9.0 $ claude --version 2.1.269 (Claude Code)
ふつうに使ってみる
まずはherdrでClaude Codeをふつうに使ってみましょう。
$ claude
認識してくれます。

これはよいですね。
Dockerコンテナー内で動かすClaude Codeで使ってみる
次は、Dockerコンテナー内で動かすClaude Codeで使ってみます。
まずはClaude Codeを含めたDockerイメージを作りましょう。
Dockerfile
FROM ubuntu:24.04 RUN apt-get update \ && apt-get install -y --no-install-recommends \ unzip \ curl \ ca-certificates \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* RUN curl -fsSL https://claude.ai/install.sh | bash ENV PATH="/root/.local/bin:${PATH}" ENTRYPOINT ["claude"] CMD []
Dockerイメージをビルドします。
$ docker image build -t kazuhira/claude .
では、このDockerイメージを使ってherdrを起動してみます。
$ docker container run -it --rm --name claude kazuhira/claude:latest

agentsタブには表示されません。
では、ここでHERDR_AGENT環境変数と組み合わせてみましょう。
$ HERDR_AGENT=claude docker container run -it --rm --name claude kazuhira/claude:latest
今度は認識されました。

この後もふつうに使えます。
HERDR_AGENT環境変数にはどういう値を指定すればいいのかというと、インテグレーションするコーディングエージェントの名前に
なります。
herdr integrationコマンドかドキュメントで確認するとよいでしょう。
$ herdr integration herdr integration commands: herdr integration install pi herdr integration install omp herdr integration install claude herdr integration install codex herdr integration install copilot herdr integration install devin herdr integration install droid herdr integration install kimi herdr integration install opencode herdr integration install kilo herdr integration install hermes herdr integration install qodercli herdr integration install qwen herdr integration install cursor herdr integration install mastracode herdr integration install antigravity-cli herdr integration install grok herdr integration uninstall pi herdr integration uninstall omp herdr integration uninstall claude herdr integration uninstall codex herdr integration uninstall copilot herdr integration uninstall devin herdr integration uninstall droid herdr integration uninstall kimi herdr integration uninstall opencode herdr integration uninstall kilo herdr integration uninstall hermes herdr integration uninstall qodercli herdr integration uninstall qwen herdr integration uninstall cursor herdr integration uninstall mastracode herdr integration uninstall antigravity-cli herdr integration uninstall grok herdr integration status [--outdated-only]
こんなところでしょうか。
おわりに
Dockerコンテナー内で動かしているClaude Codeなどを、herdrが認識するようにしてみました。
自分はふだんClaude CodeなどをDockerコンテナーで動かしているので、herdrは使えないのかなと思っていたのですがふつうにドキュメントに
方法が書かれていましたね。
これでherdrの利用も進みそうです。