普段はWindowsのPCでシステム開発を行っています。僕は業務系のシステムを作っているので、できるだけお客様が使っているPCと同じものを使ったほうが良いということもあって、 Windowsのマシンで開発しています。
ClaudeCodeはWindowsだとちょっと使いにくかったですよね。初期のころはWSL(Windows上のLinux)を使っていて、これが不便でした。でも、今はWindowsOSでも普通に使えるようになりました。
ここではWindowsユーザーとして、ClaudeCodeを扱う際に、覚えておいてよかったことをまとめて書いています。
想定する読者
こんな人が読んでくれるとうれしいです。
- Windowsマシンで開発している
- ClaudeCodeが気になる/使っている/これから使ってみたい
- WindowsでClaudeCodeが使いにくい
- Windowsユーザーじゃないけど読んでもいい
注)書いているうちに、「これWindows関係なくない?」ってトピックスも出てきてしまいましたが、堪忍してください。
WindowsでもClaudeCodeが使える
いまはwslを利用する必要はありません。Git(Git for Windows)をインストールしてあれば使えます。
(もちろんNode.jsは必須です。)
👆このようにWindowsのPowerShellからNativeInstallする方法も記載されています。
僕はGitが入っているPCだったので、そのままnpm installしました。
- Git for Windowsをいれる(入っている)
-
npm install -g @anthropic-ai/claude-code
する -
claude
と呼ぶ
最初に認証があります。Claudeユーザーなので、そのまま認証が通りました。
Claudeのライセンスがあれば定額で使えてしまうのもうれしいです。
音声入力
Win
+H
で、音声入力を呼び出せます! めちゃ便利です。
ただ、あまり精度は良くない(僕のマイクが悪いかもしれない)ので、いい感じの音声入力のソフトがあったら教えてください!
モード変更
Clineではファイル編集不可のplanモードとコーディングさせるactモードを切り替えられました。これが便利だったんですよね!
ClaudeCodeでは、Shift
+Tab
で切り替えができます。
>>>と思いきやこれは罠で、Windowsではこのキーが効きません。
👆Githubのissue
代わりの方法を見つけるのに時間がかかりました。alt
+m
でモードのローテーションができます!
ファイル指定
@[ファイル名]
で指定できます。プロジェクトのインデクスから検索ができるので、うろ覚えでも行けちゃいます。
@src/index.tsx の続き書いて。疲れちゃった🫠
👆のように指定できます。
"explorer.copyRelativePathSeparator": "/"
VSCodeの設定で相対パスのコピーをしたときのパスのセパレータを""から"/"にできます。
@でファイル指定するときに気持ちがいいです。
...たぶん気分の問題。
指示のだしかた
コンソールにぺっと貼ると、画像をClaudeCodeが読めます。でも、ファイルを指定したほうがいいような気がします。
僕は/tasks
というフォルダにmarkdownを並べて、@で指定して複雑な指示を出しています。mdに張り付けられたイメージもたどって読んでくれます。
CLAUDE.md
~/.claude/CLAUDE.md
に追加してClaudeCodeのプリセットのプロンプトを追加できます。
~
はユーザーホーム。C:\Users\ishigiwa\.claude
みたいな。
CLAUDE.md
はプロジェクト直下置くこともできて、それはプロジェクト固有のメモリーになります。
/memory
はプリセットの指示を出すCLAUDE.md
ファイルを編集するコマンドです。
これが便利で、クロちゃんのミスにぶち切れた僕はよく編集しまくっています😅
CLAUDE.mdの育成がClaudeCodeの利用のほぼすべてだと思います。
そしてCLAUDE.mdの内部でも@[ファイル名]
が指定できます!
セクションごとに分けてファイル化しておくと、ClaudeCodeが判断して必要なときに読みます。
逆に重要な指示はあまりファイルを分けないほうがよいと思います。
clear
/clear
は記憶を消しちゃうコマンドです。前の指示を覚えているとコンテキスト(記憶領域)を圧迫するので、タスクが終わったら消します。記憶喪失の人みたいになります。
compact
ずっと仕事をしていると、記憶領域に指示が溜まっていって、CLAUDE.mdに指定した重要な内容を忘れたりします。
/compact
コマンドで内容を圧縮できます。
が、/clear
した方がいい。最近はそうおもいます。
ClaudeCode自身に育成させる
CLAUDE.mdを読ませるとよりよい指示に変形してくれます。
@CLAUDE.mdはClaudeCodeのメモリーです。内容を読んで、改善点を指摘して。
ただ、あまりいい効果はなかったです。やっぱり自主学習より先生がいたほうがいいのでしょう。
生成AIに自己言及的な作業させるのって、どうなんでしょうね。自分の使い方とかは上手く説明してくれるけども。
タスクの終わりにまとめさせる
タスクの完了後に、このタスクの間にあったことをレポートにまとめさせます。
そのままだと冗長なので、レポートの内容から、次に作業を実施するときのガイドラインを作成させて、memoryに保存しておきます。
ClaudeDesktopとの連携
教えてもらったのですが、ClaudeDesktopをClaudeCodeと連携することができるんですよね。
なので、Claudeと話し合って"こんなプロジェクトやりたいな"って思ったら、その内容からプロジェクト計画書を作成してdocs/plan
ディレクトリへ作成し、そのままClaudeCodeを呼び出してスタートダッシュできます。
問題はMCPでいつでも呼び出せてしまうことで、Claudeが「いける!」と思うと、なんでも会話中にプロジェクトを作ろうとしてしまいます。
オンオフを設定で切り替えるか、プロンプトで抑制して、あまり派手にShellを打たないようにさせる必要が出ます🫠
教えてくれたやさしい方
https://hidetaka.dev/
参考にさせていただいた記事
https://zenn.dev/kazuph/articles/5a6cc61ae21940
"claude_code": {
"command": "C:\\Program Files\\nodejs\\claude.cmd",
"args": ["mcp", "serve"],
"env": {}
}
👆が設定になります。
記事のところでもcommand
設定に触れていますが、この設定がけっこうめんどくさいです。
command
はclaudeを呼び出すためのものなので、マシン環境によって場所が違ったりします。
windowsでは正しいコマンドを知るために、where
を打って調べます。
where claude
エージェント
/agent
で専門的な指示を特化して保有する人格を作ることができます。
例えばデザイナーとか、コードのリファクターとか、レビュアーです。
この人格には自動で切り替わるみたいです。
このモードを利用するとCLAUDE.mdを小ちゃくできるので、コンテキストを節約できます。
またClaude自身は、「この仕事すごく長くかかるな」って思ったらエージェントを呼ぶことが多いようです。
たとえば、「src以下にあるすべてのファイルのドキュメントを作って」といったような仕事です。
PlayWright
一緒にブラウザを見ながら指示できます。楽しいです。
WSL環境での方法はこっちにまとまっています。
素のWindows環境では以下の方法になります。
PlayWrightのセットアップ
まずPlayWright本体をインストールします。
npm i -g @playwright/test
npx playwright install
終わったら、実際に動くかテストします。
playwright open https://example.com
👆けっこうもっさりしているので、辛抱強く待つ。
example.comにアクセスできていることを確認。
PlayWrightMCP
次に、mcpを入れます。
npm i -g @playwright/mcp@latest
mcpは動かしても何も起こらないので、無言でclaudeに設定を入れます。
claude mcp add playwright -s user npx @playwright/mcp@latest
-sはスコープの意で、これでプロジェクトに関係なくユーザー単位で使うことができます。
他にもprojectスコープなどがあります。
インストールが終わったら、claudeが認識できるか確認しましょう。
claude mcp list
あとはhttps://localhost:3000にPlayWrightでつないで
とかって指示します。
ふだんの使い方は、後述のカスタムコマンドを見てください。
コンソール
コンソール何使ってますか? WindowsはWindowsターミナルがIME入力が安定しているような気がします。powershellとcmdの入力画面はつかいにくいです。本当はClineみたいに入力ができると嬉しいですが・・・。
それでもどうしてもIME入力が荒ぶるので、何かいい方法がありましたら教えてください。
いまはWarpというターミナルも試しています。
VSCodeと別にしたのは、コンソールで働いているClaudeCodeの様子を目の端でとらえながらVSCodeで仕事がしたいから、モニターを分けたいのです。
個性
自宅の2台のPCへつないでいるのですが、別々にClaudeCodeが入っています。
SSHでつないで呼び出したとき、どの機につないでるか直感的に分からなくなるんですよね。
/memory
で口調を設定すると、個性が出て、どの子につないでいるか識別しやすくなります。
放っておくとソースにもその口調で書き込むので、"ソースコードやドキュメントは標準語でね"と指示を入れる必要があります😄
github-cli
これが強力で、Githubのissueを引っ張り出して修正したりできます。また複数のクロちゃんが働いていても、マージすれば作業を統合できるのでGithub使うのはいい感じに思います。
コミットメッセージを考えたり、conflictをまとめたり、ブランチ切ったりできます。
あとはコミットグラフ描いてくれます。あんま意味ないけど気持ちはいいです。
カスタムスラッシュコマンド
指示のキーワードを設定できます。例えばこんな設定ができます。
playwrightMCPで #$ARGUMENTS へつないで。
#$ARGUMENTS がない場合は `https://localhost:3000` へつないで
~/.claude/commands/show-local.md
に上の指示を入れておきます。
すると/show-local
コマンドで、指示内容が実行できます。
長々とコンソールに指示を入力する必要がありません。
/show-local https://example.com
👆のように伝えればおっけーです。
スライド作成
marpを利用すると、Markdownからスライドが作成できます。なので、ClaudeCodeにLT資料を作成させることができます。
ぼくはXmindを利用して、マインドマップをベースにして話す内容をまとめています。これをClaudeCodeに渡すと、なんと読んでくれます!
スライドにはフッターや会社のロゴなんかも入れたいですし、全体のカラーパレットや、自己紹介などいつもつかう一枚があります。そんなのも、CLAUDE.mdにスライドデザイン資料.md
として指定しておけば、いつでもまとめてくれます。
VSCodeにはMarp for VSCode拡張を入れています。
コードベースの可視化
drawioファイルが利用できるんですよね!
ClaudeCodeはどうしてもドキュメント作成時にテキストベースで情報をまとめてしまうので、見通しが悪くなります。
全体感だけザクっとインプットしたいときには、drawioでmxgraphを書いてもらうとめちゃわかりやすいです。
逆にMermaidグラフは僕には合いませんでした。ClaudeCodeが作った後で、ちょっと修正したいときがあったり、僕が書いたdrawioを逆にクロちゃんに読ませたりするので、ちょっとMermaidは可視性が悪いんですよね。
まとめ
最後のほうはWindows関係なくなっちゃったんですが、方法をまとめられてよかったです。
備忘として随時更新しようと思います。
おすすめの使い方がありましたら教えてください。
この記事は以上です。ありがとうございました。
kintoneのプラグイン開発や研修などを行っています。
お仕事のお話はこちらまで。