From 26406451745e533edbeb1217a8ea6c92d0f1a9f1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 24 Jul 2026 21:07:59 +0000 Subject: [PATCH 1/4] docs: sync with merged PRs (2026-07-24) --- .../kilo-docs/pages/automate/agent-manager.md | 4 +++- .../pages/automate/code-reviews/overview.md | 24 +++++++++++++++++++ .../code-with-ai/agents/model-selection.md | 1 + .../code-with-ai/features/checkpoints.md | 9 +++++++ .../pages/code-with-ai/platforms/cli.md | 19 +++++++++++++++ .../code-with-ai/platforms/cloud-agent.md | 1 + .../pages/code-with-ai/platforms/mobile.md | 24 +++++++++++++++++++ .../pages/gateway/models-and-providers.md | 1 + .../kiloclaw/development-tools/composio.md | 10 ++++---- 9 files changed, 88 insertions(+), 5 deletions(-) diff --git a/packages/kilo-docs/pages/automate/agent-manager.md b/packages/kilo-docs/pages/automate/agent-manager.md index 9651c14b2b2f..8710f462fa1c 100644 --- a/packages/kilo-docs/pages/automate/agent-manager.md +++ b/packages/kilo-docs/pages/automate/agent-manager.md @@ -159,7 +159,9 @@ Each request can include 1-20 tasks. Each task must include at least one of `pro The companion `agent_manager_models` tool searches models and their supported reasoning variants on demand. Results are grouped by model name (with the offering providers listed for reference) and limited to 20 per call, so the full catalog is never added to the conversation context. -The tool uses the `agent_manager` permission. Approval prompts are scoped to the requested capability, so approving `worktree` does not automatically approve `local`, an overview, or a targeted prompt. Prompting an existing managed session requires an explicit `prompt` approval the first time, even if Agent Manager session creation was previously approved broadly. +The same tool also manages existing sessions. It can return a compact overview of sections, worktrees, and local sessions, send a prompt to one managed session, or stop a managed session. Stopping aborts the session's active work and removes it from the panel, just like closing the session tab. + +The tool uses the `agent_manager` permission. Approval prompts are scoped to the requested capability, so approving `worktree` does not automatically approve `local`, an overview, or a targeted prompt. Prompting an existing managed session requires an explicit `prompt` approval the first time, even if Agent Manager session creation was previously approved broadly. Stopping a session likewise requires an explicit `stop` approval. ## Sections diff --git a/packages/kilo-docs/pages/automate/code-reviews/overview.md b/packages/kilo-docs/pages/automate/code-reviews/overview.md index a78b4ae4a36f..8042f727b993 100644 --- a/packages/kilo-docs/pages/automate/code-reviews/overview.md +++ b/packages/kilo-docs/pages/automate/code-reviews/overview.md @@ -113,6 +113,30 @@ Each sub-agent must stay read-only, must not post comments, and must return find `REVIEW.md` can change review policy and sub-agent usage, but it cannot override Kilo's hard safety constraints, read-only mode, non-interactive execution, platform API instructions, diff-line rules, duplicate-comment rules, or output formatting requirements. +## Council Reviews + +A council review runs several specialist models over the same change and combines their results into a single decision. When you create a review job, you can enable a council, select the specialist models, and pick a governance mode. + +Each specialist reports findings with a severity — `critical`, `warning`, `suggestion`, or `nitpick` — and the outcome is computed deterministically from those findings in code, not voted on by the models: + +- A specialist **blocks** when it reports at least one `critical` finding; otherwise it **passes**. `critical` is the only blocking severity. +- A specialist with no usable result is shown as **No result** rather than counted as a pass or block. +- When the review completes, Kilo posts a **Council Review** section on the PR/MR with the decision, the governance mode, and a per-specialist table (specialist, model, highest severity, finding count). Re-running the review updates this section in place. + +### Governance Modes + +| Mode | Behavior | +|---|---| +| **Advisory** (default) | Reports each specialist's vote with no aggregate decision and never blocks merging. | +| **Unanimous** | Blocks unless every specialist passes. | +| **Majority** | Blocks when block votes outnumber pass votes. | + +Under Unanimous or Majority, a `block` decision fails the PR/MR status check, so the change cannot be merged. If specialist results are missing or invalid, these modes fail closed to `block`. Reviews you start manually report the decision but never block merging. + +### Automated Review Exclusions + +On GitHub, automated (webhook-triggered) reviews never use a council for draft PRs, bot-authored PRs, or PRs opened from a fork — these run as standard reviews instead, even when the repository is opted in to council reviews. These exclusions are built in and cannot be overridden by configuration. The review still runs; only the council review type is skipped. Reviews you start manually can always use a council. + ## Local Code Reviews Code Reviewer is also available locally. This is valuable for developers who want to review their code before pushing a pull request to their team publicly, or for developers who want reviews and don't need to ship a pull request to GitHub. diff --git a/packages/kilo-docs/pages/code-with-ai/agents/model-selection.md b/packages/kilo-docs/pages/code-with-ai/agents/model-selection.md index 1ed19e42de72..1ef3526d9589 100644 --- a/packages/kilo-docs/pages/code-with-ai/agents/model-selection.md +++ b/packages/kilo-docs/pages/code-with-ai/agents/model-selection.md @@ -26,6 +26,7 @@ While the specifics change constantly, some principles stay consistent: - Use the **model selector** in the chat prompt area to pick a model for the current session. You can also type `/models` to open the model picker. - When the selected model supports variants, type `/variant` to open the reasoning effort selector. +- Press `Shift+Tab` in the prompt input to cycle to the next reasoning effort variant, wrapping after the last one. This works in the sidebar chat, the Agent Manager prompt, and the New Worktree dialog, and the variant selector tooltip shows the shortcut on hover. To keep `Shift+Tab` for keyboard focus navigation instead, disable the `kilo-code.new.chat.shiftTabCyclesVariant` setting (also available under **Settings → Display**). - Set per-agent defaults and a global default in the **Settings** panel (Models tab), or directly in the `kilo.jsonc` config file. - **Model precedence:** Session override → Last picked per agent → Per-agent config → Global config → [Auto Free](/docs/code-with-ai/agents/auto-model#tiers) (note: Auto Free may route to providers that log prompts — see the Auto Model page for details). - The model selector remembers the last model you picked for each agent — switching agents restores your previous choice. A manual pick always beats config settings; use the **reset button** (visible when your active model differs from config) to go back to the config default. diff --git a/packages/kilo-docs/pages/code-with-ai/features/checkpoints.md b/packages/kilo-docs/pages/code-with-ai/features/checkpoints.md index d8a2d9815861..465a486ba68a 100644 --- a/packages/kilo-docs/pages/code-with-ai/features/checkpoints.md +++ b/packages/kilo-docs/pages/code-with-ai/features/checkpoints.md @@ -98,6 +98,10 @@ Clicking **Revert to here** does two things: 1. **Restores your workspace files** to the state they were in just before that message was sent 2. **Hides all subsequent messages** in the chat so you see the conversation as it was at that point +{% callout type="note" %} +Workspace restoration requires snapshots. If snapshots are disabled or the reverted range has no stored checkpoint, only the conversation is rewound — the agent's file changes remain on disk, and the revert banner warns you (see below). +{% /callout %} + The button is only active when the agent is idle. While the agent is running, the button is disabled to prevent reverting mid-operation. ### The Revert Banner @@ -113,6 +117,11 @@ The banner provides two actions: - **Redo** — Steps forward one message at a time, re-applying changes from the next reverted message - **Redo All** — Restores the workspace to the latest state and un-hides all messages (only shown when more than one message is reverted) +If a revert could not restore your workspace files, the banner warns you that only the conversation was rewound: + +- **Snapshots disabled** — the banner explains that file changes were not restored because snapshots are disabled, and offers an **Enable snapshots** button that opens **Settings → Checkpoints**. +- **No checkpoint available** — the banner explains that no file checkpoint was available, so workspace changes remain on disk (for example, when reverting a range that predates checkpoints). + ### Making a Revert Permanent While in a reverted state, you have two choices: diff --git a/packages/kilo-docs/pages/code-with-ai/platforms/cli.md b/packages/kilo-docs/pages/code-with-ai/platforms/cli.md index 0f2993f560fb..e6a4622e06b1 100644 --- a/packages/kilo-docs/pages/code-with-ai/platforms/cli.md +++ b/packages/kilo-docs/pages/code-with-ai/platforms/cli.md @@ -374,6 +374,25 @@ Common configuration options include: **Using a model that's not in the built-in list?** You can register any model by adding it under `provider..models` in your config file. See [Custom Models](/docs/code-with-ai/agents/custom-models) for full details and examples. {% /callout %} +### Model Stream Timeouts + +If a model stops sending data mid-response, Kilo aborts the stalled stream after 60 seconds of inactivity so the session returns control instead of hanging. The watchdog pauses while local tools run, so long-running shell commands and foreground subagents are not interrupted. + +Tune the window per provider with `options.chunkTimeout` (milliseconds), or set it to `false` to disable the watchdog: + +```json +{ + "$schema": "https://app.kilo.ai/config.json", + "provider": { + "anthropic": { + "options": { + "chunkTimeout": 120000 + } + } + } +} +``` + ### Formatter and LSP Toggles Set `formatter` or `lsp` to `true` to use built-in defaults, or `false` to disable the feature completely: diff --git a/packages/kilo-docs/pages/code-with-ai/platforms/cloud-agent.md b/packages/kilo-docs/pages/code-with-ai/platforms/cloud-agent.md index 5a9fe22b8436..fb7880dea250 100644 --- a/packages/kilo-docs/pages/code-with-ai/platforms/cloud-agent.md +++ b/packages/kilo-docs/pages/code-with-ai/platforms/cloud-agent.md @@ -64,6 +64,7 @@ Agent environment profiles are reusable bundles of environment settings for clou - Environment variables (plaintext) - Secrets (encrypted at rest; decrypted only by the cloud agent) - Setup commands (which Cloud Agent will execute before starting a session) +- Skills (skill folders uploaded as `.zip` archives, with up to 40 companion files per skill) Profiles are owned by either a user or an organization. Names are unique per owner, and each owner can have a single default profile. This lets teams share standard environment setups across multiple sessions and triggers. diff --git a/packages/kilo-docs/pages/code-with-ai/platforms/mobile.md b/packages/kilo-docs/pages/code-with-ai/platforms/mobile.md index 44b2b74d4158..00b51a102330 100644 --- a/packages/kilo-docs/pages/code-with-ai/platforms/mobile.md +++ b/packages/kilo-docs/pages/code-with-ai/platforms/mobile.md @@ -16,11 +16,35 @@ Install Kilo Code for Android from [Google Play](https://play.google.com/store/a The mobile app lets you: - View and manage Kilo Code sessions, including remote CLI and extension sessions running on your local machine. +- Run slash commands (like `/compact`) on connected remote CLI sessions, and start a new session in the same workspace with `/new`. Older CLI versions that do not support remote commands prompt you to upgrade. +- Review GitHub pull requests end to end — diffs, checks, comments, and merging. - Chat with KiloClaw from your phone. - Spawn Cloud Agents and code directly from the app. - Monitor and view all non-remote sessions in one place. - Create, onboard, and manage KiloClaw instances. +## Reviewing GitHub pull requests + +Open a pull request from a PR link to review it without leaving the app: + +- **Overview** — PR state and CI checks at a glance. +- **Files** — syntax-highlighted diffs with line-level comments and a file navigator. +- **Discussion** — review threads with replies, resolve/unresolve, and reactions. + +Comments you leave are collected into a pending review on your device and submitted to GitHub as a single review. When the PR is ready, you can merge it (merge, squash, or rebase), enable or disable auto-merge, or update the branch — all from the app. + +PR review uses your connected GitHub account; the app asks you to connect GitHub if you have not already. + +## Session cost and model details + +The app shows what each session cost and which models did the work: + +- **Session list** — a finished session with a recorded cost shows it in the row's meta line (for example, `$0.12 · 5m ago`). Sessions that are still running or have no cost show no cost. +- **Cost breakdown** — open a session's Context usage sheet to see a Token usage section (input, output, reasoning, cache read, and cache write tokens, plus the cache hit rate) and a collapsible Models section with each model's name, provider, step count, and cost. A Subagents row covers any remaining spend, so the per-model costs always add up to the session total. +- **Per-message model label** — assistant messages show a dimmed model label on the first assistant reply and whenever the model changes during the session. Turns routed by [Auto Model](/docs/code-with-ai/agents/auto-model) show the concrete model that handled the turn. + +Cost is recorded when a session closes; sessions that closed before this feature shipped do not show a cost. + ## Kilo Pass and Billing For Kilo Pass pricing, billing, and account management details, use the [Kilo Pass pricing page](https://kilo.ai/pricing/kilo-pass). diff --git a/packages/kilo-docs/pages/gateway/models-and-providers.md b/packages/kilo-docs/pages/gateway/models-and-providers.md index 922706b984b0..e8087a4f5083 100644 --- a/packages/kilo-docs/pages/gateway/models-and-providers.md +++ b/packages/kilo-docs/pages/gateway/models-and-providers.md @@ -63,6 +63,7 @@ Several models are available at no cost, subject to rate limits: | `stepfun/step-3.7-flash:free` | StepFun Step 3.7 Flash | | `poolside/laguna-m.1:free` | Poolside Laguna M.1 | | `nvidia/nemotron-3-ultra-550b-a55b:free` | NVIDIA Nemotron 3 Ultra | +| `inclusionai/ling-3.0-flash` | InclusionAI Ling 3.0 Flash | | `openrouter/free` | Best available free model | Free models are available to both authenticated and anonymous users. Anonymous users are rate-limited to 200 requests per hour per IP address. diff --git a/packages/kilo-docs/pages/kiloclaw/development-tools/composio.md b/packages/kilo-docs/pages/kiloclaw/development-tools/composio.md index 08ac935bc198..b2a754b484bd 100644 --- a/packages/kilo-docs/pages/kiloclaw/development-tools/composio.md +++ b/packages/kilo-docs/pages/kiloclaw/development-tools/composio.md @@ -20,20 +20,22 @@ Before you begin, make sure you have: ## Setup -### Step 1: Create a Composio account and get your API key +### Step 1: Create a Composio account and get your consumer key 1. Go to [composio.dev](https://composio.dev) and sign up for a free account 2. Once logged in, open the **Settings** or **API Keys** section of your Composio dashboard -3. Click **Create API Key**, give it a name (for example, `kiloclaw`), and copy the key +3. Copy your consumer key (it starts with `ck_`) -### Step 2: Add the API key to KiloClaw +### Step 2: Add the consumer key to KiloClaw 1. Go to the **Settings** tab on your [KiloClaw dashboard](/docs/kiloclaw/dashboard) 2. Scroll to the **Integrations** section and find **Composio** -3. Paste the API key into the **Composio API Key** field +3. Paste the key into the **Composio** field 4. Click **Save** 5. **Redeploy** your instance to apply the changes +KiloClaw connects your agent to Composio through Composio's hosted MCP server — nothing is installed on your instance. To disconnect, clear the key and redeploy. + ### Step 3: Authenticate tools in Composio Composio acts as a bridge between KiloClaw and each third-party service. To allow your agent to use a specific tool, you need to authorise it once inside Composio: From e9070b89b4e15597b3a9ca3225185a409ab76414 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 27 Jul 2026 22:35:11 +0000 Subject: [PATCH 2/4] docs: sync with merged PRs (2026-07-27) --- .../code-with-ai/agents/context-mentions.md | 8 ++++++++ .../pages/code-with-ai/platforms/cloud-agent.md | 10 ++++++++++ .../pages/code-with-ai/platforms/jetbrains.md | 8 ++++++++ .../pages/code-with-ai/platforms/mobile.md | 17 +++++++++++++++++ packages/kilo-docs/pages/customize/skills.md | 2 ++ .../settings/auto-approving-actions.md | 2 +- 6 files changed, 46 insertions(+), 1 deletion(-) diff --git a/packages/kilo-docs/pages/code-with-ai/agents/context-mentions.md b/packages/kilo-docs/pages/code-with-ai/agents/context-mentions.md index 599917b6d2a6..fc53e2144b6e 100644 --- a/packages/kilo-docs/pages/code-with-ai/agents/context-mentions.md +++ b/packages/kilo-docs/pages/code-with-ai/agents/context-mentions.md @@ -25,9 +25,16 @@ Type `@` in the chat input to get autocomplete suggestions. You can mention: | **File** | Attach a file's contents to your message | `@src/utils.ts` | | **Terminal** | Include your active VS Code terminal output | `@terminal` | | **Git Changes** | Attach uncommitted working-tree diffs and new files | `@git-changes` | +| **Past chats** | Attach a previous session's transcript as context | `@` → **Past chats** → pick a session | Selecting a suggestion inserts the mention and highlights it in the input. File contents, terminal output, and git changes are attached as context when you send the message. +### Referencing Past Chats + +Choosing **Past chats** from the `@` menu opens a searchable picker of your previous sessions in the current workspace, ordered by recency. Selecting a session inserts a highlighted mention token; when you send the message, that session's current transcript is attached as context so the agent can build on the earlier conversation. Clicking the mention token opens the referenced session. + +Very long transcripts are truncated, keeping the beginning and end, so a single mention cannot fill the context window. + ### Drag and Drop You can also add file mentions by dragging and dropping: @@ -85,6 +92,7 @@ When you describe a task, the agent uses its tools — `read`, `grep`, `glob`, a In the terminal-based TUI, you can provide context in several ways: - **Type `@` for file autocomplete** — In the TUI, type `@` followed by a filename to get autocomplete suggestions. Selecting a file attaches its contents to your message. You can limit how much is included by appending a line range, e.g. `@src/utils.ts#10-50`. +- **Reference a past chat** — Type `@` and choose **Past chats** to open a searchable picker of previous sessions in the current workspace. Selecting a session attaches its current transcript as context when you send the message. - **Mention file paths in your message** — Simply refer to files by path in your conversation text (e.g., "look at src/utils.ts") and the agent will read them. - **Use `kilo run -f`** — When using the non-interactive `kilo run` command, pass `-f path/to/file.ts` to explicitly include a file's contents in the context. - **Let the agent find files itself** — The agent has access to `glob` (find files by pattern), `grep` (search file contents), and `read` (read file contents) tools. Describe what you're looking for and it will locate the relevant code. diff --git a/packages/kilo-docs/pages/code-with-ai/platforms/cloud-agent.md b/packages/kilo-docs/pages/code-with-ai/platforms/cloud-agent.md index fb7880dea250..4c9648f0c5eb 100644 --- a/packages/kilo-docs/pages/code-with-ai/platforms/cloud-agent.md +++ b/packages/kilo-docs/pages/code-with-ai/platforms/cloud-agent.md @@ -36,6 +36,16 @@ Before using Cloud Agents: Your work is always pushed to GitHub, ensuring nothing is lost. +## Starting Tasks from the CLI + +Use the `kilo cloud` command to run Cloud Agent tasks without opening the browser: + +```bash +kilo cloud start --prompt "Fix the flaky login test" --repo Kilo-Org/kilocode +``` + +`kilo cloud` can start tasks, send follow-up prompts, and check task status and results. Repository, branch, model, mode, and organization are inferred from your local checkout and CLI defaults unless you pass the matching flags. Add `--stream` to `kilo cloud start` to print task events as JSONL until the task completes. See the [CLI reference](/docs/code-with-ai/platforms/cli-reference#kilo-cloud) for all commands and options. + ## How Cloud Agents Work - Each user receives an **isolated Linux container** with common dev tools preinstalled (Node.js, git, gh CLI, glab CLI, etc.). diff --git a/packages/kilo-docs/pages/code-with-ai/platforms/jetbrains.md b/packages/kilo-docs/pages/code-with-ai/platforms/jetbrains.md index a94b3cfc49f0..ca9f785b64d2 100644 --- a/packages/kilo-docs/pages/code-with-ai/platforms/jetbrains.md +++ b/packages/kilo-docs/pages/code-with-ai/platforms/jetbrains.md @@ -8,3 +8,11 @@ description: "Using Kilo Code in JetBrains IDEs" ## Installation {% partial file="install-jetbrains.md" /%} + +## Settings + +Open **Settings → Tools → Kilo Code** to configure the plugin. The JetBrains plugin reads and writes the same shared `kilo.jsonc` config files as the CLI and the VS Code extension, so changes apply across clients. See [Settings](/docs/getting-started/settings) for config file locations and precedence. + +- **Auto-Approve** — set per-tool permission levels (Allow / Ask / Deny) and manage granular command and path exceptions without editing config by hand. Permission prompts offer one-time approvals alongside saved allow/reject rules. See [Auto-Approving Actions](/docs/getting-started/settings/auto-approving-actions) for the shared permission model. +- **Context** — toggle auto-compaction, set the auto-compaction limit (the percentage of the model window that triggers compaction), enable pruning of old tool outputs, and manage file watcher ignore patterns. See [Context Condensing](/docs/customize/context/context-condensing) and [.kilocodeignore](/docs/customize/context/kilocodeignore) for what these settings control. +- **Agent Behavior → Skills** — inspect loaded skills, add extra skill sources (local paths or remote URLs), edit or remove custom skills, and open skill files in the editor. See [Skills](/docs/customize/skills) for the skill format and discovery rules. diff --git a/packages/kilo-docs/pages/code-with-ai/platforms/mobile.md b/packages/kilo-docs/pages/code-with-ai/platforms/mobile.md index 00b51a102330..4a0b81c0e28f 100644 --- a/packages/kilo-docs/pages/code-with-ai/platforms/mobile.md +++ b/packages/kilo-docs/pages/code-with-ai/platforms/mobile.md @@ -16,8 +16,10 @@ Install Kilo Code for Android from [Google Play](https://play.google.com/store/a The mobile app lets you: - View and manage Kilo Code sessions, including remote CLI and extension sessions running on your local machine. +- Send follow-up messages while a session is still running — they are queued and processed in order. - Run slash commands (like `/compact`) on connected remote CLI sessions, and start a new session in the same workspace with `/new`. Older CLI versions that do not support remote commands prompt you to upgrade. - Review GitHub pull requests end to end — diffs, checks, comments, and merging. +- Start a new session on a connected `kilo remote` CLI instance with the **Run on** picker. - Chat with KiloClaw from your phone. - Spawn Cloud Agents and code directly from the app. - Monitor and view all non-remote sessions in one place. @@ -35,6 +37,21 @@ Comments you leave are collected into a pending review on your device and submit PR review uses your connected GitHub account; the app asks you to connect GitHub if you have not already. +## Choosing where a session runs + +The new-session screen includes a **Run on** picker that chooses where your session runs: + +- **Cloud Agent** — the managed cloud environment (the default). +- **A connected CLI instance** — a `kilo remote` CLI running on your own machine. The picker lists the instances currently connected to your account. + +Remote sessions use the CLI's own defaults, so the composer skips model, mode, and repository selection; you type your first prompt in the chat after the session starts. Sessions started in an organization context always run on the Cloud Agent, so the picker does not appear there. + +## Queueing follow-up messages + +The composer stays editable while the agent is working, so you don't have to wait for a session to finish before sending your next message. Type your follow-up and press **Send** to add it to the session's queue; queued messages are processed in order. While a session is streaming, **Stop** appears only when the composer is empty — with text entered, Send takes its place. + +A queued message shows a subtle **Queued** badge on its bubble. The badge clears when the message starts processing or when the queue drains or is cancelled. Queueing works for Cloud Agent sessions and for remote sessions on a connected `kilo remote` CLI instance. + ## Session cost and model details The app shows what each session cost and which models did the work: diff --git a/packages/kilo-docs/pages/customize/skills.md b/packages/kilo-docs/pages/customize/skills.md index 7eafca68f867..be2996f5714d 100644 --- a/packages/kilo-docs/pages/customize/skills.md +++ b/packages/kilo-docs/pages/customize/skills.md @@ -47,6 +47,8 @@ This means: Skills are loaded from multiple locations, allowing both personal skills and project-specific instructions. +In the JetBrains plugin, you can also inspect loaded skills and manage additional skill sources from **Settings → Tools → Kilo Code → Agent Behavior → Skills**. + {% tabs %} {% tab label="VSCode" %} diff --git a/packages/kilo-docs/pages/getting-started/settings/auto-approving-actions.md b/packages/kilo-docs/pages/getting-started/settings/auto-approving-actions.md index 096b2d1b3d49..070fc59df500 100644 --- a/packages/kilo-docs/pages/getting-started/settings/auto-approving-actions.md +++ b/packages/kilo-docs/pages/getting-started/settings/auto-approving-actions.md @@ -9,7 +9,7 @@ description: "Configure automatic approval settings for Kilo Code operations" **Security Warning:** Auto-approve settings bypass confirmation prompts, giving Kilo Code direct access to your system. This can result in data loss, file corruption, or worse. Command line access is particularly dangerous, as it can potentially execute harmful operations that could damage your system or compromise security. Only enable auto-approval for actions you fully trust. {% /callout %} -Auto-approve settings speed up your workflow by eliminating repetitive confirmation prompts, but they significantly increase security risks. The VS Code extension and CLI share the same permission model; choose the tab that matches how you configure Kilo Code. +Auto-approve settings speed up your workflow by eliminating repetitive confirmation prompts, but they significantly increase security risks. The VS Code extension, JetBrains plugin, and CLI share the same permission model; choose the tab that matches how you configure Kilo Code. In the JetBrains plugin, the same rules are configured under **Settings → Tools → Kilo Code → Auto-Approve**. {% callout type="note" %} **Editing project config while a session is running:** Kilo caches project-level `kilo.jsonc` / `kilo.json` (in `.kilo/`) when it first loads a workspace, and does not re-read it on every prompt. If you add, change, or remove a project permission rule while the backend is already running, reload the VS Code window (or start a fresh CLI session) for the change to take effect. Until then, Kilo keeps using the previously loaded rules — so an auto-approved call may still cite a project rule you just edited. Global config (`~/.config/kilo/`) is reloaded automatically. From 9964c2295b121a924de3a240fd9d791bc4c16373 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 29 Jul 2026 08:58:21 +0000 Subject: [PATCH 3/4] docs: sync with merged PRs (2026-07-29) --- packages/kilo-docs/pages/ai-providers/moonshot.md | 4 ++-- packages/kilo-docs/pages/gateway/models-and-providers.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/kilo-docs/pages/ai-providers/moonshot.md b/packages/kilo-docs/pages/ai-providers/moonshot.md index 73fac5bbfd6e..6588729bbecd 100644 --- a/packages/kilo-docs/pages/ai-providers/moonshot.md +++ b/packages/kilo-docs/pages/ai-providers/moonshot.md @@ -6,7 +6,7 @@ sidebar_label: Moonshot.ai # Using Moonshot.ai With Kilo Code -Moonshot.ai is a Chinese AI company known for their **Kimi** models featuring ultra-long context windows (up to 200K tokens) and advanced reasoning capabilities. Their K2-Thinking model delivers extended thinking and problem-solving abilities. +Moonshot.ai is a Chinese AI company known for their **Kimi** models featuring ultra-long context windows (up to 200K tokens) and advanced reasoning capabilities. Their latest Kimi K3 model delivers extended thinking and problem-solving abilities. **Website:** [https://www.moonshot.cn/](https://www.moonshot.cn/) @@ -63,7 +63,7 @@ Then set your default model: ## Tips and Notes - **Ultra-Long Context:** Kimi models excel at handling large codebases and complex projects with their extended context windows. -- **Reasoning Capabilities:** The K2-Thinking variant provides enhanced problem-solving through extended reasoning chains. +- **Reasoning Capabilities:** Kimi K3 provides enhanced problem-solving through extended reasoning chains. - **Kimi-specific prompting:** Kilo automatically uses a Kimi-tuned system prompt for model IDs containing `kimi`; no extra configuration is required. - **Language Support:** Kimi models have strong support for both English and Chinese languages. - **Pricing:** Refer to the Moonshot.ai platform for current pricing information on different models. diff --git a/packages/kilo-docs/pages/gateway/models-and-providers.md b/packages/kilo-docs/pages/gateway/models-and-providers.md index e8087a4f5083..503b2c4de338 100644 --- a/packages/kilo-docs/pages/gateway/models-and-providers.md +++ b/packages/kilo-docs/pages/gateway/models-and-providers.md @@ -51,7 +51,7 @@ This returns model information including pricing, context window, and supported | `x-ai/grok-4` | xAI | Most capable Grok model | | `x-ai/grok-code-fast-1` | xAI | Optimized for code tasks | | `deepseek/deepseek-v3.2` | DeepSeek | Strong coding and reasoning model | -| `moonshotai/kimi-k2.5` | Moonshot | Strong coding and multilingual model | +| `moonshotai/kimi-k3` | Moonshot | Strong coding and multilingual model | | `minimax/minimax-m2.7` | MiniMax | High-performance MoE model | ### Free models From 1a3d4e006d0bcd1f0be8a3b178c047702b481ea9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 29 Jul 2026 19:27:18 +0000 Subject: [PATCH 4/4] docs: sync with merged PRs (2026-07-29) --- .../kilo-docs/pages/automate/agent-manager.md | 30 ++++++- .../pages/automate/code-reviews/github.md | 3 + .../pages/automate/code-reviews/overview.md | 15 +++- .../kilo-docs/pages/automate/tools/index.md | 15 +++- .../code-with-ai/agents/chat-interface.md | 16 +++- .../features/autocomplete/index.md | 6 +- .../code-with-ai/features/checkpoints.md | 4 - .../pages/code-with-ai/platforms/cli.md | 19 +++++ .../code-with-ai/platforms/cloud-agent.md | 1 + .../pages/code-with-ai/platforms/jetbrains.md | 11 +++ .../pages/code-with-ai/platforms/mobile.md | 80 +++++++++---------- .../code-with-ai/platforms/vscode/index.md | 10 +++ .../pages/customize/agent-permissions.md | 2 + .../pages/deploy-secure/security-reviews.md | 2 +- .../kilo-docs/pages/gateway/api-reference.md | 33 ++++++++ .../settings/auto-approving-actions.md | 10 ++- .../pages/getting-started/settings/index.md | 14 ++++ 17 files changed, 211 insertions(+), 60 deletions(-) diff --git a/packages/kilo-docs/pages/automate/agent-manager.md b/packages/kilo-docs/pages/automate/agent-manager.md index 8710f462fa1c..51d009a0eae0 100644 --- a/packages/kilo-docs/pages/automate/agent-manager.md +++ b/packages/kilo-docs/pages/automate/agent-manager.md @@ -11,7 +11,7 @@ The Agent Manager is a **full-panel editor tab** built directly into the extensi - Multiple parallel sessions, each in its own git worktree - A diff/review panel showing changes vs. the parent branch -- Dedicated VS Code integrated terminals per session +- Dedicated terminals per session, in the VS Code integrated terminal or an embedded side panel - Setup scripts and `.env` auto-copy on worktree creation - Session import from existing branches, external worktrees, or GitHub PR URLs - "Continue in Worktree" to promote a sidebar session to the Agent Manager @@ -122,6 +122,8 @@ You can run up to 4 parallel implementations of the same prompt across separate 2. Optionally assign different models to each version 3. Kilo creates one worktree + session per version and runs them in parallel +With **Compare Models**, checked models that support reasoning variants get a **Reasoning effort** dropdown next to the version count, so compared worktrees can run the same prompt at different effort levels. The collapsed selector shows the picked effort next to the model name (e.g. "Claude Opus 4.8 (high)"). Leaving the dropdown on **Default** — or using a model without variants — runs that version at the model's default effort. + ### Importing Existing Work - **From a branch:** Import an existing git branch as a worktree @@ -136,6 +138,7 @@ Imported work stays associated with its branch or worktree and can be continued - Create a worktree session to start a new agent in an isolated branch - Press `Cmd+T` (macOS) / `Ctrl+T` (Windows/Linux) to start another session in the selected worktree - Use session history to reopen local sessions or preview cloud sessions +- When a managed worktree is selected, session history gains a **Worktree** tab listing only sessions assigned to that worktree; **Local** remains the aggregate history across the workspace and every managed worktree - Continue a cloud session locally from Agent Manager using the same extension sign-in and provider settings ### Renaming Worktrees @@ -221,11 +224,30 @@ See [Agent Manager Workflows](/docs/automate/agent-manager-workflows#merging-wor ## Terminals -Each session has a dedicated integrated terminal rooted in the session's worktree directory. Press `Cmd+/` (macOS) / `Ctrl+/` (Windows/Linux) to focus the terminal for the active session. +Each session has a dedicated terminal rooted in the session's worktree directory. Press `Cmd+/` (macOS) / `Ctrl+/` (Windows/Linux) to open or focus the terminal for the active session. + +The terminal button in the toolbar is a split button: click it to open a terminal in the current destination, or open its dropdown to choose where terminals open: + +- **VS Code terminal** (default) — opens or focuses the VS Code integrated terminal. +- **Agent Manager panel** — opens an embedded terminal in the right-hand side panel, next to the chat. + +The choice is saved in the `kilo-code.new.agentManager.terminalButtonDestination` setting and applies to both the button and the `Cmd+/` / `Ctrl+/` shortcut. + +### Side Panel Terminals + +With the **Agent Manager panel** destination, terminals open in the side panel that also hosts the diff view. You can switch between the diff and the terminal freely, and resize the panel with its drag handle — the panel remembers one width per mode. + +The panel supports multiple terminals per context (local, or per worktree): + +- The header is a tab strip: click a tab to switch, click **+** to open another terminal, and click **×** (or middle-click) to close a single terminal. Drag tabs to reorder them. +- New terminals are named with the lowest free "Terminal N" number, and tabs pick up the live title from the shell or running program, so a dev server or editor names its own tab. +- `Cmd+W` (macOS) / `Ctrl+W` (Windows/Linux) with a side terminal focused closes that terminal. Closing the last terminal leaves the panel on its empty state. + +Hiding the panel keeps its terminals running in the background — scrollback and running processes survive, and the same terminals are there when you reopen the panel or switch worktrees. When the panel hides while the terminal held focus, focus returns to the chat input. Side panel terminals are not kept across webview reloads. ### Switching Between Terminal and Agent Manager -A common workflow is letting the agent work, then switching to the terminal to run tests or inspect the worktree, then switching back to control the agent: +With the default **VS Code terminal** destination, a common workflow is letting the agent work, then switching to the terminal to run tests or inspect the worktree, then switching back to control the agent: 1. **Agent Manager → Terminal:** Press `Cmd+/` (macOS) / `Ctrl+/` (Windows/Linux) to open and focus the terminal for the current session. The terminal runs inside the session's worktree, so commands like `npm test` or `git status` operate on the agent's isolated branch. 2. **Terminal → Agent Manager:** Press `Cmd+Shift+M` (macOS) / `Ctrl+Shift+M` (Windows/Linux) to bring focus back to the Agent Manager panel and its prompt input. This works from anywhere in VS Code — the terminal, another editor tab, or the sidebar. @@ -364,7 +386,7 @@ Closing a managed worktree removes it from Agent Manager, deletes its `.kilo/wor | `Cmd+W` | `Ctrl+W` | Close current tab | | `Cmd+Alt+Up` / `Down` | `Ctrl+Alt+Up` / `Down` | Previous / next worktree | | `Cmd+Alt+Left` / `Right` | `Ctrl+Alt+Left` / `Right` | Previous / next tab in worktree | -| `Cmd+/` | `Ctrl+/` | Focus terminal for current session | +| `Cmd+/` | `Ctrl+/` | Open / focus terminal for current session (destination set by the terminal button dropdown) | | `Cmd+D` | `Ctrl+D` | Toggle diff panel | | `Cmd+E` | `Ctrl+E` | Run / stop run script | | `Cmd+Shift+/` | `Ctrl+Shift+/` | Show keyboard shortcuts | diff --git a/packages/kilo-docs/pages/automate/code-reviews/github.md b/packages/kilo-docs/pages/automate/code-reviews/github.md index f543e45b0b19..33c6953aa386 100644 --- a/packages/kilo-docs/pages/automate/code-reviews/github.md +++ b/packages/kilo-docs/pages/automate/code-reviews/github.md @@ -54,8 +54,11 @@ Once configured, the Review Agent automatically runs when: | PR reopened | ✅ Yes | | Draft PR marked ready | ✅ Yes | | Draft PR opened | ❌ Skipped | +| PR opened by a bot | ❌ Skipped by default | | PR closed | ❌ No | +Bot-authored PRs (Dependabot, Renovate, and other automation accounts) are detected with GitHub's author metadata and skipped before any review is created. To have them reviewed, turn off **Skip pull requests from bots** under Global Settings in the Code Reviews configuration. Reviews you start manually are not affected by this setting. + ## What to Expect When a review triggers: diff --git a/packages/kilo-docs/pages/automate/code-reviews/overview.md b/packages/kilo-docs/pages/automate/code-reviews/overview.md index e510791b461f..a50b431cd49b 100644 --- a/packages/kilo-docs/pages/automate/code-reviews/overview.md +++ b/packages/kilo-docs/pages/automate/code-reviews/overview.md @@ -66,6 +66,10 @@ To use it: Kilo reads `REVIEW.md` from the PR/MR base branch, not the feature branch. That prevents an unreviewed change from rewriting the review policy used to evaluate itself. If the file is disabled, missing, empty, or unreadable, Kilo falls back to built-in guidance. If it is longer than 10,000 characters, Kilo truncates it and notes that in the review summary footer. +{% callout type="note" title="Custom Instructions is being deprecated" %} +The **Custom Instructions** field in Code Reviews settings is planned for deprecation in favor of `REVIEW.md`. The field no longer appears for configurations that have never used it. Configurations that already have a value keep the field, and stored instructions still apply to reviews — but you should move those guidelines into a `REVIEW.md` file in your repository. +{% /callout %} + ### Default Sub-Agent Usage By default, Code Reviews uses sub-agents only when they materially improve coverage. After reading the diff, the reviewer estimates changed file count and changed lines, then chooses the largest tier triggered by either signal. @@ -133,6 +137,15 @@ Each specialist reports findings with a severity — `critical`, `warning`, `sug Under Unanimous or Majority, a `block` decision fails the PR/MR status check, so the change cannot be merged. If specialist results are missing or invalid, these modes fail closed to `block`. Reviews you start manually report the decision but never block merging. +### Per-Repository Council Opt-In + +Automated (webhook-triggered) reviews run as standard reviews by default. To run a council review automatically when a repository's pull requests are opened or updated, opt the repository in: + +1. Open the Review Agent configuration and turn on **Advanced Settings**. +2. In the per-repository overrides, enable **Council** for each repository that should receive automated council reviews. + +Opted-in repositories run the shared council configuration — the same specialist models and governance mode — on automated reviews, and the council decision drives the PR/MR status check. All other repositories continue to receive standard reviews, and a repository falls back to a standard review whenever the council configuration is missing or inactive. + ### Automated Review Exclusions On GitHub, automated (webhook-triggered) reviews never use a council for draft PRs, bot-authored PRs, or PRs opened from a fork — these run as standard reviews instead, even when the repository is opted in to council reviews. These exclusions are built in and cannot be overridden by configuration. The review still runs; only the council review type is skipped. Reviews you start manually can always use a council. @@ -184,7 +197,7 @@ When a pull request or merge request is opened or updated: Reviews are posted directly in your platform (GitHub or GitLab) as if coming from a team reviewer. {% callout type="info" title="Bot-generated PRs are ignored by default" %} -Kilo does not automatically review pull or merge requests opened by bots, such as Dependabot, Renovate, or other automation accounts. This keeps review credits and notifications focused on human-authored changes. +Kilo does not automatically review pull requests opened by bots, such as Dependabot, Renovate, or other automation accounts. This keeps review credits and notifications focused on human-authored changes. On GitHub, the **Skip pull requests from bots** toggle in Global Settings controls this behavior and is on by default — turn it off to have bot-authored PRs reviewed. Reviews you start manually are unaffected either way. Bot detection relies on GitHub's author metadata, so the toggle does not appear for GitLab. {% /callout %} ## Review Styles diff --git a/packages/kilo-docs/pages/automate/tools/index.md b/packages/kilo-docs/pages/automate/tools/index.md index 311e216dacf3..d98b94e823dc 100644 --- a/packages/kilo-docs/pages/automate/tools/index.md +++ b/packages/kilo-docs/pages/automate/tools/index.md @@ -21,7 +21,7 @@ Tools are organized into logical groups based on their functionality: | **Web Group** | Fetch and search web content | `webfetch`, `websearch` | Research, documentation lookup | | **Browser Group** | Web browser automation | `kilo-playwright_*` (via built-in Playwright MCP) | Browser testing and interaction | | **MCP Group** | External tool integration | MCP server tools (namespaced as `{server}_{tool}`) | Specialized functionality via MCP | -| **Workflow Group** | Sub-agents and task management | `question`, `task`, `todowrite`, `todoread`, `plan`, `skill`, `agent_manager` | Context switching and task organization | +| **Workflow Group** | Sub-agents and task management | `question`, `task`, `todowrite`, `todoread`, `plan`, `skill`, `agent_manager`, `notify_user` | Context switching and task organization | ### Always Available Tools @@ -64,6 +64,18 @@ These tools help Kilo Code access web content: - `webfetch` - Fetches a URL and returns the content - `websearch` - Searches the web (available to Kilo/OpenRouter users) +#### Web Search Providers + +The `websearch` tool routes searches through one of two providers, Exa or Parallel, chosen per session. Set the `KILO_WEBSEARCH_PROVIDER` environment variable to `exa`, `parallel`, or `kilo-exa` to force a provider. + +When the provider is Exa, authentication decides how the search is transported: + +1. If `EXA_API_KEY` is set, the search uses your own Exa API key (BYOK). +2. Otherwise, if you are signed in to Kilo, the search routes through the Kilo proxy and is billed to your Kilo account — no Exa key needed. Set `KILO_WEBSEARCH_PROVIDER=kilo-exa` to force this path (requires Kilo sign-in). +3. If neither is available, the search falls back to Exa's unauthenticated endpoint. + +The `numResults` parameter defaults to 8 and is capped at 10. + ### Browser Tools The VS Code extension has a built-in browser automation tool powered by [Playwright MCP](https://www.npmjs.com/package/@playwright/mcp). Enable it in Settings → Browser Automation. When enabled, it registers an MCP server named `kilo-playwright` and exposes tools such as: @@ -91,6 +103,7 @@ These tools help manage the conversation and task flow: - `plan` - Enters structured planning mode - `skill` - Invokes a reusable skill (Markdown instruction module) - `agent_manager` - Starts Agent Manager local or worktree sessions in VS Code +- `notify_user` - Sends a push notification to your phone via the Kilo mobile app (requires a session connected to Kilo cloud) ## Tool Calling Mechanism diff --git a/packages/kilo-docs/pages/code-with-ai/agents/chat-interface.md b/packages/kilo-docs/pages/code-with-ai/agents/chat-interface.md index c700cb928032..4a64489a6dbb 100644 --- a/packages/kilo-docs/pages/code-with-ai/agents/chat-interface.md +++ b/packages/kilo-docs/pages/code-with-ai/agents/chat-interface.md @@ -67,7 +67,7 @@ Open your terminal and run `kilo` to launch the interactive terminal interface ( **Providing context:** -The extension automatically passes context from your editor, including your open tabs and active file. You can type `@` in the chat input to get file and terminal autocomplete suggestions — use `@filename` to attach a file or `@terminal` to include your active terminal output. You can also mention file paths naturally in your message (e.g., "update src/utils.ts to add a helper function"). The agent can also discover files on its own using its built-in tools. +The extension automatically passes context from your editor, including your open tabs and active file. You can type `@` in the chat input to get file and terminal autocomplete suggestions — use `@filename` to attach a file or `@terminal` to include your active terminal output. The `@` menu also includes **Past chats**, which attaches a previous session's transcript as context. You can also mention file paths naturally in your message (e.g., "update src/utils.ts to add a helper function"). The agent can also discover files on its own using its built-in tools. **Exporting local transcripts:** @@ -81,6 +81,18 @@ Double-click the current session title at the top of the chat to edit it inline. You can also rename local sessions from **History** using the edit button or the session's context menu. +**Switching between open sessions:** + +Each open session has a tab in the strip above the chat. When tabs overflow or their titles get truncated, click **Show open tabs** at the end of the strip to open a searchable list of your open sessions. Filter by title, then activate a session with `Enter` or a click — the list marks the current session and flags sessions that are new or still working. Close a tab directly from the list with its × button or `Delete`; your search filter stays intact. + +**Jumping between prompts:** + +A prompt navigator rail runs along the left edge of the transcript, with one tick per prompt you sent. Hover or focus the rail to expand a card listing your prompts with a short preview of each answer, and click a tick or row to jump straight to that turn. Long sessions show only as many prompts as fit the transcript height, keeping the newest. The rail appears in the sidebar, Kilo editor tabs, the sub-agent viewer, and Agent Manager, and never changes the readable width of the chat. + +**Deleting queued follow-ups:** + +Messages you send while the agent is still working are queued and processed in order. A queued message shows a **Queued** indicator with a **Delete queued message** (×) action that removes it before it runs. Deleting a queued message does not interrupt the active prompt, and any later queued messages still run. + {% /tab %} {% tab label="CLI" %} @@ -96,7 +108,7 @@ You can also rename local sessions from **History** using the edit button or the **Providing context:** -Type `@` in the TUI to get file autocomplete suggestions, or mention file paths directly in your message (e.g., "look at src/utils.ts") and the agent will read them. When using the non-interactive `kilo run` command, you can pass `-f path/to/file.ts` to explicitly include files. The agent can also discover files on its own using its built-in tools. +Type `@` in the TUI to get file autocomplete suggestions, or choose **Past chats** from the `@` menu to attach a previous session's transcript as context. You can also mention file paths directly in your message (e.g., "look at src/utils.ts") and the agent will read them. When using the non-interactive `kilo run` command, you can pass `-f path/to/file.ts` to explicitly include files. The agent can also discover files on its own using its built-in tools. {% /tab %} {% /tabs %} diff --git a/packages/kilo-docs/pages/code-with-ai/features/autocomplete/index.md b/packages/kilo-docs/pages/code-with-ai/features/autocomplete/index.md index 72cce3d69ed6..e4efb4e5311a 100644 --- a/packages/kilo-docs/pages/code-with-ai/features/autocomplete/index.md +++ b/packages/kilo-docs/pages/code-with-ai/features/autocomplete/index.md @@ -14,7 +14,7 @@ The extension uses **Fill-in-the-Middle (FIM)** completion routed through the ** You can choose between two FIM models: - **Codestral** (`mistralai/codestral-2508`) by Mistral AI — the default, billed through your Kilo account. -- **Mercury Edit 2** (`inception/mercury-edit-2`) by Inception — temporarily available via **BYOK** (Bring Your Own Key) only; Kilo Gateway support is coming soon. +- **Mercury Edit 2** (`inception/mercury-edit-2`) by Inception — billed through your Kilo account, or routed through your own Inception key via BYOK. ## Triggering Options @@ -35,10 +35,10 @@ This keybinding requires `kilo-code.new.autocomplete.enableSmartInlineTaskKeybin Autocomplete requests are routed through the **Kilo Gateway**. You can pick the FIM model under **Settings → Models → Autocomplete model**: - **Codestral** (`mistralai/codestral-2508`) — the default. Billed through your Kilo account, or free when you add your own Mistral Codestral key via BYOK. See [Setting Up Mistral for Free Autocomplete](/docs/code-with-ai/features/autocomplete/mistral-setup). -- **Mercury Edit 2** (`inception/mercury-edit-2`) — a fast diffusion-based FIM model by Inception. Temporarily requires an **Inception BYOK key** until Kilo Gateway support lands. Add one from the [BYOK page](https://app.kilo.ai/byok) in the Kilo platform. See [Bring Your Own Key (BYOK)](/docs/getting-started/byok) for setup details. +- **Mercury Edit 2** (`inception/mercury-edit-2`) — a fast diffusion-based FIM model by Inception. Billed through your Kilo account at published rates, or routed through your own Inception key via BYOK — add one from the [BYOK page](https://app.kilo.ai/byok) in the Kilo platform. See [Bring Your Own Key (BYOK)](/docs/getting-started/byok) for setup details. {% callout type="note" %} -Mercury Edit 2 is only available through BYOK for now — Kilo Gateway support is coming soon. If you select Mercury Edit 2 without a valid Inception BYOK key configured, autocomplete requests will fail — switch back to Codestral or add an Inception key to continue. +Mercury Edit 2 usage through the Kilo Gateway is billed at published rates — the introductory free period has ended, and requests require a positive credit balance. To avoid charges on your Kilo balance, add your own Inception key via BYOK instead. {% /callout %} ## Status Bar diff --git a/packages/kilo-docs/pages/code-with-ai/features/checkpoints.md b/packages/kilo-docs/pages/code-with-ai/features/checkpoints.md index 46829ffb651e..465a486ba68a 100644 --- a/packages/kilo-docs/pages/code-with-ai/features/checkpoints.md +++ b/packages/kilo-docs/pages/code-with-ai/features/checkpoints.md @@ -104,10 +104,6 @@ Workspace restoration requires snapshots. If snapshots are disabled or the rever The button is only active when the agent is idle. While the agent is running, the button is disabled to prevent reverting mid-operation. -{% callout type="note" %} -Workspace restoration requires snapshots. If snapshots are disabled or the reverted range has no stored checkpoint, only the conversation is rewound — the agent's file changes remain on disk, and the revert banner warns you (see below). -{% /callout %} - ### The Revert Banner After reverting, a **Revert Banner** appears at the bottom of the chat. The banner shows: diff --git a/packages/kilo-docs/pages/code-with-ai/platforms/cli.md b/packages/kilo-docs/pages/code-with-ai/platforms/cli.md index e6a4622e06b1..662dc786ff9d 100644 --- a/packages/kilo-docs/pages/code-with-ai/platforms/cli.md +++ b/packages/kilo-docs/pages/code-with-ai/platforms/cli.md @@ -119,6 +119,7 @@ For detailed help on every command and subcommand, see the [CLI Command Referenc | `/help` | - | Show help | | `/reload` | - | Reload config, skills, agents, and commands from disk | | `/editor` | - | Open external editor | +| `/auto-approve` | `/autoapprove`, `/approve-all`, `/approveall` | Toggle auto-approve mode for all permission prompts, saved to global config | | `/exit` | `/quit`, `/q` | Exit the app | #### Kilo Gateway Commands (when connected) @@ -210,6 +211,12 @@ The `attention.sound_pack` setting selects a sound pack registered by a TUI plug There is no notification slash command or command-palette toggle. Use Kilo Console or `tui.json` / `tui.jsonc` so all attention behavior is controlled by the same configuration. +### Push Notifications to Your Phone + +When the CLI is connected to Kilo cloud (see [Remote Connections](#remote-connections)), the agent can send a push notification to your phone through the Kilo mobile app using the built-in `notify_user` tool. The agent uses it only for pings you explicitly ask for ("ping me when the build finishes") and for significant milestones or anomalies during long-running tasks — not for questions, permission requests, or task completion, which the platform already notifies. + +Delivery can be suppressed by your Agent notifications preference, per-session rate limits, or while you are actively viewing the session. When the session is not connected to Kilo cloud, the tool tells the agent that notifications are unavailable. + ## Slash Commands The CLI's interactive mode supports slash commands for common operations. The main commands are documented above in the [Interactive Slash Commands](#interactive-slash-commands) section. @@ -557,6 +564,10 @@ This instructs the AI to proceed without user input. - `124`: Timeout (task exceeded time limit) - `1`: Error (initialization or execution failure) +A plain headless run — without `--auto` or `--dangerously-skip-permissions` — auto-rejects every permission request it receives. If at least one request was auto-rejected, the run exits `1` and prints a stderr diagnostic (`run ended with an auto-rejected permission; pass --auto for autonomous use`), even if the session otherwise reached idle. The same rule applies to a non-interactive `--attach` run. Runs that complete their turn with no auto-rejected permission still exit `0`. + +Under `--format json`, the auto-reject path also emits an `error` event in the JSON stream, and a session that errors mid-stream prints its diagnostic to stderr before the event. + ### Example CI/CD Integration ```yaml @@ -632,6 +643,14 @@ Add to `~/.config/kilo/config.json`: Once enabled, start a CLI session and open [Cloud Agents](https://app.kilo.ai/cloud). Your local session appears in the dashboard. See [Cloud Agent Remote Connections](/docs/code-with-ai/platforms/cloud-agent#remote-connections) for details. +Connected clients such as the Kilo mobile app can attach files to messages in a remote session, up to 5 MB per file. Images, PDFs, and text files are passed to the agent directly; other file types are saved to a per-session directory and the agent is given their paths. Clients enable attachments only when the CLI advertises support, so keep the CLI up to date. See [Attaching files](/docs/code-with-ai/platforms/mobile#attaching-files) for the mobile side. + +### Remote Slash Commands + +Connected clients can discover and run a remote-safe subset of the CLI's slash commands — including `/compact` and your custom commands — scoped to the current session's workspace. Starting a session with `/new` from a connected client creates a new root session in the CLI's current workspace. Terminal-local commands are not exposed remotely. Remote commands require an up-to-date CLI; connected clients prompt you to upgrade when the CLI does not support them. + +Clients can also exit an individual session remotely: the CLI cancels any active prompt and detaches that session from remote access, preserving its history. A headless `kilo remote` host keeps running and can create new sessions afterwards. + ### Requirements - Connection to Kilo Gateway diff --git a/packages/kilo-docs/pages/code-with-ai/platforms/cloud-agent.md b/packages/kilo-docs/pages/code-with-ai/platforms/cloud-agent.md index 4c9648f0c5eb..6861524a5a03 100644 --- a/packages/kilo-docs/pages/code-with-ai/platforms/cloud-agent.md +++ b/packages/kilo-docs/pages/code-with-ai/platforms/cloud-agent.md @@ -125,6 +125,7 @@ When remote mode is enabled in the CLI, your active local sessions appear in the - **Agent questions** appear in both places — answer wherever you are - **Permission requests** route to your active connection - **Full editing capabilities** work remotely +- **Slash commands** — connected clients can run remote-safe commands like `/compact`, and start a new session in the CLI's workspace with `/new` ### Enabling Remote Mode diff --git a/packages/kilo-docs/pages/code-with-ai/platforms/jetbrains.md b/packages/kilo-docs/pages/code-with-ai/platforms/jetbrains.md index ca9f785b64d2..b0168316f10c 100644 --- a/packages/kilo-docs/pages/code-with-ai/platforms/jetbrains.md +++ b/packages/kilo-docs/pages/code-with-ai/platforms/jetbrains.md @@ -9,6 +9,16 @@ description: "Using Kilo Code in JetBrains IDEs" {% partial file="install-jetbrains.md" /%} +## Reviewing file changes + +When the agent writes or edits files, the session view renders `write`, `edit`, and `apply_patch` results as expandable diff previews instead of generic tool output. Each preview has a header with a clickable file link and aggregate change counts, followed by a syntax-highlighted diff. File links open the exact file in the editor — even when several files share the same name — and show the full path on hover. A multi-file `apply_patch` result renders as a **Patch** with a file-count tag and one clickable section per file, each with its own change badge. + +## Queueing prompts + +You don't have to wait for the agent to finish before sending your next prompt. While a session is busy, type your follow-up and press **Send** to add it to the session's queue; queued prompts are processed in order. **Stop** remains available while the input is empty — with a draft entered, Send takes its place. + +A queued prompt appears in the conversation with a **Queued** badge and a remove action, so you can delete it before it runs. + ## Settings Open **Settings → Tools → Kilo Code** to configure the plugin. The JetBrains plugin reads and writes the same shared `kilo.jsonc` config files as the CLI and the VS Code extension, so changes apply across clients. See [Settings](/docs/getting-started/settings) for config file locations and precedence. @@ -16,3 +26,4 @@ Open **Settings → Tools → Kilo Code** to configure the plugin. The JetBrains - **Auto-Approve** — set per-tool permission levels (Allow / Ask / Deny) and manage granular command and path exceptions without editing config by hand. Permission prompts offer one-time approvals alongside saved allow/reject rules. See [Auto-Approving Actions](/docs/getting-started/settings/auto-approving-actions) for the shared permission model. - **Context** — toggle auto-compaction, set the auto-compaction limit (the percentage of the model window that triggers compaction), enable pruning of old tool outputs, and manage file watcher ignore patterns. See [Context Condensing](/docs/customize/context/context-condensing) and [.kilocodeignore](/docs/customize/context/kilocodeignore) for what these settings control. - **Agent Behavior → Skills** — inspect loaded skills, add extra skill sources (local paths or remote URLs), edit or remove custom skills, and open skill files in the editor. See [Skills](/docs/customize/skills) for the skill format and discovery rules. +- **Agent Behavior → Rules** — manage additional instruction files (the `instructions` config): add files by path, glob, or URL, edit file contents, open them in the editor, or delete them. Includes the **Claude Code Compatibility** toggle to load CLAUDE.md instructions and skills from your Claude Code configuration (requires restart). See [Custom Rules](/docs/customize/custom-rules) for how instruction files are loaded. diff --git a/packages/kilo-docs/pages/code-with-ai/platforms/mobile.md b/packages/kilo-docs/pages/code-with-ai/platforms/mobile.md index 7a927b103ddd..8f58a2167d35 100644 --- a/packages/kilo-docs/pages/code-with-ai/platforms/mobile.md +++ b/packages/kilo-docs/pages/code-with-ai/platforms/mobile.md @@ -17,17 +17,16 @@ The mobile app lets you: - View and manage Kilo Code sessions, including remote CLI and extension sessions running on your local machine. - Send follow-up messages while a session is still running — they are queued and processed in order. -- Run slash commands (like `/compact`) on connected remote CLI sessions, and start a new session in the same workspace with `/new`. Older CLI versions that do not support remote commands prompt you to upgrade. +- Attach files from your device to messages in Cloud Agent and remote CLI sessions. +- Share text, links, images, and documents from other apps into a session via the iOS and Android share sheets. +- Run slash commands (like `/compact`) on connected remote CLI sessions, start a new session in the same workspace with `/new`, and exit a session with `/exit` — exiting stops the running session but keeps its history, and the CLI keeps running. Older CLI versions that do not support remote commands prompt you to upgrade. - Review GitHub pull requests end to end — diffs, checks, comments, and merging. - Start a new session on a connected `kilo remote` CLI instance with the **Run on** picker. - Chat with KiloClaw from your phone. - Spawn Cloud Agents and code directly from the app. - Monitor and view all non-remote sessions in one place. +- Preview the files the agent reads, right from the session's tool cards — markdown files render inline and expand into a full-screen reader, and images and screenshots open in a pinch-zoom viewer. - Create, onboard, and manage KiloClaw instances. -- Send follow-up messages while a session is still running — they are queued and processed in order. -- Run slash commands (like `/compact`) on connected remote CLI sessions, and start a new session in the same workspace with `/new`. Older CLI versions that do not support remote commands prompt you to upgrade. -- Review GitHub pull requests end to end — diffs, checks, comments, and merging. -- Start a new session on a connected `kilo remote` CLI instance with the **Run on** picker. ## Reviewing GitHub pull requests @@ -50,6 +49,22 @@ The new-session screen includes a **Run on** picker that chooses where your sess Remote sessions use the CLI's own defaults, so the composer skips model, mode, and repository selection; you type your first prompt in the chat after the session starts. Sessions started in an organization context always run on the Cloud Agent, so the picker does not appear there. +## Attaching files + +Attach files from your device to any message — attachments work in both Cloud Agent sessions and remote sessions on a connected `kilo remote` CLI instance. + +- Send up to **5 files per message**, each up to **5 MB**. +- Images and PDFs are sent with the message so the model can see them directly. Other file types (documents, spreadsheets, archives, and so on) are uploaded to the session's workspace, and the agent reads them from there. +- Executable and installer formats are blocked: `.exe`, `.dll`, `.msi`, `.com`, `.scr`, `.apk`, `.ipa`, `.dmg`, `.pkg`. + +Kilo Chat conversations with your [KiloClaw](/docs/kiloclaw/chat-platforms) also accept attachments, up to **10 MB per file**. The app checks the size when you pick the file and rejects oversized files with a toast, before anything is uploaded. + +## Sharing into Kilo from other apps + +Kilo appears as a share target in the iOS and Android share sheets, so you can send content from other apps straight into a session. Sharing accepts plain text, URLs, images, and documents — the same types the new-session composer accepts, subject to the same [attachment limits](#attaching-files). + +Sharing into Kilo opens a preview where you check the content and choose where it goes — a **new session** or an **existing session**, on a Cloud Agent or a connected `kilo remote` CLI instance. Nothing is sent until you confirm. Destinations that can't accept the payload — for example a CLI that is offline, or a remote session that can't receive files when you've shared files — stay listed, but tapping them explains why they're unavailable instead of dropping your content. + ## Queueing follow-up messages The composer stays editable while the agent is working, so you don't have to wait for a session to finish before sending your next message. Type your follow-up and press **Send** to add it to the session's queue; queued messages are processed in order. While a session is streaming, **Stop** appears only when the composer is empty — with text entered, Send takes its place. @@ -66,6 +81,24 @@ The app shows what each session cost and which models did the work: Cost is recorded when a session closes; sessions that closed before this feature shipped do not show a cost. +## Notification preferences + +Open the **Notifications** screen from the Profile tab to choose which push notifications you receive. The screen requires system notification permission and a registered device; after that, you can toggle each category independently: + +- **Chat messages** — new messages in your Kilo chat conversations +- **Agent attention** — sessions waiting on your input, such as questions or permission requests +- **Agent updates** — general agent progress updates +- **Session status** — session lifecycle events, such as completions +- **KiloClaw activity** — activity from your KiloClaw instances +- **Balance alerts** — an organization's balance dropping below its configured minimum; tapping the notification opens that organization's credit activity +- **Security findings** — new Security Agent findings and SLA warnings or breaches; tapping the notification opens the finding + +Preferences are stored per account and enforced server-side, so a category you turn off is suppressed on every device. The toggles affect only push notifications — email alerts, such as Security Agent notification emails, are still delivered when a category is off. + +## Appearance + +Choose how the app looks from the **Appearance** section of the Profile tab: **System** (the default, which follows your device's theme), **Light**, or **Dark**. Your choice applies across the whole app and is stored on the device, so it survives signing out. + ## Kilo Pass and Billing For Kilo Pass pricing, billing, and account management details, use the [Kilo Pass pricing page](https://kilo.ai/pricing/kilo-pass). @@ -84,43 +117,6 @@ For Kilo Pass pricing, billing, and account management details, use the [Kilo Pa {% image src="/docs/img/mobile-apps/session-filters.webp" alt="Kilo Code mobile session filter panel for Cloud Extension CLI Slack and other platforms" caption="Filter sessions by platform and project, including Cloud, Extension, CLI, Slack, and other sessions." /%} {% /imageGallery %} -## Choosing where a session runs - -The new-session screen includes a **Run on** picker that chooses where your session runs: - -- **Cloud Agent** — the managed cloud environment (the default). -- **A connected CLI instance** — a `kilo remote` CLI running on your own machine. The picker lists the instances currently connected to your account. - -Remote sessions use the CLI's own defaults, so the composer skips model, mode, and repository selection; you type your first prompt in the chat after the session starts. Sessions started in an organization context always run on the Cloud Agent, so the picker does not appear there. - -## Queueing follow-up messages - -The composer stays editable while the agent is working, so you don't have to wait for a session to finish before sending your next message. Type your follow-up and press **Send** to add it to the session's queue; queued messages are processed in order. While a session is streaming, **Stop** appears only when the composer is empty — with text entered, Send takes its place. - -A queued message shows a subtle **Queued** badge on its bubble. The badge clears when the message starts processing or when the queue drains or is cancelled. Queueing works for Cloud Agent sessions and for remote sessions on a connected `kilo remote` CLI instance. - -## Reviewing GitHub pull requests - -Open a pull request from a PR link to review it without leaving the app: - -- **Overview** — PR state and CI checks at a glance. -- **Files** — syntax-highlighted diffs with line-level comments and a file navigator. -- **Discussion** — review threads with replies, resolve/unresolve, and reactions. - -Comments you leave are collected into a pending review on your device and submitted to GitHub as a single review. When the PR is ready, you can merge it (merge, squash, or rebase), enable or disable auto-merge, or update the branch — all from the app. - -PR review uses your connected GitHub account; the app asks you to connect GitHub if you have not already. - -## Session cost and model details - -The app shows what each session cost and which models did the work: - -- **Session list** — a finished session with a recorded cost shows it in the row's meta line (for example, `$0.12 · 5m ago`). Sessions that are still running or have no cost show no cost. -- **Cost breakdown** — open a session's Context usage sheet to see a Token usage section (input, output, reasoning, cache read, and cache write tokens, plus the cache hit rate) and a collapsible Models section with each model's name, provider, step count, and cost. A Subagents row covers any remaining spend, so the per-model costs always add up to the session total. -- **Per-message model label** — assistant messages show a dimmed model label on the first assistant reply and whenever the model changes during the session. Turns routed by [Auto Model](/docs/code-with-ai/agents/auto-model) show the concrete model that handled the turn. - -Cost is recorded when a session closes; sessions that closed before this feature shipped do not show a cost. - ## Android App The Android app is available now on Google Play. diff --git a/packages/kilo-docs/pages/code-with-ai/platforms/vscode/index.md b/packages/kilo-docs/pages/code-with-ai/platforms/vscode/index.md index f2951a9589ef..4126d23173ab 100644 --- a/packages/kilo-docs/pages/code-with-ai/platforms/vscode/index.md +++ b/packages/kilo-docs/pages/code-with-ai/platforms/vscode/index.md @@ -30,6 +30,8 @@ Key features include: - **[Skills](/docs/customize/skills)** — Load specialized domain knowledge from SKILL.md files - **[Custom Subagents](/docs/customize/custom-subagents)** — Define specialized sub-agents for the `task` tool - **Open in Tab** — Pop the chat out into a full editor tab +- **Session tab switcher** — Searchable list of open session tabs for quickly switching between or closing sessions +- **Prompt navigator rail** — One tick per sent prompt on the left edge of the transcript, with a hover card for jumping straight to a turn - **Transcript export:** Save complete local session transcripts as Markdown files - **Sub-Agent Viewer** — Read-only panels for viewing child agent sessions - **Legacy Migration** — Automatic migration wizard for VSCode extension settings @@ -38,6 +40,14 @@ Key features include: Settings apply across extension surfaces, including the sidebar and Agent Manager. The standalone CLI uses the same `~/.config/kilo/kilo.jsonc` (global) and `./kilo.jsonc` (project) files when used directly. +## Interface Language + +The extension UI is available in 21 languages. Pick one from the **Language** tab in the Kilo settings, or set `kilo-code.new.language` in your VS Code settings. The default (Auto) follows VS Code's display language. + +Available languages: English, 简体中文, 繁體中文, 한국어, Deutsch, Español, Français, Dansk, 日本語, Polski, Русский, العربية, Norsk, Português (Brasil), ภาษาไทย, Bosanski, Türkçe, Nederlands, Українська, Italiano, فارسی. + +Arabic and Persian are right-to-left languages; the layout switches to right-to-left automatically when either is selected. + ## Proxy and Certificate Troubleshooting Kilo Code for VS Code starts its embedded runtime from the extension and applies the relevant VS Code network settings to that runtime. On managed networks, configure proxy and certificate trust in VS Code settings rather than in a separate CLI install. diff --git a/packages/kilo-docs/pages/customize/agent-permissions.md b/packages/kilo-docs/pages/customize/agent-permissions.md index c0764c278291..db1e1f13c438 100644 --- a/packages/kilo-docs/pages/customize/agent-permissions.md +++ b/packages/kilo-docs/pages/customize/agent-permissions.md @@ -132,6 +132,8 @@ cd "/project"; git status Kilo checks the parsed command patterns. The `git status` command matches `git *`, so the request is denied. Directory changes and commands that access paths outside the worktree can also trigger `external_directory` checks. +When the shell parser cannot parse a command — for example a PowerShell command containing a bare `--`, such as `git checkout -- ` — Kilo checks the raw command text against your rules instead of skipping the check. If no rule matches the raw text, the command falls back to `ask`, so a command that cannot be scanned never runs without a permission decision. + Built-in read-only agents include additional shell restrictions for write-like patterns such as output redirection, command substitution, pipes, and command chains. If you create your own read-only agent, prefer an explicit deny fallback and allow only the commands you trust: ```yaml diff --git a/packages/kilo-docs/pages/deploy-secure/security-reviews.md b/packages/kilo-docs/pages/deploy-secure/security-reviews.md index 68d6677aa083..956ee29f00b2 100644 --- a/packages/kilo-docs/pages/deploy-secure/security-reviews.md +++ b/packages/kilo-docs/pages/deploy-secure/security-reviews.md @@ -375,7 +375,7 @@ SLA notifications require both SLA tracking and SLA notifications to be enabled. ## Notification delivery -Security Agent currently sends notifications only by email. +Security Agent sends notifications by email and as mobile push notifications. When a notification email is sent, the recipient also receives a push in the Kilo mobile app with the same new-finding, SLA warning, or SLA breach content; tapping it opens the finding. Push delivery requires the **Security findings** category in the app's [notification preferences](/docs/code-with-ai/platforms/mobile#notification-preferences), which is on by default — turning it off suppresses only the push, never the email. Notification kinds: diff --git a/packages/kilo-docs/pages/gateway/api-reference.md b/packages/kilo-docs/pages/gateway/api-reference.md index 30b1a4fc02f7..b9571e3243db 100644 --- a/packages/kilo-docs/pages/gateway/api-reference.md +++ b/packages/kilo-docs/pages/gateway/api-reference.md @@ -312,6 +312,39 @@ Returns an OpenAI-compatible model list: } ``` +## List model endpoints + +Retrieve the per-provider endpoint metadata for a single model, in an OpenRouter-compatible shape. + +``` +GET /models/{provider}/{model}/endpoints +``` + +No authentication required. The route is also available under `/api/gateway/v1/models/{provider}/{model}/endpoints` for OpenRouter compatibility. + +### Response + +```json +{ + "data": { + "id": "deepseek/deepseek-v4-pro", + "name": "DeepSeek: DeepSeek V4 Pro", + "endpoints": [ + { + "provider_name": "DeepSeek", + "context_length": 1048576, + "pricing": { + "prompt": "0.000000870000", + "completion": "0.000001740000" + } + } + ] + } +} +``` + +Endpoint pricing reflects the same applied Kilo pricing as the model list: provider discounts are normalized and Kilo custom pricing is applied to every priced endpoint. Unknown models return `404` with `{ "error": { "message": "Not Found", "code": 404 } }`. Responses are cached at the CDN for 60 seconds. + ## List providers Retrieve the list of available providers. diff --git a/packages/kilo-docs/pages/getting-started/settings/auto-approving-actions.md b/packages/kilo-docs/pages/getting-started/settings/auto-approving-actions.md index 070fc59df500..395ca65496c9 100644 --- a/packages/kilo-docs/pages/getting-started/settings/auto-approving-actions.md +++ b/packages/kilo-docs/pages/getting-started/settings/auto-approving-actions.md @@ -49,7 +49,7 @@ The Auto Approve tab lists the following tool-specific permissions. Some tools a | `glob` | File pattern matching / searching by name | | `grep` | Searching file contents by regex | | `task` | Launching sub-agents | -| `agent_manager` | Starting Agent Manager sessions, inspecting managed sessions, and prompting an existing managed session | +| `agent_manager` | Starting Agent Manager sessions, inspecting managed sessions, and prompting or stopping an existing managed session | | `skill` | Loading specialized skills | | `lsp` | Language server protocol operations | | `todoread` / `todowrite` | Reading and updating the todo list | @@ -70,7 +70,13 @@ Use the shield button in the prompt controls to toggle runtime auto-approve for Expand **Manage Auto-Approve Rules** to add commands or patterns to your allowed or denied lists. These rules are then appended to the bottom of the approval rules in settings and the config file. -For the `agent_manager` tool, runtime approvals use the requested capability as the pattern: `worktree`, `local`, `overview`, or `prompt`. Prompting an existing managed session always requires an explicit `prompt` approval the first time, even when a broad Agent Manager allow rule already exists. +For the `agent_manager` tool, runtime approvals use the requested capability as the pattern: `worktree`, `local`, `overview`, `prompt`, or `stop`. Prompting or stopping an existing managed session always requires an explicit `prompt` or `stop` approval the first time, even when a broad Agent Manager allow rule already exists. + +## Why a Tool Ran Without a Prompt + +Expanding a tool call in the chat shows how it was approved: **Auto-approved** when a rule allowed it, or **Approved by you** when you confirmed it manually. An auto-approved call also names the source of the deciding rule — the agent, the project config, your global config, a session auto-approve rule, auto-approve (YOLO) mode, or the defaults. When a specific pattern rule made the decision, the line includes the matched permission and pattern (for example, `bash` rule `git *`). + +Because the last matching rule wins, the source shown may not be the rule you expected — use this line to see which rule actually allowed the call. ## MCP Tool Permissions diff --git a/packages/kilo-docs/pages/getting-started/settings/index.md b/packages/kilo-docs/pages/getting-started/settings/index.md index 7a32691755bc..4d157085284f 100644 --- a/packages/kilo-docs/pages/getting-started/settings/index.md +++ b/packages/kilo-docs/pages/getting-started/settings/index.md @@ -99,6 +99,20 @@ Terminal command blocks stay expanded by default in the VS Code chat UI. Choose Valid values are `expanded` and `collapsed`. +### Token Throughput + +The chat can show how fast the model generates text, in tokens per second. Enable **Show Token Throughput** in the Display tab, or set `kilo-code.new.showTokenThroughput` in your VS Code settings: + +```json +{ + "kilo-code.new.showTokenThroughput": true +} +``` + +When enabled, the generation rate appears on assistant messages and in the task header's Tokens row. The rate counts output and reasoning tokens over active generation time — tool execution and waiting time are excluded. The setting is off by default, and the rate stays hidden for turns where the backend reports no metrics. + +The CLI shows the same metric as a **Generation speed** row in the usage sidebar whenever metrics are available; no setting is required there. + ### Markdown Diff Rendering Markdown files in Kilo diff viewers can be shown as rendered Markdown instead of a raw text diff. Use the eye/code toggle in a Markdown file header, or set `kilo-code.new.diff.renderMarkdown` to `true` to render Markdown files by default.