原文(日本語に翻訳)
CLI引数として渡されたスラッシュコマンド(例: claude /context)が正しく実行されない問題を修正しました
原文(英語)
Fixed slash commands passed as CLI arguments (e.g., claude /context) not being executed properly
概要
Claude Code v2.1.0で修正された、CLI起動時のスラッシュコマンド処理バグです。以前のバージョンでは、claude /commitのようにスラッシュコマンドをCLI引数として渡しても、正しく認識・実行されず、エラーが発生したり無視されたりしていました。この修正により、CLI起動時にスラッシュコマンドを直接指定できるようになり、スクリプトや自動化での使用が容易になりました。
修正前の問題
症状
bash
# CLI引数でスラッシュコマンドを指定
claude /commit
# 修正前: エラーまたは無視される
# Error: Unknown command '/commit'
# または
# Claude Codeが起動するが、コマンドが実行されない
# 期待: コミットスキルが自動実行される影響を受けるコマンド
bash
# すべてのスラッシュコマンド
claude /help # ヘルプ表示
claude /context # コンテキスト表示
claude /plan # プランモード
claude /commit # コミットスキル
claude /review-pr # PRレビュー
# など修正後の動作
直接実行
bash
# スラッシュコマンドをCLI引数で指定
claude /commit
# 修正後: 即座にコミットスキルが実行される
# Claude Codeが起動 → /commit スキル実行 → 完了後終了
# コンテキスト表示
claude /context
# ✓ コンテキスト情報が表示される実践例
スクリプトから自動コミット
シェルスクリプトから自動的にコミットを作成します。
bash
#!/bin/bash
# auto-commit.sh
# コード変更を実施
./make-changes.sh
# 自動的にコミット
claude /commit
# 修正後: ✓ コミットが自動作成される
# スクリプトが完了CI/CDパイプラインでのPRレビュー
GitHub Actionsから自動レビューを実行します。
yaml
# .github/workflows/review.yml
name: Auto Review
on: pull_request
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Claude Code
run: npm install -g @anthropic-ai/claude-code
- name: Review PR
run: claude /review-pr ${{ github.event.pull_request.number }}
# 修正後: ✓ PR自動レビューが実行されるクイックコンテキスト確認
現在のコンテキストを即座に確認します。
bash
# 通常の確認(対話モード経由)
claude
> /context
> exit
# 修正後: 1コマンドで確認
claude /context
# ✓ コンテキスト表示 → 自動終了
# より高速エイリアス設定
よく使うスラッシュコマンドをエイリアス化します。
bash
# ~/.bashrc または ~/.zshrc
alias ccommit='claude /commit'
alias cplan='claude /plan'
alias ccontext='claude /context'
# 使用例
ccommit # 即座にコミット作成
cplan # 即座にプランモード起動ワンライナーでの使用
パイプラインや連続コマンドで使用します。
bash
# テスト実行 → レビュー → コミット
npm test && claude /review-pr && claude /commit
# 修正後: ✓ すべてのステップが自動実行
# バックグラウンドでプラン作成
claude /plan &
# 他の作業を並行実行注意点
- この修正は Claude Code v2.1.0(2026年1月7日リリース)で実装されました
- サポートされるスラッシュコマンド:
- 組み込みコマンド:
/help,/context,/plan, etc. - スキル:
/commit,/review-pr, カスタムスキルなど - すべてのスラッシュコマンドがCLI引数として使用可能
- 組み込みコマンド:
- 動作モード:
- 非対話モード: CLI引数でスラッシュコマンドを指定すると、実行後自動終了
- 対話モード: 引数なしで起動すると、通常の対話モード
- 引数の渡し方:bash
# 基本 claude /command # スラッシュコマンド + 追加引数 claude /commit --amend # 複数の単語(クォート) claude "/commit with message" --promptとの違い:bash# --prompt: 自然言語 claude --prompt "コミットを作成して" # スラッシュコマンド: 直接コマンド実行 claude /commit # より高速、スキル直接実行- スクリプトでの使用:
- 終了コードで成功/失敗を判定可能
- エラーハンドリングが容易
bashif claude /commit; then echo "Commit successful" else echo "Commit failed" exit 1 fi - インタラクティブモードとの併用:bash
# 対話モードで特定のコマンドから開始 claude /plan # プランモードで起動 → ユーザー入力を待つ - デバッグ:
--debugフラグでスラッシュコマンド処理のログを確認- ログに「Executing CLI slash command: /commit」が表示される
- 複数のスラッシュコマンド:bash
# 修正後も、1つのコマンドのみサポート claude /commit # ✓ OK claude /commit /plan # ✗ 最初のコマンドのみ実行 - エラーハンドリング:
- スラッシュコマンドが存在しない場合、エラーを返す
- 終了コード非0
- 自動終了:
- スラッシュコマンド実行後、自動的に終了
- 対話を継続したい場合、通常起動してからコマンド入力
- パフォーマンス:
- CLI引数として渡す方が、対話モードより高速
- 起動 → 実行 → 終了がシームレス