0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code入門 #1: インストールから使える初期設定まで

Posted at

はじめに

Claude Codeは、Anthropicが開発したターミナルベースのAIアシスタントです。エディタやIDEに依存せず、ターミナルから直接AIと対話しながらコーディングや調査を行えるCLIツールです。

本記事は、Claude Codeの機能を体系的に解説する連載シリーズの第1回です。「この記事を読み終えたら、Claude Codeがすぐ使える状態になる」 ことをゴールとしています。

対象読者

  • これからClaude Codeを使い始める方
  • すでに使っているが、設定を詰めていない方

連載予定

  • #1: インストールから"使える"初期設定まで (本記事)
  • #2: CLAUDE.mdの書き方と育て方
  • #3: パーミッション&Sandbox完全ガイド
  • #4: Hooks実践テクニック
  • #5: Skills入門
  • #6: MCP活用術

1. インストール

システム要件

項目 要件
OS macOS 13.0+ / Ubuntu 20.04+ / Debian 10+ / Windows 10 1809+ (WSL1, WSL2, Git for Windows)
RAM 4GB以上
ネットワーク インターネット接続必須

インストール方法

3つの方法がありますが、ネイティブインストールを推奨します。自動更新が有効になるためです。

macOS / Linux / WSL(推奨)

curl -fsSL https://claude.ai/install.sh | bash

Homebrew

brew install --cask claude-code

Windows PowerShell:

irm https://claude.ai/install.ps1 | iex

Tips: ネイティブインストール(curl)は自動更新されますが、Homebrewはbrew upgrade claude-codeによる手動更新が必要です。

インストール後、claude doctorを実行すると環境の状態を診断できます。

認証

Claude Codeを利用するには、以下のいずれかが必要です。

認証方法 対象
Claude Pro / Maxプラン(推奨) 個人ユーザー。Claude.aiアカウントでログイン
Claude Console console.anthropic.comでOAuth認証。APIキー不要
Teams / Enterpriseプラン チーム・組織向け

初回起動

cd your-project
claude

初回起動時にログインプロンプトが表示されます。認証を完了し、プロンプトが表示されれば準備完了です。

Tips: 何か問題がある場合は claude doctor を実行してください。インストール・認証・環境の問題を診断してくれます。

2. 設定ファイル構造の理解

Claude Codeの設定は3つのスコープで管理されます。これを理解しておくと、後の設定作業がスムーズになります。

~/.claude/
├── CLAUDE.md              # ユーザーメモリ(全プロジェクト共通ルール)
├── settings.json          # Hooks、パーミッション等の設定
└── agents/                # サブエージェント定義
~/.claude.json             # MCP設定専用( .claude/ の外にある!)

your-project/
├── CLAUDE.md              # プロジェクトメモリ(チーム共有)
├── .claude/
│   ├── settings.json      # プロジェクト設定(チーム共有)
│   └── settings.local.json  # ローカル設定(gitignored)
└── .mcp.json              # プロジェクトMCP設定

設定の優先順位(高 → 低)

  1. Local.claude/settings.local.json(個人のローカル設定)
  2. Project.claude/settings.json(プロジェクト共有設定)
  3. User~/.claude/settings.json(全プロジェクト共通設定)

Tips: ~/.claude.json(MCP設定ファイル)は ~/.claude/ ディレクトリのにあります。初心者がよく間違えるポイントなので注意してください。

Tips: settings.jsonの先頭に "$schema": "https://json.schemastore.org/claude-code-settings.json" を追加すると、VS Codeで補完やバリデーションが効くようになります。

3. 必ずやるべき初期設定3つ

インストールと設定構造を理解したところで、最初にやるべき設定を3つだけ紹介します。セキュリティを保ちつつ、ストレスなく使える状態を目指します。

3-1. 完了通知(Stop Hook)

Claude Codeに長めのタスクを任せて別の作業をしていると、完了に気づかず時間を無駄にしがちです。Stop Hookを設定すると、処理完了時にサウンドで通知されます。

~/.claude/settings.json に以下を追加します。

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "afplay /System/Library/Sounds/Glass.aiff"
          }
        ]
      }
    ]
  }
}

Tips: macOSの標準サウンドは /System/Library/Sounds/ にあります(Glass.aiff、Ping.aiff、Pop.aiff等)。好みのサウンドに変更してください。

  • Linux: paplay /usr/share/sounds/freedesktop/stereo/complete.oga
  • Windows (WSL): powershell.exe -c "(New-Object Media.SoundPlayer 'C:\Windows\Media\chimes.wav').PlaySync()"

3-2. パーミッション設定

デフォルトでは、ほぼすべての操作で確認が表示されます。安全な操作まで毎回承認するのは非効率なので、適切にパーミッションを設定しましょう。

まずはこれだけ設定する(最小構成)

{
  "permissions": {
    "allow": [
      "WebFetch",
      "WebSearch"
    ]
  }
}

これだけでWeb検索・ドキュメント取得の確認がスキップされ、体感が大きく変わります。

慣れてきたら追加する設定

{
  "permissions": {
    "allow": [
      "WebFetch",
      "WebSearch",
      "Bash(npm run *)",
      "Bash(git status)",
      "Bash(git diff *)",
      "Bash(git log *)"
    ],
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Edit(./.env)",
      "Edit(./.env.*)",
      "Bash(git push -f *)",
      "Bash(git reset --hard *)"
    ]
  }
}

