VSCode Copilot Chat と Claude Code、bash の扱いが違う

TL;DR — oh-my-posh v28.1.1 以降は VSCode Shell Integration と競合してエージェントモードが固まる。.bashrc$TERM_PROGRAM=vscode の早期リターンを入れれば解決。Claude Code の PATH は .profile 経由で解決している。

午前中、Copilot Chat のエージェントモードでコマンド実行したら止まるという事象が頻発した。.bashrc に仕掛け作って凌いだ。定時過ぎに Claude Code の仕組みを調べたらなんか知らんけど上手く動いてた、という一日の話。

午前:Copilot Chat のエージェントモードでコマンド実行すると以後進まない

VSCode の Copilot Chat をエージェントモードで使っていたら、コマンドを実行させるとそこで「Preparing」が点滅し続けてそこから進まなくなった。

なんだよこれと思って調べてみると、oh-my-posh が原因。oh-my-posh v28.1.1 以降で VSCode Shell Integration と競合するようになったらしく、エージェントが叩いた bash がそのまま固まる。

解決策として .bashrc に VSCode 向けの早期リターンを仕込んだ。$TERM_PROGRAM は VSCode が統合ターミナルを開くときにセットする変数で、WSL・ネイティブ Ubuntu どちらでも vscode になる。

# mise shims(全環境で必要)
eval "$(mise activate bash --shims)"

# VSCode 統合ターミナルはここで早期リターン
if [[ "$TERM_PROGRAM" == "vscode" ]]; then
  return
fi

# 以降はインタラクティブ専用(Tabby / GNOME Terminal など)
eval "$(oh-my-posh init bash ...)"
# ghq, fzf など...

これで Copilot Chat のエージェントモードは直った。さくさく進むようになった。でも午前の業務は溶けた。う○こですよ。

余ったMacBook Pro 2015でUbuntuを動かすまでの地獄

TL;DR — MacBook Pro 2015 の Apple SSD は Linux で 4MB 超の DMA 転送でバイナリが壊れる問題がある。max_sectors_kb=1024 の udev ルールと GRUB の ATA パラメータ追加で解決できる。

はじめに

先日 Windows 11 のノートPCを手に入れた。会社でも WSL で Ubuntu 使ってるので喜び勇んで WSL をセットアップして満足。うちでも開発できる環境ができた。
それはそれでいいんだけど、それまでメインで使っていた MacBook Pro 2015 は完全に引退となった。

macOS はとっくに更新できなくなっているし、このまま眠らせておくのも勿体ない。

OpenClaw

最近、猫も杓子も OpenClaw という世の中の流れになっているらしい。中国ではセットアップするサービスに行列が出来たとか何とか。
自宅サーバーに置いてローカルで動き、WhatsApp や Telegram など使い慣れたチャットアプリから操作できる。メール管理やカレンダー操作、ファイル操作まで自動化できるというやつですね。 面白そうだし、試してみようかなーと思ったけど、いざ調べてみたら結構セキュリティやばそう。

  • RCE 脆弱性(CVE-2026-25253、CVSS 8.8)が報告されており、認証なしで公開されているインスタンスが世界に 42,000 件以上
  • プラグインマーケットプレイス(ClawHub)の約 12% が悪意あるスキル
  • メール・カレンダー・購入・ファイルと権限が広すぎるので、侵害されたときの被害が大きい

いや、これ普通にやったらやばいだろ。

nanoclaw

で、他のないかなと探していたら、nanoclaw を見つけた。コンテナで隔離して動かせる設計になっているし、これならホストへの影響も最小限になりそう。

ということで、MacBook Pro 2015 に Ubuntu を入れて、その上で nanoclaw をコンテナで動かすことにしたんだけど、そこからはまりまくった。

このブログについて

TL;DR — 社内SE・IT歴20年以上のメモ書きブログ。Claude Code や GitHub Copilot で自サイト運営のハードルが下がったのをきっかけに始めた。

社内SEをやっています。IT歴は20年以上。

GitHub Copilot や Claude Code を使い始めて、「あれ、自分でブログ書くのって技術的にかなりハードル下がったんじゃないか」と気づいたのがこのブログを始めたきっかけ。最近は何か調べるとき、Google より先に AI に聞くことが増えてきた。

書いている内容は、AIツール・Linux・開発環境・Webパフォーマンスなど、実際にやってうまくいったことを中心に。試行錯誤の経過はノイズになりやすいので、結果にフォーカスして書くようにしています。

AIを使っていても使っていなくても、技術的な知識の共有として参考になれば。