1日目の積田さんの投稿(AWS Awards受賞の意義について語る)に続き、AWS Awards受賞を目指す人達 Advent Calendar 2025 2日目の記事となります。
はじめに
先日Amazon製のSpec駆動開発を体験できるIDEのKiroを紹介しました。
それから少し経ちましたが、2025年11月17日にとうとうKiroがGAされましたね。
それと同時にAmazon Q Developer CLIがKiro CLIに統合されました。
GAのニュース
Amazon Q Developer CLI から Kiro CLI へ
最近Kiroを使う機会が増えてきたので、Windows環境でKiro CLIを導入してみた記録をまとめておきます。
IDE版のKiroはWindowsにインストールできますが、Kiro CLIは記事作成時点でWindowsネイティブ版が存在しないため、WSLを使ってCLIを動かす流れになります。
npmでインストールしてみても:
npm install -g @aws/kiro-cli
# →
# npm 404 The requested resource '@aws/kiro-cli' could not be found
こうなります。
そのため、Kiro CLIを使用するにはWSL(Windows Subsystem for Linux)を導入する必要があります。
以下は私が実際に行った手順と実行結果をまとめたものです。同じようにWindowsでKiro CLIを使いたい方の参考になれば嬉しいです。
今回のゴール
Windows 11の環境で、ターミナルからKiro CLIが叩ける状態を作る
yuuuka:/mnt/c/Users/yuuuka$ kiro-cli
○ fetch is disabled
⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀ ⢀⣴⣶⣶⣦⡀⠀⠀⠀⢀⣴⣶⣦⣄⡀⠀⠀⢀⣴⣶⣶⣦⡀⠀⠀⢀⣴⣶⣶⣶⣶⣶⣶⣶⣶⣶⣦⣄⡀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣶⣶⣶⣶⣶⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀ ⢰⣿⠋⠁⠈⠙⣿⡆⠀⢀⣾⡿⠁⠀⠈⢻⡆⢰⣿⠋⠁⠈⠙⣿⡆⢰⣿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⣦⠀⠀⠀⠀⣴⡿⠟⠋⠁⠀⠀⠀⠈⠙⠻⢿⣦⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⣿⣇⣴⡿⠋⠀⠀⠀⢀⣼⠇⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⢠⣤⣤⣤⣤⣄⠀⠀⠀⠀⣿⡆⠀⠀⣼⡟⠀⠀⠀⠀⣀⣀⣀⠀⠀⠀⠀⢻⣧⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⣿⡿⠋⠀⠀⠀⢀⣾⡿⠁⠀⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⢸⣿⠉⠉⠉⣿⡇⠀⠀⠀⣿⡇⠀⣼⡟⠀⠀⠀⣰⡿⠟⠛⠻⢿⣆⠀⠀⠀⢻⣧⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⠙⠁⠀⠀⢀⣼⡟⠁⠀⠀⠀⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⢸⣿⣶⣶⡶⠋⠀⠀⠀⠀⣿⠇⢰⣿⠀⠀⠀⢰⣿⠀⠀⠀⠀⠀⣿⡆⠀⠀⠀⣿⡆
⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠹⣷⡀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣼⠟⠀⢸⣿⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⣿⡇⠀⠀⠀⣿⡇
⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⠀⣠⡀⠀⠀⠹⣷⡄⠀⠀⠀⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⠀⣤⣄⠀⠀⠀⠀⠹⣿⡅⠀⠀⠸⣿⠀⠀⠀⠸⣿⠀⠀⠀⠀⠀⣿⠇⠀⠀⠀⣿⠇
⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⣾⡟⣷⡀⠀⠀⠘⣿⣆⠀⠀⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⠀⣿⡟⣷⡀⠀⠀⠀⠘⣿⣆⠀⠀⢻⣧⠀⠀⠀⠹⣷⣦⣤⣤⣾⠏⠀⠀⠀⣼⡟
⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⣿⡇⠹⣷⡀⠀⠀⠈⢻⡇⠀⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⠀⣿⡇⠹⣷⡀⠀⠀⠀⠈⢻⡇⠀⠀⢻⣧⠀⠀⠀⠀⠉⠉⠉⠀⠀⠀⠀⣼⡟
⠀⠀⠀⠀⠀⠀⠀ ⠸⣿⣄⡀⢀⣠⣿⠇⠀⠙⣷⡀⠀⢀⣼⠇⠀⠸⣿⣄⡀⢀⣠⣿⠇⠸⣿⣄⡀⢀⣠⣿⠇⠀⠙⣷⡀⠀⠀⢀⣼⠇⠀⠀⠀⠻⣷⣦⣄⡀⠀⠀⠀⢀⣠⣴⣾⠟
⠀⠀⠀⠀⠀⠀⠀ ⠀⠈⠻⠿⠿⠟⠁⠀⠀⠀⠈⠻⠿⠿⠟⠁⠀⠀⠈⠻⠿⠿⠟⠁⠀⠀⠈⠻⠿⠿⠟⠁⠀⠀⠀⠈⠻⠿⠿⠟⠁⠀⠀⠀⠀⠀⠈⠙⠻⠿⠿⠿⠿⠟⠋⠁
╭─────────────────────────────── Did you know? ────────────────────────────────╮
│ │
│ Use /model to select the model to use for this conversation │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
Model: Auto (/model to change) | Plan: KIRO FREE (/usage for more detail)
>
対象読者・検証環境
対象読者:
- Windows環境でKiro CLIを使いたい方
検証環境:
- Windows 11
- WSL (Ubuntu)
- Ubuntu: ディストリビューションは Ubuntu(WSL 上)
- Python: 3.12.12(pyenv 管理)
- Node: v24.11.1(fnm 管理)
- kiro-cli: 1.20.0
STEP 1:WSL の再構築
以前に導入していたWSLの設定の見直しと再インストールを行いました。
WSLを使ったことが無い方は以下が参考になるかと思います。
STEP 1-1:現在の WSL の状態を確認
wsl --list --verbose
wsl --status
STEP 1-2:WSL の新規インストール
wsl --unregister Ubuntu
wsl --install -d Ubuntu
STEP 1-3:Ubuntu 初回セットアップ
sudo apt update
sudo apt upgrade -y
STEP 2:VSCode Remote WSL のセットアップ確認
STEP 2-1:VSCode から正しい WSL ディストリを選ぶ
- VSCode 左下の「><」アイコンをクリック
- 「ディストリビューションを選択」をクリック
- Ubuntuを選択
これでWSL: Ubuntuと表示されればOKです。
STEP 2-2:Ubuntu 接続済み VSCode でターミナルを開く
VSCodeで新しいターミナルを開くと、プロンプトが以下のようになります。
yuuuka@<PC-NAME>:~$
この状態で、以降のコマンドを実行していきます。
STEP 2-3:初期確認
まずはVSCode/Python/Nodeの状態を確認しました。
$ code --version
1.106.2
<commit hash>
x64
$ which python3
/usr/bin/python3
$ which node
# 何も表示されない(= Node 未インストール)
STEP 3:Node.js をインストール(fnm)
後ほど必要になりそうだったのでfnm(Fast Node Manager)を使ってNodeを入れました。
STEP 3-1:fnm のインストール
安全に実行する例(スクリプトを確認してから実行):
curl -fsSL https://fnm.vercel.app/install -o fnm_install.sh
less fnm_install.sh # 中身を確認
bash fnm_install.sh
source ~/.bashrc
簡便にそのまま実行する場合は次のコマンドでもインストールできます(リスクを理解した上で):
curl -fsSL https://fnm.vercel.app/install | bash
source ~/.bashrc
STEP 3-2:Node のインストール
最初、--lts を使ってみたところ、少しハマりました(fnmのコマンド挙動に由来)。
$ fnm install --lts
Installing Node v24.11.1 (x64)
...
fnm use --lts はそのままでは渡し方の関係でエラーになることがあるので、インストール後は実際に入ったバージョンを確認してバージョン番号で指定すると確実です。
$ fnm list
* v24.11.1 default, lts-latest
* system
$ fnm use 24.11.1
Using Node v24.11.1
あるいは以下のようにfnm default <version>でデフォルトに設定できます。
fnm default 24.11.1
STEP 3-3:Node / npm の動作確認
$ which node
/run/user/1000/fnm_multishells/xxxxx_XXXXXXXXXXXX/bin/node
$ node -v
v24.11.1
$ which npm
/run/user/1000/fnm_multishells/xxxxx_XXXXXXXXXXXX/bin/npm
$ npm -v
11.6.2
これでWSL(Ubuntu)側のNode/npmが利用可能になりました。
STEP 4:pyenv で Python を整える
私は必ずPythonを使用するので、Python環境も構築しました。
STEP 4-1:依存パッケージ
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev xz-utils tk-dev \
libffi-dev liblzma-dev git curl
STEP 4-2:pyenv インストール
順番に実行する場合:
curl https://pyenv.run -o pyenv_install.sh
less pyenv_install.sh
bash pyenv_install.sh
もしくは以下:
curl https://pyenv.run | bash
STEP 4-3:初期化を .bashrc に追加
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
source ~/.bashrc
- zsh を使っている場合は同様の設定を
~/.zshrcに追加してください。
反映後、バージョンを確認:
$ pyenv --version
pyenv 2.6.13
STEP 4-4:Python 3.12 をインストール
最新を入れたいところですが、ひとまず Python 3.12 をインストール&グローバル設定を行います。
pyenv install 3.12.12
pyenv global 3.12.12
STEP 4-5:動作確認
$ python --version
Python 3.12.12
$ which python
/home/yuuuka/.pyenv/shims/python
$ pip --version
pip 25.0.1 from /home/yuuuka/.pyenv/versions/3.12.12/lib/python3.12/site-packages/pip (python 3.12)
これでWSL側のPython環境も整いました。
STEP 5:WSL に Kiro CLI をインストール
いよいよKiro CLIを入れていきます。
最初に記載したように、npmからのインストールは404で失敗したので、公式で用意されているcurlコマンドを実行してインストールを行いました。
STEP 5-1:公式スクリプトでインストール
順番に実行する場合:
curl -fsSL https://cli.kiro.dev/install -o kiro_install.sh
less kiro_install.sh # 中身を確認
bash kiro_install.sh
もしくは以下:
curl -fsSL https://cli.kiro.dev/install | bash
インストールの出力例:
Kiro CLI installer:
Downloading package...
✓ Downloaded and extracted
✓ Package installed successfully
🎉 Installation complete! Happy coding!
1. Important! Before you can continue, you must update your PATH to include:
/home/yuuuka/.local/bin
Add it to your PATH by adding this line to your shell configuration file:
export PATH="$HOME/.local/bin:$PATH"
2. Use the command "kiro-cli" to get started!
この時点ではまだPATHが通っていないので、kiro-cli を実行してもうまくいきません。
$ kiro-cli --version
kiro-cli: command not found
STEP 5-2:PATH に ~/.local/bin を追加
インストーラのメッセージに従って、PATHを通します。
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
反映確認:
$ echo $PATH
/home/yuuuka/.local/bin:/home/yuuuka/.pyenv/plugins/pyenv-virtualenv/shims:...
# (出力を一部省略)
STEP 5-3:Kiro CLI のバージョン確認
$ which kiro-cli
/home/yuuuka/.local/bin/kiro-cli
$ kiro-cli --version
kiro-cli 1.20.0
これでWSL(Ubuntu)上でKiro CLIが実行できるようになりました。
STEP 6:VSCodeをWSL上のKiro CLIと連携
以上の流れの実行により、WSL(Ubuntu)のターミナルからはkiro-cliが使えるようになりました。
次は、Windows上のVSCode/Kiro IDEからもWSLのkiro-cliが使えるようにターミナルの設定を変更します。
STEP 6-1:VSCode の settings.json を編集
VSCodeの設定(ユーザー設定)でsettings.jsonを開き、ターミナルプロファイルに「Ubuntu (WSL)」を追加し、デフォルトに設定しました。
注意:VSCodeのユーザー設定ファイルはJSON形式ですが、コメントを含めて表示している例はJSONC(コメント許容)での記述例です。実際に設定をコピーするときはコメント行を削除してください。
{
// 既存設定は省略 ...
// ▼ WSL 用のプロファイルを追加
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell"
},
"Command Prompt": {
"path": [
"${env:windir}\\\\Sysnative\\\\cmd.exe",
"${env:windir}\\\\System32\\\\cmd.exe"
],
"args": [],
"icon": "terminal-cmd"
},
"Git Bash": {
"source": "Git Bash"
},
"Windows PowerShell": {
"path": "C:\\\\WINDOWS\\\\System32\\\\WindowsPowerShell\\\\v1.0\\\\powershell.exe"
},
// ★ 新規追加:WSL の Ubuntu
"Ubuntu (WSL)": {
"path": "C:\\\\Windows\\\\System32\\\\wsl.exe",
"args": ["-d", "Ubuntu"],
"icon": "terminal-linux"
}
},
// ★ デフォルトのターミナルを Ubuntu (WSL) に変更!
"terminal.integrated.defaultProfile.windows": "Ubuntu (WSL)"
}
以下のコマンドをそれぞれ実行し、期待通りのバージョンがそれぞれ表示されることが確認できました。
$ kiro-cli --version
kiro-cli 1.20.0
$ python --version
Python 3.12.12
$ node -v
v24.11.1
$ npm -v
11.6.2
$ which kiro-cli
/home/yuuuka/.local/bin/kiro-cli
$ which python
/home/yuuuka/.pyenv/shims/python
$ which node
/run/user/1000/fnm_multishells/xxxxx_XXXXXXXXXXXX/bin/node
無事VSCode/Kiro IDE内で新しいターミナルを開くと、Ubuntu(WSL)のターミナルが起動できるようになりました。
最後に
Amazon Q Developer CLIが登場した頃から興味はありつつもWindowsネイティブ版が無いことで一手間必要だったため躊躇していましたが、今回実行してみたところ、意外と簡単でした。
今後はこの環境を使ってIDEとCLIのできることやできないこと、どのように使い分けるのが良いかを試していきたいと思います。
また、マネジメントコンソール画面から課金ユーザーを作成できるようになったので、設定方法やできることの違いなども試していきたいです。
日に日に進化するKiro、今後もアップデートが頻繁にありそうで楽しみです。
以上、ここまでお読みいただきありがとうございました!
参考リンク