コンテンツにスキップ

設定

ecc で提供されるすべての defcustom を機能別に分類して掲載します。すべての設定は ecc カスタマイズグループに属します:

M-x customize-group RET ecc
変数 既定値 説明
ecc-executable "claude" Claude Code CLI の実行可能ファイル名、またはそのフルパス
ecc-permission-mode nil --permission-mode に渡す初期モード。nil は CLI 側の既定値を維持します。指定可能な値: "default", "acceptEdits", "plan", "auto", "bypassPermissions"
ecc-plan-default-mode "acceptEdits" モードを明示的に指定せずにプランを承認した際、切り替え先となる権限モード。nil を指定すると変更要求なしで承認され、CLI はプランモードを抜けてデフォルトモードに戻ります
ecc-prompt-suggestions-enabled nil 非 nil の場合、CLI に --prompt-suggestions を渡して提案プロンプトを有効化します
ecc-command-wrapper-function nil CLI コマンドの実行直前にコマンドラインを書き換えるフック関数。(command-list project-root) を引数として受け取り、実行するコマンドリストを返します。nil の場合は変更せず実行します
ecc-disabled-plugins nil ecc 経由で開始するセッションで無効化するプラグイン識別子("name@marketplace")のリスト。セッションごとに適用されるため、ターミナル等で直接開くセッションには影響しません

モデルを固定する設定はあえて用意していません。 新規セッションのモデルは Claude Code 側の設定から、再開したセッションのモデルはその履歴の最後のアシスタントターンから取得されます。ここで --model を無条件に渡してしまうとユーザーの意図を常に上書きし、セッション中の /model コマンドによる変更も失われてしまうためです。実行中のセッションのモデルを変更したい場合は、ecc-set-model(またはメニューの m)を使用してください。

同様に、コスト上限(予算)の設定もありません。コスト制限は Claude Code 本体の設定で管理してください。

変数 既定値 説明
ecc-chat-return-sends nil nil(デフォルト)の場合、RET は改行を挿入し、C-c C-c で送信します。t の場合、ターミナルクライアントと同様に RET で即座に送信します
ecc-chat-text-width 100 テキストを描画する最大桁数(カラム数)。nil の場合はウィンドウ幅いっぱいに描画します。余剰幅は右マージンに割り当てられるため、隣接するウィンドウのレイアウトには影響しません
ecc-chat-line-spacing 0.15 各行の下に追加する行間。Emacs 標準の line-spacing と同様に解釈されます(浮動小数点数は行高に対する比率)。nil で余白なし
ecc-render-result-max-lines 12 ツール実行結果のプレビュー表示行数。全文はいつでも RET で確認できます
ecc-render-diff-max-lines 40 ツールや権限ブロック内にインライン表示する diff の最大行数。全文はいつでも RET で確認できます
ecc-diff-context-lines 3 トランスクリプト内の変更箇所の前後に表示する文脈行数
ecc-stream-throttle 0.05 ストリーミング差分を描画前にバッファリングする秒数。0 を指定すると受信した差分を即座に描画します
ecc-render-debounce 0.1 アクティブなトランスクリプト領域を再描画するまでのデバウンス待機時間(秒)

ヘッダーラインとモードライン

Section titled “ヘッダーラインとモードライン”
変数 既定値 説明
ecc-hint-context-indicator t 非 nil の場合、セッションのヘッダーラインに残りのコンテキスト容量を表示します
ecc-prompt-suggestion-display t 非 nil の場合、プロンプト領域に CLI からの提案をゴーストテキストとして表示します(ecc-prompt-suggestions-enabled が有効なセッションのみ)
ecc-mode-line-format nil モードラインにセッション情報を表示するフォーマット文字列。nil は何も表示しません

ecc-mode-line-format の既定値が nil なのは、モードラインの表示領域が限られており、同様の数値がすでにヘッダーラインに表示されているためです(両方に表示すると画面が煩雑になります)。モードラインに表示したい場合は、以下の指定子を含む書式文字列を設定してください:

