Claude Code CLI の使い方|ターミナル操作の基本と応用
Claude Code は、ターミナルから直接操作できる AI コーディングアシスタントです。GUI を一切使わず、コマンドラインだけで AI の力を活用した開発ができます。
本記事では、Claude Code CLI の基本操作から、非対話モード、パイプ入力、CI/CD 連携といった応用テクニックまで、ターミナルでの活用方法を体系的に解説します。
Claude Code CLI とは
Claude Code CLI(Command Line Interface)は、Anthropic が提供するターミナルベースの AI コーディングアシスタントです。エディタの拡張機能ではなく、ターミナルから直接起動して対話する形式をとっている点が最大の特徴です。
ターミナルベースの AI コーディングアシスタント
Claude Code は npm install -g @anthropic-ai/claude-code でインストールし、ターミナルで claude コマンドを実行するだけで起動できます。GUI を持たないため、SSH 接続先のリモートサーバーや Docker コンテナの中など、ターミナルさえあれば場所を選ばず使えます。
このアーキテクチャは、以下のような場面で特に威力を発揮します。
- リモート開発: SSH 先のサーバーで直接 AI と対話しながらコーディング
- コンテナ内操作: Docker / devcontainer の中で即座に利用可能
- ヘッドレス環境: CI/CD パイプラインやスクリプトからの自動実行
- 軽量な環境: エディタを開かずに素早く修正を行いたいとき
GUI 不要で開発できるメリット
GUI ベースの AI コーディングツールは、エディタの拡張機能として動作するため、特定のエディタに依存します。一方、Claude Code CLI はターミナルがあれば動作するため、開発環境に縛られません。
Vim や Emacs を普段使いしている開発者でも、自分のエディタを変えることなく AI の恩恵を受けられます。また、複数のプロジェクトを素早く切り替えながら作業する場合にも、ターミナルのタブを切り替えるだけで済むため効率的です。
基本的な CLI 操作
Claude Code CLI を使いこなすために、まず基本的な操作方法を押さえましょう。
起動コマンド
最もシンプルな起動方法は、プロジェクトのルートディレクトリで以下のコマンドを実行することです。
claude
これだけで対話モードが開始されます。Claude Code はカレントディレクトリを作業ディレクトリとして認識し、プロジェクトのコードベースを理解した上で応答してくれます。
CLAUDE.md ファイルがプロジェクトルートにあれば、プロジェクト固有のルールやコンテキストが自動的に読み込まれます。
# 特定のディレクトリで起動
cd /path/to/project && claude
# 会話を再開する
claude --continue
# 直前の会話を再開する
claude --resume
対話モード
claude コマンドを引数なしで実行すると、対話(インタラクティブ)モードに入ります。プロンプトが表示され、自然言語で指示を入力できます。
$ claude
╭──────────────────────────────────────╮
│ Claude Code │
╰──────────────────────────────────────╯
> この React コンポーネントにローディング状態を追加してください
対話モードでは、会話の文脈が保持されるため、前の指示を踏まえた追加のリクエストが可能です。コードの修正を段階的に進めたいときに適しています。
対話中に使える便利なキーボードショートカットもあります。
| 操作 | 説明 |
|---|---|
Escape | 現在の応答を中断 |
Ctrl+C | 入力をキャンセル / 2回で終了 |
Tab | 右側のボタンにフォーカス |
/help | ヘルプを表示 |
/compact | 会話履歴を圧縮してトークンを節約 |
/cost | 現在のセッションのトークン使用量を表示 |
/clear | 会話履歴をクリア |
非対話モード(-p フラグ)
-p(--print)フラグを使うと、非対話(ワンショット)モードで実行できます。指示を渡すと、結果を出力して即座に終了します。
claude -p "Create a hello world script in Python"
非対話モードは以下のような場面で活躍します。
- シェルスクリプトからの自動実行
- CI/CD パイプラインでの利用
- 他のコマンドとのパイプ連携
- 定型タスクの一括処理
出力はデフォルトでテキスト形式ですが、--output-format フラグで JSON 形式にすることもできます。
# JSON 形式で出力
claude -p "このプロジェクトの構造を説明して" --output-format json
# ストリーミング JSON 形式で出力(リアルタイム)
claude -p "テストを実行して結果を報告して" --output-format stream-json
便利な CLI フラグ一覧
Claude Code CLI には多数のフラグが用意されています。よく使うものを以下にまとめます。
| フラグ | 短縮形 | 説明 |
|---|---|---|
--print | -p | 非対話モードで実行。結果を出力して終了 |
--model | 使用するモデルを指定(例: claude-sonnet-4-20250514) | |
--output-format | 出力形式を指定(text / json / stream-json) | |
--verbose | 詳細なログを出力 | |
--max-turns | エージェントのターン数上限を設定 | |
--continue | -c | 直前の会話を再開 |
--resume | -r | 過去の会話を選択して再開 |
--allowedTools | 使用を許可するツールを指定 | |
--disallowedTools | 使用を禁止するツールを指定 | |
--permission-mode | パーミッションモードを指定(default / plan / bypasstool) | |
--add-dir | 追加の作業ディレクトリを指定 |
--model フラグを使えば、タスクに応じてモデルを使い分けることができます。
# 高速に処理したいとき
claude -p "この関数の型を修正して" --model claude-sonnet-4-20250514
# 複雑な設計判断が必要なとき
claude -p "このアーキテクチャをレビューして" --model claude-opus-4-20250918
パイプとリダイレクト
Claude Code CLI は Unix のパイプとリダイレクトを活用できます。これにより、他のコマンドラインツールとシームレスに連携できます。
stdin からの入力
パイプを通じて標準入力からデータを渡せます。ファイルの内容やコマンドの出力結果を Claude Code に直接分析させることが可能です。
# ファイルの内容を渡してレビューを依頼
cat src/utils.ts | claude -p "このコードのバグを見つけて"
# Git diff を渡してレビュー
git diff main | claude -p "この差分をレビューして、問題があれば指摘して"
# ログを渡してエラー分析
cat error.log | claude -p "このエラーログの原因を分析して"
ファイルへの出力
出力をファイルにリダイレクトすることで、結果を保存できます。
# レビュー結果をファイルに保存
git diff main | claude -p "コードレビューを実施して" > review.md
# 設計ドキュメントを生成
claude -p "src/ ディレクトリのアーキテクチャドキュメントを生成して" > architecture.md
他コマンドとの連携
Unix のコマンドチェーンに Claude Code を組み込むことで、強力なワークフローが構築できます。
# テスト失敗の原因を自動分析
npm test 2>&1 | claude -p "失敗しているテストの原因と修正方法を教えて"
# TypeScript のエラーを分析
npx tsc --noEmit 2>&1 | claude -p "これらの型エラーを修正する方法を教えて"
# ESLint の警告をまとめて分析
npx eslint src/ 2>&1 | claude -p "これらの ESLint エラーの修正方針をまとめて"
CI/CD での活用
Claude Code CLI の真価は、CI/CD パイプラインに組み込んだときに発揮されます。非対話モードとパイプを組み合わせることで、コードレビューやドキュメント生成を自動化できます。
GitHub Actions での利用
GitHub Actions のワークフローに Claude Code を組み込む例を紹介します。
name: AI Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
この設定により、プルリクエストが作成・更新されるたびに AI による自動コードレビューが実行されます。
自動コードレビュー
claude-code-action を使わずに、CLI を直接呼び出す方法もあります。
# PR の差分を取得してレビュー
git diff origin/main...HEAD | claude -p \
"このプルリクエストの差分をレビューしてください。
セキュリティ上の問題、パフォーマンスの懸念、
コーディング規約違反があれば指摘してください。" \
--output-format json
CI/CD での活用についてさらに詳しく知りたい方は、以下の記事も参考にしてください。
シェルスクリプトとの連携
Claude Code CLI をシェルスクリプトに組み込むことで、定型作業を自動化できます。
バッチ処理
複数のファイルに対して一括で処理を実行する例です。
#!/bin/bash
# 全コンポーネントの JSDoc を自動生成
for file in src/components/*.tsx; do
echo "Processing: $file"
claude -p "このファイルに JSDoc コメントを追加して: $(cat "$file")" \
--output-format json \
--max-turns 3
done
複数のプロジェクトに対して横断的にタスクを実行することもできます。
#!/bin/bash
# 複数リポジトリの依存関係を一括チェック
for repo in ~/projects/*/; do
echo "=== $(basename "$repo") ==="
cd "$repo"
claude -p "package.json の依存関係で、セキュリティアップデートが必要なものを列挙して" \
--max-turns 1
cd -
done
定期実行
cron や GitHub Actions のスケジュール機能と組み合わせて定期実行することで、継続的なコード品質の維持に活用できます。
#!/bin/bash
# 週次コード品質レポート
DATE=$(date +%Y-%m-%d)
claude -p "src/ ディレクトリのコード品質を分析して、
改善すべき点をレポートにまとめてください。
特にコードの重複、複雑度の高い関数、テストカバレッジの低い領域に注目してください。" \
--output-format text > "reports/quality-${DATE}.md"
VSCode ターミナルでの使い方
VSCode をメインエディタとして使っている方は、VSCode の統合ターミナルから Claude Code CLI を使うのが最も効率的です。
VSCode のターミナル(Ctrl+` で表示)を開き、プロジェクトディレクトリで claude コマンドを実行するだけで利用を開始できます。VSCode のファイルエクスプローラーでコードを確認しながら、ターミナルで Claude Code に指示を出すという、両方の良いところを活かしたワークフローが可能です。
さらに、VSCode の Claude Code 拡張機能をインストールすれば、エディタ内のパネルから直接対話することもできます。ターミナルと拡張機能を使い分けることで、タスクに応じた最適な操作が選べます。
VSCode との連携についてさらに詳しく知りたい方は、以下の記事をご覧ください。
まとめ
Claude Code CLI は、ターミナルから AI コーディングアシスタントを操作できる強力なツールです。本記事で紹介した内容をまとめます。
- 基本操作:
claudeコマンドで対話モードを起動し、自然言語で指示を出せる - 非対話モード:
-pフラグでワンショット実行が可能。スクリプトや CI/CD との連携に最適 - CLI フラグ:
--model、--output-format、--max-turnsなど、用途に応じた細かな制御ができる - パイプ連携: Unix のパイプとリダイレクトを活用し、他のコマンドラインツールとシームレスに連携できる
- CI/CD 統合: GitHub Actions などに組み込むことで、コードレビューやドキュメント生成を自動化できる
- シェルスクリプト: バッチ処理や定期実行で、定型作業を効率化できる
CLI の操作に慣れれば、GUI ベースのツールでは難しい自動化やカスタマイズが自在に行えるようになります。まずは claude -p での非対話モードから試して、徐々にパイプ連携やスクリプト化へとステップアップしていきましょう。