本当は怖いHPC & AI

HPC / AI屋さんの外部記憶装置。メモ書き。

MacでClaude Codeをコンテナ上で実行する準備をした

(この記事は人力で書いていますので雑で簡略ですがご了承ください)

Macで最近サポートされたContainerization Frameworkを使って、Claude Codeを動作させてみました

コンテナのビルドまではこちらの記事通りでOKでした。

zenn.dev

Claude Codeの動作確認

❯ container run --rm claude-code claude --version
1.0.92 (Claude Code)

ここまでOK.

このままClaude Codeを実行すると、私の環境では

OAuth error: Failed to start OAuth callback server: getaddrinfo EAI_AGAIN localhost

OAuth error: Failed to start OAuth callback server: getaddrinfo EAI_AGAIN localhost

というエラーが出てしまいました。おそらくコンテナの中のネットワーク設定がおかしくなっているようです。Dockerと違い、MacOSのContainerization Frameworkはネットワークの設定はデフォルトで --network=host 相当になるらしいので、よくわかりません。今回はちょっとゴリ押しで解決することにしました

まず、Container環境の外で Claude Code をログインしておきます。そしてcontainer imageビルド時に、 $HOME/.claude.json をコンテナ内の /home/node/ にコピーしておきます。さらに、https://console.anthropic.com/settings/keys からAPI Keyを発行して、 ANTHROPIC_API_KEY 環境変数として指定してcontainerを起動します。

container run -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY --rm -it -v $PWD:/workspace claude-code:latest zsh

これでひとまず container 内でclaudeを起動できました