The terminal UI is the default chat interface for Kiro CLI. It provides syntax-highlighted markdown rendering, interactive overlay panels, visual tool progress, and a full set of keyboard shortcuts for navigating your session.
Launch a chat session:
kiro-cli chat
To use the classic interface instead:
kiro-cli --classic
Messages stream incrementally as the agent works. Responses render with full markdown support: syntax-highlighted code blocks, tables, lists, blockquotes, and nested formatting. Terminals that support synchronized output get flicker-free updates.
Use arrow keys to scroll through long responses.
Each tool type has a dedicated visual component (shell commands, file operations, grep, glob, code intelligence, and more). While a tool executes, you see:
Ctrl+O to toggle between summary and full output)The /chat command opens a fuzzy picker showing previous sessions with titles and timestamps. Sessions are scoped to the current working directory, and sessions from the classic interface load in the terminal UI without issues.
You can also resume a specific session by ID:
kiro-cli chat --resume-id <SESSION_ID>
For full details on session management, see Session management.
When a tool requires permission, a notification bar appears above your input with Yes, Trust, and No options. If multiple tools need permission at the same time, approvals queue and appear one at a time. You can drill into an approval to provide feedback instead of a binary yes/no.
For shell commands, trust can be scoped at different levels: exact command, command prefix, or base command. See Permissions for the full trust model.
The terminal UI supports several input methods beyond standard text entry.
| Feature | How |
|---|---|
| Newline | Shift+Enter, Ctrl+J, or Alt+Enter |
| File/directory reference | @path with tab-complete picker |
| Paste image | /paste or paste from clipboard |
| Input queuing | Type your next message while the agent is processing, and edit queued messages before they send |
| Command history | Up/Down arrows, persistent across sessions |
| Reverse history search | Ctrl+R |
| Multi-line editor | /editor opens $EDITOR (defaults to vi) |
Run shell commands without going through the agent by prefixing with !:
!npm run build
Output streams in real time. Long output collapses to a head + tail view. Press Ctrl+O to expand.
Commands like /help, /context, /tools, /mcp, /knowledge, and /code open as overlay panels. Each panel is searchable, scrollable, and dismissible with Esc.
Press Ctrl+X to see task progress and queued messages at a glance without scrolling through conversation history.
Press Ctrl+G to monitor subagent activity in real time during multi-agent sessions. Navigate between subagents with Ctrl+D/Ctrl+U and press q to close.
Three built-in themes ship with the terminal UI: dark, light, and safe (an ANSI fallback for SSH or constrained terminals). The UI auto-detects your terminal background and selects the appropriate theme. Use /theme to customize colors with a live preview.
Slash commands open interactive panels or trigger actions. All panels support fuzzy search and close with Esc.
| Command | Description |
|---|---|
/help | All available commands |
/context | Context breakdown with per-file token percentages. Supports add, remove, show, and clear subcommands |
/usage | Usage limits with progress bar and overage info |
/knowledge | Knowledge base management |
/prompts | MCP and file-based prompts via a selection menu with detail drill-in |
/editor | Open $EDITOR to compose multi-line prompts |
/feedback | Submit feedback about Kiro CLI |
/paste | Paste an image from the clipboard |
/chat | Switch between previous sessions via a fuzzy picker |
/plan | Enter plan mode (also Shift+Tab) |
/agent | Switch between agents |
/model | Switch the active model |
/mcp | View MCP servers and registry status |
/tools | View and reset tool permissions. /tools reset clears all runtime permissions including shell trust patterns, filesystem paths, and denied tools |
/code | Code intelligence panel |
/hooks | View configured hooks |
/guide | Switch to the Kiro guide agent for help and onboarding |
/transcript | Open the conversation transcript in $PAGER (also Ctrl+T) |
/theme | Override theme colors for prompt and response text |
/copy | Copy the last assistant response to clipboard (works over SSH) |
/spawn | Run a parallel agent session with a task |
/clear | Clear the conversation display |
/compact | Toggle compact message display |
/reply | Reply to the last message |
/exit | Exit the session (alias for /quit) |
For the full command reference, see Slash commands.
The terminal UI detects your terminal's capabilities and adapts automatically.
| Feature | Details |
|---|---|
| Progress indicator | Terminal tab/title bar shows agent state (streaming, pending approval, error) |
| Clickable hyperlinks | Markdown links are clickable in iTerm2, WezTerm, kitty, and Ghostty |
| Theme detection | Automatically detects dark/light mode from your terminal background |
| 256-color fallback | Graceful degradation for terminals without truecolor |
| Non-ASCII support | CJK characters, emoji, and accented letters render correctly |
The UI engine is determined in this order (highest to lowest priority):
--tui or --classicKIRO_CHAT_UIchat.uituiOpt out of specific terminal features with environment variables:
KIRO_NO_HYPERLINKS=1 kiro-cli chat # Disable clickable links KIRO_NO_PROGRESS=1 kiro-cli chat # Disable progress indicator KIRO_NO_SYNCHRONIZED=1 kiro-cli chat # Disable synchronized output
Switch to the classic interface permanently:
kiro-cli settings chat.ui "classic"
Or for a single session:
kiro-cli --classic
Core editing shortcuts, including a full Emacs-style kill ring.
| Shortcut | Action |
|---|---|
Shift+Enter | Insert newline |
Ctrl+J | Insert newline |
Alt+Enter | Insert newline |
Alt+Backspace | Delete previous word |
Ctrl+W | Delete previous word (kill ring) |
Ctrl+K | Kill to end of line |
Ctrl+U | Kill to start of line |
Ctrl+Y | Yank (paste from kill ring) |
Ctrl+_ | Undo last edit |
Move through your session and search previous inputs.
| Shortcut | Action |
|---|---|
Up / Down | Navigate command history |
| Arrow keys | Scroll line-by-line |
Ctrl+R | Reverse incremental history search |
Open and navigate the overlay interfaces.
| Shortcut | Action |
|---|---|
Ctrl+G | Open crew monitor |
Ctrl+D / Ctrl+U | Navigate between subagents (crew monitor) |
q | Close crew monitor |
Ctrl+X | Toggle activity tray |
Ctrl+T | Open conversation transcript in $PAGER |
Ctrl+O | Expand/collapse tool output |
Esc | Close panels, cancel agent, clear prompt queue |
Control the agent and manage your session.
| Shortcut | Action |
|---|---|
Tab | Drill into approval options / autocomplete file references |
Shift+Tab | Enter plan mode |
Ctrl+C | Exit session |
Ctrl+D | Exit session (from chat input) |
The terminal UI is supported on macOS and Linux.
chat.diffTool setting) are not yet supported. All diffs use the built-in viewer.Verify your setting:
kiro-cli settings list | grep chat.ui
If the setting is correct but the terminal UI still doesn't load, update to the latest version of Kiro CLI.
If you see visual artifacts or broken rendering:
KIRO_NO_SYNCHRONIZED=1 kiro-cli chat
Terminal UI