Skip to content

DISABLE_COMPACT設定時の/compactヒント非表示改善

原文(日本語に翻訳)

DISABLE_COMPACT が設定されている場合、/compact ヒントを表示しないようにしました。

原文(英語)

Dropped /compact hints when DISABLE_COMPACT is set.

概要

DISABLE_COMPACT 環境変数でコンテキスト圧縮を無効にしている場合でも、以前はコンテキストが大きくなると「/compact を使用してコンテキストを圧縮してください」というヒントが表示されることがありました。この改善により、DISABLE_COMPACT が設定されている場合は /compact ヒントが表示されなくなります。意図的に圧縮を無効にしているユーザーに対して、不要なヒントでノイズを与えなくなります。

基本的な使い方

DISABLE_COMPACT を設定するだけで、コンテキストが大きくなっても /compact ヒントが表示されなくなります。

bash
# コンテキスト圧縮を無効化
export DISABLE_COMPACT=1

claude
# セッション中にコンテキストが大きくなっても
# 改善後: "/compact を使用してください" というヒントが表示されない
# 改善前: ヒントが表示されていた

実践例

長い開発セッションでのノイズ低減

大規模なプロジェクトで長いセッションを行う場合、圧縮ヒントが頻繁に表示されると作業の妨げになります。

bash
# 圧縮を明示的に無効化してクリーンなセッション
export DISABLE_COMPACT=1
claude

# 大量のファイルを読み込む作業をしても
# コンテキストサイズに関する /compact ヒントが表示されなくなる
# → 作業に集中できる

自動化スクリプトでのクリーンな出力

スクリプトで Claude Code の出力を解析する場合、不要なヒントメッセージが出力に混入しなくなります。

bash
#!/bin/bash
# automated-analysis.sh

export DISABLE_COMPACT=1

# 大きなコードベースを解析
output=$(claude --print "このプロジェクトの問題点を列挙してください" \
  --input ./src/)

# 改善後: /compact ヒントが出力に含まれない
# 出力の解析がより確実に行える
echo "$output" | process_results.py

チームの共有設定での一貫した体験

チーム全体で DISABLE_COMPACT を設定している場合、全員が一貫した体験を得られます。

bash
# プロジェクトの .envrc(direnv 使用)
export DISABLE_COMPACT=1
export CLAUDE_CODE_MAX_CONTEXT_TOKENS=200000

# チームメンバー全員が同じ設定で Claude Code を使用
# /compact ヒントが表示されないクリーンな体験

DISABLE_COMPACTの使い分け

コンテキスト圧縮が有用な場合と無効にすべき場合を理解して適切に設定します。

bash
# 圧縮が有用なケース(DISABLE_COMPACT を設定しない)
# - 長い探索的な会話で、古い内容は重要でない場合
# - トークンコストを抑えたい場合
claude

# 圧縮を無効にすべきケース
# - 初期の指示やコンテキストを厳密に保持したい場合
# - コンテキストの変化による動作の不一致を避けたい場合
# - デバッグ中で全履歴を確認したい場合
export DISABLE_COMPACT=1
claude

注意点

  • DISABLE_COMPACT=1 を設定すると /compact コマンドも機能しなくなるわけではありません。ヒントが表示されなくなるだけです。
  • コンテキストが大きくなり続けると、最終的に API の上限に達して新しいメッセージを送れなくなる可能性があります。
  • DISABLE_COMPACT を設定した状態でコンテキストが上限に近づいた場合は、手動で /compact を実行するか、新しいセッションを開始することを推奨します。
  • この改善は CLAUDE_CODE_MAX_CONTEXT_TOKENSDISABLE_COMPACT 対応修正(同バージョンで同時にリリース)と組み合わせることで、より一貫した動作が得られます。

関連情報