Claude Code概要
Anthropicが開発したエージェント型コーディングツールであるClaude Codeについて学びます。現在はベータ版として研究プレビュー中です。
NodeJS 18+をインストールし、次のコマンドを実行します:
権限の問題やセキュリティリスクにつながる可能性があるため、sudo npm install -g
は使用しないでください。権限エラーが発生した場合は、Claude Codeの設定で推奨される解決策を参照してください。
Claude Codeは、ターミナル上で動作し、コードベースを理解し、自然言語コマンドを通じてより速くコーディングできるようサポートするエージェント型コーディングツールです。開発環境に直接統合することで、追加のサーバーや複雑なセットアップを必要とせずにワークフローを効率化します。
Claude Codeの主な機能は以下の通りです:
- コードベース全体でのファイル編集やバグ修正
- コードのアーキテクチャやロジックに関する質問への回答
- テスト、リンティング、その他のコマンドの実行と修正
- gitの履歴検索、マージ競合の解決、コミットとPRの作成
研究プレビュー
Codeはベータ版として研究プレビュー中です。AIとの協業の好み、AIアシスタンスが最も役立つワークフロー、エージェント体験の改善方法について、開発者からのフィードバックを収集しています。
この初期バージョンはユーザーフィードバックに基づいて進化します。今後数週間で、ツール実行の信頼性、長時間実行コマンドのサポート、ターミナルレンダリング、Claudeの自己能力認識の向上を計画しています。
バグは/bug
コマンドで直接報告するか、GitHubリポジトリを通じて報告してください。
始める前に
システム要件の確認
- オペレーティングシステム: macOS 10.15+、Ubuntu 20.04+/Debian 10+、またはWSL経由のWindows
- ハードウェア: 最低4GB RAM
- ソフトウェア:
- ネットワーク: 認証とAI処理にはインターネット接続が必要
- 地域: 対応国でのみ利用可能
WSLインストールのトラブルシューティング
現在、Claude CodeはWindows上で直接実行できず、WSLが必要です。WSLで問題が発生した場合:
-
OS/プラットフォーム検出の問題: インストール中にエラーが発生した場合、WSLがWindowsの
npm
を使用している可能性があります。以下を試してください:- インストール前に
npm config set os linux
を実行 npm install -g @anthropic-ai/claude-code --force --no-os-check
でインストール(sudo
は使用しないでください)
- インストール前に
-
Nodeが見つからないエラー:
claude
実行時にexec: node: not found
が表示される場合、WSL環境がWindowsのNode.jsインストールを使用している可能性があります。which npm
とwhich node
で確認できます。これらは/mnt/c/
ではなく/usr/
で始まるLinuxパスを指すはずです。修正するには、Linuxディストリビューションのパッケージマネージャーまたはnvm
を使用してNodeをインストールしてみてください。
インストールと認証
Claude Codeをインストール
ターミナルで実行:npm install -g @anthropic-ai/claude-code
権限の問題やセキュリティリスクにつながる可能性があるため、sudo npm install -g
は使用しないでください。権限エラーが発生した場合は、Claude Codeの設定で推奨される解決策を参照してください。
プロジェクトに移動
cd your-project-directory
Claude Codeを起動
claude
を実行認証を完了
Claude Codeは2つの認証オプションを提供します:
-
Anthropic Console: デフォルトのオプション。Anthropic Consoleを通じて接続し、OAuth処理を完了します。console.anthropic.comでのアクティブな課金が必要です。
-
Maxプラン: Claudeの Maxプランに登録すると、Claude CodeとWebインターフェースの両方を含む単一のサブスクリプションが利用できます。同じ価格帯でより多くの価値を得ながら、一か所でアカウントを管理できます。Claude.aiアカウントでログインします。起動時に、サブスクリプションタイプに合ったオプションを選択してください。
主な機能とワークフロー
Claude Codeはターミナル上で直接動作し、プロジェクトのコンテキストを理解し、実際のアクションを実行します。コンテキストにファイルを手動で追加する必要はなく、Claudeは必要に応じてコードベースを探索します。
セキュリティとプライバシーを設計段階から考慮
コードのセキュリティは最も重要です。Claude Codeのアーキテクチャは以下を保証します:
- 直接APIに接続: クエリは中間サーバーを経由せずにAnthropicのAPIに直接送信されます
- あなたの作業場所で動作: ターミナル上で直接操作します
- コンテキストを理解: プロジェクト構造全体を把握します
- アクションを実行: ファイルの編集やコミットの作成など、実際の操作を実行します
質問から解決策まで数秒で
プロジェクトを初期化する
初めてのユーザーには以下をお勧めします:
claude
でClaude Codeを起動summarize this project
のような簡単なコマンドを試す/init
でCLAUDE.mdプロジェクトガイドを生成- 生成されたCLAUDE.mdファイルをリポジトリにコミットするようClaudeに依頼
一般的なタスクにClaude Codeを使用する
Claude Codeはターミナル上で直接動作し、プロジェクトのコンテキストを理解し、実際のアクションを実行します。コンテキストにファイルを手動で追加する必要はなく、Claudeは必要に応じてコードベースを探索します。
馴染みのないコードを理解する
Git操作を自動化する
コードをインテリジェントに編集する
コードのテストとデバッグ
より深い思考を促す
複雑な問題については、Claudeにより深く考えるよう明示的に依頼してください:
Claude Codeは、Claudeが拡張思考を使用している場合(Claude Sonnet 3.7、Claude Opus 4で利用可能)に表示します。計画が必要なタスクには、事前に「think」または「think deeply」とClaudeに促すことができます。まずタスクについてClaudeに伝え、プロジェクトからコンテキストを収集させることをお勧めします。その後、計画を作成するために「think」と依頼してください。
使用する言葉によってClaudeはより深く考えます。例えば、単に「think」と言うよりも「think hard」と言うと、より拡張された思考が促されます。
詳細なヒントについては、拡張思考のヒントをご覧ください。
CIとインフラワークフローの自動化
Claude Codeには、ヘッドレス実行のための非インタラクティブモードが付属しています。これは、スクリプト、パイプライン、Github Actionsなどの非インタラクティブなコンテキストでClaude Codeを実行する場合に特に便利です。
非インタラクティブモードで実行するには、--print
(-p
)を使用します。このモードでは、ANTHROPIC_API_KEY
環境変数でカスタムAPIキーを提供できます。
非インタラクティブモードは、Claudeが使用できるコマンドのセットを事前に設定する場合に特に便利です:
コマンドでClaude Codeを制御する
CLIコマンド
コマンド | 説明 | 例 |
---|---|---|
claude | インタラクティブREPLを開始 | claude |
claude "query" | 初期プロンプトでREPLを開始 | claude "explain this project" |
claude -p "query" | 一回限りのクエリを実行して終了 | claude -p "explain this function" |
cat file | claude -p "query" | パイプされたコンテンツを処理 | cat logs.txt | claude -p "explain" |
claude config | 設定を構成 | claude config set --global theme dark |
claude update | 最新バージョンに更新 | claude update |
claude mcp | Model Context Protocolサーバーを設定 | チュートリアルのMCPセクションを参照 |
CLIフラグ:
--print
(-p
): インタラクティブモードなしでレスポンスを表示--json
:--print
モードでJSON出力を返す、スクリプト作成と自動化に便利--verbose
: 詳細なログを有効にし、ターンごとの完全な出力を表示(プリントモードとインタラクティブモードの両方でデバッグに役立つ)--dangerously-skip-permissions
: 権限プロンプトをスキップ
スラッシュコマンド
セッション内でClaudeの動作を制御します:
コマンド | 目的 |
---|---|
/bug | バグを報告(会話をAnthropicに送信) |
/clear | 会話履歴をクリア |
/compact [instructions] | オプションの焦点指示で会話をコンパクトにする |
/config | 設定の表示/変更 |
/cost | トークン使用統計を表示 |
/doctor | Claude Codeインストールの健全性をチェック |
/help | 使用方法のヘルプを取得 |
/init | CLAUDE.mdガイドでプロジェクトを初期化 |
/login | Anthropicアカウントを切り替え |
/logout | Anthropicアカウントからサインアウト |
/memory | CLAUDE.mdメモリファイルを編集 |
/pr_comments | プルリクエストのコメントを表示 |
/review | コードレビューをリクエスト |
/terminal-setup | 改行用のShift+Enterキーバインディングをインストール(iTerm2とVSCodeのみ) |
/vim | 挿入モードとコマンドモードを切り替えるvimモードに入る |
Claudeのメモリを管理する
Claude Codeはスタイルガイドラインやワークフローでの一般的なコマンドなど、セッション間で設定を記憶できます。
メモリタイプの決定
Claude Codeは3つのメモリロケーションを提供し、それぞれ異なる目的を持ちます:
メモリタイプ | 場所 | 目的 | 使用例 |
---|---|---|---|
プロジェクトメモリ | ./CLAUDE.md | チーム共有の規則と知識 | プロジェクトアーキテクチャ、コーディング標準、一般的なワークフロー |
プロジェクトメモリ(ローカル) | ./CLAUDE.local.md | プロジェクト固有の個人設定 | サンドボックスURL、好みのテストデータ |
ユーザーメモリ | ~/.claude/CLAUDE.md | グローバルな個人設定 | コードスタイルの好み、個人的なツールのショートカット |
すべてのメモリファイルは、起動時にClaude Codeのコンテキストに自動的に読み込まれます。
Claudeがメモリを検索する方法
Claude Codeはメモリを再帰的に読み込みます:現在の作業ディレクトリから始めて、_/_まで上に再帰し、見つかったCLAUDE.mdまたはCLAUDE.local.mdファイルを読み込みます。これは特に大きなリポジトリで作業する場合に便利で、_foo/bar/_でClaude Codeを実行し、_foo/CLAUDE.md_と_foo/bar/CLAUDE.md_の両方にメモリがある場合に役立ちます。
#
ショートカットでメモリをすばやく追加
メモリを追加する最速の方法は、入力を#
文字で始めることです:
どのメモリファイルに保存するかを選択するよう促されます。
/memory
で直接メモリを編集
セッション中に/memory
スラッシュコマンドを使用して、システムエディタでメモリファイルを開き、より広範な追加や整理を行うことができます。
メモリのベストプラクティス
- 具体的に: 「コードを適切にフォーマットする」よりも「2スペースのインデントを使用する」の方が良いです。
- 構造を使って整理: 各メモリを箇条書きとしてフォーマットし、関連するメモリを説明的なマークダウン見出しの下にグループ化します。
- 定期的に見直す: プロジェクトの進化に合わせてメモリを更新し、Claudeが常に最新の情報とコンテキストを使用していることを確認します。
権限とセキュリティの管理
Claude Codeは、パワーと安全性のバランスを取るための階層化された権限システムを使用しています:
ツールタイプ | 例 | 承認が必要 | 「はい、次回から確認しない」の動作 |
---|---|---|---|
読み取り専用 | ファイル読み取り、LS、Grep | いいえ | 該当なし |
Bashコマンド | シェル実行 | はい | プロジェクトディレクトリとコマンドごとに永続的 |
ファイル変更 | ファイルの編集/書き込み | はい | セッション終了まで |
Claudeが利用できるツール
Claude Codeは、コードベースの理解と変更を支援する強力なツールセットにアクセスできます:
ツール | 説明 | 権限が必要 |
---|---|---|
Agent | 複雑な複数ステップのタスクを処理するサブエージェントを実行 | いいえ |
Bash | 環境内でシェルコマンドを実行 | はい |
Glob | パターンマッチングに基づいてファイルを検索 | いいえ |
Grep | ファイル内容でパターンを検索 | いいえ |
LS | ファイルとディレクトリをリスト表示 | いいえ |
Read | ファイルの内容を読み取る | いいえ |
Edit | 特定のファイルに対象を絞った編集を行う | はい |
Write | ファイルを作成または上書き | はい |
NotebookEdit | Jupyterノートブックのセルを変更 | はい |
NotebookRead | Jupyterノートブックの内容を読み取り表示 | いいえ |
WebFetch | 指定されたURLからコンテンツを取得 | はい |
権限ルールは/allowed-tools
または権限設定で設定できます。
プロンプトインジェクションから保護する
プロンプトインジェクションは、攻撃者が悪意のあるテキストを挿入することでAIアシスタントの指示を上書きまたは操作しようとする手法です。Claude Codeには、これらの攻撃に対するいくつかの保護機能が含まれています:
- 権限システム: 機密性の高い操作には明示的な承認が必要
- コンテキスト認識分析: リクエスト全体を分析して潜在的に有害な指示を検出
- 入力サニタイズ: ユーザー入力を処理してコマンドインジェクションを防止
- コマンドブロックリスト:
curl
やwget
などのWebから任意のコンテンツを取得する危険なコマンドをブロック
信頼できないコンテンツを扱う際のベストプラクティス:
- 承認前に提案されたコマンドを確認する
- 信頼できないコンテンツを直接Claudeにパイプしない
- 重要なファイルへの変更提案を確認する
- 不審な動作は
/bug
で報告する
これらの保護機能はリスクを大幅に軽減しますが、どのシステムもすべての攻撃に完全に耐性があるわけではありません。AIツールを使用する際は、常に適切なセキュリティプラクティスを維持してください。
ネットワークアクセスの設定
Claude Codeは以下へのアクセスが必要です:
- api.anthropic.com
- statsig.anthropic.com
- sentry.io
コンテナ化された環境でClaude Codeを使用する場合は、これらのURLを許可リストに追加してください。
環境変数
Claude Codeは、その動作を制御するために以下の環境変数をサポートしています:
変数 | 目的 |
---|---|
DISABLE_AUTOUPDATER | 1 に設定すると自動更新を無効にします |
DISABLE_BUG_COMMAND | 1 に設定すると/bug コマンドを無効にします |
DISABLE_COST_WARNINGS | 1 に設定するとコスト警告メッセージを無効にします |
DISABLE_ERROR_REPORTING | 1 に設定するとSentryエラーレポートをオプトアウトします |
DISABLE_TELEMETRY | 1 に設定するとStatsigテレメトリをオプトアウトします(Statsigイベントにはコード、ファイルパス、bashコマンドなどのユーザーデータは含まれないことに注意してください) |
HTTP_PROXY | ネットワーク接続用のHTTPプロキシサーバーを指定します |
HTTPS_PROXY | ネットワーク接続用のHTTPSプロキシサーバーを指定します |
MCP_TIMEOUT | MCPサーバー起動のタイムアウト(ミリ秒) |
MCP_TOOL_TIMEOUT | MCPツール実行のタイムアウト(ミリ秒) |
Claude Codeを設定する
ターミナルでclaude config
を実行するか、インタラクティブREPLで/config
コマンドを使用してClaude Codeを設定します。
設定オプション
Claude Codeはグローバルレベルとプロジェクトレベルの設定をサポートしています。
設定を管理するには、以下のコマンドを使用します:
- 設定一覧:
claude config list
- 設定を確認:
claude config get <key>
- 設定を変更:
claude config set <key> <value>
- 設定に追加(リスト用):
claude config add <key> <value>
- 設定から削除(リスト用):
claude config remove <key> <value>
デフォルトではconfig
はプロジェクト設定を変更します。グローバル設定を管理するには、--global
(または-g
)フラグを使用します。
グローバル設定
グローバル設定を設定するには、claude config set -g <key> <value>
を使用します:
キー | 値 | 説明 |
---|---|---|
autoUpdaterStatus | disabled またはenabled | 自動更新を有効または無効にする(デフォルト: enabled ) |
env | JSON(例: '{"FOO": "bar"}' ) | すべてのセッションに適用される環境変数 |
preferredNotifChannel | iterm2 、iterm2_with_bell 、terminal_bell 、またはnotifications_disabled | 通知を受け取る場所(デフォルト: iterm2 ) |
theme | dark 、light 、light-daltonized 、またはdark-daltonized | カラーテーマ |
verbose | true またはfalse | bashとコマンドの完全な出力を表示するかどうか(デフォルト: false ) |
自動更新の権限オプション
Claude Codeがグローバルnpmプレフィックスディレクトリに書き込む十分な権限がない(自動更新に必要)ことを検出すると、このドキュメントページを指す警告が表示されます。自動更新の問題に関する詳細な解決策については、トラブルシューティングガイドを参照してください。
推奨: ユーザーが書き込み可能な新しいnpmプレフィックスを作成する
このオプションを推奨する理由:
- システムディレクトリの権限を変更しない
- グローバルnpmパッケージ用の専用の場所を作成
- セキュリティのベストプラクティスに従う
Claude Codeは積極的に開発中であるため、上記の推奨オプションを使用して自動更新を設定することをお勧めします。
自動更新を無効にする
代わりに権限を修正せずに自動更新を無効にする場合は、以下を使用できます:
プロジェクト設定
プロジェクト設定はclaude config set <key> <value>
(-g
フラグなし)で管理します:
キー | 値 | 説明 |
---|---|---|
allowedTools | ツールの配列 | 手動承認なしで実行できるツール |
ignorePatterns | globパターンの配列 | ツール使用時に無視されるファイル/ディレクトリ |
例:
allowedTools
ルールの形式については権限を参照してください。
ターミナル設定を最適化する
Claude Codeは、ターミナルが適切に設定されている場合に最適に動作します。最適な体験を得るには、以下のガイドラインに従ってください。
サポートされているシェル:
- Bash
- Zsh
- Fish
テーマと外観
Claudeはターミナルのテーマを制御できません。それはターミナルアプリケーションによって処理されます。オンボーディング中または/config
コマンドを使用していつでも、Claude Codeのテーマをターミナルに合わせることができます。
改行
Claude Codeに改行を入力するためのいくつかのオプションがあります:
- クイックエスケープ:
\
に続けてEnterを押して改行を作成 - キーボードショートカット: 適切な設定でOption+Enter(Meta+Enter)を押す
ターミナルでOption+Enterを設定するには:
Mac Terminal.appの場合:
- 設定 → プロファイル → キーボードを開く
- 「Optionをメタキーとして使用」をチェック
iTerm2とVSCodeターミナルの場合:
- 設定 → プロファイル → キーを開く
- 一般の下で、左/右Optionキーを「Esc+」に設定
iTerm2とVSCodeユーザー向けのヒント: Claude Code内で/terminal-setup
を実行して、より直感的な代替手段としてShift+Enterを自動的に設定します。
通知設定
適切な通知設定で、Claudeがタスクを完了したときを見逃さないようにします:
ターミナルベル通知
タスク完了時のサウンドアラートを有効にします:
macOSユーザー向け: システム設定 → 通知 → [ターミナルアプリ]で通知権限を有効にすることを忘れないでください。
iTerm 2システム通知
タスク完了時のiTerm 2アラート:
- iTerm 2環境設定を開く
- プロファイル → ターミナルに移動
- 「ベルを消音」と「アイドル時に通知を送信」を有効にする
- 好みの通知遅延を設定
これらの通知はiTerm 2に固有であり、デフォルトのmacOSターミナルでは利用できないことに注意してください。
大量の入力の処理
広範なコードや長い指示で作業する場合:
- 直接貼り付けを避ける: Claude Codeは非常に長い貼り付けられたコンテンツで苦労する場合があります
- ファイルベースのワークフローを使用する: コンテンツをファイルに書き込み、Claudeに読み取りを依頼します
- VS Codeの制限に注意する: VS Codeターミナルは特に長い貼り付けを切り捨てる傾向があります
Vimモード
Claude Codeは/vim
で有効にするか、/config
で設定できるVimキーバインディングのサブセットをサポートしています。
サポートされているサブセットには以下が含まれます:
- モード切替:
Esc
(NORMALモードへ)、i
/I
、a
/A
、o
/O
(INSERTモードへ) - ナビゲーション:
h
/j
/k
/l
、w
/e
/b
、0
/$
/^
、gg
/G
- 編集:
x
、dw
/de
/db
/dd
/D
、cw
/ce
/cb
/cc
/C
、.
(繰り返し)
コストを効果的に管理する
Claude Codeは各インタラクションでトークンを消費します。平均コストは1日あたり開発者1人につき$6で、ユーザーの90%は1日のコストが$12未満です。
コストを追跡する
/cost
を使用して現在のセッションの使用量を確認- Anthropic Consoleユーザー:
- Anthropic Consoleで履歴使用量を確認(管理者または請求担当者ロールが必要)
- Claude Codeワークスペースのワークスペース支出制限を設定(管理者ロールが必要)
- Maxプランユーザー: 使用量はMaxプランサブスクリプションに含まれています
トークン使用量を削減する
-
会話をコンパクトにする:
-
Claudeはコンテキストが容量の95%を超えると自動的にコンパクト化します
-
自動コンパクト切替:
/config
を実行し、「Auto-compact enabled」に移動 -
コンテキストが大きくなったら手動で
/compact
を使用 -
カスタム指示を追加:
/compact Focus on code samples and API usage
-
CLAUDE.mdに追加してコンパクト化をカスタマイズ:
-
-
具体的なクエリを書く: 不要なスキャンをトリガーする曖昧なリクエストを避ける
-
複雑なタスクを分解する: 大きなタスクを焦点を絞ったインタラクションに分割する
-
タスク間で履歴をクリアする:
/clear
を使用してコンテキストをリセットする
コストは以下に基づいて大きく変動する可能性があります:
- 分析されるコードベースのサイズ
- クエリの複雑さ
- 検索または変更されるファイルの数
- 会話履歴の長さ
- 会話をコンパクト化する頻度
チーム展開の場合、より広範な展開の前に使用パターンを確立するために小さなパイロットグループから始めることをお勧めします。
モデル設定
デフォルトでは、Claude Codeはclaude-opus-4-20250514
を使用します。以下の環境変数を使用してこれをオーバーライドできます:
グローバル設定を使用してこれらの変数を設定することもできます:
異なるプロバイダー間で利用可能なすべてのモデルについては、モデル名リファレンスを参照してください。
サードパーティAPIとの使用
Claude Codeは、使用するAPIプロバイダーに関係なく、Claude Sonnet 3.7とClaude Haiku 3.5の両方のモデルへのアクセスが必要です。
Amazon Bedrockに接続
プロキシ経由でClaude Codeにアクセスしたい場合は、ANTHROPIC_BEDROCK_BASE_URL
環境変数を使用できます:
プロンプトキャッシュが有効になっていない場合は、以下も設定してください:
標準のAWS SDKクレデンシャル(例:~/.aws/credentials
またはAWS_ACCESS_KEY_ID
、AWS_SECRET_ACCESS_KEY
などの関連環境変数)が必要です。AWSクレデンシャルを設定するには、以下を実行します:
コスト削減と高いレート制限のためのプロンプトキャッシュについては、Amazon Bedrockにお問い合わせください。
ユーザーはAWSアカウントでClaude Sonnet 3.7とClaude Haiku 3.5の両方のモデルにアクセスする必要があります。モデルアクセスロールがある場合、これらのモデルがまだ利用できない場合はアクセスをリクエストする必要があるかもしれません。推論プロファイルはリージョン間機能を必要とするため、各リージョンのBedrockへのアクセスが必要です。
Google Vertex AIに接続
プロキシ経由でClaude Codeにアクセスしたい場合は、ANTHROPIC_VERTEX_BASE_URL
環境変数を使用できます:
プロンプトキャッシュが有効になっていない場合は、以下も設定してください:
Vertex AI上のClaude Codeは現在、us-east5
リージョンのみをサポートしています。プロジェクトにこの特定のリージョンで割り当てられたクォータがあることを確認してください。
ユーザーはVertex AIプロジェクトでClaude Sonnet 3.7とClaude Haiku 3.5の両方のモデルにアクセスする必要があります。
google-auth-libraryを通じて設定された標準のGCPクレデンシャルが必要です。GCPクレデンシャルを設定するには、以下を実行します:
最良の体験のために、高いレート制限についてGoogleにお問い合わせください。
プロキシを通じて接続
LLMプロキシ(LiteLLMなど)でClaude Codeを使用する場合、以下の環境変数と設定を使用して認証動作を制御できます。これらはBedrockとVertex固有の設定と組み合わせることができることに注意してください。
環境変数
ANTHROPIC_AUTH_TOKEN
:Authorization
およびProxy-Authorization
ヘッダーのカスタム値(ここで設定した値にはBearer
が前に付きます)ANTHROPIC_CUSTOM_HEADERS
: リクエストに追加したいカスタムヘッダー(Name: Value
形式)HTTP_PROXY
: HTTPプロキシURLを設定HTTPS_PROXY
: HTTPSプロキシURLを設定
環境変数の代わりにファイルで設定したい場合は、これらの変数をグローバルClaude設定(_~/.claude.json_内)のenv
オブジェクトに追加できます。
グローバル設定オプション
apiKeyHelper
: APIキーを取得するためのカスタムシェルスクリプト(起動時に一度呼び出され、各セッションの期間中キャッシュされます)
開発コンテナリファレンス実装
Claude Codeは、一貫した安全な環境が必要なチーム向けの開発コンテナ設定を提供します。この事前設定されたdevcontainer設定は、VS CodeのRemote - Containers拡張機能や同様のツールとシームレスに連携します。
コンテナの強化されたセキュリティ対策(分離とファイアウォールルール)により、無人操作のために権限プロンプトをバイパスするclaude --dangerously-skip-permissions
を実行できます。ニーズに合わせてカスタマイズできるリファレンス実装を提供しています。
devcontainerは実質的な保護を提供しますが、どのシステムもすべての攻撃に完全に耐性があるわけではありません。常に適切なセキュリティプラクティスを維持し、Claudeの活動を監視してください。
主な機能
- 本番環境対応Node.js: 必須の開発依存関係を備えたNode.js 20をベースにしています
- 設計段階からのセキュリティ: 必要なサービスのみにネットワークアクセスを制限するカスタムファイアウォール
- 開発者向けツール: git、生産性向上のためのZSH、fzfなどを含みます
- VS Codeとのシームレスな統合: 事前設定された拡張機能と最適化された設定
- セッション永続性: コンテナの再起動間でコマンド履歴と設定を保持
- どこでも動作: macOS、Windows、Linuxの開発環境と互換性があります
4ステップで始める
- VS CodeとRemote - Containers拡張機能をインストール
- Claude Codeリファレンス実装リポジトリをクローン
- VS Codeでリポジトリを開く
- プロンプトが表示されたら、「コンテナで再度開く」をクリック(またはコマンドパレット: Cmd+Shift+P → 「Remote-Containers: コンテナで再度開く」)
設定の内訳
devcontainer設定は主に3つのコンポーネントで構成されています:
- devcontainer.json: コンテナ設定、拡張機能、ボリュームマウントを制御
- Dockerfile: コンテナイメージとインストールされたツールを定義
- init-firewall.sh: ネットワークセキュリティルールを確立
セキュリティ機能
コンテナはファイアウォール設定で多層セキュリティアプローチを実装しています:
- 精密なアクセス制御: ホワイトリストに登録されたドメイン(npmレジストリ、GitHub、Anthropic APIなど)のみに外部接続を制限
- デフォルト拒否ポリシー: 他のすべての外部ネットワークアクセスをブロック
- 起動時検証: コンテナ初期化時にファイアウォールルールを検証
- 分離: メインシステムから分離された安全な開発環境を作成
カスタマイズオプション
devcontainer設定はニーズに適応できるように設計されています:
- ワークフローに基づいてVS Code拡張機能を追加または削除
- 異なるハードウェア環境のリソース割り当てを変更
- ネットワークアクセス権限を調整
- シェル設定と開発ツールをカスタマイズ
次のステップ
Claude Codeチュートリアル
一般的なタスクのステップバイステップガイド
トラブルシューティング
Claude Codeの一般的な問題に対する解決策
リファレンス実装
開発コンテナのリファレンス実装をクローンします。
ライセンスとデータ使用
Claude Codeは、Anthropicの商用利用規約に基づいてベータ研究プレビューとして提供されています。
データの使用方法
私たちはデータの使用方法について完全に透明性を持つことを目指しています。フィードバックを製品やサービスの改善に使用することがありますが、Claude Codeからのフィードバックを使用して生成モデルをトレーニングすることはありません。潜在的に機密性の高い性質を考慮して、ユーザーフィードバックの記録は30日間のみ保存します。
フィードバック記録
Claude Codeに関するフィードバック(使用記録など)を送信することを選択した場合、Anthropicはそのフィードバックを関連する問題のデバッグやClaude Codeの機能改善(例:将来同様のバグが発生するリスクを減らすため)に使用することがあります。このフィードバックを使用して生成モデルをトレーニングすることはありません。
プライバシー保護
機密情報の限定された保持期間、ユーザーセッションデータへのアクセス制限、モデルトレーニングにフィードバックを使用しないという明確なポリシーなど、データを保護するためのいくつかの保護措置を実施しています。
詳細については、商用利用規約とプライバシーポリシーをご確認ください。
ライセンス
© Anthropic PBC. All rights reserved. 使用はAnthropicの商用利用規約に従います。