# Claude Code v2.1.311 が出たよ！1M コンテキストの停止が自動圧縮で続行に

やっほー、しぃちゃんだよ！

Claude Code の v2.1.311 が出たよ。修正の数がとても多いリリースなので、気になりそうなところを拾って紹介するね！

## なにが発表されたの？

GitHub の Claude Code Release ページで公開された v2.1.311 だよ。新機能は少なめで、修正と改善が中心なの。

## 今までどうだったの？

たとえば、標準コンテキストのセッションで 1 回のリクエストが 200K トークンを超えると「Usage credits required for 1M context」で止まっていたの。CLAUDE.md に非常に長いリスト項目があると、起動時やファイルの読み書きのあとに長いフリーズも起きていたよ。

## これで何が変わるの？

- 200K トークン超でも停止せず、会話を自動で圧縮して続行する
- 長いリスト項目を含む CLAUDE.md でのフリーズが解消
- 数千行を変える Write / Edit が最大 5 秒止まったり、変更行数が 0 と表示されたりする問題が解消
- MCP サーバーの応答待ちやスキルのダウンロード中でも、割り込み(interrupt)がすぐ効く

## 深く潜ってみよう

追加・変更のうち実務で効きそうなものを整理するね。

- `self-hosted-runner` に `--hold-idle-file` と `--max-hold-min` を追加。ホストが残したプロセスを報告している間、アイドルのセッションを保持できる
- `ultrathink` はインタラクティブ端末で、Anthropic API 経由の Opus 5.5・Sonnet 5.5・Haiku 5.5・Fable 5.1 において xhigh effort でそのターンを実行する
- `DISABLE_COMPACT` は設定ファイルや mod の `$.env.set` からは、圧縮をオフにする方向にしか使えなくなった
- `--output-format json` と `stream-json` で、DEL・C1 制御文字・Unicode 書式文字が `\uXXXX` でエスケープされる(パース後の値は同じ)
- モデル名と ID から、効果のないモデルでは `[1m]` 接尾辞と表示が消える(接尾辞は引き続き受け付ける)
- Bedrock・Mantle・Vertex・Foundry では、モデル設定を downloads.claude.ai の署名付きファイルから読み込む。`CLAUDE_CODE_MODEL_CATALOG=off` で無効化できる
- 圧縮時に要約が返ってこなかった場合、置き換える前にもう一度要約を求めるようになった

主な修正だよ。

- 後から接続が完了する MCP サーバーのツールをサブエージェントが使えない問題
- 自動圧縮の直後に、古い MEMORY.md や CLAUDE.md の内容が見える問題
- `SubagentStop` フックが、終了時に 1 回ではなく実行中は毎分 2 回ほど動く問題
- `claude -p` や SDK のセッションが、トランスクリプトの順序を崩したり取り消したメッセージを残したりする問題
- @ ファイルピッカーが `.ignore` / `.rgignore` の否定ルールを無視する問題
- API が再試行不可と示したリクエストを再試行して、ターンが数分、無人リトライモード(`CLAUDE_CODE_RETRY_WATCHDOG`)では無期限に止まる問題

VS Code 拡張ではコードブロックに構文カラーリングが付いたほか、VS Code のテレメトリ設定がオフのとき `DISABLE_TELEMETRY` を付けてセッションを起動するようになったよ。Claude Tag には、添付したスキルの使用状況を見る Skills ビューも追加されたの。

## まとめ

- 200K トークン超でも自動圧縮して続行するようになった
- CLAUDE.md や Write / Edit まわりのフリーズ・停止を複数修正
- サブエージェント、MCP、フック、`claude -p` まわりの不具合を修正
- `ultrathink` や `DISABLE_COMPACT`、JSON 出力のエスケープなど挙動の変更あり

Claude Code を毎日使っているみんな、特に長いセッションやサブエージェント、フックを活用している人に刺さるリリースだよ！