指定子 意味
%n セッション名
%m 使用中モデル
%p 権限モード
%l 残りコンテキスト容量(パーセント)
%t コンテキスト内の消費トークン数
%c 累計コスト
%r レート制限の使用率
%s セッションの状態
変数 既定値 説明
ecc-notify-level 'message 通知の詳細度: 'message はエコーエリアに 1 行表示、'pulse はさらにトランスクリプトを点滅、'desktop は OS のデスクトップ通知を発行、nil は無通知
ecc-notify-events '(turn-finished request exited) 通知対象とするイベントのリスト: ターンの完了、回答待ちリクエストの発生、セッションの停止
ecc-notify-suppress-when-focused t 非 nil の場合、Emacs がフォーカスされている間はデスクトップ通知を抑制します
ecc-notify-sound nil デスクトップ通知時に再生するシステムサウンド名(macOS では "Glass" など)。nil で無音
ecc-notify-function #'ecc-notify-default (SESSION EVENT TEXT) を引数に呼び出されるカスタム通知関数。設定するとデフォルトの通知処理を完全に置き換えます
変数 既定値 説明
ecc-window-large-frame-min-height 80 3 つめのセッションウィンドウを開くために必要なフレームの最小高さ(行数)。この値を下回る場合は 2 つのウィンドウを共有し、残りのセッションはタブラインから切り替えます
ecc-window-sub-height 0.33 3 つめのセッションウィンドウの高さ(比率または行数)。セッション列ではなく、フレームの主要領域(主にコードバッファ側)から分割して確保されます
ecc-tab-line-scope 'project セッションウィンドウのタブラインに表示するセッションの範囲。'project はそのウィンドウ自身のプロジェクトのセッションのみ、'all は Emacs で開いている全セッション

ecc-window-large-frame-min-height の既定値(80行)は、ノートPCの画面と外付け大画面ディスプレイを自動判別するための値です。14インチ画面はおよそ58行、16インチはおよそ67行であるのに対し、外部デスクトップディスプレイでは110行以上表示できます。

ポップアップおよび補助バッファ

Section titled “ポップアップおよび補助バッファ”
変数 既定値 説明
ecc-btw-display 'window /btw サイドクエリの回答を表示する形式('window または 'posframe
ecc-usage-display 'window ecc-usage レポートを表示する形式('window または 'posframe

どちらも 'window または 'posframe を指定できます。'posframe はバッファをフレーム上に浮かぶポップアップとして表示します(posframe パッケージと GUI 環境が必要です)。posframe が利用できない環境では自動的に通常のウィンドウ分割にフォールバックします。

ecc はループバックインターフェイスで動作するインプロセス MCP サーバーを起動し、各セッションに自動登録できます。これにより、Claude は Emacs のエディタコンテキスト(xrefimenutree-sitter、プロジェクト情報、診断情報など)を直接参照できます。

変数 既定値 説明
ecc-mcp-enabled nil 非 nil の場合、開始する全セッションに内蔵 MCP サーバーを登録します。初回要求時に自動起動し、ecc-mcp-stop で停止できます
ecc-mcp-enable-execute-code nil 非 nil の場合、Claude から任意の Elisp を評価できるツールを公開します
ecc-mcp-excluded-tools nil 登録から除外するツール名のリスト。実行時間が長く体感遅延の原因となるツールはここに指定します
変数 既定値 説明
ecc-log-max-lines 5000 セッションログバッファに保持する最大行数。nil を指定するとすべてのログを無制限に保持します
ecc-debug nil 非 nil の場合、生のプロトコルメッセージに加えて内部の診断トレースもログに記録します

ecc-show-log を実行すると、現在のバッファが接続しているセッションのプロトコルログを確認できます。イベント処理の失敗が暗黙のうちに握りつぶされることはありません。ログとトランスクリプト上の unknown ノードの両方に必ず記録されます。