diff --git a/packages/kilo-docs/lib/nav/collaborate.ts b/packages/kilo-docs/lib/nav/collaborate.ts index 3ac1ded4843a..6dbe2410be6b 100644 --- a/packages/kilo-docs/lib/nav/collaborate.ts +++ b/packages/kilo-docs/lib/nav/collaborate.ts @@ -8,6 +8,10 @@ export const CollaborateNav: NavSection[] = [ { href: "/collaborate/sessions-sharing", children: "Sessions & Sharing" }, ], }, + { + title: "Account", + links: [{ href: "/collaborate/data-exports", children: "Data Exports" }], + }, { title: "Kilo for Teams", links: [ diff --git a/packages/kilo-docs/pages/ai-providers/minimax.md b/packages/kilo-docs/pages/ai-providers/minimax.md index d2a9fda44c4b..6de95204307a 100644 --- a/packages/kilo-docs/pages/ai-providers/minimax.md +++ b/packages/kilo-docs/pages/ai-providers/minimax.md @@ -65,3 +65,4 @@ Then set your default model: - **Performance:** MiniMax M2.1 emphasizes fast inference, strong coding ability, and exceptional tool-calling performance. - **Context Window:** MiniMax models support ultra-long context windows suitable for large codebases and agent workflows. - **Pricing:** Pricing varies by model, with input costs ranging from $0.20 to $0.30 per million tokens and output costs from $1.10 to $2.20 per million tokens. Refer to the MiniMax documentation for the most current pricing information. +- **Token Plan usage:** If you configure a MiniMax coding plan (Token Plan) key, its remaining quota appears under **Plans & usage** in the VS Code profile view and via `/usage` in the CLI. diff --git a/packages/kilo-docs/pages/ai-providers/openai-compatible.md b/packages/kilo-docs/pages/ai-providers/openai-compatible.md index 0d61692eb886..68d9c2946a6b 100644 --- a/packages/kilo-docs/pages/ai-providers/openai-compatible.md +++ b/packages/kilo-docs/pages/ai-providers/openai-compatible.md @@ -39,12 +39,12 @@ Use Kilo Code's native `azure` provider instead. If your Azure deployment name d - **Provider API** — Select **OpenAI Compatible** for an OpenAI Chat Completions-compatible endpoint. Use **OpenAI Responses** for OpenAI and xAI models. Use **Anthropic Messages** for Anthropic and MiniMax models. - **Base URL** — The provider's API endpoint (e.g., `https://api.your-provider.com/v1`). Kilo auto-fetches available models when a valid URL exposes an OpenAI-compatible models endpoint. For Azure OpenAI GPT-5, use the native `azure` provider instead. - **API key** — Your API key. Optional — leave empty if authentication is handled via headers. -- **Models** — Add models manually or select from the auto-fetched list (see [Automatic Model Detection](#automatic-model-detection) below). +- **Models** — Add models manually or select from the auto-fetched list (see [Automatic Model Detection](#automatic-model-detection) below). Each model has **Reasoning** and **Image** checkboxes, with **Toggle reasoning for all** and **Toggle image for all** buttons to flip every model at once. - **Headers** (optional) — Custom HTTP headers as key-value pairs. 4. Click **Submit** to save. The provider's models appear in the model picker. -For additional model configuration (token limits, tool calling, variants), edit the `kilo.jsonc` config file directly — see the **CLI** tab or the [Custom Models](/docs/code-with-ai/agents/custom-models) guide. +For additional model configuration (token limits, tool calling, variants), edit the `kilo.jsonc` config file directly — when editing a saved provider, click **Edit advanced settings in the JSON config file** to jump straight to its config entry. See the **CLI** tab or the [Custom Models](/docs/code-with-ai/agents/custom-models) guide. ### Automatic Model Detection diff --git a/packages/kilo-docs/pages/automate/agent-manager.md b/packages/kilo-docs/pages/automate/agent-manager.md index 102d9f6461ee..b249ec34f607 100644 --- a/packages/kilo-docs/pages/automate/agent-manager.md +++ b/packages/kilo-docs/pages/automate/agent-manager.md @@ -104,6 +104,37 @@ Hovering over a worktree item shows a card with additional PR details: PR badges update automatically in the background. The active worktree refreshes frequently, while other worktrees sync periodically to keep badges current. Polling pauses when the Agent Manager panel is hidden. +### PR Panel + +When the selected worktree branch has an associated pull request, the toolbar shows a pull-request button (labeled with the PR number) next to the diff button. Click it to open a panel alongside the chat with: + +- The PR title, number, and state, plus the branch it merges into its parent branch +- A summary of CI checks, review status, and unresolved comments +- Reviewers and their review states +- The PR description +- CI checks with per-check status and duration, each with a link to open the check in the browser +- Review comments, each with the diff hunk it was left on and actions to send the comment to the agent, resolve the thread, copy it, open the file, or open it on GitHub + +Click the link icon in the panel header to open the PR in your browser. The panel refreshes through the same `gh` polling as the badges, so it requires the GitHub CLI to be installed and authenticated. + +#### Review comments + +Each review comment shows the author, the file and line it applies to, and the code diff hunk the comment was left on, so you can read feedback without opening the PR in a browser. Threads include their replies. + +Unresolved threads stay expanded. Threads left on outdated code start collapsed and are marked **Outdated**. Resolved threads collapse into a **Resolved (N)** group at the bottom of the comments section — expand the group to see them, and use **Unresolve** on a comment to reopen its thread. + +Each comment card offers these actions: + +- **Send to agent** — sends the comment, with its diff context and replies, to the agent as a structured review comment so it can address the feedback in the worktree. Sent comments show a **Sent** badge. +- **Resolve** / **Unresolve** — resolves or reopens the corresponding GitHub review thread directly from the panel. Resolving writes to GitHub through `gh`; if it fails (for example, because of missing permissions), an error is shown on the comment. +- **Copy comment** — copies the comment as Markdown. +- **Open file** — opens the file the comment applies to in the editor. +- **Open on GitHub** — opens the comment on GitHub in your browser. + +To hand all outstanding feedback to the agent at once, click **Send N unresolved to agent** at the top of the comments section. When a terminal is active in the side panel, the button sends the comments to that terminal instead. + +Click the comments row in the PR summary at the top of the panel to jump straight to the comments section. On long PRs, a floating **↑** button appears once you scroll down and scrolls back to the top. + ### Creating a New Worktree Session 1. Click **New Worktree** or press `Cmd+N` (macOS) / `Ctrl+N` (Windows/Linux) to open the new worktree dialog @@ -243,10 +274,45 @@ The Branch scope also has a base-branch picker next to it for overriding the com See [Agent Manager Workflows](/docs/automate/agent-manager-workflows#merging-worktree-and-parent-branch) for the full integration story, including when to apply locally vs. merge directly vs. open a pull request. +### Edit Previews + +Edit, write, and `apply_patch` changes made in an Agent Manager session open in the side panel instead of a separate editor tab. Clicking the tool's file name expands the change inline in the transcript, while the open-diff action shows the full change in the panel, sharing the inspector area with the diff, PR, subagent, and terminal views. + +- Multi-file `apply_patch` payloads open every changed file, each sized to its own rendered diff +- The preview keeps the unified or split diff style you last selected in the review view + +Outside Agent Manager, edit previews continue to open in a standalone diff editor tab. + +## Subagents Panel + +When an agent delegates work to a subagent, the subagent's tool block in chat shows an **Open sub-agent in panel** button. Clicking it opens the child session in the **Subagents** panel, which shares the side inspector area with the diff, PR, documents, and terminal views. + +- Each opened subagent gets its own tab, so you can inspect several child sessions in parallel while the parent session keeps running +- Drag tabs to reorder them, close a tab with its close button or middle-click, or right-click a tab for **Close others** +- `Cmd+W` (macOS) / `Ctrl+W` (Windows/Linux) closes the active subagent tab while the panel is visible +- The subagent chat is read-only — it shows the child's transcript without taking over the parent session + +Subagents launched in background mode also appear in a collapsible strip in the chat header, so they stay visible after their task card scrolls away. See [Background agents](/docs/code-with-ai/agents/chat-interface#background-agents) for details. + +## Documents Panel + +Markdown and text files referenced in chat — such as plan files and other generated artifacts — open in a dedicated **Documents** view instead of a plain editor, so you can read and review them without leaving the session view. + +- **Agent Manager:** documents open as per-worktree tabs in the side panel, sharing the inspector area with the diff, PR, subagent, and terminal views. A documents button appears in the toolbar once the current worktree has open documents. +- **Sidebar:** documents open in a **Documents** editor tab. + +The view renders Markdown by default, with a toggle to show the raw source. Images render inline; binary and oversized files are rejected with an explanatory message instead of loading. Changed Markdown files in the diff panel also have a **Preview document** button in the file header. + +### Review comments + +Select lines in a rendered document to draft an inline comment. Comments can be edited or deleted, and sent to the active session individually with **Send to chat** or all at once with **Send all to chat** (`Cmd+Enter` on macOS / `Ctrl+Enter` on Windows/Linux), so the agent can address your feedback on the document. + ## Terminals Each session has a dedicated terminal rooted in the session's worktree directory. Press `Cmd+/` (macOS) / `Ctrl+/` (Windows/Linux) to focus the terminal for the active session. If the embedded terminal is already visible but the prompt has focus, the same shortcut focuses the terminal without hiding it. Press it again while the terminal has focus to hide the panel. +Type `@terminal` in the Agent Manager chat to attach the focused terminal's output to your message, including embedded Run and Setup terminal tabs. In the sidebar, `@terminal` uses your active VS Code terminal instead. + ### Choosing the Terminal Destination The toolbar's terminal button is a split button: click it to open a terminal, or use its dropdown to choose where terminals open: 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 d8a00803693d..8f1927de5579 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 @@ -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. +### Background agents + +When the agent delegates work to subagents in the background, a collapsible strip in the chat header lists each background agent with its status — Running, Done, Cancelled, or Error — so they stay visible after their task card scrolls away. The same strip appears in the sidebar and in Agent Manager, scoped to the current session. + +Expand the strip to: + +- **Open** an agent's transcript — a read-only sub-agent viewer tab in the sidebar, or the Subagents panel in Agent Manager +- **Stop** a running agent, or **Dismiss** finished agents individually or with **Clear finished** +- Spot agents waiting on you — permission and question requests are flagged with **Needs input** + +While a foreground subagent is blocking the session, a **Continue in background** button in the strip lets it finish asynchronously instead. + {% /tab %} {% tab label="CLI" %} 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 b0a7ec85091e..0406dd4745fa 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 @@ -23,12 +23,14 @@ Type `@` in the chat input to get autocomplete suggestions. You can mention: | Mention | Description | Example | |---|---|---| | **File** | Attach a file's contents to your message | `@src/utils.ts` | -| **Terminal** | Include your active VS Code terminal output | `@terminal` | +| **Terminal** | Include terminal output | `@terminal` | | **Git Changes** | Attach uncommitted working-tree diffs and new files | `@git-changes` | | **Past chats** | Add a previous session's chat history 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. +In the sidebar, `@terminal` captures your active VS Code terminal. In an [Agent Manager](/docs/automate/agent-manager) session, it captures the focused Agent Manager terminal instead, including embedded Run and Setup terminal tabs. + ### Referencing Past Chats Choosing **Past chats** from the `@` menu opens a searchable picker of sessions in the current workspace and related Git worktrees, including Agent Manager worktrees, ordered by recency. Search matches session titles and worktree names. Selecting a session inserts a highlighted mention token; when you send the message, that session's current chat history is added as context so the agent can build on the earlier conversation. Clicking the mention token opens the referenced session. diff --git a/packages/kilo-docs/pages/code-with-ai/agents/custom-models.md b/packages/kilo-docs/pages/code-with-ai/agents/custom-models.md index 20ad70990853..700cce1fffbb 100644 --- a/packages/kilo-docs/pages/code-with-ai/agents/custom-models.md +++ b/packages/kilo-docs/pages/code-with-ai/agents/custom-models.md @@ -35,12 +35,12 @@ Add custom models under the `provider..models` key in your config f - **Provider API** — The protocol used by the provider. Use **OpenAI Responses** for OpenAI and xAI models. Use **Anthropic Messages** for Anthropic and MiniMax models. **OpenAI Compatible** is the default for other OpenAI Chat Completions-compatible endpoints. - **Base URL** — The provider's API endpoint (e.g., `https://api.myprovider.com/v1`). When a valid URL is entered, Kilo automatically fetches available models from the endpoint if it exposes an OpenAI-compatible models endpoint. - **API key** — Your provider's API key. Optional — leave empty if you manage authentication via headers. -- **Models** — Add models manually by ID and display name, or select from the auto-fetched list that appears after entering a valid base URL. +- **Models** — Add models manually by ID and display name, or select from the auto-fetched list that appears after entering a valid base URL. Each model has **Reasoning** and **Image** checkboxes; use **Toggle reasoning for all** and **Toggle image for all** above the list to flip every model at once. - **Headers** (optional) — Add custom HTTP headers as key-value pairs if your provider requires them. 4. Click **Submit** to save. Your custom provider appears in the provider list and its models become available in the model picker. -To edit an existing custom provider, click the **Edit provider** button next to it in the connected providers section. +To edit an existing custom provider, click the **Edit provider** button next to it in the connected providers section. From the edit dialog, click **Edit advanced settings in the JSON config file** to open the provider's entry in `kilo.jsonc` for options the dialog doesn't expose, such as `variants`. For additional model configuration (token limits, tool calling, reasoning, variants), edit the `kilo.jsonc` config file directly — see the **CLI** tab for the format. @@ -93,6 +93,8 @@ All fields are optional. When a model ID matches one already in the built-in cat | `provider` | `object` | Override `{ npm?, api? }` — the AI SDK package or base API URL for this model | | `variants` | `object` | Named variant configurations (e.g., different reasoning efforts) | +When a model has `reasoning: true` on a provider using the OpenAI Compatible, OpenAI Responses, or Anthropic Messages API and no variants are configured or detected, Kilo automatically offers the standard reasoning efforts — `none`, `low`, `medium`, `high`, `xhigh`, and `max` — in the variant selector. Any `variants` you configure take precedence over this automatic set. + ### Modalities (modalities) The `modalities` object declares which content types the model can receive and produce. It is optional — omit it to use defaults from the catalog or fallback to text-only. When `modalities` is provided, both `input` and `output` arrays are required. Each array can include `text`, `image`, `audio`, `video`, or `pdf`. diff --git a/packages/kilo-docs/pages/code-with-ai/features/speech-to-text.md b/packages/kilo-docs/pages/code-with-ai/features/speech-to-text.md index 0baf2cb32d7a..11bc9fd27f3c 100644 --- a/packages/kilo-docs/pages/code-with-ai/features/speech-to-text.md +++ b/packages/kilo-docs/pages/code-with-ai/features/speech-to-text.md @@ -41,7 +41,7 @@ Enable and sign in to the Kilo provider to use voice input in prompt fields. Req ## Choose a model -You can optionally choose a transcription model in **Settings** > **Models** > **Speech to Text Model**. Kilo stores this choice as `experimental.speech_to_text_model` in your global Kilo CLI config (`~/.config/kilo/kilo.jsonc`). +You can optionally choose a transcription model in **Settings** > **Models** > **Speech to Text Model**. Kilo stores this choice as `experimental.speech_to_text_model` in your global Kilo CLI config (`~/.config/kilo/kilo.jsonc`). If you have not chosen a model, transcription uses NVIDIA Parakeet TDT 0.6B v3. The model list is discovered from the Kilo Gateway and reflects the transcription models available to your account or organization, so newly available models appear automatically. 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 c8d0beb219d8..e60701c8fcba 100644 --- a/packages/kilo-docs/pages/code-with-ai/platforms/cli.md +++ b/packages/kilo-docs/pages/code-with-ai/platforms/cli.md @@ -136,6 +136,7 @@ The `kilo console` command and its browser interface are deprecated and will be | Command | Aliases | Description | |---|---|---| | `/profile` | `/me`, `/whoami` | View your Kilo Gateway profile | +| `/usage` | `/plans`, `/quota` | View provider plans and quota windows (Kilo Pass, Kilo-managed plans, and direct MiniMax Token Plans) | | `/teams` | `/team`, `/org`, `/orgs` | Switch between Kilo Gateway teams | | `/remote` | - | Toggle remote mode for Cloud Agent access | @@ -642,6 +643,31 @@ kilo --continue - Cannot be used with a prompt argument - Only works when there's at least one previous session in the workspace +## Git Worktrees + +Run Kilo in an isolated git worktree instead of your main checkout. Worktrees are created at `.kilo/worktrees/` inside the primary checkout with a matching branch, and the directory is added to `.git/info/exclude` so it stays out of `git status`. This is the same location the VS Code extension's [Agent Manager](/docs/automate/agent-manager) uses, so both surfaces share worktrees. + +```bash +# Create (or reuse) a worktree named "feature-x" and start the TUI in it +kilo --worktree feature-x +``` + +Names are normalized to a lowercase slug. Reusing a name opens the existing worktree. Run `--worktree` from the primary checkout — creating a worktree from inside another worktree is refused. + +### Managing Worktrees + +| Command | Description | +|---|---| +| `kilo worktree create ` | Create (or reuse) a worktree and print its path | +| `kilo worktree list` | List the current project's worktrees | +| `kilo worktree remove ` | Remove a worktree, deleting its branch too | + +`kilo worktree create` prints only the resolved path on stdout, so scripts can do `cd "$(kilo worktree create foo)"`. + +### Resuming Sessions Across Worktrees + +Resuming an explicit session with `--session ` starts Kilo in the worktree where that session was originally created, if the worktree still exists. + ## Remote Connections Remote Connections let you access your local CLI sessions from the Cloud Agents web interface. Requires [Kilo Gateway](/docs/gateway) connection. 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 02d489552e82..62b2361f5540 100644 --- a/packages/kilo-docs/pages/code-with-ai/platforms/jetbrains.md +++ b/packages/kilo-docs/pages/code-with-ai/platforms/jetbrains.md @@ -9,13 +9,51 @@ description: "Using Kilo Code in JetBrains IDEs" {% partial file="install-jetbrains.md" /%} +## Agent Manager (Beta) + +The Kilo Code tool window has two tabs: **AI Chat** for the regular session view and **Agent Manager** (marked Beta) for running several agents in parallel, each isolated in its own git worktree. Worktrees live under `.kilo/worktrees/` in your project, so agent work stays off your current branch until you merge it. See [Agent Manager](/docs/automate/agent-manager) for the general concepts. + +### Creating Worktrees + +1. Open the **Agent Manager** tab in the Kilo Code tool window. +2. Click **New Worktree** in the tool window toolbar. +3. Describe the task — the dialog uses the standard prompt with mode, model, and effort controls — and optionally set a worktree name, branch name, and base branch. +4. Click **Create Worktree**. The agent starts working in a session inside the new worktree. + +### Managing Worktrees and Sessions + +- Each worktree's sessions open in dedicated editor tabs, and a worktree can hold multiple sessions. +- Hover a worktree or session row to rename or delete it. Deleting a worktree removes the working tree and its branch. +- Rows show activity badges (running, waiting, idle), change counts, and ahead/behind counts against the base branch. Click the stats to open the diff against the base branch. +- Worktrees show pull request badges with the PR state when Git and the [GitHub CLI](https://cli.github.com/) are installed and authorized; click a badge to open the PR in your browser. A banner in the panel tells you when either needs to be installed or authorized. +- Row actions also open a terminal rooted at the worktree, or the whole worktree in a new IDE window. + +## Editor context in chat + +When you send a chat message, Kilo automatically includes context from the IDE so the agent can see what you're working on: + +- The active file +- Your open and visible editor tabs +- The current text selection +- The default shell + +Files matched by `.kilocodeignore` are excluded (or by `.gitignore` plus `.env` files when the workspace has no `.kilocodeignore`). To turn this off, open **Settings → Tools → Kilo Code**, go to **Context**, and disable **Auto-Include Editor Context**. + +Selected text and attached files appear as compact attachment chips inside your sent message. Click a chip to open the referenced file or selection. + +## Unsupported remote workspaces + +Kilo runs its agent runtime on your host machine. When a project is opened through a Dev Container or WSL virtual filesystem, the IDE sees paths the host-side runtime cannot reach. Kilo marks these workspaces as unsupported and shows a **Workspace not supported** notice in the session panel instead of loading unreachable project data. To work on such a project, open it with JetBrains Gateway so Kilo runs next to your code, or open the project directly from your local filesystem. + ## 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. +Open **Settings → Tools → Kilo Code** to configure the plugin, or click the gear icon in the Kilo Code tool window. 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. +- **Context** — toggle auto-compaction, set the auto-compaction limit (the percentage of the model window that triggers compaction), enable pruning of old tool outputs, manage file watcher ignore patterns, and toggle **Auto-Include Editor Context** for chat prompts. 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 → Workflows** — open, edit, and delete workflow files (custom slash commands). Edits and deletions are staged until you apply them, then the workflow files are saved or removed and command discovery is reloaded. See [Workflows](/docs/customize/workflows) for the workflow file format. +- **Advanced → Logging** — configure diagnostic logging: set the log level and the message preview mode and size, with Apply/Reset. The active diagnostic log is `kilo.log` (rotated to `kilo.log.0` / `kilo.log.1`); use the reveal action to open it in your file manager. In remote development, you can reveal the client log locally and download the backend log from the remote host. ## Reviewing session changes @@ -23,6 +61,18 @@ Open **Settings → Tools → Kilo Code** to configure the plugin. The JetBrains - **Branch comparison** — when the workspace differs from the base branch, the session header shows a changes badge. Click it (**Compare with base branch**) to open a diff editor with a file tree and per-file navigation. - **Stale diff refresh** — diff views detect when files change on disk and offer a **Refresh** action to reload them instead of showing outdated content. +## Sub-agent sessions in editor tabs + +When the agent delegates work to a sub-agent with the task tool, hover the task card header and click **Open sub-agent in editor** to open the child session in a dedicated editor tab. The tab streams the child session's transcript but is read-only — it has no prompt input and no session controls, so you can inspect the sub-agent's work without taking over the parent session. + +Opening the same sub-agent again focuses its existing tab instead of creating a duplicate. Task cards inside a read-only sub-agent tab can open their own child sessions in further editor tabs, so nested delegation stays navigable. + ## Permission requests When the agent asks for several approvals at once, permission requests queue up instead of replacing each other. Resolve the current request to advance to the next one in the queue. + +When the agent asks to edit files, the permission prompt shows the proposed changes before you allow or reject them. Expand the diff inline, hover for a popup preview, or open the changes in the IDE's diff editor. + +## Approval reasons on tool cards + +Expanded tool cards show a shield footer explaining why and how the call was allowed — for example "Auto-approved by your global config" or "Approved by you" — including the matched rule or agent and a note when the file sits outside your workspace. Control the footer with the **Show approval reason on tool cards** toggle at the bottom of **Settings → Tools → Kilo Code → Auto-Approve** (on by default). 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 90ca0253b7a7..b2dae166327f 100644 --- a/packages/kilo-docs/pages/code-with-ai/platforms/mobile.md +++ b/packages/kilo-docs/pages/code-with-ai/platforms/mobile.md @@ -25,6 +25,7 @@ The mobile app lets you: - Clear the visible transcript of a remote CLI session with `/clear`. Clearing is client-side only, so it works on any CLI version; server history is kept and may reappear when you re-enter the session. - Rename a remote CLI session from the app or the CLI — renames sync in both directions. - Review GitHub pull requests end to end — diffs, checks, comments, and merging. +- See which pull request a session is working on — a tappable badge in the session detail header shows the PR number, state, and review decision. Tapping it opens the in-app PR review for GitHub PRs, or the browser for PRs on other platforms. - Start a new session on a connected `kilo remote` CLI instance with the **Run on** picker. ## Privacy and telemetry @@ -60,6 +61,12 @@ The new-session screen includes a **Run on** picker that chooses where your sess Remote sessions start with the mode and model selected on the new-session screen; older CLI versions that don't accept those fields fall back to their own defaults. The workspace is always the CLI's own checkout, so there is no repository selection — you type your first prompt in the chat after the session starts. The picker also appears in organization context, where the spawned session is attributed to the organization. +## Choosing a mode + +The mode picker — on the new-session screen and in an open session — lists the built-in modes first, then a **Custom modes** group with the custom agents available to your account (see [Custom Modes](/docs/customize/custom-modes)). Your pick stays on the composer when you send, and applies to both Cloud Agent sessions and remote sessions on a connected `kilo remote` CLI instance. + +A custom mode that pins a model locks the model picker to that model for as long as the mode is selected. If a custom mode shares a slug with a built-in mode, the built-in mode wins and the custom one is hidden. + ## 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. @@ -85,13 +92,15 @@ While the CLI is connected, the agent can deliver a file to your phone with the ## Reviewing GitHub pull requests -Open a pull request from a PR link to review it without leaving the app: +The PR review home lists pull requests that are waiting for your review. You can also open any pull request by pasting its link. Recently opened PRs appear on the home screen; an entry that failed to open shows a **Retry** button, and every entry has a **Remove** button. + +Each pull request opens with: - **Overview** — PR state and CI checks at a glance. -- **Files** — syntax-highlighted diffs with line-level comments and a file navigator. +- **Files** — syntax-highlighted diffs with line-level comments and a file navigator that loads files as you scroll, so large pull requests open quickly. - **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. +Comments you leave are collected into a pending review on your device and submitted to GitHub as a single review. If the pull request changes after you queue comments, the outdated comments are marked and stay in your queue so you can edit or remove them; when you submit, only comments that still match the current pull request are sent. 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. 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 3f4b6f5b3435..86d3b8002f6e 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 @@ -34,6 +34,7 @@ Key features include: - **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 +- **Plans & usage** — The profile view shows your provider plan quota, including Kilo Pass credits, Kilo-managed subscriptions, and direct MiniMax Token Plans ## Shared Settings diff --git a/packages/kilo-docs/pages/collaborate/data-exports.md b/packages/kilo-docs/pages/collaborate/data-exports.md new file mode 100644 index 000000000000..aab8da7f2a0a --- /dev/null +++ b/packages/kilo-docs/pages/collaborate/data-exports.md @@ -0,0 +1,38 @@ +--- +title: "Data Exports" +description: "Download an archive of the data stored with your Kilo account or organization" +--- + +# Data Exports + +The [Data exports](https://app.kilo.ai/data-exports) page on the Kilo dashboard lets you download an archive of the data stored with your account or with one of your organizations. + +## Personal Exports + +A personal export covers your own account data. It includes your App Builder project titles and the prompt prefixes recorded with your usage history. + +1. Open the [Data exports](https://app.kilo.ai/data-exports) page +2. Request a new export — large accounts can take a while to generate +3. Kilo emails you when the export is ready + +Downloads expire 24 hours after the ready email. If an export has expired, request a new one. You can request one new export per hour. + +### Download Confirmation Codes + +Because an export is a single archive of everything stored with your account, downloading one takes an extra verification step beyond being signed in: + +1. Click **Download** on a ready export +2. Kilo emails a 6-digit confirmation code to your account email address +3. Enter the code in the dialog to start the download + +Each code is single-use and expires after the period shown in the dialog. Use **Resend** in the dialog to receive a new code. This step protects your exports if someone gains access to a logged-in session: downloading the archive also requires access to your inbox. + +## Organization Exports + +The **Organization exports** card lists each organization you may export. An organization export covers work members did in the organization's context, plus the data the organization owns outright. It does not include members' personal activity. + +Selection is by organization, not by membership: a former member's organization work is included, and a current member's personal work is not. + +Only one export per organization runs at a time — two admins requesting an export share one job rather than generating duplicate copies. + +The export history shows a badge on each row indicating whether it is a personal or an organization export, and each export file's header records which kind of export it contains. diff --git a/packages/kilo-docs/pages/collaborate/enterprise/groups.md b/packages/kilo-docs/pages/collaborate/enterprise/groups.md index ae44c69f1d05..3d8bbbcd9f98 100644 --- a/packages/kilo-docs/pages/collaborate/enterprise/groups.md +++ b/packages/kilo-docs/pages/collaborate/enterprise/groups.md @@ -47,10 +47,10 @@ Policies compose in layers: - **Default policies** apply to every direct member before their group policies are combined. Manage them from the **Group policies** card on the Groups page. - **Group policies** apply to the group's members. A member in several groups gets the union of those grants. -A member's effective access is the organization ceiling intersected with the default policies plus the union of their group grants: +A member's effective access is the organization-wide baseline plus the default policies and the union of their group grants: - Absence of configuration is never a restriction — if no default or group policy applies to a member, their access is unchanged. -- Group grants cannot exceed the organization-wide [Model Access Controls](/docs/collaborate/enterprise/model-access-controls). Models and providers blocked there stay blocked for everyone, and the policy editor marks out-of-ceiling entries as unavailable. +- Group grants are additive: a group can grant models or providers beyond the organization-wide [Model Access Controls](/docs/collaborate/enterprise/model-access-controls) baseline, and the policy editor shows the full provider and model catalog. - Only an explicit **None** mode, or a **Selected** mode with nothing selected, results in no access. Policy changes are enforced everywhere members use models, including the extension, the CLI, autocomplete, and the Slack, Discord, Linear, and GitHub integrations. diff --git a/packages/kilo-docs/pages/collaborate/enterprise/model-access-controls.md b/packages/kilo-docs/pages/collaborate/enterprise/model-access-controls.md index b160c860470e..4f2e5ebbfc08 100644 --- a/packages/kilo-docs/pages/collaborate/enterprise/model-access-controls.md +++ b/packages/kilo-docs/pages/collaborate/enterprise/model-access-controls.md @@ -73,6 +73,7 @@ Use filters to find the models or providers you want to block: - Only **Owners** can modify model access controls. - Individual users cannot override organization-level restrictions. +- Enterprise requests must use an exact model ID from the current gateway catalog. Unregistered aliases and catalog entries without inference endpoints (for example, `openrouter/free`) are rejected and don't appear in the organization model selectors. Kilo's managed latest aliases (such as `~anthropic/claude-sonnet-latest`) are not available to Enterprise organizations: they don't appear in organization model selectors, requests that use them are rejected, and model blocks apply to them. Non-Enterprise users can still use these aliases. - Blocking a provider blocks all its models, including models added by that provider in the future. - Unblocking a provider immediately restores access to all its models. -- To grant models to specific sets of members instead of the whole organization, use [Groups](/docs/collaborate/enterprise/groups). These organization-wide controls remain a hard ceiling that group grants cannot exceed. +- To grant models to specific sets of members instead of the whole organization, use [Groups](/docs/collaborate/enterprise/groups). Group policies are additive on top of this organization-wide baseline — a group can grant its members access to models or providers blocked here. diff --git a/packages/kilo-docs/pages/collaborate/index.md b/packages/kilo-docs/pages/collaborate/index.md index 22ff218be961..97cd06f7db9c 100644 --- a/packages/kilo-docs/pages/collaborate/index.md +++ b/packages/kilo-docs/pages/collaborate/index.md @@ -18,6 +18,10 @@ Sessions are your platform-agnostic interaction with Kilo. They remember your re - Share read-only links with teammates - Fork shared sessions to create your own copy +## Account + +- [**Data Exports**](/docs/collaborate/data-exports) — Download an archive of your account or organization data + ## Teams Kilo Code's paid plans provide powerful team management features: diff --git a/packages/kilo-docs/pages/collaborate/sessions-sharing.md b/packages/kilo-docs/pages/collaborate/sessions-sharing.md index 86c62f407aae..02aef5f92d20 100644 --- a/packages/kilo-docs/pages/collaborate/sessions-sharing.md +++ b/packages/kilo-docs/pages/collaborate/sessions-sharing.md @@ -5,7 +5,7 @@ description: "Share and collaborate on Kilo Code sessions" # Sessions & Sharing -A session is your platform-agnostic interaction with Kilo. It remembers your repository, your task, and the conversation so you can pause and resume work without losing context. Local sessions stay on the machine where Kilo runs. Account-backed cloud sessions are private to your account by default. You can optionally share a session link with others who can read or fork it. +A session is your platform-agnostic interaction with Kilo. It remembers your repository, your task, and the conversation so you can pause and resume work without losing context. Local sessions stay on the machine where Kilo runs. Account-backed cloud sessions are private to your account by default. ## What a session keeps for you @@ -31,11 +31,11 @@ This information lets Kilo show your recent sessions and continue right from the You can share a session with anyone via a link. A shared page: -1. Shows who shared it, the session title, and a short preview of the conversation +1. Shows who shared it, the session title, and the full chat transcript — tool calls and other agent work are collapsed into an expandable row so the conversation stays front and center 2. Provides safe “open in editor” or CLI actions so collaborators can try your session themselves -3. Lives at a URL like /share/SHARE_ID and is visible to anyone with the link +3. Lives at a URL like `https://app.kilo.ai/s/` and is visible to anyone with the link -Note: Sharing creates a read‑only copy for the public link so your private session remains in your account. +Note: Sharing creates a read‑only copy for the public link so your private session remains in your account. Each link carries a purpose-bound share token — unsharing the session invalidates the link, and links created before public sharing was re-enabled no longer work, so share the session again to generate a fresh link. ## Fork a shared session (make it yours) diff --git a/packages/kilo-docs/pages/collaborate/teams/billing.md b/packages/kilo-docs/pages/collaborate/teams/billing.md index 5b046926b2dc..11d1a2b166d5 100644 --- a/packages/kilo-docs/pages/collaborate/teams/billing.md +++ b/packages/kilo-docs/pages/collaborate/teams/billing.md @@ -72,7 +72,7 @@ Organizations can subscribe to [Kilo Pass](https://kilo.ai/pricing/kilo-pass) at - **One pass per seat** — purchased capacity always matches your paid seat count and adjusts automatically as seats are added or removed. - **Pooled credits** — each service window's Kilo Pass credits are issued to the organization's pool rather than to individuals. -- **Child organizations** — if your organization has direct child organizations, you can allocate part of the pooled capacity to each child. Anything not allocated stays with the parent organization. +- **Child organizations** — if your organization has direct child organizations, you can allocate part of the pooled capacity to each child from **Sub-organizations → Distribute funds** (see [Managing Sub-organizations](/docs/collaborate/teams/team-management#managing-sub-organizations)). Anything not allocated stays with the parent organization. Organization owners and billing managers can purchase Kilo Pass, manage allocations, and cancel from your organization's **Subscriptions** page on the [Organization dashboard](https://app.kilo.ai). Cancellation takes effect at the end of the current paid period. Regular members do not see these controls. diff --git a/packages/kilo-docs/pages/collaborate/teams/getting-started.md b/packages/kilo-docs/pages/collaborate/teams/getting-started.md index 126ebab154ca..b2e4a40f506e 100644 --- a/packages/kilo-docs/pages/collaborate/teams/getting-started.md +++ b/packages/kilo-docs/pages/collaborate/teams/getting-started.md @@ -40,7 +40,7 @@ seats for Kilo in the Teams or Enterprise subscription brings transparent AI cod 3. Enter team member email 4. Assign roles: - **Owner** - Full administrative access - - **Admin** - Team management without billing + - **Admin** - Full administrative access, except managing Owners - **Member** - Standard usage access {% image src="/docs/img/teams/invite-member.png" alt="Invite your team members" width="600" /%} diff --git a/packages/kilo-docs/pages/collaborate/teams/team-management.md b/packages/kilo-docs/pages/collaborate/teams/team-management.md index b78e67d9a60a..21dbe35c363b 100644 --- a/packages/kilo-docs/pages/collaborate/teams/team-management.md +++ b/packages/kilo-docs/pages/collaborate/teams/team-management.md @@ -5,20 +5,21 @@ description: "Add and manage team members in Kilo Code" # Managing Your Team -Every person on the team is an _Owner_ or a _Member_. +Every person on the team has one of four roles: _Owner_, _Admin_, _Billing Manager_, or _Member_. -Owners have full administrative oversight including billing, seat allocation, and model/provider selection. +- **Owners** have full administrative oversight including billing, seat allocation, and model/provider selection. Only Owners can grant the Owner role or change or remove an existing Owner's membership. +- **Admins** can do everything Owners can do — organization settings, billing, custom modes, SSO, and member management — except manage Owners. +- **Billing Managers** can manage billing and invite members. +- **Members** can use the Kilo Code extension and see data on the team's usage in the [usage dashboard](/docs/collaborate/teams/analytics). -Only Owners can conduct team management activities. - -Members can use the Kilo Code extension and see data on the team's usage in the [usage dashboard](/docs/collaborate/teams/analytics). +Owners and Admins can conduct team management activities. ## Adding Team Members 1. **Navigate to Organization Tab** in your profile page and click on the team you want to manage 2. **Click "Invite Member"** button 3. **Enter the team member's email address** -4. **Select initial role** (Member or Owner) +4. **Select initial role** (Owner, Admin, Billing Manager, or Member) 5. Click **Send Invitation** {% image src="/docs/img/team-management/invite-member.png" alt="invite-member" width="619" caption="invite-member" /%} @@ -39,7 +40,7 @@ Promote or demote team members as needed: 1. **Locate team member** in Organization tab 2. **Click role dropdown** next to their name -3. **Select new role** (Member, Owner) +3. **Select new role** (Owner, Admin, Billing Manager, or Member) 4. **Confirm change** 5. **Member receives email notification** @@ -51,6 +52,22 @@ The Organization tab shows: - **Pending invitations** awaiting acceptance - **Role distribution** across the team +## Managing Sub-organizations + +Organizations can contain direct **sub-organizations** — child organizations with their own members, credits, and policies. Owners and Admins can create sub-organizations from the [Organization dashboard](https://app.kilo.ai); Billing Managers and Members cannot. Hierarchies are one level deep: a sub-organization cannot itself have sub-organizations. + +Once your organization has child organizations, a **Sub-organizations** entry appears in the organization sidebar. Each sub-organization gets its own set of pages: + +- **Overview** — summary and management actions +- **People** — search and filter the sub-organization's members, roles, and pending invitations +- **Usage** — the sub-organization's AI usage +- **Credits** — credit balance and Kilo Pass reporting for the sub-organization +- **Distribute funds** — allocate part of the parent organization's pooled capacity to the sub-organization +- **Models** — model-policy visibility for the sub-organization +- **Permissions** — SSO and permission reporting + +Sub-organizations you have access to also appear in the organization switcher, so you can switch into a sub-organization's context directly. + ## Next Steps - [Understand billing and credits](/docs/collaborate/teams/billing) diff --git a/packages/kilo-docs/pages/gateway/api-reference.md b/packages/kilo-docs/pages/gateway/api-reference.md index 30b1a4fc02f7..ead422a3a918 100644 --- a/packages/kilo-docs/pages/gateway/api-reference.md +++ b/packages/kilo-docs/pages/gateway/api-reference.md @@ -240,7 +240,7 @@ The gateway automatically handles common tool calling issues: ## FIM completions -Fill-in-the-middle completions for code generation, powered by Mistral Codestral. +Fill-in-the-middle completions for code generation, powered by Mistral Codestral and Inception Mercury Edit 2. ``` POST /api/fim/completions @@ -250,7 +250,7 @@ POST /api/fim/completions ```typescript type FIMRequest = { - model: string // Must be a Mistral model (e.g., "mistralai/codestral-2508") + model: string // Supported models: "mistralai/codestral-2508", "inception/mercury-edit-2" prompt: string // Code before the cursor suffix?: string // Code after the cursor max_tokens?: number // Maximum tokens (capped at 1000) @@ -276,7 +276,7 @@ curl -X POST "https://api.kilo.ai/api/fim/completions" \ ``` {% callout type="info" %} -FIM completions are limited to Mistral models (model IDs starting with `mistralai/`). BYOK is supported with the `codestral` key type. +FIM completions support a fixed model catalog: `mistralai/codestral-2508` (Mistral) and `inception/mercury-edit-2` (Inception). Other model IDs and aliases (for example `mistralai/codestral-latest`) are rejected with a 400 error. BYOK is supported with the `codestral` key type. {% /callout %} ## List models diff --git a/packages/kilo-docs/pages/gateway/authentication.md b/packages/kilo-docs/pages/gateway/authentication.md index b879742436e4..5f1699a51ce4 100644 --- a/packages/kilo-docs/pages/gateway/authentication.md +++ b/packages/kilo-docs/pages/gateway/authentication.md @@ -83,6 +83,7 @@ BYOK lets you use your own provider API keys with the Kilo AI Gateway. When a BY | Anthropic | `anthropic` | | AWS Bedrock | `bedrock` | | Google AI Studio | `google` | +| Google Vertex AI | `vertex` | | Inception | `inception` | | OpenAI | `openai` | | MiniMax | `minimax` | @@ -93,6 +94,7 @@ BYOK lets you use your own provider API keys with the Kilo AI Gateway. When a BY | Chutes BYOK | `chutes-byok` | | Codestral (FIM) | `codestral` | | CrofAI | `crofai` | +| Eden AI | `edenai` | | Inceptron BYOK | `inceptron-byok` | | Kimi Code | `kimi-coding` | | Martian | `martian` | diff --git a/packages/kilo-docs/pages/gateway/index.md b/packages/kilo-docs/pages/gateway/index.md index cb6621d060b4..ba7c841718c1 100644 --- a/packages/kilo-docs/pages/gateway/index.md +++ b/packages/kilo-docs/pages/gateway/index.md @@ -18,7 +18,7 @@ The gateway works seamlessly with the [Vercel AI SDK](https://ai-sdk.dev), the [ - **Usage tracking**: Per-request cost and token tracking with microdollar precision - **Organization controls**: Model allow lists, provider restrictions, per-user daily spending limits, and balance management - **Tool calling**: Robust function/tool calling with automatic repair for deduplication and orphan cleanup -- **FIM completions**: Fill-in-the-middle code completions via Mistral Codestral +- **FIM completions**: Fill-in-the-middle code completions via Mistral Codestral and Inception Mercury Edit 2 ```typescript import { streamText } from "ai" diff --git a/packages/kilo-docs/pages/gateway/models-and-providers.md b/packages/kilo-docs/pages/gateway/models-and-providers.md index e7bcaced7ab1..228293122073 100644 --- a/packages/kilo-docs/pages/gateway/models-and-providers.md +++ b/packages/kilo-docs/pages/gateway/models-and-providers.md @@ -65,6 +65,7 @@ Several models are available at no cost, subject to rate limits: | `poolside/laguna-xs-2.1:free` | Poolside Laguna XS 2.1 | | `nvidia/nemotron-3-ultra-550b-a55b:free` | NVIDIA Nemotron 3 Ultra | | `tencent/hy3:free` | Tencent Hy3 | +| `meituan/longcat-2.0-free` | Meituan LongCat 2.0 | | `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/getting-started/byok.md b/packages/kilo-docs/pages/getting-started/byok.md index d3915372cba9..5b7c0e14cc99 100644 --- a/packages/kilo-docs/pages/getting-started/byok.md +++ b/packages/kilo-docs/pages/getting-started/byok.md @@ -44,6 +44,7 @@ These providers offer coding-focused subscriptions or dedicated endpoints. Bring - BytePlus Coding Plan - Chutes BYOK - CrofAI +- Eden AI - Inceptron BYOK - Kimi Code - Martian diff --git a/packages/kilo-docs/pages/getting-started/settings/index.md b/packages/kilo-docs/pages/getting-started/settings/index.md index 6c4cf75b829b..ad865e33ff87 100644 --- a/packages/kilo-docs/pages/getting-started/settings/index.md +++ b/packages/kilo-docs/pages/getting-started/settings/index.md @@ -62,11 +62,13 @@ When the Kilo provider is enabled and you are signed in, choose the transcriptio ```json { "experimental": { - "speech_to_text_model": "openai/whisper-large-v3-turbo" + "speech_to_text_model": "nvidia/parakeet-tdt-0.6b-v3" } } ``` +NVIDIA Parakeet TDT 0.6B v3 is the default when no model is configured. + ### Prompt-Training Model Visibility Enable **Hide Prompt-Training Models** under **Models** to remove Kilo Gateway models whose providers may use your prompts for training from model lists. Models from other providers and models without explicit prompt-training metadata remain visible. The setting is disabled by default. @@ -101,10 +103,30 @@ Terminal command blocks stay expanded by default in the VS Code chat UI. Choose Valid values are `expanded` and `collapsed`. +### MCP & Generic Tool Blocks + +MCP and generic tool blocks start collapsed by default in the VS Code chat UI. Choose **Expanded** for **MCP & Generic Tool Blocks** in the Display tab, or set `mcp_tool_display` in `kilo.jsonc`, to start them expanded: + +```json +{ + "mcp_tool_display": "expanded" +} +``` + +Valid values are `expanded` and `collapsed`. + ### 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. +### Token Throughput + +The VS Code chat shows the text-generation rate (tokens per second) on the latest assistant message and in the task header. These badges are shown by default. Turn off **Show Token Throughput** in the Display tab, or set `kilo-code.new.showTokenThroughput` to `false`, to hide them. + +### Auto-Approval Reason + +Auto-approved tool calls in the VS Code chat show a line after the tool output explaining why the call was approved — a matched permission rule, the agent's defaults, YOLO mode, and so on. The line is shown by default. Turn off **Show Auto-Approval Reason** in the Display tab, or set `kilo-code.new.showAutoApprovalReason` to `false`, to hide it. + ### Web Search See [Web Search Availability](/docs/automate/tools#web-search-availability) for how to enable the `websearch` tool for models from all providers. diff --git a/packages/kilo-docs/pages/getting-started/settings/sandboxing.md b/packages/kilo-docs/pages/getting-started/settings/sandboxing.md index 462a582ab71a..3b790031836d 100644 --- a/packages/kilo-docs/pages/getting-started/settings/sandboxing.md +++ b/packages/kilo-docs/pages/getting-started/settings/sandboxing.md @@ -114,7 +114,7 @@ Writes are allowed in: Writes are denied everywhere else. The following rules still apply inside writable locations: -- `.git` directories are always read-only to sandboxed tools. +- `.git` directories are always read-only to sandboxed tools. Mutating Git commands need a one-shot approval to run outside the sandbox — see [Git operations](#git-operations). - Kilo's stored sandbox policy and preference files are read-only. - Kilo's global config root is read-only so a sandboxed command cannot widen network or write authority for a later session. - A permission approval for a path outside the sandbox does not make that path writable. Add the path to **Additional Writable Paths** if the tool must modify it. @@ -122,6 +122,12 @@ Writes are denied everywhere else. The following rules still apply inside writab Shell commands and their child processes inherit the same restrictions. Kilo's file tools perform mutations through a sandboxed worker. Writable file handles are unavailable, so a tool that requires an open read-write handle may fail even for an allowed path. +### Git operations + +Read-only Git commands such as `git status`, `git log`, and `git diff` run inside the sandbox as usual. Commands that change Git state — for example `git add`, `git commit`, or `git push` — cannot write to `.git` while confined, so Kilo asks first: an "Allow Git operation outside the sandbox?" prompt appears when the agent runs a mutating Git command in a sandboxed session. + +Approving runs only that single command without sandbox confinement. The approval is one-shot — there is no "always" option — and auto-approve and non-interactive runs never silently approve it, so the agent cannot change Git metadata without an explicit decision from you. + Direct filesystem access inside trusted integrations is confined only when the integration uses Kilo's sandbox-aware filesystem service. Interactive terminals, notebook execution, and starting or restarting a background process are unavailable while sandboxing is active because those processes do not yet run inside the same boundary. {% callout type="info" %}