Claude CodeがPyCharmで表示崩れする症状と回避策(WebStormも同系統)
PyCharm・WebStormの統合ターミナルでClaude Codeを動かすと、カーソルの反転、diffの描画ゴミ、リサイズ後の重複が報告されています。/usageのバーが消える例は環境変数が原因でした。症状別の切り分けと回避策です。
PyCharm・WebStormの統合ターミナルで報告されている4つの症状
PyCharmやWebStormの統合ターミナルで claude を起動すると、システムのターミナルでは起きない描画の乱れが出ることがあります。GitHubのissueに上がっている症状は次の4つです。
| 症状 | issue | 状態 | 報告された環境 |
|---|---|---|---|
/usage の進捗バーが約1秒で消える | issue#97863 | 状態報告者が自己解決してclose | 報告された環境Ubuntu 24.04、2.1.283 |
| 入力中のカーソルが見えず、止まると点滅する | issue#97148 | 状態open | 報告された環境Windows、2.1.281 |
| diff表示中に巨大なカーソルや赤いハイライトの染み出しが出る | issue#81885 | 状態open | 報告された環境Windows 11、2.1.220 |
| リサイズ後に文字が重複する・消える | issue#82916 | 状態open | 報告された環境IntelliJ IDEA系 |
4件とも報告者の環境が違い、症状も別物です。共通点は「JetBrainsのターミナルで起き、システムのターミナルでは起きない(または比較されていない)」ことだけで、原因は1つに決まっていません。そこで、症状ごとに何を疑うかを順に見ていきます。
プラグインの導入手順や /ide の使い方はClaude Code JetBrainsプラグインの導入と設定にあります。ここでは、プラグインを入れたかどうかにかかわらず、統合ターミナルで描画が崩れたときを扱います。
/usageのバーが消えたら環境変数を疑う(#97863)
/usage を実行すると進捗バーが約1秒だけ表示され、その後消えてしまう症状です。同じマシン、同じバージョンのClaude CodeをGNOME Terminalで動かすと、正常に表示されていました。
報告者は、再現条件をかなり詰めています。
- PyCharmのターミナルエンジンはClassicとReworkedのどちらでも再現する
- ターミナルのツールウィンドウを最大化しても再現する
- PyCharm 2026.2.3(Build #PY-262.10968.92)でも再現する
- プラグインのボタンではなく、ターミナルで
claudeを手動で起動しても再現する
ツールウィンドウを最大化しても直らないため、/usage が縦に長くて画面に収まらない問題(#61685)とは別物でした。小さなウィンドウでバーが画面外に押し出される要望です。#97863では、バーが一度描かれてから消えます。
ところがこのissueは、報告の翌日に報告者自身がcloseしています。コメントによれば、原因は手元の設定でした。他のツール向けにプロジェクトの .envrc へ置いていたClaudeのOAuthトークンが、Claude Codeの不具合ではなく原因だったという結論です。
環境変数の渡り方はターミナルごとに違いうるので、この結論は他の環境にも当てはまる可能性があります。CLAUDE_CODE_OAUTH_TOKEN は、設定されていると保存済みの認証情報より優先され、/login を実行しない限りセッション全体でそのトークンが使われます。PyCharmのターミナルとシステムのターミナルで、読み込まれる環境が食い違っていれば、同じマシンでも挙動が分かれます。
症状が出たターミナルとシステムのターミナルの両方で、次を実行して結果を並べると切り分けられます。
[ -n "$CLAUDE_CODE_OAUTH_TOKEN" ] && echo set || echo unsetトークンの値は出さず、設定の有無だけを表示します。片方だけ set になるなら、PyCharm側の起動方法や、プロジェクトの環境変数ファイルの読み込みを疑う手がかりになります。
同じ見え方の報告は、VS Codeのターミナルにもありました。#48801は2.1.109で /status の使用量タブが一瞬表示されてから壊れるという報告で、#51616の重複としてcloseされ、2.1.119で修正されています。2.1.119のリリースノートには「/usage の進捗バーが『Resets …』ラベルと重なる問題を修正」という項目があります。ただしJetBrainsのissueとの関連は示されていません。
カーソルの点滅が反転して見える(#97148)
PyCharm・WebStormの統合ターミナルで、入力中や移動中にカーソルが表示されず、止まると点滅する、という報告です。通常のカーソルは、入力中は点灯したままで、止まると点滅します。Claude Codeでは、その逆になっています。
報告はWindows版の2.1.281(TERM はxterm-256color)で、拡張機能ではなくターミナルで起動した場合のものです。
コメントには、切り分けのヒントが1つありました。PyCharmのターミナルでPowerShellの代わりにコマンドプロンプトを使うと、カーソルが普通に出たそうです。ただし、同じ人が追記で「その会話を再開(アタッチ)したところ、また元の挙動に戻った」と書いています。シェルだけが原因ではなく、再開した会話やそのセッションの状態にも左右されうる、という見立てです。
カーソルの描き方は、Claude Code側の環境変数で変えられます。CLAUDE_CODE_NATIVE_CURSOR=1 を設定すると、Claude Codeが描くブロックカーソルではなく、ターミナル自身のカーソルを入力位置に表示します。このカーソルは、ターミナルの点滅・形状・フォーカスの設定に従います。仕組みの詳細はCLAUDE_CODE_NATIVE_CURSORとはにあります。
CLAUDE_CODE_NATIVE_CURSOR=1 claudeこの変数がPyCharmの反転症状を解消するかどうかは、issueのやり取りに出ていません。試す価値のある切り分けですが、直る保証はありません。変数を入れてカーソルが消えるなら、その結果もissueに追記する価値があります。
diff表示に描画ゴミが出る(#81885)
Claude Codeがファイルを編集し、ターミナルにdiffを描いている最中に、次の症状が同時に出たという報告です。
- 大きなI-beamカーソルが画面の途中に浮かび、コードに重なる
- 赤いdiffハイライトが複数行にわたって染み出す
- diff領域全体の表示が壊れる
環境はWindows 11のPowerShell 7で、Claude Code 2.1.220、auto modeでの編集中でした。報告者自身が書いているとおり、同じ手順でも毎回は起きず、発生は1回だけです。再現手順が定まっていないので、この症状は「起きうる」と知っておく程度が実態に近いでしょう。
対処の見込みがあるのは、diffの表示先を変える方法です。JetBrainsプラグインで接続している場合、Claude Codeはコードの変更をターミナルではなくIDEのdiffビューアで開けます。表示先は /config のDiff toolで選びます。
auto:diffをIDE側に表示するterminal:diffをターミナルに残す
このエントリは、Claude CodeがIDEに接続しているときだけ /config に現れます。JetBrainsのターミナルから claude を起動するか、外部ターミナルなら先に /ide を実行してください。
リサイズで文字が重複・欠落する(#82916)
JetBrainsプラグインが提供するターミナルで、出力が欠けたり、スクロールバックで復元できなかったり、リサイズ後にテキストが重複したりする報告です。コメントは時系列で次の3件がありました。
| コメントの日付 | 内容 |
|---|---|
| 2026年8月5日 | 内容リサイズでSIGWINCHが発火し、描画位置の追跡がずれて重なる・消える、という見立て。Ctrl+L で画面を再描画すれば直るが、過去の応答は失われることがある |
| 2026年8月10日 | 内容IntelliJ IDEAを2026.2.0.1(2026年7月22日ビルド)に更新したら解消した |
| 2026年9月30日 | 内容2026年9月18日ビルドのPyCharm(PY-262.10968.92)では解消しない |
SIGWINCHの話は、コメント投稿者の見立てで、検証された原因ではありません。IDEの更新が効いたという報告と、更新しても直らないという報告が、2か月の間に並んでいる状態です。
切り分けは副作用の小さい順に進める
症状が出たとき、Claude Code側とIDE側で試せる手段を、副作用が小さい順に並べます。
表示崩れを切り分ける順番
- 1
画面を再描画する
Ctrl+Lを押します。フルスクリーンレンダリングで表示が乱れたり部分的に空白になったりしたときの手段で、会話と入力中の内容は残ります。リサイズ後の重複に最初に試せます。 - 2
レンダラーを切り替える
/tuiで今のレンダラーを確かめ、/tui defaultか/tui fullscreenで切り替えます。違いは次で比べます。 - 3
カーソルとdiffの設定を変える
カーソルの反転なら
CLAUDE_CODE_NATIVE_CURSOR=1、diffの崩れならDiff toolをautoにします。どちらも直る保証はないので、変わらなければ戻して構いません。 - 4
環境変数をシステムのターミナルと比べる
#97863のように、設定の食い違いが原因のこともあります。
CLAUDE_CODE_OAUTH_TOKENなど、認証に関わる変数を両方のターミナルで見比べます。 - 5
システムのターミナルから使う
描画をJetBrainsの統合ターミナルに任せない形です。
claudeを起動して/ideで接続すれば、IDEのdiffビューアなどの連携機能は使えます。
フルスクリーンと従来のレンダラーの違い
Claude Codeには、フルスクリーンレンダリング(代替スクリーンバッファ)と従来のレンダラーがあります。フルスクリーンは研究プレビューで、一般的なターミナルエミュレーターでは試験済みですが、あまり使われない端末や特殊な構成では描画の問題が出うるとされています。
どちらのレンダラーで動いているか
フルスクリーン
ターミナルの代替スクリーンバッファに描き、ちらつきを抑えます。会話は端末標準のスクロールバックではなくアプリ側にあるので、Cmd+f やtmuxの検索では見えません。
従来のレンダラー
会話がターミナル標準のスクロールバックに残り、Cmd+f やtmuxのコピーモードが普通に使えます。描画の不具合が出たときの戻り先になります。
/tui
/tui default
/tui fullscreen引数なしの /tui は、どちらで動いているかを表示します。保存済みの設定を無視して常に従来のレンダラーにしたい場合は、環境変数を使います。
CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 claudeこの変数は tui 設定と CLAUDE_CODE_NO_FLICKER より優先されます。切り替えの仕組みと制約はClaude CodeのTUI(フルスクリーン)とはにあります。#97148や#81885の症状が、どちらのレンダラーで出にくいかは、issueのやり取りに出ていません。両方で試して、見た目の差を確かめる方法が確実です。
システムのターミナルから接続する
システムのターミナルで claude を起動し、/ide でJetBrains IDEに接続します。起動時に自動で接続する --ide フラグもあり、v2.1.289の claude --help には次の説明が出ます。
--ide Automatically connect to IDE on startup if exactly one valid IDE is available有効なIDEがちょうど1つだけ見つかったときに接続する、という動きです。複数のIDEを開いているなら、/ide で選びます。
claude --ide接続すると、IDEのdiffビューアや選択範囲の共有が使えます。
JetBrainsのターミナルで別に効く3つの挙動
描画崩れではありませんが、JetBrainsの統合ターミナルでは、操作まわりでも他のターミナルと違う点があります。
JetBrainsターミナル固有の挙動
ESCで中断できない
Settings → Tools → Terminalを開き、「Move focus to the editor with Escape」のチェックを外します。または「Configure terminal keybindings」で「Switch focus to Editor」のショートカットを削除します。
Shift+Enterで改行できない
PyCharmなどのJetBrains IDEでは、Shift+Enterが使えません。
Ctrl+Jか、\のあとにEnterで改行します。詳しくはShift+Enterで改行できないときの設定にあります。スクロール速度を変えられない
JetBrainsのターミナルでは、Claude Code独自のスクロール処理が働きます。
CLAUDE_CODE_SCROLL_SPEEDは無視され、/scroll-speedも使えません。2025.3以降へのIDE更新が推奨されています。
スクロールの件は、2025.2のターミナルにあるホイールの不具合(余計な矢印キー、逆方向のイベント)を、Claude Codeが実行時に検出して自動で緩和する仕組みによるものです。この不具合を検出すると、最初のスクロール時にヒントが出ます。Linuxで中クリックの貼り付けが二重になる症状は中クリック貼り付けが二重になる原因と回避策にあります。
issueに報告するときに添える情報
#97863の報告者は、次の項目を添えていました。同じ症状に当たったときも、この並びなら突き合わせがしやすくなります。
| 項目 | 例(#97863の場合) |
|---|---|
| Claude Codeのバージョン | 例(#97863の場合)2.1.283 |
| IDEとビルド | 例(#97863の場合)PyCharm 2026.2.3(Build #PY-262.10968.92) |
| ターミナルエンジン | 例(#97863の場合)ClassicとReworkedの両方で確認 |
| OSとシェル | 例(#97863の場合)Ubuntu 24.04.4 LTS、bash |
| プラグインの有無 | 例(#97863の場合)プラグイン0.1.14-betaが入っていても、手動起動で再現 |
| システムのターミナルでの結果 | 例(#97863の場合)GNOME Terminalでは正常 |
システムのターミナルで再現するかどうかは、最も大きな手がかりです。再現しなければ、JetBrains側のターミナルに固有の症状か、そのターミナルだけに渡る環境の違いが疑えます。#97863は後者のケースです。
まとめ
最大の分岐は、システムのターミナルでも同じ症状が出るかどうかです。出るならClaude Code側のレンダリングを疑い、出ないならJetBrainsのターミナル側か、そこにだけ渡る環境の違いを疑います。後者なら、claude --ide でIDE連携だけを残す使い方があります。スクロールバックが消える症状はClaude Codeでスクロールバックが消える問題も参考になります。