Run /settings to change how Kiro looks and behaves — colors, keyboard shortcuts, multi-line input, display toggles, and prompt history scope — without leaving your chat session. Run /settings on its own to open the menu, or jump straight to a subcommand with /settings <subcommand>.
Available subcommands: theme, keybindings, terminal, display, and history.
Customize the colors used for prompt input and agent response text. The theme wizard walks you through customization step by step — pick a base theme, adjust specific elements, then confirm. The live preview renders actual conversation output so you see exactly how your theme looks in practice.
/settings theme
The theme system uses named ANSI colors, so your customizations render correctly across terminals with different color palettes. Falls back to safe ANSI colors when terminal color detection has low confidence.
View the current keyboard shortcut configuration. This is a read-only reference showing all configurable bindings and their current values.
/settings keybindings
To change keybindings, use the kiro-cli settings command:
kiro-cli settings chat.keybindings.cancelStream "ctrl+x" kiro-cli settings chat.keybindings.closeMenu "ctrl+[" kiro-cli settings chat.keybindings.quit "ctrl+shift+q"
See Key bindings (terminal UI) for the full reference.
Enable Shift+Enter and Option+Enter as newline shortcuts in your terminal. If pressing Shift+Enter currently submits your prompt instead of inserting a newline, this command fixes it by auto-detecting your terminal and applying the appropriate key binding configuration.
/settings terminal
Terminals that need configuration (auto-applied by /settings terminal):
Terminals with native support (no configuration needed):
For terminals that don't support automatic configuration, Kiro shows manual workaround instructions.
tmux users: Add both lines to your tmux.conf for Shift+Enter to pass through correctly:
set -s extended-keys on set -as terminal-features 'xterm*:extkeys'
Toggle visual features for accessibility or personal preference. Use ↑↓ to move between toggles and ←→ or Enter to flip the selected one.
/settings display
Available toggles:
chat.allowAnimations) — when off, spinners and shimmers show static frames instead of animatingchat.allowAsciiArt) — when off, replaces braille dots, box-drawing, and Unicode symbols with plain ASCIIchat.allowIcons) — when off, hides status indicator icons (●, ○, ⚠) in favor of text-only labelschat.showThinking) — when off, hides the agent's reasoning blocks from chat output/title. Enable from /settings displayAnimations, ASCII art, and icon changes take effect immediately. The Show thinking toggle is startup-only — it persists right away, but the change applies to your next chat session. See Thinking display below.
Choose whether prompt history (the Up/Down arrow recall in the input) is tracked per session or shared across all sessions.
/settings history
Options:
The change is written to chat.historyMode and takes effect on your next session.
When the agent reasons through a complex request, it can stream those reasoning ("thinking") blocks inline above its response. This is controlled by the chat.showThinking setting, which is enabled by default in Kiro CLI 2.5.0 and later.
Toggle it from the display menu:
/settings display # Select "Show thinking" and press Enter to toggle
Or set it directly from the command line:
# Hide reasoning blocks kiro-cli settings chat.showThinking false # Show reasoning blocks again kiro-cli settings chat.showThinking true
A few things to know:
Ctrl+O to expand or collapse the full thinking block.All changes made through /settings are saved to ~/.kiro/settings/cli.json and apply to future sessions. You can also edit this file directly with kiro-cli settings open.
Your /model and /effort selections persist automatically. Switch models or change the reasoning effort level once, and Kiro carries that preference into future sessions — you no longer need to run /model set-current-as-default to make a selection stick.
These preferences are written to ~/.kiro/settings/cli.json, the same file used for other CLI settings. Per-model effort defaults live under chat.modelDefaults. See Effort for the full reference.
In-session settings