Open3
Claude Code と Gemini CLI の設定の共通部分と相違部分

Custom Slash Commands
File Directory
- Claude:
~/.claude/commands/
- Gemini:
~/.gemini/commands/
File Format
- Claude:
*.md
- Gemini:
*.toml
Fields
Claude Code | Gemini CLI | Notes |
---|---|---|
Markdown content | prompt |
Main command content |
Frontmatter description
|
description |
Command description |
$ARGUMENTS |
{{args}} |
Argument placeholder |
!command |
!{command} |
Shell command syntax |
allowed-tools |
- | List of tools the command can use |
argument-hint |
- | The arguments expected for the slash command. Example: argument-hint: add [tagId] |
model |
- |
opus , sonnet , haiku
|

Settings files
階層
両ツールとも階層的な設定管理システムを採用し、複数レベルでの設定を可能にしている。
相違点
項目 | Claude Code | Gemini CLI |
---|---|---|
ユーザー設定 | ~/.claude/settings.json |
~/.gemini/settings.json |
プロジェクト設定 |
.claude/settings.json (共有).claude/settings.local.json (個人用) |
.gemini/settings.json |
エンタープライズ設定 | 対応あり - macOS: /Library/Application Support/ClaudeCode/managed-settings.json - Linux: /etc/claude-code/managed-settings.json - Windows: C:\ProgramData\ClaudeCode\managed-settings.json
|
記載なし |
優先順位 | 1. エンタープライズポリシー 2. コマンドライン引数 3. ローカルプロジェクト設定 4. 共有プロジェクト設定 5. ユーザー設定 |
1. コマンドライン引数 2. 環境変数 3. プロジェクト設定 4. ユーザー設定 5. デフォルト値 |
主要な設定項目
共通機能
機能カテゴリ | Claude Code | Gemini CLI |
---|---|---|
モデル設定 |
model (例: "claude-3-5-sonnet-20241022") |
model (環境変数 GEMINI_MODEL でも設定可) |
環境変数 |
env オブジェクト |
.env ファイルと連携 |
MCP サーバー |
enableAllProjectMcpServers enabledMcpjsonServers disabledMcpjsonServers
|
mcpServers オブジェクト |
Claude Code 固有の設定
設定項目 | 説明 | 例 |
---|---|---|
apiKeyHelper |
APIキー生成用カスタムスクリプト | /bin/generate_temp_api_key.sh |
cleanupPeriodDays |
チャット履歴の保持期間 | 20 |
includeCoAuthoredBy |
GitコミットにClaude署名を含むか | false |
permissions |
ツール使用権限の詳細設定 | - |
hooks |
ツール実行前後のカスタムコマンド | {"PreToolUse": {"Bash": "echo 'Running command...'"}} |
forceLoginMethod |
ログイン方法の制限 |
"claudeai" または "console"
|
awsAuthRefresh |
AWS認証の更新コマンド | "aws sso login --profile myprofile" |
Gemini CLI 固有の設定
設定項目 | 説明 | 例 |
---|---|---|
theme |
カラーテーマ |
"dark" , "light" など |
autoAccept |
安全な読み取り専用ツールの自動承認 | false |
sandbox |
ツール実行の分離環境 |
"docker" , "podman"
|
checkpointing |
ファイル変更の復元機能 | {"enabled": true} |
usageStatisticsEnabled |
使用統計の収集 | true |
contextFileName |
コンテキストファイル名のカスタマイズ | "GEMINI.md" |
verbose |
詳細出力の有効化 | false |
preferredNotifChannel |
通知チャンネルの設定 | "iterm2" |
3. 権限管理とセキュリティ
Claude Code
-
詳細な権限制御:
allow
とdeny
配列で細かいツール使用制限 -
ワーキングディレクトリ制御:
additionalDirectories
で追加アクセス許可 -
権限モード:
defaultMode
とdisableBypassPermissionsMode
-
例:
["Bash(git diff:*)", "WebFetch"]
Gemini CLI
-
ツール制御:
coreTools
とexcludeTools
でツールの有効/無効化 - サンドボックス: Dockerコンテナでの分離実行
-
MCPサーバーの信頼設定:
trust
オプションで確認ダイアログのバイパス -
例:
"excludeTools": ["run_shell_command(rm)"]
4. サブエージェント/拡張機能
Claude Code
-
サブエージェント: Markdownファイルとして定義
- ユーザー:
~/.claude/agents/
- プロジェクト:
.claude/agents/
- ユーザー:
- YAMLフロントマターでカスタムプロンプトとツール権限を定義
Gemini CLI
-
拡張機能:
extensions
ディレクトリで管理- プロジェクト:
.gemini/extensions/
- ユーザー:
~/.gemini/extensions/
- プロジェクト:
-
gemini-extension.json
でMCPサーバー、ツール、コンテキストファイルを設定
5. 環境変数との連携
共通点
- 両ツールとも環境変数によるオーバーライドが可能
- APIキーの環境変数設定をサポート
相違点
Claude Code | Gemini CLI |
---|---|
settings.json 内で環境変数を定義可能 (env キー) |
.env ファイルを別途使用 |
多数の専用環境変数 (CLAUDE_CODE_* プレフィックス) | GEMINI_* および GOOGLE_* プレフィックスの環境変数 |
6. コンテキスト管理
Claude Code
- 設定ファイル内では特に言及なし
- 主にサブエージェント機能で対応
Gemini CLI
-
GEMINI.md
ファイルによる階層的コンテキスト管理 -
contextFileName
設定でファイル名をカスタマイズ可能 -
/memory
コマンドでコンテキストの管理
7. 設定管理コマンド
Claude Code
claude config list # 設定一覧
claude config get <key> # 設定確認
claude config set <key> <value> # 設定変更
claude config add <key> <value> # リストに追加
claude config remove <key> <value> # リストから削除
Gemini CLI
- コマンドラインインターフェースからの設定変更は主に設定ファイルの直接編集
-
/mcp refresh
でMCPサーバー設定の再読み込み -
/memory refresh
でコンテキストファイルの再読み込み

特定のファイルへのアクセスの禁止や特定のファイルの走査の除外。
目的
おそらく2つにわけて考えられる。
1つはシークレット情報などを収集やインデックスされたくないという目的。
もう1つは node_modules のような開発対象とすべきではない大量のファイルを読んでトークンやコンテキストを無駄に消費させたくないというもの、
Gemini CLI
.geminiignore
ファイルという機構がサポートされている。
Claude Code
.claudeignore
のような仕組みはいまのところない。
何度も Issue に上がっているが、 Close されている。
settings.json の Deny の Read() を使うことで対応してと #79 の Issue には書かれている。
.claudeignore
という機構は 2025/08/07 時点では存在しない。
AI 生成と思われるいくつかのブログ記事ではハルシネーションしたまま公開しているように見えるので注意。 note が多い。 Zenn で同様の話に言及している記事は、今後に期待としてちゃんと書かれていた。