Loading image...Kiro

Product

  • About Kiro
  • IDE
  • CLI
  • Web
  • Mobile
  • Pricing
  • Downloads

For

  • Enterprise
  • Startups
  • Students

Community

  • Overview
  • Ambassadors
  • Discord
  • Events
  • Powers
  • Shop
  • Showcase

Resources

  • Docs
  • Blog
  • Changelog
  • FAQs
  • Report a bug
  • Suggest an idea
  • Billing support

Social

Site TermsLicenseResponsible AI PolicyLegalPrivacy PolicyCookie Preferences
Loading image...Kiro
  • CLI
  • IDE
  • Web
  • Mobile
  • Enterprise
  • Pricing
  • Docs
SIGN INDOWNLOADS
Loading image...Kiro

Get Started

InstallationAuthenticationYour first project

Models

OverviewAvailable modelsReasoning effort

Features

How Kiro works
Specs
Steering
Hooks
MCP
Permissions
Custom agents
Built-in agents
Creating custom agents
Configuration reference
Invoking as sub-agents
Examples
Troubleshooting
Agent Skills
Powers
CompactionKiroignoreCheckpoints and rewind
Built-in tools
Configuration scopes

IDE 1.x

What's new in 1.0
Setup & First Run
Editor
Chat
Experimental
Troubleshooting0.x reference

CLI

What's new in 3.0
Setup & First Run
Terminal UI
Chat
Headless modeACPAuto complete
Experimental
2.x reference

Web - Preview

Setup & First RunIdentity Center
Connect your repositories
Working with the agent
Autonomous modeAutomations
Sandbox

Mobile - Preview

Overview

Commands and Reference

CLI commandsSlash commandsBuilt-in toolsExit codesSettingsIDE keyboard shortcuts

Billing

OverviewManaging your subscriptionUpgrading your planDowngrading your planCancelling your planPurchasing add-on creditsManaging your paymentsManaging usage notificationsManaging your taxesContacting billing supportDeleting your accountRelated questions

Enterprise

ConceptsOnboarding quickstart
Connecting your identity provider
Subscribe your teamManage subscriptions
Governance
Monitor and track
SettingsManaged updatesBillingIAMSupported regions

Privacy and Security

OverviewData protectionCode referencesCompliance validationInfrastructure securityIAM permissionsFirewalls, proxies, and data perimetersVPC endpoints (AWS PrivateLink)

Guides

Overview
Language support
Learn by playing

Migration

Migrating from Q DeveloperMigrating from VSCodeUpgrading from Q CLI
  1. Docs
  2. Features
  3. Custom agents
  4. Creating custom agents

Creating custom agents


Custom agents allow you to tailor Kiro behavior for specific tasks by defining which tools are available, what permissions are granted, and what context is automatically included.

Quick start

Create an agent file directly in your project:

  1. Create a .kiro/agents/ directory in your workspace (or ~/.kiro/agents/ for global agents)
  2. Add a Markdown or JSON file - the filename becomes the agent name

For example, create .kiro/agents/backend-dev.md:

markdown
--- name: backend-dev description: Backend development specialist model: claude-sonnet-4 tools: ["read", "write", "shell"] permissions: rules: - capability: shell match: ["npm *", "git *"] effect: allow --- You are a backend engineer focused on Node.js and TypeScript. Always use async/await. All database queries must be parameterized.

Then switch to it using the agent picker in the chat pane header.

Agent configuration file

Custom agents are defined using JSON configuration files. Here's a basic example:

json
{ "name": "my-agent", "description": "A custom agent for my workflow", "tools": ["read", "write"], "allowedTools": ["read"], "resources": [ "file://README.md", "file://.kiro/steering/**/*.md", "skill://.kiro/skills/**/SKILL.md" ], "prompt": "You are a helpful coding assistant", "model": "claude-sonnet-4" }

See the Configuration reference for full details on all available fields.

File locations

You can define local agents and global agents.

Local agents (project-specific)

text
.kiro/agents/

Local agents are specific to the current workspace and only available when running Kiro from that directory or its subdirectories.

Example:

text
my-project/ ├── .kiro/ │ └── agents/ │ ├── dev-agent.json │ └── aws-specialist.json └── src/ └── main.py

Global agents (user-wide)

text
~/.kiro/agents/

Global agents are available from any directory.

Example:

text
~/.kiro/agents/ ├── general-assistant.json ├── code-reviewer.json └── documentation-writer.json

Agent precedence

When Kiro looks for an agent:

  1. Local first: Checks .kiro/agents/ in the current directory
  2. Global fallback: Checks ~/.kiro/agents/ in the HOME directory

If both locations have agents with the same name, the local agent takes precedence with a warning message.

Using your custom agent

Click the agent name (e.g., "Default") in the bottom bar of the chat input to open the agent picker, then select your custom agent from the list. The switch applies to the current session, and your agent's tools, permissions, and prompt take effect from the next message.

You can also choose a custom agent from the workflow options when starting a new session.

Next steps

  • Configuration reference - explore all available configuration options
  • Built-in agents - see how Kiro's pre-configured agents are set up
  • Examples - real-world agent configurations
  • Troubleshooting - resolve common issues
Page updated: August 4, 2026
Built-in agents
Configuration reference