Claude Code 4 月の新機能まとめ — Monitor tool・NO_FLICKER・/ultraplan の判断基準
요약
4월 업데이트는 백그라운드 처리의 진화, UI 경험 개선, 팀 협업 기능 구현이라는 세 가지 축을 중심으로 이루어졌습니다. 주요 변경 사항으로는 Write Tool의 성능 최적화(O(n²)에서 O(n)으로 계산량 개선 및 대용량 파일 diff 속도 60% 향상)가 포함되어 장시간 세션에서도 안정적인 작업 환경을 제공합니다. 또한, Monitor tool은 백그라운드 프로세스의 표준 출력(stdout)을 실시간 이벤트로 Claude에게 전달하여 개발 서버 모니터링 등에서 기존의 폴링 방식보다 훨씬 효율적입니다. 마지막으로 NO_FLICKER와 Focus View는 장시간 세션에서의 시각적 안정성을 높여 사용자 경험을 개선했습니다.
핵심 포인트
- Write Tool 성능 대폭 향상: O(n²) 계산 복잡도 문제를 해결하여 2시간 이상의 긴 세션에서도 속도 저하가 없습니다. (v2.1.90 이상)
- Monitor tool 도입: 백그라운드 프로세스의 stdout을 실시간 이벤트로 Claude에게 전달, 기존의 sleep/polling 방식 대체.
- NO_FLICKER 및 Focus View: 터미널 깜빡임(flickering) 현상을 줄여 장시간 사용 시 시각적 안정성을 높였습니다.
- 제한 사항 인지 필수: Monitor tool은 Anthropic 자체 스트리밍 기반에 의존하므로, Amazon Bedrock, Google Vertex AI 등 외부 프로바이더 환경에서는 사용할 수 없습니다.
3 月の「入力革命」(Voice Mode・/simplify・/batch・HTTP Hooks)に続き、4 月は性格が異なる 3 本柱が揃った。バックグラウンド処理の進化、UI 体験の刷新、チーム展開機能の実装だ。
v2.1.81 から v2.1.105 まで約 30 リリースを重ねた今月の変更を、すべて追うのは現実的でない。機能の性格が 3 軸に分かれるので、その切り口で「使うべき場面」と「使わない判断」を見ていく。
4 月アップデートの全体像
v2.1.81(3/22)から v2.1.105(4月上旬)までの主要変更を一覧で見ておく。
| バージョン | リリース日 | 主な機能 | 影響度 |
|---|---|---|---|
| v2.1.81 | 3/22 | --bare フラグ(CI 用ヘッドレスモード) | 中 |
| ... |
機能の性格は 3 つの層 に分かれる。
ワークフロー変革: Write tool 高速化、Monitor tool、NO_FLICKER + Focus View -
自動化・チーム機能: /ultraplan、/team-onboarding、PreCompact hook、EnterWorktree path -
品質・運用改善: --bare フラグ、/powerup、エンタープライズ強化
Write Tool 高速化 — 設定変更ゼロで恩恵を受ける
何が変わったか
特に何もしていないのに「最近 Write tool が速くなった気がする」と感じたなら、それは気のせいではない。v2.1.90 以降を使っていれば自動適用済みだ。
v2.1.90 で根本的なパフォーマンス問題が修正された。従来の diff 計算アルゴリズムは O(n²) の計算量を持ち、長時間セッション(2 時間超)になるとファイル書き込みが著しく遅くなる現象があった。この修正で O(n) の線形時間に変わり、セッション後半でも速度が維持されるようになった。2 時間以上のセッションで後半が重くなる現象に悩んでいたなら、それが原因だった。
v2.1.92 ではさらに、タブ文字・&
・$
を含む大ファイルの diff 計算を 60% 高速化 した。これらの文字はエスケープ処理のコストが高く、Java・Go・シェルスクリプトが混在するコードベースでは特に顕著な改善になる。
どんな環境で効果が大きいか
| 環境 | 改善の実感 | 理由 |
|---|---|---|
| Java・Kotlin コードベース | 大(タブインデントが標準) | タブ文字の処理コスト削減 |
| シェルスクリプト・Makefile | 大(& ・$ が多い) | エスケープ処理の改善 |
| 2 時間超のセッション | 大(O(n²)→O(n) の恩恵) | 線形化で後半の速度低下が消える |
| 小規模 TypeScript プロジェクト | 限定的 | スペースインデント・記号が少ない |
設定変更は不要。v2.1.90 以降に更新されていれば自動適用済みだ。Java・Kotlin のようなタブインデント環境では体感差が出やすい。
Monitor tool — sleep & polling の終わり
仕組み
v2.1.98 で追加された Monitor tool は、バックグラウンドで動き続けるプロセスの stdout の各行を、リアルタイムのイベント通知 として Claude に届ける仕組みだ。
従来のやり方では、バックグラウンドプロセスの完了やログ出力を検知するために、Bash tool と sleep を組み合わせたポーリングを書くしかなかった。
# 旧来のポーリング(非推奨)
run_server &
PID=$!
...
Monitor tool はこれを置き換える。バックグラウンドプロセスを起動して Monitor tool に渡すと、stdout の各行が発生した瞬間に Claude への通知として届く。
# Monitor tool で dev server を監視する例
npm run dev &
# → Monitor tool が stdout の各行をリアルタイムで受信
...
ユースケース
| ユースケース | 適合度 | 理由 |
|---|---|---|
| dev server の起動待ち | ◎ | 「Server ready」という検知イベントが明確 |
| ... |
重要な制約
Amazon Bedrock・Google Vertex AI・Microsoft Foundry 経由で Claude Code を利用しているチームは Monitor tool を使えない。Monitor tool は Anthropic 独自のストリーミング基盤に依存する設計であり、これらのプロバイダー環境で利用できるようになる見通しは現時点では示されていない。Anthropic への直接接続(API キーまたは Claude.ai 認証)のみで動作する。
エンタープライズ環境でプロバイダーを固定しているチームが「新機能のはずなのに動かない」と混乱するポイントなので、チーム展開前に必ず確認すること。Bedrock・Vertex AI の契約で固定されているチームは Monitor tool への移行は不可と割り切り、既存の sleep・polling 設計の最適化で対応するしかない。
使わない場面
Single-run processing (Bash tool) — 単発処理
- Single-run processing: Bash tool is sufficient, Monitor tool setup cost exceeds benefit -
- Provider environment Bedrock/Vertex AI: Not available as described above -
- Processes that do not output meaningful information to stdout: If there are no detectable events, the Monitor tool has no meaning
NO_FLICKER + Focus View — Improving long-session experience
NO_FLICKER mechanism
NO_FLICKER introduced in v2.1.90 is a new rendering engine that reduces terminal flickering. According to designer Boris Cherny (Anthropic), the traditional rendering method had a structural problem where text differences were sequentially overwritten, causing flickering to increase as conversations got longer.
NO_FLICKER combines alt-screen buffer and virtual scroll mechanism to redraw only changed parts at minimum cost. By design, drawing cost remains constant regardless of large number of turns (from CHANGELOG.md). Considering that 200-300 turns are consumed in a day's coding session, this is a change that changes the feeling from the second day onwards.
However, using alt-screen buffer has the side effect of losing normal terminal scrollback. You can no longer go back with Ctrl+Shift+↑ to view past output, so when you want to re-read logs, you need to use Focus View (described below) or temporarily turn off NO_FLICKER. Also reported interference when used nested within tmux.
Enable via environment variable:
# Add to ~/.bashrc or ~/.zshrc
export CLAUDE_CODE_NO_FLICKER=1
Default is OFF reflects Anthropic's design decision that there are users who cannot tolerate this side effect (scrollback loss, tmux interference). Adding to personal ~/.bashrc is low risk, but integrating into team-shared environment files or Docker images affects everyone. Decide whether to deploy after the whole team understands the side effects or keep it as personal settings. If you "don't feel any change despite using v2.1.90+", the environment variable is not set. First confirm operation in standalone terminal before making it permanent is a safe procedure.
Focus View (v2.1.97)
Ctrl+O key binding was added in v2.1.97. When pressing Ctrl+O with NO_FLICKER enabled, the screen display switches to a focused mode limited to the following 3 elements:
- Prompt input field
- Tool summary (1 line)
- Final answer
This is a direct countermeasure for situations where long conversation history occupies the screen and loses context of work.
refreshInterval and /agents
refreshInterval setting was also added in v2.1.97, allowing status line to be automatically updated every N seconds. /agents command displays running sub-agents in real-time.
// settings.json
{
"refreshInterval": 3
...
}
When multiple sub-agents are executed in parallel, you can now confirm on screen which agent is processing which task.
Where the effect is significant
The effect becomes noticeable in long-duration, multi-turn sessions (over 2-3 hours). Differences are hard to detect in short single-run interactions. Also differences exist depending on terminal emulator type; operation confirmed on macOS Terminal, iTerm2, and Ghostty.
/ultraplan — Non-blocking planning (Research Preview)
/ultraplan added as Research Preview in v2.1.91 is a mechanism that performs planning processing asynchronously in the cloud.
Traditional planning commands occupied the terminal and stopped other work until the plan was complete. With /ultraplan, since planning is executed on the cloud side, the terminal can continue to be used for other tasks.
Feedback to plans can also be sent directly to specific sections in comment format, so instructions at granularity of "fix this part only" are possible instead of "rewrite everything". Completed plans can be approved in browser or sent back to terminal.
Decision not to use
Being Research Preview is the main reason. Past Research Preview features had breaking changes to API signatures or feature removals at GA time. Integration into production workflow incurs investigation cost for impact on local scripts and CI pipelines, so post-GA confirmation is appropriate.
There is value in trying for personal experiments or feature verification. However, recognize that planning content (codebase structure, task details) is processed on cloud side. For projects with confidentiality requirements, decide after confirming information handling policies. Also keep in mind that if you become accustomed to workflow dependency, withdrawal cost occurs when API changes.
Also, /batch (worktree parallel execution) specializes in execution of changes, while /ultraplan specializes in planning. They are complementary rather than competing, so do not confuse the usage distinction.
/team-onboarding — オンボーディングガイド自動生成
v2.1.101 で追加された /team-onboarding は、ローカルで蓄積した Claude Code の使用パターンを分析し、新しいチームメンバー向けのオンボーディングガイドを自動生成するコマンドだ。
/team-onboarding
# → ローカルの CLAUDE.md・設定・Hooks・Skills 構成を分析
# → チームへの展開手順・注意点・推奨ワークフローをドキュメント化
生成されるガイドの「構造」は使えるが、「なぜこの設計なのか」という文脈は CLAUDE.md のコメントからの逆算に頼る形になる。コメントが薄いプロジェクトで実行すると、Hooks の設計意図が「コマンドを実行します」という機能説明の羅列になる。これは機能の限界ではなく、インプットの問題だ。
実際のところ、/team-onboarding が一番輝くのは、CLAUDE.md がすでに「なぜ」のコメントで充実しているプロジェクトだ。逆に言えば、コメントが薄いプロジェクトに実行しても新メンバーに伝わるものは少ない。CLAUDE.md を整備してから実行するという順番を守れば、従来なら手動で書いていたオンボーディングドキュメントの初稿を自動化できる。
PreCompact hook + EnterWorktree path(v2.1.105)
PreCompact hook
v2.1.105 で追加された PreCompact hook は、コンテキスト圧縮が実行される直前に発火する。従来の PostCompact(圧縮後)とは異なり、圧縮をキャンセルできるという点が根本的に違う。フックスクリプトの終了コードで「今は圧縮を許可しない」と伝えることで、圧縮を延期させられる。
{
"hooks": {
"PreCompact": [
...
コンテキスト圧縮のタイミングを制御したいユースケース——たとえば重要な文脈が展開中のときに圧縮が走ると都合が悪い場合——で有用だ。
EnterWorktree path
v2.1.105 で EnterWorktree ツールに path パラメータが追加された。既存の git worktree に名前ではなくパスで直接切り替えられるようになり、git worktree list で確認してから移動するという手順が省ける。
その他の注目アップデート
--bare フラグ(v2.1.81)
CI スクリプト向けに追加されたヘッドレスモードだ。起動時に hooks・LSP・plugins・skills の探索をすべてスキップし、コア機能だけで動作する。
claude --bare -p "この PR のテスト結果を要約して"
CI 環境では ANTHROPIC_API_KEY が必須で、Claude.ai OAuth 認証は使えない。ローカル環境のフックやプラグインが CI の挙動に影響していて困っているチームへの直接の答えになる。
/powerup インタラクティブチュートリアル(v2.1.90)
公式の学習コンテンツが Claude Code 本体に組み込まれた。18 レッスン収録で、各レッスンは「概念説明 → アニメーションデモ → ハンズオン演習」の 3 段構成になっている。オフラインで動作し、進捗はセッションをまたいで保持される。
/powerup
Claude Code を使い始めたばかりのチームメンバーへの導線として、/team-onboarding と組み合わせて紹介すると効果的だ。
⚠️ Breaking Changes — 必ず確認する 4 つの変更
/tag・/vim コマンド削除(v2.1.92)
- v2.1.92 で完全に削除された。エラーは出ず、コマンドが無視されるか「unknown command」になる形で静かに壊れるため気づきにくい。
/tag でセッションにラベルをつけてログ管理していたチームは、そのフローが無言で壊れている。代替は --session-name フラグだが、既存のタグ参照スクリプトは書き直しが必要だ。まず影響範囲を確認するには以下のコマンドが手がかりになる。
grep -r '/tag\|/vim' .github/ scripts/ 2>/dev/null
CI パイプラインやスクリプトに利用箇所があれば、--session-name フラグへの書き換えを優先する。/vim は keybindings.json での設定に移行する。
/output-style deprecated(v2.1.92)
/output-styleコマンドが非推奨になった。出力形式の制御はsettings.jsonのoutputFormatで行う方式に移行する。
// settings.json(移行先)
{
"outputFormat": "compact"
...
3. thinking summaries がデフォルト非表示に(v2.1.89)
Claude の内部思考サマリーが、v2.1.89 からデフォルトで表示されなくなった。「急に思考プロセスが見えなくなった」と感じたらこの変更が原因だ。復元は settings.json で行う。
// settings.json
{
"showThinkingSummaries": true
...
Debugging 및 품질 확인에 thinking summaries 를 활용했던 팀에는 큰 영향을 미칩니다. thinking 을 품질 평가의 관찰 포인트로 사용하는 eval 워크플로우에서는 v2.1.89 이후 출력 비교 조건이 변경되었을 수 있습니다. 기존 settings.json 에 showThinkingSummaries 가 설정되지 않은 팀은 기본값으로 숨겨지지 않았는지 확인하세요. 팀 전체 설정에 포함하려면 공유 settings.json 을 업데이트하세요.
--dangerously-skip-permissions
의 자동 다운그레이드 (v2.1.97)
- 보호된 쓰기 작업이 수행된 후,
--dangerously-skip-permissions플래그가 자동으로 제한되는 설계로 변경되었습니다. "신뢰하고 모든 것을 맡기는" 설정이 중요한 작업을 트리거로 자동으로 안전 모드로 돌아갑니다.
CI 자동화 스크립트에서 --dangerously-skip-permissions 를 사용하는 경우, 보호된 쓰기 작업 후속 동작이 변경될 수 있습니다.
まとめ: 무엇을 지금 바로 시도해야 하는가
| 기능 | 영향도 | 도입 비용 | 권장 행동 |
|---|---|---|---|
| Write tool 속도 향상 | 높음 | 0 (자동 적용) | |
| 이미 혜택을 받은 경우 — 업데이트 완료하면 대응 불필요 | |||
| thinking summaries 확인 | 높음 | 낮음 (settings.json 1 줄) | |
| 지금 바로 확인 — 기본값으로 숨겨지지 않았는지 확인하세요 | |||
| NO_FLICKER | 높음 | 낮음 (환경 변수 1 줄) | 2 시간 이상 세션이 많으면 즉시 설정 |
| Monitor tool | 높음 | 중간 (응답 코드 재작성) | |
| Bedrock/Vertex AI 가 아닌 경우 계획적으로 전환 | |||
| /team-onboarding | 중간 | 낮음 (명령어 한 번) | |
| 팀 배포 전에 시도 — CLAUDE.md 를 정리한 후 | |||
| PreCompact hook | 중간 | 중간 (hooks 스크립트 구현) | |
| 압축 제어 필요할 경우 | |||
| /ultraplan | 미확인 | 낮음 (표면적)/ 퇴출 비용 확인 필요 | 본업 도입은 GA 대기. 개인 시험 사용은 정보 전송 리스크 확인 후 |
| --bare 플래그 | 중간 | 낮음 (CI 설정 변경) | |
| CI 환경에서 hooks 간섭에 고민 중이면 즉시 시도 | |||
| /powerup | 낮음 | 낮음 | |
| 신규 멤버 안내로 — 베테랑은 건너뛰어도 됨 |
가장 우선순위가 높은 것은 Breaking Changes 확인입니다. 특히 thinking summaries 의 기본값 변경은 프롬프트 품질 관리에 thinking 을 활용했던 팀에게 조용히 영향을 미치고 있습니다. 먼저 settings.json 을 다시 검토하여 의도된 설정이 되어 있는지 확인하는 것으로 시작하세요.
성능 개선에서는, Write tool 속도 향상이 설정 0 으로 자동 적용됨이라는 점이本月最大の「얻은 변화」입니다. 그上で Monitor tool 로의 전환을 계획하면서, NO_FLICKER 를 시도해 보는 것이 비용 대비 효율적인 순서가 됩니다.
참고 자료:
AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기