注意: パーミッションの評価順序は deny → ask → allow です。denyが常に最優先されるため、allowに追加してもdenyに該当すれば拒否されます。.envファイルのdenyは機密情報漏洩を防ぐために必ず設定してください。

Tips: パーミッション設定の詳細は第3回「パーミッション&Sandbox完全ガイド」で解説します。

3-3. ステータスライン(コンテキスト使用率表示)

LLMにはコンテキストウィンドウの上限があります。使用率が高くなると自動圧縮(auto-compact)が発生し、推論精度が低下する可能性があります。常に使用率を確認できるようにしておきましょう。

手順1: スクリプトファイルを作成する

~/.claude/statusline.sh

#!/bin/bash
input=$(cat)
CONTEXT_SIZE=$(echo "$input" | jq -r '.context_window.context_window_size')
USAGE=$(echo "$input" | jq '.context_window.current_usage')

if [ "$USAGE" != "null" ] && [ "$CONTEXT_SIZE" != "null" ] && [ "$CONTEXT_SIZE" != "0" ]; then
    CURRENT=$(echo "$USAGE" | jq '.input_tokens + .cache_creation_input_tokens + .cache_read_input_tokens')
    PERCENT=$((CURRENT * 100 / CONTEXT_SIZE))
    echo "Context: ${PERCENT}%"
else
    echo "Context: -"
fi

手順2: 実行権限を付与する

chmod +x ~/.claude/statusline.sh

手順3: settings.jsonに追加する

{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/statusline.sh"
  }
}

Tips: コンテキスト使用率が70-80%になったら /compact で圧縮を検討してください。/compact 認証機能の実装状況は保持して のように、保持すべき情報を指定することも可能です。

4. 知っておくと便利な基本操作

キーボードショートカット

操作 機能
Shift+Enter 改行入力
Escape 処理を即時停止
Shift+Tab x2 Plan Mode切替

よく使うコマンド

コマンド 機能
/clear コンテキストを完全リセット
/compact コンテキストを圧縮(重要情報は保持)
/init CLAUDE.mdを自動生成
claude --continue 前回のセッションを継続
claude --resume 過去のセッションを選択して再開

/clear/compact の使い分け

  • /clear: コンテキストを完全にリセットします。新しいタスクに着手する時に使います。
  • /compact: コンテキストを圧縮しつつ、重要な情報は保持します。同じタスクを続けたいが、コンテキストが逼迫している時に使います。

5. トラブルシューティング

設定が反映されない

  • settings.jsonのJSON構文エラーを確認してください(末尾のカンマ、閉じ括弧の不足など)
  • 設定の優先順位を確認してください(Local > Project > User)
  • Claude Codeを再起動してください

パーミッションが期待通りに動かない

  • 評価順序は deny → ask → allow です
  • denyが常に最優先されるため、allowに追加してもdenyに該当すれば拒否されます
  • ワイルドカードのパターンが意図通りか確認してください

そもそも起動しない・認証できない

claude doctor を実行してください。インストール、認証、環境に関する問題を診断して、対処法を提示してくれます。

claude doctor

6. まとめ&次回予告

この記事でやったこと

  • Claude Codeをインストールした
  • 認証を完了した
  • 完了通知(Stop Hook)を設定した
  • パーミッションを設定した
  • ステータスラインを設定した

コピペで使える完全設定テンプレート

~/.claude/settings.json

{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "afplay /System/Library/Sounds/Glass.aiff"
          }
        ]
      }
    ]
  },
  "permissions": {
    "allow": [
      "WebFetch",
      "WebSearch"
    ],
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Edit(./.env)",
      "Edit(./.env.*)",
      "Bash(git push -f *)",
      "Bash(git reset --hard *)"
    ]
  },
  "statusLine": {
    "type": "command",
    "command": "~/.claude/statusline.sh"
  }
}

~/.claude/statusline.sh

#!/bin/bash
input=$(cat)
CONTEXT_SIZE=$(echo "$input" | jq -r '.context_window.context_window_size')
USAGE=$(echo "$input" | jq '.context_window.current_usage')

if [ "$USAGE" != "null" ] && [ "$CONTEXT_SIZE" != "null" ] && [ "$CONTEXT_SIZE" != "0" ]; then
    CURRENT=$(echo "$USAGE" | jq '.input_tokens + .cache_creation_input_tokens + .cache_read_input_tokens')
    PERCENT=$((CURRENT * 100 / CONTEXT_SIZE))
    echo "Context: ${PERCENT}%"
else
    echo "Context: -"
fi
chmod +x ~/.claude/statusline.sh

次回予告

次回は「CLAUDE.mdの書き方と育て方」を解説します。プロジェクト固有の知識をClaude Codeに教える方法と、継続的に改善していくテクニックを紹介します。

連載一覧

  • #1: インストールから"使える"初期設定まで (本記事)
  • #2: CLAUDE.mdの書き方と育て方
  • #3: パーミッション&Sandbox完全ガイド
  • #4: Hooks実践テクニック
  • #5: Skills入門
  • #6: MCP活用術

参考: Claude Code 公式ドキュメント

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?