Kiro Ganz
Unofficial extension. Not affiliated with or endorsed by AWS or Kiro.
Chat with kiro-cli in VS Code editor tabs. Each tab keeps one kiro-cli acp process and one Kiro session,
so follow-up prompts start immediately (no per-prompt start-up or session resume).
Requirements
kiro-cli installed and logged in (kiro-cli login in a terminal, or Kiro: Log In). Tested with kiro-cli 2.31.1.
Slash commands use kiro-cli's _kiro.dev/commands/* ACP extension; older versions may not support every command.
- If
kiro-cli is not in PATH, set kiroChat.kiroPath.
- Tested on Windows. macOS and Linux are expected to work but have not been tested.
Usage
| Action |
How |
| New chat tab |
Kiro icon in the editor title bar, Kiro: Open in New Tab, Ctrl+Alt+K, or Ctrl+Shift+Esc |
| Send / new line |
Enter / Shift+Enter |
| Stop the reply |
Stop button or Esc in the input |
| Find in chat |
Ctrl+F (matches highlighted yellow; Enter / Shift+Enter or F3 to move, Esc to close) |
| Insert selected code |
Alt+K in an editor (adds @file:lines and the code to the input) |
| Toggle focus editor ↔ chat |
Ctrl+Esc |
| Reopen a closed tab |
Kiro: Reopen Closed Session (resumes the Kiro session) |
| Rename tab |
/rename <name>, or right-click the tab title → Kiro: Rename Tab |
| Images |
Paste (Ctrl+V) or drag images into the input; they are sent to Kiro as images |
| Logs |
Kiro: Show Logs (Output → Kiro Chat) |
Slash commands
Type / in the input to see the list, or /help. Start with // to send a prompt that begins with / to Kiro.
| Command |
What it does |
/new, /chat new [prompt] |
New conversation (new Kiro session) |
/chat save <path>, /chat load <path> |
Save / load the conversation to a file |
/clear |
Clear the screen; Kiro keeps the conversation |
/clear history |
Also wipe the conversation in Kiro (same session) |
/rename <name> |
Rename the tab |
/model [name\|default\|set-current-as-default] |
Show or change the model |
/agent [name\|default\|edit [name]] |
Show or change the agent; edit opens the agent JSON |
/guide [question], /plan [prompt] |
Switch to the built-in guide / planner agent; again to switch back |
/tools [agent\|none\|read\|all] |
Tool access for this tab |
/tools trust-all\|trust <tool>\|untrust <tool>\|reset |
Trust settings in Kiro |
/context [show\|add\|remove\|clear] |
Context files and token usage |
/compact [tokens] |
Summarize the conversation to free context (uses credits) |
/usage |
Context and credits of this tab, plus account usage |
/effort [level\|default\|set-current-as-default] |
Thinking effort; levels depend on the model (same as the Effort dropdown) |
/rewind [turn] |
List turns, or fork a new session ending at a turn |
/reply |
Quote the last answer in the input |
/goal, /prompts, /knowledge, /code, /mcp, /hooks, /stats, /feedback |
Same as in kiro-cli |
/paste, /quit |
Paste hint (Ctrl+V), close the tab |
Commands run in the tab's Kiro session and wait for the current reply to finish. Use / in paths
(/chat save C:/tmp/chat.json): kiro-cli treats \ as an escape, so the extension converts it.
/voice and /agent create need the kiro-cli terminal UI.
- Tools listed in the agent's
allowedTools always run without asking (kiro-cli behaviour).
- Other tools:
agent / none ask in the chat; read auto-allows read/grep/glob; all auto-allows everything.
- Changing Tools applies immediately, without restarting kiro-cli.
Behaviour
- The working folder is the workspace folder (asked once if the workspace has several folders).
- The Effort dropdown lists the levels kiro-cli reports for the selected model (e.g. Claude: low–max, GPT: none–max).
If you have not chosen a level, the extension uses
high. The dropdown is disabled for models without effort (auto,
glm, deepseek...). If you switch to a model that does not support the chosen level, the tab goes back to high and
shows a note. kiro-cli resets effort when the model changes, so the extension sets it again before the next prompt.
- The kiro-cli process starts as soon as the tab opens, and stops after
kiroChat.idleMinutes without prompts.
- If Kiro sends nothing for 5 minutes during a reply (and no tool is running or waiting for approval),
the extension cancels the reply and asks Kiro once to answer again. A second stall shows an error.
- Tabs are restored after a VS Code restart; the next prompt resumes the previous Kiro session.
- At most 200 messages are kept on screen per tab; Kiro still remembers older ones.
- Chat history for restored tabs is saved in
kiroChat.historyDir (default: the extension's storage folder).
- In an untrusted workspace, Tools = All is turned off.
Known issues
- On Windows,
Ctrl+Shift+Esc may open Task Manager instead of a new tab; use Ctrl+Alt+K.
- Restoring a session created outside this extension reads kiro-cli's internal session file; tool details are not shown.
- Agents whose
allowedTools contain *, write or shell run those tools without asking, even in untrusted workspaces
(this is kiro-cli behaviour).
Development
npm install
npm test # compile + unit tests (node:test)
npm run package # build the .vsix
| |