Claude Codeで絵文字ショートコードを入力する方法とオフ設定
Claude Codeで絵文字を入力するには、入力欄で「:heart:」のようにショートコードを打ちます。候補の出し方、v2.1.217以降の条件、オフにする設定を解説します。
Claudeで絵文字を入力したいときは、Claude Codeのプロンプト入力欄で : に続けてショートコード名を打ちます。GitHubやSlackのコメント欄で見慣れた :shortcodeName: の書式と同じ感覚で使えます。v2.1.217以降が対象で、不要なら設定1つでオフにできます。
このTipsでできること
:heart: のように完全な形を打ち切る直接入力と、: に数文字続けて候補から選ぶポップアップ入力を使い分けられます。反応しない条件、名前が通るバージョン、オフにする設定の置き場所まで扱います。
直接入力と候補ポップアップの違い
絵文字を入れる2つの方法
直接入力
:heart: のように完全な形を打つと、閉じの : を入力した瞬間に❤️へ置き換わります。確定操作は要りません。
候補ポップアップ
:hea のように : の後へ2文字以上入力すると候補が開きます。矢印キーで選び、Tab か Enter で挿入します。
どちらの方法にも、始まる位置の条件があります。ショートコードは入力の先頭かスペースの直後から始める必要があり、単語の途中やURLの中にある : では候補が開きません。文中なら「見て :thinking: ください」のように、前にスペースを挟めば使えます。
プロンプト入力欄の先頭1文字ショートカットは : のほかにもあります。/ はコマンドやスキル、! はシェルモード、@ はファイルパスの候補です。? は入力欄が空のときだけショートカットのヘルプパネルを開閉し、文字を打った後の ? はそのまま文字として入ります。
どのバージョンでどの名前が通るか
ショートコードの名前は、リリースを重ねて通る範囲が広がってきました。changelogに載っている変化は次の3回です。
ショートコードの対応範囲
- v2.1.217(2026年7月21日)ショートコード補完が登場
:heart:の直接入力と、:heaからの候補表示が使えるようになりました。emojiCompletionEnabledもこのバージョンで入っています。 - v2.1.221(2026年8月4日)別名のショートコードに対応
:thumbsup:、:thumbsdown:、:love:のような、よく使われる別の綴りも補完の対象になりました。 - v2.1.257(2026年9月1日)残りのGitHub・Slack別名に対応
:satisfied:、:telephone:、:collision:など、GitHubやSlackで通る別名のうち未対応だった分が補完で受け付けられるようになりました。
GitHubやSlackで使い慣れた別名が通らないときは、まず自分のバージョンを疑う価値があります。名前の完全な一覧は、interactive-modeとsettings-referenceのどちらのページにも載っていません。覚えていない名前は、直接入力せずに候補ポップアップで探します。
週次ダイジェストでは、絵文字ショートコードは末尾の「Other wins」欄に1行で載っているだけなので、見落としやすい追加です。
オフにするには
emojiCompletionEnabled を false にすると、候補ポップアップと自動置き換えの両方が止まります。
{
"emojiCompletionEnabled": false
}値は真偽値で既定は true です。片方だけを止める設定はありません。設定リファレンスでは「Interface and terminal」のグループに入っていて、同じグループに spellcheck と promptSuggestionEnabled も並んでいます。入力欄の設定項目にはPrompt suggestionsのような /config のトグルがありますが、絵文字ショートコードについて設定キーはこれ1つです。
どの設定ファイルに書くか
Claude Codeの設定ファイルは優先順位を持った複数のファイルに分かれていて、emojiCompletionEnabled はどのファイルに書いても有効な「Any file」スコープです。優先順位は上にあるものほど強く、同じキーは上位が勝ちます。
- Managed設定(組織が配布する
managed-settings.jsonや管理コンソールの設定。ほかのどのファイルでも覆せません) - コマンドラインの
--settings(そのセッション限り) - プロジェクトローカル設定(
.claude/settings.local.json) - 共有プロジェクト設定(
.claude/settings.json。gitで共有) - ユーザー設定(
~/.claude/settings.json)
チーム全体でオフに揃えたいなら共有プロジェクト設定、自分の好みだけならユーザー設定が置き場所です。チームがオフにしている共有設定を、自分のセッションでだけ有効に戻す手順は次のとおりです。
共有設定のオフを自分だけ有効に戻す
- 1
共有プロジェクト設定でオフになっていることを前提にする
.claude/settings.jsonにemojiCompletionEnabled: falseがあり、チームのほかのメンバーには反映されている状態です。 - 2
プロジェクトローカル設定に true を書く
.claude/settings.local.jsonに"emojiCompletionEnabled": trueを書きます。ローカル設定は共有設定より上位なので、自分のセッションだけ有効に戻ります。 - 3
読み込まれたファイルを /status で見る
/statusのSetting sourcesの行に、今のセッションが読み込んだ設定ファイルが並びます。Managed設定が同じキーを持っていると、ここで書いた値でも覆せません。
.claude/settings.local.json は、Claude Codeが書き込むときにgitの除外へ自動で追加します。手で作ったときは自分で .gitignore に足します。ユーザー設定は、/config でテーマなどユーザー設定に保存される項目を変えたとき、プロジェクトローカル設定は権限プロンプトで「Yes, and don't ask again」を選んだときに、それぞれ初回に自動生成されます。
1回のセッションだけオフにする
設定ファイルを書き換えずに試したいときは、起動時に --settings でキーをJSONで渡します。値はそのセッションにだけ適用され、設定ファイルはそのまま残ります。
claude --settings '{"emojiCompletionEnabled": false}'--settings はユーザー・プロジェクト・ローカルの各ファイルより上位で効き、Managed設定には覆されます。
入力支援機能の設定スコープを比べる
入力欄の書き心地を変える機能は、必要バージョン、既定の状態、設定を置ける場所が機能ごとに違います。
| 機能 | 必要バージョン | 既定 | 設定キー(置ける場所) |
|---|---|---|---|
| 絵文字ショートコード | 必要バージョンv2.1.217以降 | 既定オン | 設定キー(置ける場所)emojiCompletionEnabled(どのファイルでも可) |
| スペルチェック | 必要バージョンv2.1.235以降 | 既定オフ | 設定キー(置ける場所)spellcheck.enabled(ユーザー設定・Managed・--settings) |
| Prompt suggestions | 必要バージョン— | 既定オン(例外あり) | 設定キー(置ける場所)promptSuggestionEnabled(どのファイルでも可) |
| 複数行入力 | 必要バージョン— | 既定端末ごとに対応が違う | 設定キー(置ける場所)設定キーなし |
見落としやすいのは、スペルチェックだけ設定を置ける場所が絞られている点です。spellcheck は「User or managed」スコープで、プロジェクトの .claude/settings.json には置けません。チームで揃えたいときは、各自のユーザー設定か組織のManaged設定に書きます。複数の場所に spellcheck があるときは、Managed、--settings、ユーザー設定の順で1か所のブロックだけが丸ごと使われ、項目ごとの合成はされません。たとえば --settings に spellcheck があると、ユーザー設定の language は効きません。
スペルチェックにはもう1つ前提があります。aspell・hunspell・ispellのいずれかをインストールして PATH に通す必要があり、既定ではPATH上でこの順に最初に見つかったものが使われます。checker に名前を書けば使うプログラムを選べますが、名前を指定した場合は別のプログラムへのフォールバックは起きません。スペルチェックは入力に少し間が空いたあとで、辞書にない単語に下線を引きます。打っている途中の単語は、次へ進むまで対象になりません。コマンド、@ メンション、URL、ファイルパス、--verbose のようなフラグは、コードに見えるテキストとして飛ばされます。絵文字ショートコードの説明には、スペルチェックのような追加インストールの前提は書かれていません。
Prompt suggestionsには例外があります。サードパーティ経由のセッションやインストール直後の初回セッションでは既定でオフになり、/config のトグルも隠れます。環境変数 CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION は、設定キーよりもそのセッションでは優先されます。スペルチェックの置き場所の優先順位はspellcheck設定の解説に、機能の追加経緯はv2.1.235のスペルチェックにあります。
貼り付けた絵文字は消されないか
別の場所からコピーしたテキストには、端末が何も描かない文字が混ざっていることがあります。タグ文字、双方向制御文字、幅ゼロのスペースなどです。Claude Codeは、Enterを押した時点でこうした文字を取り除いてから送信します。削除の対象は、プロンプト本文と、折りたたまれた貼り付けテキストの参照先の両方です。
絵文字の組み立てに使われるセレクタは残されます。ペルシア語やインド系文字の結合に使う文字も同様です。絵文字の内部にあるセレクタが残るので、絵文字を含む文章を貼ったときも、絵文字の部分はそのまま送られます。入力欄で何かを取り除いたときは、そのEnterでは送信されません。整えたプロンプトが入力欄へ戻り、Removed 3 invisible characters · review and press Enter to send のような通知が出るので、内容を見てもう一度Enterを押すと送られます。
コマンドラインで渡したプロンプト(claude "fix the login bug")だけは例外で、2度目のEnterを待たず、除去と通知のうえで送信されます。ただし整えた結果が / で始まる場合は、入力欄に置かれて確認待ちになります。
反応しないときの切り分け
:が単語やURLの途中にあると、候補は開きません。先頭かスペースの直後から打ち直します- 候補もポップアップも出ないときは、v2.1.217より前のバージョンを疑います
- 直接入力した名前がそのまま文字で残るときは、別名の綴りならv2.1.221 / v2.1.257未満の可能性があるため、
:の後に2文字以上入れて候補から選び直します emojiCompletionEnabledがfalseの設定ファイルが、優先順位の高い場所にないかを見ます。この設定は候補と置き換えの両方を止めるので、片方だけ動くことはありません
入力欄には、Shift+Enterによる複数行入力のように、ターミナルごとに対応が分かれる機能もあります。端末側の応答が原因で意図しない文字が入ることもあり、iTerm2でGOKが入力される不具合はその一例です。キーボードを使わずに入力したいときは、/voiceコマンドによる音声入力という選択肢があります。
参照した一次ソース
この記事の記述は、次の一次ソースと照合しています。更新時に参照先が変わった場合は一覧も更新します。