Kiro offers a chat panel where you can interact with your code through natural language conversations. Just tell Kiro what you need. Ask questions about your codebase, request explanations for complex logic, generate new features, debug tricky issues, and automate repetitive tasks—all while Kiro maintains complete context of your project.
View transcript: Tour of the Kiro chat panel
There are multiple ways to access the chat in your development environment:
Cmd+L (Mac) or Ctrl+L (Windows/Linux) to open the chat panelCmd+Shift+P (Mac) or Ctrl+Shift+P (Windows/Linux) and search for "Kiro: Open Chat"Cmd+Opt+B (Mac) or Ctrl+Alt+B in the top bar on the right to open the chat panelKiro chat supports conversations in multiple natural languages. Supported languages include Mandarin, French, German, Italian, Japanese, Spanish, Korean, Hindi, and Portuguese, with more languages available. You can start a conversation in your preferred language, and Kiro will automatically detect it and respond in the same language. This capability is powered by the underlying large language model (LLM) used.
Once the chat panel is open, you'll see the "Let's build" welcome screen with an optional workflow selector.
When starting a new session, you can optionally select a workflow to switch the agent into a specialized mode:
| Workflow | Description |
|---|---|
| Spec | Structured feature development — generates requirements, design, and tasks |
| Plan | Plan-only mode — breaks ideas into an implementation plan without making changes |
| Bug Fix | Structured bug-fix workflow — investigate, diagnose, and resolve bugs |
| Quick Spec | Fast spec workflow — clarify, then auto-generate requirements, design, and tasks |
Selecting a workflow is optional. If you skip it, the session uses the Default agent for general coding assistance (vibe mode).
You can swap agents without losing your train of thought. The agent selector sits in the chat input bar at the bottom of the panel, alongside the model picker, showing the name of your currently active agent. Click it to open the dropdown, where available agents are grouped by source:
~/.kiro/agents/.kiro/agents/ in your projectSelect an agent to switch the session to that agent's configuration. The switch takes effect immediately for your next message. If you always want to start new sessions with a specific agent, set it as your default from the selector — the choice persists across restarts.
What changes when you switch:
| Aspect | Behavior |
|---|---|
| System prompt | Changes to the new agent's prompt |
| Available tools | Switches to the new agent's tools configuration |
| Permissions | User and workspace permissions persist |
| MCP servers | Agent-defined MCP servers load; shared servers remain |
| Conversation history | Preserved. The agent sees prior messages |
Once you've chosen a workflow (or skipped it):
Example requests to get started:
Ask about your code
"Explain how authentication works in this project"
Generate new code
"Create a React component for a user profile page"
Fix issues
"Help me fix the error in this function"
To export a chat conversation with Kiro, right-click the tab of the conversation you wish to export and select Export Conversation. This will export the conversation in markdown (.md) format.
Kiro intelligently analyzes your messages to understand whether you want information or action. When you ask questions like "How does this work?" or "What's the purpose of this code?", Kiro recognizes this as an information request and responds with explanations and documentation without modifying your code. When you use directives like "Create a component" or "Fix this bug", Kiro identifies this as an action request and will propose or implement the necessary code changes, execute commands, or manage files accordingly. This seamless intent recognition allows for natural conversation without requiring explicit commands to switch between information and action modes.
Kiro's power comes from its deep understanding of your codebase context. It automatically analyzes open files in the editor, including their dependencies and structure, but you can also explicitly provide additional context.
Use the # symbol in the chat input to access context providers:
| Provider | Description | Example |
|---|---|---|
#codebase | Allow Kiro to automatically find relevant files across your project | #codebase explain the authentication flow |
#file | Reference specific files in your codebase | #auth.ts explain this implementation |
#folder | Reference a specific folder and its contents | #components/ what components do we have? |
#git diff | Reference the current Git changes | #git diff explain what changed in this PR |
#terminal | Include recent output from your active terminal and command history | #terminal help me fix this build error |
#problems | Include all problems in the current file | #problems help me resolve these issues |
#url | Include web documentation | #url:https://docs.example.com/api explain this API |
#code | Include specific code snippets in the context | #code:const sum = (a, b) => a + b; explain this function |
#repository | Include a map of your repository structure | #repository how is this project organized? |
#current | Reference the currently active file in the editor | #current explain this component |
#steering | Include specific steering files for guidance | #steering:coding-standards.md review my code |
#docs | Reference documentation files and content | #docs:api-reference.md explain this API endpoint |
#spec | Reference all files from a specific spec (requirements, design, tasks) | #spec:user-authentication update the design file to include password reset flow |
#mcp | Access MCP tools, prompts, and resource templates from connected servers | #mcp:aws-docs how do I configure S3 buckets? |
You can combine multiple context providers in a single request:
#codebase #auth.ts explain how authentication works with our database
Kiro maintains conversation history within sessions, allowing for continuous context-aware interactions.
+ icon in the chat panel to start a new sessionHistory buttonTask list buttonKiro maintains a detailed history of sessions that includes actions taken such as code changes, commands executed, search results, file operations, and more. You can search, restore, or delete a specific session.
Loading image...
Chat