Loading image...Kiro
  • CLI
  • Powers
  • Autonomous agent
  • Enterprise
  • Pricing
  • Docs
SIGN INDOWNLOADS
Loading image...Kiro
Loading image...Kiro
Product
  • About Kiro
  • CLI
  • Powers
  • Autonomous agent
  • Pricing
  • Downloads
For
  • Enterprise
  • Startups
  • Students
Resources
  • Documentation
  • Blog
  • Changelog
  • FAQs
  • Report a bug
  • Suggest an idea
  • Billing support
Social
Site TermsLicenseResponsible AI PolicyLegalPrivacy PolicyCookie Preferences
  1. Docs
  2. CLI
  3. Terminal UI

Terminal UI

On this page
  • Quick start
  • Chat experience
  • Tool display
  • Sessions
  • Interacting with the agent
  • Approval UX
  • Input
  • Shell escape
  • UI components
  • Overlay panels
  • Activity tray
  • Crew monitor
  • Themes
  • Slash commands
  • Terminal features
  • Configuration
  • UI engine precedence
  • Disabling individual features
  • Using the classic interface
  • Keyboard shortcuts
  • Text editing
  • Navigation and history
  • Panels and views
  • Agent interaction
  • Platform support
  • Limitations
  • Troubleshooting
  • Terminal UI not loading
  • Rendering issues
  • Related

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.

Quick start

Launch a chat session:

bash
kiro-cli chat

To use the classic interface instead:

bash
kiro-cli --classic

Chat experience

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.

Tool display

Each tool type has a dedicated visual component (shell commands, file operations, grep, glob, code intelligence, and more). While a tool executes, you see:

  • A descriptive title and spinner
  • A status icon on completion: ✓ for success, ✗ for error, ⏸ when awaiting approval
  • Collapsible output (press Ctrl+O to toggle between summary and full output)
  • Progress bars for long-running MCP operations

Sessions

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:

bash
kiro-cli chat --resume-id <SESSION_ID>

For full details on session management, see Session management.

Interacting with the agent

Approval UX

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.

Input

The terminal UI supports several input methods beyond standard text entry.

FeatureHow
NewlineShift+Enter, Ctrl+J, or Alt+Enter
File/directory reference@path with tab-complete picker
Paste image/paste or paste from clipboard
Input queuingType your next message while the agent is processing, and edit queued messages before they send
Command historyUp/Down arrows, persistent across sessions
Reverse history searchCtrl+R
Multi-line editor/editor opens $EDITOR (defaults to vi)

Shell escape

Run shell commands without going through the agent by prefixing with !:

bash
!npm run build

Output streams in real time. Long output collapses to a head + tail view. Press Ctrl+O to expand.

Warning

Shell commands executed by the agent buffer output and don't show progress until the command completes. Interactive commands that require user input (rm -i, npm init, sudo, ssh host key prompts) are not supported and will exit immediately. Use non-interactive alternatives like npm init -y or rm without -i. This limitation does not affect shell escape (!command), which streams output normally.

UI components

Overlay panels

Commands like /help, /context, /tools, /mcp, /knowledge, and /code open as overlay panels. Each panel is searchable, scrollable, and dismissible with Esc.

Activity tray

Press Ctrl+X to see task progress and queued messages at a glance without scrolling through conversation history.

Crew monitor

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.

Themes

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

Slash commands open interactive panels or trigger actions. All panels support fuzzy search and close with Esc.

CommandDescription
/helpAll available commands
/contextContext breakdown with per-file token percentages. Supports add, remove, show, and clear subcommands
/usageUsage limits with progress bar and overage info
/knowledgeKnowledge base management
/promptsMCP and file-based prompts via a selection menu with detail drill-in
/editorOpen $EDITOR to compose multi-line prompts
/feedbackSubmit feedback about Kiro CLI
/pastePaste an image from the clipboard
/chatSwitch between previous sessions via a fuzzy picker
/planEnter plan mode (also Shift+Tab)
/agentSwitch between agents
/modelSwitch the active model
/mcpView MCP servers and registry status
/toolsView and reset tool permissions. /tools reset clears all runtime permissions including shell trust patterns, filesystem paths, and denied tools
/codeCode intelligence panel
/hooksView configured hooks
/guideSwitch to the Kiro guide agent for help and onboarding
/transcriptOpen the conversation transcript in $PAGER (also Ctrl+T)
/themeOverride theme colors for prompt and response text
/copyCopy the last assistant response to clipboard (works over SSH)
/spawnRun a parallel agent session with a task
/clearClear the conversation display
/compactToggle compact message display
/replyReply to the last message
/exitExit the session (alias for /quit)

