はじめに
こんにちは、あだちです。
Kiro IDE が Ver 1.0 にアップデートされたので、主要な機能を触りながら、何が変わったのか、これまでの Kiro らしさはどこに残っているのかを見ていきます。
参照:
- Kiro IDE 1.0 Changelog: https://kiro.dev/changelog/ide/1-0/
- What's New in 1.0: https://kiro.dev/docs/whats-new-1-0/
Kiro IDE 1.0 で変わったこと
まずは、What's New と Changelog に出ている変更を機能ごとに見ていきます。
| 機能名 | 概要 | 何が新しくなった? |
|---|---|---|
| Agent Focus Mode | エージェントとの会話を中心にした新しいIDEレイアウトです。 | AIとのチャットを画面の中心に置き、仕様書や差分を見ながら作業できる表示が追加されました。複数作業の並行や通常のエディタ表示への切り替えもできます。 |
| Permissions | エージェントが実行できる操作を、権限ベースで制御する仕組みです。 | AIがファイル変更やコマンド実行をする前に、許可を求める仕組みが追加されました。許可・拒否の判断は保存できます。 |
| Custom agents | 用途別のエージェントを Markdown ファイルとして定義できます。 | 目的別の専用エージェントを作れるようになりました。使える機能を設定し、一覧から選んで利用できます。 |
| Hooks | エージェントのフック定義を構造化して管理する仕組みです。 | 自動実行する処理を新しいJSON形式で管理するようになりました。古い .hook 形式は移行が必要です。 |
| Export sessions | 会話セッションを外部共有・保管用にエクスポートできます。 | Kiroとの会話を zip ファイルとして保存できるようになりました。会話全文とセッション情報が含まれます。 |
| Dockable chat | チャットセッションをエディタタブとして開ける機能です。 | チャットをコードファイルのようにエディタタブで開けるようになりました。分割表示や別モニターでの利用もできます。 |
| Manual steering files | 手動実行用の指示ファイルを slash command として使う仕組みです。 | 手動実行する指示を Markdown ファイルで管理し、/ファイル名 のようなコマンドで呼び出せるようになりました。 |
| Sessions | チャットセッションの保存・移行に関する仕組みです。 | 会話セッションの保存形式が新しくなりました。0.x 版の会話は、移行するとKiro 1.0で使えるようになります。 |
この記事では、Agent Focus Mode、Permissions、Custom Agents、Hooks の4つに絞って紹介していきます。
Kiro IDE 1.0 のインストール方法
Kiro IDE 1.0 のインストール手順を見ていきます。
まずダウンロードサイトから最新版をダウンロードします。
執筆時点(2026/06/28)では、 https://kiro.dev/ のトップページからダウンロードできるパッケージは 0.12.333 のものでした。
最新版は https://kiro.dev/downloads/ からダウンロードする必要があります。
ダウンロードページを下にスクロールし、「IDE 1.0 1.0.52」のセクションからダウンロードします。
インストーラを実行します。バージョンが 1.0.xx であることを確認してください。
インストールが完了したら、Kiro IDE アプリを開きます。
いくつかのアップデート情報が表示されました。
Mac のメニューバーで「Kiro」>「About Kiro」を開くと、インストールされたバージョンを確認できます。これで準備完了です。
Version: 1.0.52
VSCode Version: 1.107.1
Commit: 396d8a5b6d939df5730e827c9e0af1b95b9e8115
Date: 2026-06-25T01:52:30.565Z
Electron: 39.6.0
Chromium: 142.0.7444.265
Node.js: 22.22.0
V8: 14.2.231.22-electron.0
OS: Darwin arm64 25.5.0
Agent Focus mode で作業画面はどう変わるか
Agent Focus mode は、AI チャットを独立ウィンドウで開き、複数のエージェント作業を並行して進めやすくする画面です。
まず、Kiro IDE を開き、右上の「Agent Focus」ボタンをクリックします。
新しいウィンドウが立ち上がり、Agent Focus Mode を起動できました。
ファイル編集画面ではなく、AIチャット画面が中心の構成になっています。
実際にタスクを渡してみます。まずは Spec モードに切り替え、仕様書を作らせます。
以下の指示を与えてみます。
シンプルな Markdown メモ帳アプリを作ります。
- 個人用で短いメモ中心
- Webアプリ
- Github準拠
- 見出し、リスト、チェックボックス、表、コードブロック、リンク、画像に対応
- undo / redo あり
- ライブプレビューが欲しい
- 自動保存
すると、Kiro が要件をまとめ始めます。サブエージェントが起動し、内容は requirements.md に落とし込まれていきました。
Requirements(仕様)は右サイドバーに一覧で表示されます。
要件ドキュメントは具体化され、8つの要件に分かれていました。
次のタスクが促されています。
- Generate Tech Design(設計書を作成)
- Generate Task List(タスクリスト作成)
- Analyze Requirements(仕様を分析)
ここで、作成されたファイルを確認してみます。
右サイドバーの「Changed Files」から requirements.md をクリックします。
すると、Editor Mode(従来のIDE画面)のウィンドウに戻り、選択したファイルが開きます。
個人的には、Editor Mode に戻らず Agent Focus Mode だけで完結した方が扱いやすいと感じました。Agent Focus Mode の起動中も Editor Mode がバックグラウンドで動いていたので、メモリ使用量は少し気になります。
どんな場面で Agent Focus Mode を使えるか
ここまで見ると、Agent Focus Mode は見た目の変化に見えるかもしれません。ですが、仕様書作成と調査のような複数タスクを同時に走らせる場面では、この画面の良さが出ます。
たとえば、仕様書を作っている間に別の調査を走らせたり、作業をタスクに分けて並列に進めたりできます。ある機能をレビューさせている間に、別の機能の実装に着手させることもできます。
複数のプロジェクトをまたいで、リポジトリAで調査を進めながら、リポジトリBで別の実装を進める、といった使い方もできます。
これまでの Kiro は、仕様駆動開発を前面に出した、直線的な進め方が中心でした。requirements → design → task と順に進む流れは見た目にも分かりやすく、進捗を追いやすい安心感がありました。
しかし、少しずつしか進まないタスクにイライラした人もいるかもしれません。
Kiro IDE は 2025年5月のアップデートで「Quick Spec」やタスクの並列実行に対応しました。これにより、requirements.md、design.md、tasks.md を同時に生成できるようになり、全体の所要時間も短くなります。
参照:
- Agent Focus mode: https://kiro.dev/docs/experimental/focus-mode/
- Kiro IDE 0.12 Changelog: https://kiro.dev/changelog/ide/0-12/
Permissions でエージェントが実行できる操作を宣言的に管理する
Kiro IDE 1.0 では、エージェントの操作を capability 単位で制御する Permissions 機能が追加されました。
capability の対象になるのは、次のような操作です。MCP や Skills に対しても権限を設定できるのは面白いところです。
-
fs_read: ファイル読み取り -
fs_write: ファイル書き込み -
shell: シェルコマンド -
web_search: Web検索 -
mcp: MCP呼び出し -
skill: スキル呼び出し -
power: Kiro Powers の呼び出し
詳しくはドキュメントをご確認ください。
実際の設定ファイルの例を見てみます。許可と禁止は YAML で宣言的に管理できます。
capability ごとに deny / ask / allow を指定します。優先順位は deny > ask > allow なので、広く許可していても禁止ルールがあればそちらが優先されます。
match に指定したコマンドやディレクトリだけを対象に権限設定の範囲を調整できます。
rules:
- capability: fs_read
effect: deny
match:
- "**/.env"
- "**/.env.*"
- "**/*.pem"
- "**/*.key"
- "secrets/**"
- capability: shell
effect: deny
match:
- "sudo *"
- "rm -rf *"
- "chmod 777 *"
- "chown *"
- capability: web_fetch
effect: ask
match:
- "*"
- capability: mcp
effect: ask
match:
- "aws/*"
- capability: shell
effect: ask
match:
- "curl *"
- "wget *"
- "gh *"
- "aws *"
- capability: fs_write
effect: allow
match:
- "src/**"
- "tests/**"
- "docs/**"
- "README.md"
- capability: shell
effect: allow
match:
- "pnpm test*"
- "pnpm run lint*"
- "pnpm run build*"
- "pnpm exec tsc*"
この例では、デフォルトで許可される fs_read: ./** や git status / git log / git diff はあえて書いていません。追加する必要があるのは、明示的に止めたいもの、毎回確認したいもの、追加で許可したいものだけです。
Permissions の設定方法
Permissions の設定ファイルは以下の場所に保存されます。
-
~/.kiro/settings/permissions.yaml: ユーザー全体のルール(All Workspace) -
~/.kiro/workspace-roots/<hash>/permissions.yaml: ワークスペース単位のルール
これらのファイルを直接編集すれば、設定は反映されます。
ワークスペース単位の設定であっても、~/.kiro/ 直下なので、clone したリポジトリが勝手に permission ルールを持ち込む形にはなっていません。
また、チャット画面でツール実行時に確認画面が表示されることがあります。
ここで、「Always allow」または「Always deny」を押すことで、上記の設定ファイルに自動で書き込まれます。
設定の保存場所は、 All Workspace/This Workspace/This Session から選択できます。
参照:
- Permissions: https://kiro.dev/docs/chat/permissions/
Custom Agents によるコンテキストと権限の分離
続いて Custom Agents の変更点を見ていきます。
Kiro IDE 0.9 では、メインエージェントが必要に応じて委譲する「サブエージェント」を Custom Subagents として定義できるようになっていました。
これは主にコンテキストを分けたい場合(例:調査、コードレビューなど)に有用なものでした。
Ver 1.0 ではこの機能に前述の Permissions 機能が組み合わさり、実行主体やツール境界を明確に分離できるようになりました。
下記はユーザー全体の設定(~/.kiro/agents/)に書く場合の例です。ワークスペース単位で作る場合は、 <workspace-root>/.kiro/agents/ に定義します。
---
description: Node.js / TypeScript backend agent
model: claude-sonnet-4.6
tools: [read, write, shell, web]
mcpServers:
postgres:
command: npx
args: ["-y", "@modelcontextprotocol/server-postgres"]
env:
DATABASE_URL: "${DATABASE_URL}"
permissions:
- capability: shell
effect: allow
match: ["npm ci", "npm run *", "npm test", "node *"]
- capability: shell
effect: ask
match: ["npx prisma migrate *", "npx prisma db push*", "npm audit fix*"]
- capability: shell
effect: deny
match: ["sudo *", "rm -rf *", "curl * | sh", "git push *", "git reset --hard*"]
---
あなたは Node.js と TypeScript を対象とするバックエンドエンジニアリングエージェントです。
- 既存のプロジェクト構成とコーディング規約に従ってください。
- レビューしやすい小さな変更を行ってください。
- 非同期処理には async/await を使用してください。
- すべてのデータベースクエリをパラメータ化してください。
- マイグレーションとスキーマ変更は高リスクな操作として扱ってください。
- 関連するテストを実行するか、実行しなかった理由を説明してください。
このように Markdown + YAML フロントマターでモデルやツール、permissions を定義します。
これにより、エージェント単位でコンテキストや実行権限を分けることが可能です。
参照:
- Custom agents: https://kiro.dev/docs/custom-agents/
- Agent selector: https://kiro.dev/docs/custom-agents/agent-selector/
Agent Hooks は保存形式が変わっているため注意
Agent Hooks 機能はファイル保存やプロンプト送信などのタイミングをきっかけに、コマンド実行やエージェントへの依頼を自動化できる機能です。
Agent Hooks 自体は Kiro IDE 1.0 で初めて追加された機能ではありません。以前からありました。今回大きく変わったのは、保存形式と作成フローです。
Kiro IDE 1.0 では「v1 JSON」フォーマットが新しく導入され、以前の .hook ファイルを置き換える仕様になっています。
古い形式のKiro IDE 0.x の頃の legacy hooks は、Kiro 1.0 では移行するまで実行されない場合があります。
何が変わったのか
Kiro 1.0 における Hooks の主な変更点は次の通りです。
| 観点 | 以前の形式 | Kiro IDE 1.0 の形式 |
|---|---|---|
| 保存形式 |
.hook フォーマット |
v1 JSON フォーマット |
| 保存場所 |
.kiro/hooks/ 配下 |
.kiro/hooks/*.json |
| 設定構造 |
when / then 形式 |
trigger / matcher / action 形式 |
| 作成方法 | UI から作成し、生成された hook file を編集 | UI で手動作成、または自然言語で説明して Kiro に生成させる |
| 旧 Hooks の扱い | そのまま利用 | 0.x の legacy hooks は Agent Hooks パネルから移行が必要 |
| Manual Hook | Hook の一種として扱われていた | manual steering files に置き換え |
現在の Hooks 機能では、Agent Hooks セクションから + ボタンを押し、手動で作るか、自然言語で説明して Kiro に作らせることができます。
また、Manual hooks(手動実行の Hooks) は「manual steering files」に置き換えられたことが説明されています。
旧形式と新形式の違い
ここでは、TypeScript ファイルを保存したときに、関連するテスト更新をエージェントに依頼する Hook を例にします。
Kiro 1.0 以前の公式ブログでは、Hook の設定例として when と then を使う形式が紹介されていました。たとえば when.type に fileEdited、then.type に askAgent を指定する形です。
旧形式のイメージです。
{
"name": "TypeScript Test Updater",
"description": "Update related tests when TypeScript source files are edited",
"version": "1",
"when": {
"type": "fileEdited",
"patterns": [
"**/*.ts",
"!**/*.test.ts",
"!**/*.spec.ts",
"!**/node_modules/**"
]
},
"then": {
"type": "askAgent",
"prompt": "TypeScript source files were edited. Check whether corresponding tests need to be added or updated."
}
}
一方、Kiro 1.0 では v1 JSON フォーマットを使います。新形式では、Hook の条件を trigger や matcher で表し、実行内容を action で表します。ドキュメントでも、v1 JSON フォーマットが .kiro/hooks/*.json に保存される新形式だと説明されています。
新形式のイメージです。
{
"version": "v1",
"hooks": [
{
"name": "TypeScript Test Updater",
"trigger": "PostFileSave",
"matcher": "\\.ts$",
"action": {
"type": "agent",
"prompt": "TypeScript source files were edited. Check whether corresponding tests need to be added or updated."
},
"enabled": true
}
]
}
注意点として、旧形式の詳細なスキーマは、現在の公式ドキュメントでは十分に確認できません。旧形式を調べる場合は、Kiro 1.0 以前の公式ブログや、手元に残っている .hook ファイルを確認するのが現実的です。新しく Hooks を作るなら v1 JSON フォーマットに合わせる方が無難です。
例:2025年9月のブログ
Hooks の作成方法
Kiro IDE 1.0 で Hook を作成する手順を見ていきます。
Kiro のサイドバーから Agent Hooks を開き、「+ Create New Hooks」ボタンを押します。
手動で作成か、Kiro とチャットして作るか選べます。
ここでは「Ask Kiro to create a hook」を選び自然言語で作ってみます。
Kiro チャット画面が立ち上がります。作りたい Hooks の内容を伝えます。
すると、新しい Hooks がワークスペースに自動で作成されます。
何が嬉しいのか
Kiro 1.0 の Hooks で嬉しい点は、Hook をチームで扱いやすくなったことです。
以前の Hooks は、便利ではあるものの、設定形式 .hook を知らないと中身を把握しづらい面がありました。Kiro 1.0 では v1 JSON フォーマットになったことで、どのタイミングで何が動くのかをファイルとして確認しやすくなっています。
また、自然言語から Hook を作れるようになったことで、最初から設定ファイルを手書きする必要が減りました。たとえば「TypeScript ファイルを保存したら lint を実行したい」「README を更新したら関連ドキュメントも確認したい」といった形で説明し、生成された設定を確認して調整できます。
もう一つ大きいのは、手動実行の Hook が Manual Steering ファイルに分離されたことです。自動で動くものは Hooks、人間が明示的に呼び出す指示は Steering、という役割分担がわかりやすくなりました。
つまり、Kiro 1.0 の Hooks は単なる新機能というより、既存の自動化機能を明示的で移行しやすく、チームでも扱いやすい形に整理したものと見ると分かりやすいです。
参照:
- Hooks: https://kiro.dev/docs/hooks/
まとめ
この記事では、Kiro IDE 1.0 のアップデートについて、主な機能を紹介しました。
Agent Focus Mode は、複数の作業を並行して進めるときの見通しを良くし、Permissions はエージェントに何を許すかを宣言的に管理できるようにしました。さらに Custom Agents によって、役割ごとにコンテキストや使えるツール、権限を分けやすくなり、Hooks は JSON 形式への整理によって自動化を扱いやすくしています。
これまでの Kiro は、Spec-driven development を軸に、要件から実装まで順番に進める体験が中心でした。1.0 ではその方向性を保ったまま、複数のエージェントを並行して使うこと、権限を分けて安全に運用すること、継続的な自動化を組み込むことが、ずっと現実的になった印象です。
Kiro は IDE 以外でも Kiro CLI v3 や Kiro for iOS などの発表があり、さまざまな進化を遂げています。ぜひ新しい機能を試してみてください!


















