Codex CLIを使い始めると、プロンプトを書く以外にも「モデルを切り替えたい」「権限を一時的に厳しくしたい」「長くなった会話を要約したい」といった操作が出てきます。こうした操作を、ターミナルを離れずキーボードだけで行うための入口が、スラッシュコマンドです。結論から言うと、覚えるのは全部ではなく、権限・モデル・会話管理・変更確認の4グループから始めれば十分です。
この記事では、OpenAI公式ドキュメント「Slash commands in Codex CLI」の記載をもとに、組み込みコマンドを用途別に整理します。各コマンドの目的、実行後に起きること、使えない場面、よく混同されるコマンドの違いまでを、表と手順でまとめました。記事内の動作はすべて公式ページの記載に限っており、バージョンやプラン、利用環境によって表示されるコマンドが変わる点は後述します。
仮の例として、小さなWebアプリのリポジトリでCodex CLIを試し始めた人を想定します。最初のセッションで編集を任せたあと、「今どのモデルで、どの権限で動いているのか」「変更はどこまで入ったのか」を確認したくなる場面です。こうした確認や切り替えを、新しいセッションを立ち上げ直さずに済ませる手段として、スラッシュコマンドを紹介していきます。
Codex CLI全体の位置づけや料金は、先にOpenAI Codexの使い方を読むと全体像をつかみやすくなります。設定ファイル側で恒久的に決めたい項目はCodex CLIのconfig.toml完全ガイドで扱っているため、この記事ではセッション中の操作に絞ります。
Codex CLIのスラッシュコマンドとは
【完全無料】AI×SNSで成果を出す100大特典を受け取る
AIの使い方を、SNS運用の実務につなげたい方へ。LINEで特典の案内を受け取れます。
スラッシュコマンドとは、Codex CLIの入力欄で「/」を打つと開くメニューから選ぶ操作コマンドで、モデルの切り替え、権限の調整、長い会話の要約などをターミナル内で行えます。
公式ドキュメントによると、スラッシュコマンドはCodexをキーボード中心で素早く操作するための仕組みです。入力欄(composer)で「/」を入力するとスラッシュのポップアップが開き、コマンドを選ぶと、モデルの切り替え、権限の調整、長い会話の要約といった動作をターミナルを離れずに実行できます。プロンプトとして自然言語で頼むのとは違い、Codex本体の設定や会話の扱いそのものを操作する点が特徴です。
仮の例を挙げると、「この修正は慎重に進めたいので、いったん読み取り専用に戻したい」と思ったとき、プロンプトに「編集しないで」と書く方法もありますが、権限そのものを切り替えるなら/permissionsを使うほうが意図に合っています。自然言語の依頼は会話の内容を変え、スラッシュコマンドはセッションの状態を変える、という切り分けで考えると迷いにくくなります。
なお、公式ページが前提にしているのはCodex CLIのTUI(ターミナル上の対話画面)です。ChatGPTデスクトップアプリやIDE拡張とは操作画面が異なるため、同じ名前の機能でも表示のされ方が違う場合があります。提供形態ごとの違いはOpenAI Codexの提供形態の違いで整理しています。
基本操作と全体マップ|「/」の入力から用途別の整理まで
基本の流れは、入力欄で「/」を打ってメニューを開き、コマンド名を打ち込んで絞り込み、選んでEnterを押すだけで、会話の実行中はTabで次のターンに予約できます。
公式ドキュメントでは、スラッシュポップアップを開いたあと、コマンド名の入力を始めるとリストが絞り込まれると説明されています。たとえば「/mo」まで入力すれば、候補が/modelなどに絞られます。メニューを眺めながら選ぶのが基本で、名前を覚えていなくても使い始められるのが利点です。
もう一つ覚えておきたいのが、実行中の予約です。すでにチャットが動いている最中でも、スラッシュコマンドを入力してTabキーを押すと、次のターンに回すキュー登録ができます。公式ページによれば、キューに入れたスラッシュコマンドは実行されるタイミングで解釈されるため、コマンドのメニューやエラーは現在のターンが終わってから表示されます。補完自体は、キューに入れる前でも使えます。
| 場面 | 操作 | 公式ページの説明 |
|---|---|---|
| コマンドを探す | 入力欄で「/」を打つ | スラッシュのポップアップが開く |
| 候補を絞る | コマンド名を入力し始める | 入力に合わせてリストが絞り込まれる |
| 実行中に予約する | コマンドを入力してTabを押す | 次のターンのキューに入り、結果は現在のターン終了後に表示される |
| 引数を付ける | コマンドのあとに文字を続ける | /plan、/side、/new、/clearなどは続けて文章や名前を渡せる |
引数を取れるコマンドの例として、公式ページには「/plan Propose a migration plan for this service」(サービスの移行計画を提案して)のような書き方、「/new bug bash」のように新しいチャットへ名前を付ける書き方、「/side」のあとに確認したい内容を続ける書き方が載っています。コマンドと一言目の依頼を一行にまとめられるので、操作の手数が減ります。
ここからは全体像です。公式の一覧表は、Purpose(目的)とWhen to use it(使いどころ)の列で構成されています。コマンドの数が多く、アルファベット順でも用途順でもなく並んでいるため、最初に用途別の地図を持っておくと探しやすくなります。次の表は、公式ページの記載をもとに、この記事で扱うグループと代表コマンドを並べたものです。
| 用途グループ | 代表コマンド | 主な役割 |
|---|---|---|
| 権限と状態 | /permissions、/approve、/status | 承認の度合いを変える、拒否された操作を1回再試行する、現在の設定を確認する |
| モデルと応答 | /model、/fast、/personality | モデル選択、Fast tierの切り替え、応答スタイルの変更 |
| 計画と目標 | /plan、/goal、/side | 実装前の計画、長い作業の目標管理、本筋を乱さない脇道の質問 |
| 会話管理 | /new、/clear、/resume、/fork、/rename、/compact | チャットの開始・再開・分岐・命名・要約 |
| 変更確認 | /diff、/review、/init、/mention | 差分確認、作業ツリーのレビュー、AGENTS.mdの雛形生成、ファイル添付 |
| 拡張機能 | /mcp、/apps、/plugins、/skills、/hooks、/memories | 外部ツール、アプリ、プラグイン、スキル、フック、メモリの確認と管理 |
| 表示と操作感 | /statusline、/title、/theme、/keymap、/vim、/raw、/copy | フッター、タイトル、配色、ショートカット、コピーのしやすさ |
| 診断と利用状況 | /debug-config、/usage、/ps、/stop | 設定の優先順位の確認、トークン利用の確認、バックグラウンド端末の管理 |
このほかにも、セッションの終了(/quitと/exit)、IDEの文脈取り込み(/ide)、デスクトップアプリへの引き継ぎ(/app)、フィードバック送信(/feedback)、サインアウト(/logout)、experimental機能の切り替え(/experimental)などが用意されています。以降の章では、日常的に使う頻度が高いグループから順に、公式ページに書かれている手順と挙動を確認します。
権限を調整する|/permissionsと/approve
/permissionsは、Codexが確認なしで実行できる範囲を会話の途中で緩めたり厳しくしたりするコマンドで、/approveは自動レビューに拒否された直近の操作を1回だけ再試行するためのコマンドです。
/permissionsの手順は、公式ページでは次のとおりです。/permissionsと入力してEnterを押し、自分の許容度に合う承認プリセットを選びます。ハンズオフで進めたい場合はAuto、編集内容を確認しながら進めたい場合はRead Onlyが例として挙がっています。名前付きの権限プロファイルが有効な場合は、設定済みのカスタムプロファイルとその説明も選択肢に表示されます。選ぶとCodexが更新後のポリシーを知らせ、以後の操作はそのモードに従います。
Autoプリセットの意味は、Agent approvals & securityのページに説明があります。たとえば「–sandbox workspace-write –ask-for-approval on-request」に相当するAutoでは、Codexは作業ディレクトリ内でファイルを読み、編集し、コマンドを実行できます。一方、ワークスペース外のファイル編集や、ネットワークアクセスが必要なコマンドを実行する際には承認を求めます。チャットや計画だけを行って変更を加えたくない場合は、/permissionsでread-onlyモードに切り替える、と同ページに書かれています。
/approveは性質が異なります。公式ページによれば、自動レビュー(automatic review)が直近の操作を拒否した場合に、Codexにその操作を1回だけ再試行させたいときに使います。/approveと入力し、Codexが表示する拒否された操作の内容を確認して再試行を承認すると、現在のセッションのポリシーのもとで1回だけ再実行されます。一覧表でも、/permissionsは「確認なしで実行できる範囲を設定する」、/approveは「拒否された操作を1回再試行する」と役割が分けられています。
仮の例として、最初はAutoで進めていたものの、本番に近い設定ファイルを触る段階になったので、いったんRead Onlyに戻して提案内容だけ確認する、という使い方が考えられます。編集の許可を一時的に引き締めるだけなので、セッションを終了してコマンドラインの引数をやり直す必要がありません。恒久的な既定値にしたい場合は、承認ポリシーとサンドボックスをconfig.tomlに書く方法が別にあり、詳細はconfig.tomlのガイドにまとめています。
状態と使用量を確認する|/status・/debug-config・/usage・/ps
/statusは現在のモデル、承認ポリシー、書き込み可能なディレクトリ、トークン使用量を一覧するコマンドで、/debug-configは設定の層の順序とポリシーの出どころを表示する診断コマンドです。
/statusの手順は簡単です。どのチャットでも/statusと入力すると、有効なモデル、承認ポリシー、書き込み可能なルート(writable roots)、現在のトークン使用量が表示されます。TUIがリモート接続されている場合は、リモートのアドレスとサーバーのバージョンも出力される、と公式ページに書かれています。期待される結果は、Codexが想定した場所で想定した設定のまま動いているかの確認です。/modelや/permissionsで設定を変えたあとに、変更が反映されたかを確かめる用途に向いています。
/debug-configは、設定が思ったとおりに効いていないときの調査用です。実行すると、設定レイヤーの順序(優先度の低いものから)、各レイヤーのオンとオフ、ポリシーの出どころが表示されます。公式ページは、allowed_approval_policies、allowed_sandbox_modes、mcp_servers、rules、experimental_networkなどのポリシー詳細も、設定されていれば合わせて出力されると説明しています。config.tomlに書いた値と実際に有効な値が食い違う理由を調べるための出力、という位置づけです。
この二つは役割が補い合います。/statusは「いま何で動いているか」という結果を見るコマンドで、/debug-configは「なぜその値になったか」という理由を見るコマンドです。設定が複数の層から決まる仕組みは、config.tomlの優先順位に関する記事で詳しく扱っています。
モデルと応答を調整する|/model・/fast・/personality
/modelは使用するモデルを選び、/fastはモデルがFast tierを提供している場合にその有無を切り替え、/personalityはCodexの応答スタイルを変えるコマンドです。
/modelの手順は、Codexを起動して入力欄を開き、/modelと入力してEnterを押し、ポップアップからモデルを選ぶ、という流れです。公式ページでは、選択肢の例としてgpt-6-lunaとgpt-6.1-solが挙がっています。ただし、ピッカーに表示されるのは、自分のアカウントとワークスペースで利用できるモデルだけです。GPT-6.1 Solが一覧にない場合は、別のモデルを選ぶよう案内されており、プランごとの提供状況は公式のモデルページで確認します。変更後は、Codexがトランスクリプトに新しいモデルを表示し、/statusで確認できます。モデル自体の特徴や料金は、GPT-6.1 Solとはで整理しています。
/fastは、Fast service tierのオンとオフを切り替えます。/fastと入力すると現在のモデルのFast tierがオンになり、もう一度入力するとオフになります。選択は保存されます。公式ページによると、Fastの扱いはモデルカタログに依存するため、現在のモデルがFast tierを提供していない場合、/fastというコマンド自体が表示されません。コマンドが見つからないときは、使っているモデルを疑うと原因に気づきやすくなります。フッターにFast modeを表示したい場合は、後述の/statuslineで項目を追加できます。
/personalityは、プロンプトを書き換えずにCodexの話し方を変えるためのコマンドです。公式ページが挙げているスタイルはfriendly、pragmatic、noneの三つで、noneはパーソナリティの指示を無効にします。アクティブなチャットで/personalityを入力し、ポップアップから選ぶと、以後の応答にそのスタイルが使われます。現在のモデルがパーソナリティ固有の指示に対応していない場合は、このコマンドは非表示になります。
仮の例として、レビュー用の短い指摘がほしい場面ではpragmatic、新しい言語やライブラリの学習で説明を丁寧にしてほしい場面ではfriendlyを選び分ける、といった使い方が考えられます。ここで書いた「どの場面でどのスタイルが向くか」は筆者の使い方の想定であり、公式ページがスタイルごとの用途を指定しているわけではありません。
| コマンド | 変えるもの | 表示されない条件(公式ページの記載) |
|---|---|---|
| /model | 使用するモデル(利用可能なら推論の強さも) | アカウントとワークスペースで使えないモデルは候補に出ない |
| /fast | Fast service tierのオンとオフ | 現在のモデルがFast tierを提供していない場合は表示されない |
| /personality | 応答のコミュニケーションスタイル | モデルがパーソナリティ固有の指示に対応していない場合は非表示 |
計画と目標を扱う|/plan・/goal・/side
/planは実装に入る前に実行計画を作らせるプランモードへの切り替え、/goalは大きな作業の間ずっと追跡させる目標の設定、/sideは本筋のチャットを乱さずに行う一時的な脇道の質問です。
/planは、アクティブなチャットをプランモードに切り替えます。/planと入力してEnterを押すだけでも切り替わり、続けて「/plan」のあとに依頼文を書けば、それが最初の計画依頼になります。公式ページは、インライン引数を使うときは文章を貼り付けたり画像を添付したりできる、とも説明しています。Codexがすでに実行中の間は、/planは一時的に利用できません。実装に着手させる前に、どのファイルをどの順で触るかを確認したい場面で役立ちます。
/goalは、より長い作業の目標を保持するコマンドです。/goalのあとに目的を書いて設定し(公式の例は「Finish the migration and keep tests green」)、/goalだけを入力すると現在の目標を表示します。目標を直したいときは/goal edit、一時停止や再開、削除は/goal pause、/goal resume、/goal clearで行います。目標はアクティブなチャットに結び付いたまま作業が続く、と書かれています。注意点として、目標の文章は空でなく、4,000文字以内でなければなりません。長い指示は別ファイルに書き、そのファイルを指す形にするよう案内されています。
/sideは、現在のチャットから一時的に分岐した側のチャットを開くコマンドです。/sideで開いたチャットのトランスクリプトは親のチャットとは別で、側のチャットにいる間も、TUIは親チャットの状態を表示し続けるため、本筋がまだ動いているかを確認できます。「/side」のあとに「Check whether this plan has an obvious risk」(この計画に明らかなリスクはないか確認して)のような文章を続けることもできます。/sideは別名として/btwも使えます。ただし、すでに側のチャット内にいるとき、およびレビューモードの最中は使えません。
仮の例として、大きなリファクタリングを任せている途中で「このライブラリのこの関数は非推奨だったか」とふと確認したくなったとします。本筋のチャットに質問を割り込ませると文脈が散らかるため、/sideで脇道に逃がして確認し、終わったら親チャットに戻る、という運用ができます。
会話を管理・整理する|/new・/clear・/resume・/fork・/compact
/newと/clearは新しいチャットを始め、/resumeは保存済みのチャットを再開し、/forkは現在のチャットを複製して別の方針を試すためのコマンドで、似ているため違いを押さえておくと迷いません。
会話管理系のコマンドは名前が似ていますが、公式ページの記載を比べると役割が分かれています。/newは、同じCLIセッションの中で新しいチャットを始めます。これに対して/clearは、ターミナルをクリアして新しいチャットを始めます。公式ページには「/newは現在のターミナル表示を先にクリアしない」と書かれており、画面をそのままにしたいなら/new、見た目も含めてリセットしたいなら/clear、という使い分けになります。どちらも「/new bug bash」「/clear release prep」のように、名前を付けて作成できます。
ここで混同しやすいのが、Ctrl+Lとの違いです。公式ページによれば、Ctrl+Lはターミナルの表示をクリアするだけで、現在のチャットは保持されます。一方、/clearは新しいチャットを始めます。Codexは、タスクの実行中はこの二つの操作をいずれも無効にします。
| コマンド | 何が起きるか | 元のチャットの扱い |
|---|---|---|
| /new | 同じCLIセッション内で新しいチャットを始める(画面は先にクリアしない) | 別のチャットに移る |
| /clear | ターミナルをクリアして新しいチャットを始める | 別のチャットに移る |
| /resume | 保存済みセッションの一覧から選んで再開する | 元の履歴は保たれたまま、選んだチャットの記録が読み込まれる |
| /fork | 現在のチャットを新しいIDで複製する | 元のトランスクリプトには触れない |
| /side | 一時的な脇道のチャットを開く | 親チャットとは別のトランスクリプトになる |
/resumeは、/resumeと入力して保存済みセッションのピッカーから目的のチャットを選ぶと、そのトランスクリプトが読み込まれ、元の履歴は保たれたまま続きから作業できます。/forkは、現在のチャットを新しいIDのチャットとして複製し、元のトランスクリプトには触れません。別の方針を並行して試したいときに向いています。保存済みのセッションを分岐したい場合は、ターミナルでcodex forkを実行するとセッションピッカーが開く、と公式ページにあります。
名前の管理には/renameを使います。/rename のあとに名前を書くか、/renameだけを入力して命名のプロンプトを開き、短い名前を付けると、保存されたチャットの名前だけが変わり、トランスクリプトは変わりません。後から/resumeで探しやすくなるため、複数の作業を並行するときに便利です。
長くなったチャットの整理には、/compact、/archive、/deleteを使います。/compactは、長いやり取りのあとに入力するコマンドで、公式ページでは、実行後にチャットを要約してよいか確認が出る、と説明されています。承認すると、これまでのターンが簡潔な要約に置き換えられ、重要な情報を残したままコンテキストの空きが増えます。一覧表の「使いどころ」にも、長い実行のあとで主要な論点を保ちつつコンテキストウィンドウを使い切らないために使う、と書かれています。トークン使用量の確認は/statusで行えるため、両者を組み合わせて、使用量が気になったら/compactを検討する、という流れが取れます。
/archiveと/deleteは、どちらも現在のセッションを閉じる操作ですが、性質が大きく違います。/archiveは、現在のセッションをアクティブなセッション一覧から外し、Codexを終了します。トランスクリプトはローカルに保存されたままで、あとからcodex unarchiveに続けてセッションを指定すると復元できる、と公式ページに書かれています。/deleteは、現在のセッションのトランスクリプトを削除してTUIを閉じる操作で、削除は元に戻せず、そのセッションから生まれた子孫のセッションも合わせて消えます。
この違いは慎重に扱う価値があります。「一覧から消したいだけ」なら/archive、「記録そのものを残したくない」場合に限って/delete、と考えると誤操作を避けられます。/archiveはタスク実行中は使えず、/deleteはチャットの実行中と側のチャットの中では使えない、とされています。
仮の例として、数日続けた作業のチャットが長大になり、応答に使える余裕が減ってきたと感じたら/compactで要約し、案件が完了したチャットは/archiveで片づける、という整理の仕方が考えられます。完全に消す/deleteは、機密性の高い内容を扱った場合など、残したくない事情があるときだけの選択肢と位置づけると安全です。
変更を確認する|/diff・/review・/init・/mention
/diffはCodexが加えた変更をGitの差分として確認し、/reviewは作業ツリーの変更に対するレビューを依頼し、/initはAGENTS.mdの雛形を生成し、/mentionは指定ファイルをチャットに添付するコマンドです。
/diffを入力すると、Gitの差分が表示されます。公式ページによれば、ステージ済みの変更、まだステージしていない変更、Gitがまだ追跡していないファイルまでを一度に確認でき、コミットやテストの前にCodexの編集内容を点検する用途に向いています。CLI内でスクロールしながら、何を残して何を戻すかを判断します。
/reviewは、作業ツリーに対するレビューをCodexに依頼します。実行すると、Codexは見つけた問題を要約し、挙動の変化とテストの不足に注目する、と公式ページにあります。レビューには現在のセッションのモデルが使われますが、config.tomlでreview_modelを指定していれば、そのモデルが使われます。より詳しい確認が必要なら、続けて/diffで正確なファイル変更を見る、という流れが案内されています。GitHub上のプルリクエストにCodexレビューを組み込む方法は、Codexのコードレビュー機能の使い方で扱っています。
/initは、いま作業しているディレクトリにAGENTS.mdの雛形を作ります。公式ページの手順は、永続的な指示を置きたいディレクトリで/initを実行し、生成されたAGENTS.mdを確認して、リポジトリの規約に合わせて編集する、というものです。生成された雛形はコミットして、以後のセッションに使えます。AGENTS.mdに何を書くか、どの指示が優先されるかは、Codex CLIのAGENTS.md活用ガイドで詳しく説明しています。
/mentionは、/mentionのあとにパスを続け(公式の例はsrc/lib/api.ts)、候補から選ぶとファイルがチャットに追加され、以後のターンがそのファイルを直接参照するようになります。「このファイルを先に見てから直して」といった指示を出す前に、対象を明示する手段です。
拡張機能を確認する|/mcp・/apps・/plugins・/skills・/hooks・/memories
/mcp、/apps、/plugins、/skills、/hooks、/memoriesは、Codexが使える外部ツールやアプリ、スキル、フック、メモリの状態をセッション内で確認したり切り替えたりするコマンド群です。
/mcpは、設定済みのModel Context Protocol(MCP)ツールを一覧します。確認できるのは、このセッションでCodexが呼び出せる外部ツールで、/mcp verboseと入力するとサーバーの詳細な診断情報も含まれます。verbose以外の引数を付けると、コマンドの使い方が表示されます。MCPサーバーの追加方法は、Codex CLIのMCP連携ガイドに手順をまとめています。
/appsは、アプリ(コネクタ)を一覧から選ぶコマンドで、選ぶと入力欄に「$app-slug」の形で挿入されるため、そのまま「このアプリを使って」と続けられます。/pluginsは、インストール済みのプラグインと、設定が許す範囲で見つかるプラグインを閲覧するコマンドで、マーケットプレイスのタブを選んでプラグインの機能や実行できる操作を確認できます。インストール済みプラグインの上でSpaceキーを押すと、有効と無効を切り替えられます。
/skillsは、スキルを選んで適用するコマンドです。選ぶと、選択したスキルの文脈が挿入され、次の依頼がそのスキルの指示に従います。/hooksは、ライフサイクルフックの閲覧と管理に使います。フックのイベントを選んで一致するハンドラーを確認し、管理対象外のフックは信頼、無効化、再有効化ができます。公式ページでは、管理されているフックは「managed」と表示され、ユーザー向けのフックブラウザからは無効にできない、と説明されています。
/memoriesは、メモリの利用と生成の設定を切り替えるコマンドです。既存のメモリを使うか、新しいメモリを生成するか、メモリの挙動を無効のままにするかを選べて、今後のセッションに反映されます。ChatGPT側のメモリ機能との違いは別の記事で扱っているため、混同しないようにしてください。ChatGPTのメモリはChatGPTのメモリ機能の使い方で解説しています。
| コマンド | 確認・操作できること | 覚えておく点 |
|---|---|---|
| /mcp | 設定済みMCPツールの一覧 | verboseを付けるとサーバーの詳細が出る |
| /apps | アプリ(コネクタ)を選んで入力欄に挿入 | $app-slugの形で挿入される |
| /plugins | プラグインの閲覧、有効と無効の切り替え | Spaceキーで有効状態を切り替える |
| /skills | スキルを選んで次の依頼に適用 | 選んだスキルの指示に従って動く |
| /hooks | ライフサイクルフックの閲覧と管理 | managedなフックはユーザー側から無効にできない |
| /memories | メモリの利用と生成のオンとオフ | 今後のセッションに反映される |
表示と操作感を整える|/statusline・/title・/theme・/keymap・/vim・/raw・/copy
/statusline、/title、/theme、/keymapは設定をconfig.tomlに保存する表示のカスタマイズ用コマンドで、/vim、/raw、/copyは入力と出力の扱いやすさを調整するコマンドです。
/statuslineは、TUIのフッターに表示する項目を対話的に選んで並べ替えるコマンドです。項目を切り替えて確定すると、フッターが即座に更新され、設定がconfig.tomlのtui.status_lineに保存されます。選べる項目は、モデル、モデルと推論の強さ、コンテキストの統計、レート制限、Gitブランチ、トークンのカウンター、セッションID、現在のディレクトリとプロジェクトのルート、Codexのバージョンなどです。/titleは同様に、ターミナルのウィンドウやタブのタイトルに出す項目(アプリ名、プロジェクト、スピナー、状態、スレッド、Gitブランチ、モデル、タスクの進捗)を選び、tui.terminal_titleに保存します。
/themeは、シンタックスハイライトのテーマを選ぶコマンドです。ピッカーでプレビューしてから確定すると、設定がtui.themeに保存されます。/keymapは、TUIのキーボードショートカットの確認と変更、保存を行います。ショートカットの文脈とアクションを選び、新しい割り当てを入力するか、既存の割り当てを削除すると、tui.keymapに書き込まれます。公式ページによると、割り当てにはctrl-a、shift-enter、page-downのような名前を使い、文脈ごとの割り当てはtui.keymap.globalより優先されます。割り当てのリストを空にすると、そのアクションの割り当てが外れます。
/vimは、入力欄のVimモードの切り替えです。新しいセッションの既定をVimモードにしたい場合は、config.tomlでtui.vim_mode_defaultをtrueにします。/rawは、生のスクロールバックモードを切り替えるコマンドで、/raw on、/raw offのように指定でき、ターミナル上の選択やコピーがより直接的になります。既定のショートカットはAlt+Rで、tui.raw_output_modeをtrueにすれば既定として保存できます。
/copyは、完了済みの最新のCodexの出力をクリップボードにコピーします。ターンがまだ実行中の場合は、進行中の応答ではなく、直前に完了した出力が対象になります。最初の出力が完了する前と、ロールバックの直後は使えません。コマンドを開かずに、メインのTUIでCtrl+Oを押しても同じ操作ができます。
ここで挙げた表示系のコマンドは、設定ファイルを手で編集しなくても対話的に設定を保存できる点が共通しています。config.tomlのどの項目に保存されるかを見ておくと、後から手動で直したり、チームで共有したりするときに役立ちます。
使用量の確認には/usageを使います。/usageは、公式ページによれば、使用状況のメニューを開き、トークン活動を表示するか、利用可能な獲得済みのリセットを使うかを選べます。/usage daily、/usage weekly、/usage cumulativeと入力すれば、日次、週次、累計のトークン活動を直接開けます。ただし、セッションがCodexのサービスアカウント認証を使っていない場合は、サインインが必要である旨が表示されます。料金プランや利用上限の考え方を知りたい場合は、ChatGPT料金プラン完全比較も参考になります。
/psは、バックグラウンドで動いている端末のコマンドと、直近の空でない出力を最大3行まで表示します。メインのトランスクリプトを離れずに進み具合を把握するためのコマンドです。公式ページは、バックグラウンド端末はunified_execを使っているときに現れ、そうでなければ一覧が空になることがある、と注記しています。/stopは、その端末のすべてを止めるコマンドで、Codexが確認を求めた場合は承認します。/cleanは/stopの別名として今も使える、とされています。
仮の例として、開発サーバーやテストの監視をCodexに起動させたまま別の作業に移ったときに、/psで動作中の端末を確認し、不要になったものを/stopでまとめて止める、という使い方があります。個別に止めるのではなく、現在のセッションの全端末が対象になる点には注意が必要です。
OSやモードで使えないコマンド
一部のスラッシュコマンドは、Windows専用だったり、タスク実行中やリモートセッションでは使えなかったり、モデルの提供状況に応じて表示されなかったりするため、メニューに見当たらないときは条件を疑います。
公式ページの記載から、表示や利用に条件があるコマンドを整理すると、次のようになります。コマンドが見つからない、または実行できないときは、こうした条件に当てはまっていないかを確認すると、原因に気づきやすくなります。
| コマンド | 条件 |
|---|---|
| /setup-default-sandbox | Windowsで、低下した制限付きトークンのサンドボックスをCodexが使っているときだけ表示される |
| /sandbox-add-read-dir | Windowsでネイティブにこのコマンドラインを実行しているときだけ使える。存在するディレクトリの完全なパスを渡す |
| /fast | 現在のモデルがFast tierを提供している場合だけ表示される |
| /personality | モデルがパーソナリティ固有の指示に対応している場合だけ表示される |
| /plan | Codexが実行中の間は一時的に使えない |
| /import | ローカルのTUIセッションで実行する。タスク実行中、リモートセッション、ローカルのapp-serverデーモンに接続中は使えない |
| /archive | タスク実行中は使えない |
| /delete | チャットの実行中と、側のチャットの中では使えない |
| /side | 別の側のチャットの中、およびレビューモードの最中は使えない |
/importについては少し補足します。このコマンドは、Claude CodeまたはCursorのセットアップ、プロジェクト、最近のチャットを選んで、サポートされている成果物をCodexの設定とローカルファイルへ取り込むためのものです。公式ページによると、チャットの探索には直近30日の最大50件が含まれます。デスクトップアプリでの手順や対応する成果物の種類は、公式の「Import from another agent」のページを参照するよう案内されています。
表を見るとわかるとおり、実行中に使えないコマンドが多めです。Codexが作業している間は、状態を変えるコマンドや、セッションを閉じるコマンドが制限されます。一方、/statusや/diffのように状態を見るだけのコマンドは、そうした制約が公式ページには書かれていません。迷ったら、実行中は確認系、完了後に変更系、という順番を意識すると取りこぼしが減ります。
状況別の使い分け例
スラッシュコマンドは単体で覚えるより、作業の流れに沿って「開始時」「実行中」「終了時」のどの場面で使うかを決めておくほうが、実際の運用で迷いません。
ここでは、仮の例として、既存のプロジェクトに小さな機能を追加する作業を想定し、公式ページに載っているコマンドを時系列で並べます。実際の作業内容やプロジェクトの規約によって、使うコマンドは変わります。
開始時は、まず/statusで、どのモデルと承認ポリシーで動いているかを確認します。想定と違えば/modelや/permissionsで調整します。リポジトリにAGENTS.mdがなければ/initで雛形を作り、規約を書き足します。実装前に方針を確認したいときは/planで計画を出させ、長い作業になりそうなら/goalで目標を置いておきます。
実行中は、対象ファイルを/mentionで明示し、脇道の疑問は/sideで本筋から切り離して確認します。コンテキストの余裕が減ってきたら/compactで要約します。外部ツールの有無を確かめたいときは/mcpや/appsを開きます。
終了時は、/diffで変更全体を点検し、/reviewで作業ツリーのレビューを依頼します。指摘を直したあとにもう一度/diffで確認し、問題がなければGit側でコミットします。チャットは/renameで名前を付けてから、不要になれば/archiveで片づけます。続きをやる可能性がある場合は、/archiveでなく/resumeで再開できるよう、そのままにしておく選択もあります。
こうした流れを作る際、毎回同じ手順を入力するのが面倒になった場合は、AGENTS.mdに「作業前に/statusを確認」と書くのではなく、構成が固定できる部分はconfig.tomlの既定値に寄せるのが基本です。スラッシュコマンドはセッション中の一時的な操作、config.tomlは恒久的な既定値、という役割分担を意識すると、設定の置き場所に迷いません。
よくある質問(FAQ)
- Q1. スラッシュコマンドとプロンプトの違いは何ですか。
- プロンプトはCodexへの自然言語の依頼で、スラッシュコマンドはCodex自体の状態(モデル、権限、会話の扱い)を操作する入口です。公式ページでは、スラッシュコマンドによりモデルの切り替え、権限の調整、長いチャットの要約などをターミナル内で行えると説明されています。
- Q2. /newと/clearの違いは何ですか。
- どちらも新しいチャットを始めますが、/clearはターミナルをクリアしてから新しいチャットを始め、/newは現在のターミナル表示を先にクリアしない、と公式ページに書かれています。Ctrl+Lは表示を消すだけで、チャットは保持されます。
- Q3. /archiveと/deleteはどちらを使えばよいですか。
- /archiveはセッションをアクティブな一覧から外してCodexを終了し、トランスクリプトはローカルに保存されたまま、codex unarchiveで復元できます。/deleteは元に戻せず、子孫のセッションも消えます。残す可能性があるなら/archiveを選ぶのが安全です。
- Q4. /fastや/personalityがメニューに出ません。
- 公式ページによると、/fastは現在のモデルがFast tierを提供していない場合に表示されず、/personalityはモデルがパーソナリティ固有の指示に対応していない場合に非表示になります。/modelで別のモデルを選ぶと表示が変わることがあります。
- Q5. 実行中にスラッシュコマンドを入力できますか。
- 入力してTabを押すと、次のターンのキューに入れられます。ただし、キューに入れたコマンドのメニューやエラーは現在のターンが終わってから表示されます。/planや/archiveのように、実行中は使えないコマンドもあります。
- Q6. 権限を変えても、次回の起動時に元へ戻ってしまいます。
- /permissionsは、更新後のポリシーが、再び変更するまで以後の操作に適用される、とされるセッション中の操作です。起動時の既定値を変えたい場合は、config.tomlの承認ポリシーとサンドボックスの設定を確認してください。設定の優先順位は/debug-configで確認できます。
まとめ
Codex CLIのスラッシュコマンドは、入力欄で「/」を打つと開くメニューから選ぶ、セッション内の操作コマンドです。数が多く見えても、公式ページの一覧は用途で整理できます。まず覚えるのは、権限を調整する/permissions、状態を確認する/status、モデルを選ぶ/model、変更を確認する/diffと/review、会話を整理する/newと/compact、の五つの役割です。
特に混同しやすい点は、次のとおりです。/newと/clearは画面をクリアするかどうか、/archiveと/deleteは復元できるかどうか、/permissionsと/approveは範囲を変えるか1回だけ再試行するかどうかで違います。また、/fastや/personalityなど、モデルによって表示されないコマンドもあるため、見つからないときはモデルや実行中かどうかといった条件を確認してください。
恒久的な設定はconfig.toml、プロジェクトの指示はAGENTS.md、セッション中の一時的な操作はスラッシュコマンド、と役割を分けると運用が整理されます。関連する公式の情報は、Slash commands in Codex CLIとAgent approvals & securityで最新の内容を確認できます。この記事は2026年10月1日時点で取得した公式ページの記載にもとづいており、コマンドの一覧や挙動は更新される場合があります。
あわせて読みたい・姉妹メディア