For the full command reference, see Slash commands.

Terminal features

The terminal UI detects your terminal's capabilities and adapts automatically.

FeatureDetails
Progress indicatorTerminal tab/title bar shows agent state (streaming, pending approval, error)
Clickable hyperlinksMarkdown links are clickable in iTerm2, WezTerm, kitty, and Ghostty
Theme detectionAutomatically detects dark/light mode from your terminal background
256-color fallbackGraceful degradation for terminals without truecolor
Non-ASCII supportCJK characters, emoji, and accented letters render correctly

Configuration

UI engine precedence

The UI engine is determined in this order (highest to lowest priority):

  1. CLI flag: --tui or --classic
  2. Environment variable: KIRO_CHAT_UI
  3. Setting: chat.ui
  4. Default: tui

Disabling individual features

Opt out of specific terminal features with environment variables:

bash
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

Using the classic interface

Switch to the classic interface permanently:

bash
kiro-cli settings chat.ui "classic"

Or for a single session:

bash
kiro-cli --classic

Keyboard shortcuts

Text editing

Core editing shortcuts, including a full Emacs-style kill ring.

ShortcutAction
Shift+EnterInsert newline
Ctrl+JInsert newline
Alt+EnterInsert newline
Alt+BackspaceDelete previous word
Ctrl+WDelete previous word (kill ring)
Ctrl+KKill to end of line
Ctrl+UKill to start of line
Ctrl+YYank (paste from kill ring)
Ctrl+_Undo last edit

Navigation and history

Move through your session and search previous inputs.

ShortcutAction
Up / DownNavigate command history
Arrow keysScroll line-by-line
Ctrl+RReverse incremental history search

Panels and views

Open and navigate the overlay interfaces.

ShortcutAction
Ctrl+GOpen crew monitor
Ctrl+D / Ctrl+UNavigate between subagents (crew monitor)
qClose crew monitor
Ctrl+XToggle activity tray
Ctrl+TOpen conversation transcript in $PAGER
Ctrl+OExpand/collapse tool output
EscClose panels, cancel agent, clear prompt queue

Agent interaction

Control the agent and manage your session.

ShortcutAction
TabDrill into approval options / autocomplete file references
Shift+TabEnter plan mode
Ctrl+CExit session
Ctrl+DExit session (from chat input)

Platform support

The terminal UI is supported on macOS and Linux.

Limitations

  • Requires embedded assets in the build. If unavailable, Kiro falls back to the classic interface.
  • Agent shell tool output is buffered and doesn't support interactive commands. See the shell escape section for details and workarounds.
  • External diff tools (chat.diffTool setting) are not yet supported. All diffs use the built-in viewer.
  • Some terminal emulators may not support all features (hyperlinks, progress indicators, synchronized output). Use the environment variables in Configuration to disable specific features.

Troubleshooting

Terminal UI not loading

Verify your setting:

bash
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.

Rendering issues

If you see visual artifacts or broken rendering:

  1. Try a different terminal. iTerm2, WezTerm, kitty, and Ghostty provide the best experience.
  2. Disable synchronized output: KIRO_NO_SYNCHRONIZED=1 kiro-cli chat
  3. Check that your terminal supports truecolor (most modern terminals do).

Related

  • Terminal UI vs classic — Detailed comparison for users choosing between the two interfaces
  • Chat — Chat usage and options
  • Settings reference — Full settings reference
  • Custom agents — Create custom agents with welcome messages
Page updated: April 11, 2026
Custom diff tools
Comparison