Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 29 additions & 1 deletion packages/kilo-docs/pages/automate/agent-manager.md
Original file line number Diff line number Diff line change
Expand Up @@ -217,11 +217,39 @@ Press `Cmd+D` (macOS) / `Ctrl+D` (Windows/Linux) to toggle the diff panel. It sh
- Markdown files include an eye/code toggle in the file header to switch between rendered Markdown and the raw diff
- **Drag file headers into chat** — drag a file header from the diff panel into the chat input to insert an `@file` mention, giving the agent context about specific changed files

### Diff Scope

A scope selector in the diff toolbar (both in the side panel and the full-screen review) chooses which changes the diff shows:

- **Branch** (default) — the full worktree diff against its parent branch, matching the review behavior above
- **Staged** — staged changes in the selected worktree
- **Unstaged** — unstaged changes in the selected worktree
- **Session** — changes from the selected session

The Branch scope also has a base-branch picker next to it for overriding the comparison branch. **Apply to local** works only on the Branch scope — switch back to Branch to apply.

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.

## 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 focus the terminal for the active session.

### 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:

- **VS Code terminal** (default) — opens or focuses the VS Code integrated terminal at the bottom of the window
- **Agent Manager panel** — opens an embedded terminal in the side panel that also hosts the diff view, so the shell stays inside the Agent Manager layout

The dropdown choice is remembered per panel and becomes the default for new panels. You can also set the default directly with the `kilo-code.new.agentManager.terminalButtonDestination` setting (`vscode` or `agentManager`). The `Cmd+/` (macOS) / `Ctrl+/` (Windows/Linux) shortcut follows the same destination.

With the **Agent Manager panel** destination, the terminal works like the diff panel: press `Cmd+/` to reveal it and press again to hide it. Hiding never stops the terminal — scrollback and running processes continue in the background, and focus returns to the chat input. A terminal stops only when you close its tab in the panel.

### Multiple Terminals

The side panel hosts multiple terminals per context (the local workspace or a worktree). The panel header is a tab strip: click a tab to switch, click **+** to open another terminal, and click **X** (or middle-click) to close a single terminal. Drag tabs to reorder them. Closing a terminal no longer hides the panel — closing the last one lands on the empty state. Pressing `Cmd+W` (macOS) / `Ctrl+W` (Windows/Linux) with a focused side terminal closes exactly that terminal.

New terminals are named "Terminal N" using the lowest free number, and tabs pick up the live title from the shell or running program, so a dev server or editor names its own tab.

### Switching Between Terminal and Agent Manager

Expand Down
26 changes: 25 additions & 1 deletion packages/kilo-docs/pages/automate/tools/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,31 @@ These tools help Kilo Code run commands:
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)
- `websearch` - Searches the web

#### Web Search Availability

`websearch` is available automatically with the Kilo provider. For models from other providers it is off by default; enable it for all providers by setting `web_search` in `kilo.jsonc`:

```json
{
"web_search": true
}
```

In the VS Code extension, the same option lives under **Settings → Web Tools → Web Search → Enable for All Providers**. The `KILO_ENABLE_EXA` and `KILO_ENABLE_PARALLEL` environment flags also enable it.

#### Web Search Providers

`websearch` routes through the Exa or Parallel search providers. When the Exa provider is used and you are signed into Kilo, requests go through the Kilo proxy automatically — no separate Exa API key is required. Setting `EXA_API_KEY` uses your own Exa key instead. Exa searches return at most 10 results.

Set the `KILO_WEBSEARCH_PROVIDER` environment variable to force a provider:

| Value | Behavior |
|---|---|
| `exa` | Use Exa — through the Kilo proxy when signed in, through `EXA_API_KEY` when set |
| `parallel` | Use Parallel |
| `kilo-exa` | Always route Exa searches through the Kilo proxy (requires Kilo sign-in) |

### Browser Tools

Expand Down
24 changes: 24 additions & 0 deletions packages/kilo-docs/pages/code-with-ai/agents/auto-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,30 @@ The underlying models behind each Auto Model tier are updated server-side as bet

You get lean costs on routine work and stronger models when the work demands it — with no manual switching.

### Custom Efficient pools

You can constrain `kilo-auto/efficient` to the exact models you trust by configuring an **Efficient model pool** on the **Auto routing** card:

- **Personal** — your [profile page](https://app.kilo.ai/profile)
- **Organization** — your organization's **Providers & Models** page. Owners and billing managers can edit; members see a read-only view.

A pool holds 1–10 exact model and thinking-variant pairs. Variants stay distinct, so the same model with different thinking variants (for example `max` and `xhigh`) counts as separate entries. Leave the pool empty to inherit: an organization without a pool uses each member's personal pool, and a member without a personal pool uses the platform pool.

New entries are benchmarked on demand before they can serve traffic. Each entry shows a status:

| Status | Meaning |
|---|---|
| Benchmarking | The pair is being measured and is not used for routing yet |
| Ready | Proven accurate enough and eligible for routing |
| Failed | Benchmarking failed — retry the entry |
| Unavailable | The model or variant is no longer in your catalog — remove the entry |

Routing decides only among ready entries. If no pool entry can serve a request, the request falls back to the Balanced tier, so quality never drops below Balanced.

{% callout type="note" %}
You can benchmark up to 10 new or retried pairs per owner per rolling 24 hours. Entries that are already ready or benchmarking don't count against this limit.
{% /callout %}

{% callout type="warning" title="Data handling for Auto Free" %}
Auto Free may route your requests to providers that log prompts and outputs and use them to improve their services. Do not submit personal or confidential data when using Auto Free. In particular, it may route to NVIDIA's free endpoints.

Expand Down
4 changes: 2 additions & 2 deletions packages/kilo-docs/pages/code-with-ai/features/browser-use.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Browser Use requires an advanced agentic model. It is typically most reliable wi
{% tabs %}
{% tab label="VSCode" %}

Browser automation is built into the extension and requires no manual setup. Enable it from **Settings → Browser** and Kilo handles the rest automatically.
Browser automation is built into the extension and requires no manual setup. Enable it from **Settings → Web Tools → Browser Automation** and Kilo handles the rest automatically.

{% /tab %}
{% tab label="CLI" %}
Expand Down Expand Up @@ -93,7 +93,7 @@ Key characteristics:
{% tabs %}
{% tab label="VSCode" %}

Browser automation settings are available under **Settings → Browser**:
Browser automation settings are available under **Settings → Web Tools → Browser Automation**:

- **Enable browser automation**: Toggle to enable or disable browser automation
- **Headless mode**: Run the browser without a visible window (default: disabled)
Expand Down
3 changes: 3 additions & 0 deletions packages/kilo-docs/pages/code-with-ai/platforms/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ The `kilo console` command and its browser interface are deprecated and will be
| `/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)
Expand Down Expand Up @@ -542,6 +543,8 @@ This instructs the AI to proceed without user input.
- `124`: Timeout (task exceeded time limit)
- `1`: Error (initialization or execution failure)

Without `--auto`, a non-interactive run cannot prompt for approval and auto-rejects any permission request it receives. If a run auto-rejected at least one request, it exits `1` with a stderr diagnostic naming the cause, since the task likely did not complete. Pass `--auto` for autonomous use.
Comment thread
emilieschario marked this conversation as resolved.

### Example CI/CD Integration

```yaml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,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
- **Session renames** sync in both directions between the CLI and the web or mobile app

### Enabling Remote Mode

Expand Down
10 changes: 10 additions & 0 deletions packages/kilo-docs/pages/code-with-ai/platforms/jetbrains.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,13 @@ 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.

## Reviewing session changes

- **Modified files per turn** — each assistant turn that changed files shows a **Modified** card with the affected files and their diff stats. Expand a file to see its diff inline, or open all of the turn's changes in the **Changed files** diff viewer.
- **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.

## 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.
6 changes: 4 additions & 2 deletions packages/kilo-docs/pages/code-with-ai/platforms/mobile.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ The mobile app lets you:
- Monitor and view all non-remote sessions in one place.
- 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.
- Run slash commands (like `/compact`) on connected remote CLI sessions, and start a new session in the same workspace with `/new`. The new session inherits the current session's mode and model. Older CLI versions that do not support remote commands prompt you to upgrade.
- 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.
- Start a new session on a connected `kilo remote` CLI instance with the **Run on** picker.

Expand Down Expand Up @@ -50,7 +52,7 @@ The new-session screen includes a **Run on** picker that chooses where your sess
- **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.
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 selectionyou 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.

## Queueing follow-up messages

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@ 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 follows VS Code's display language by default. Override it with the `kilo-code.new.language` setting (for example `en`, `de`, `ja`, or `fa`). Right-to-left languages such as Arabic and Persian switch the layout direction automatically.

## 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.
Expand Down
23 changes: 23 additions & 0 deletions packages/kilo-docs/pages/customize/skills.md
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,29 @@ my-skill/

These additional files can be referenced from your skill's instructions, allowing the agent to read documentation, execute scripts, or use templates as needed.

## Shell commands in skills

A `SKILL.md` body can embed shell commands with the `` !`command` `` syntax. When the agent loads the skill, each command runs and its standard output replaces the placeholder before the skill content reaches the model, grounding the skill in live data:

```markdown
---
name: repo-status
description: Summarize the current state of the repository
---

The working tree currently contains:

!`git status --short`
```

Because the agent decides when to load a skill, embedded commands never run silently:

- **Trusted skills only** — commands execute only in skills from trusted locations: global skills (such as `~/.kilo/skills/`, `~/.agents/skills/`, and `~/.claude/skills/`), skills built into Kilo Code, and absolute skill paths declared in global config. Project skills (`.kilo/skills/` in a repository) and skills fetched from remote URLs never execute commands; their placeholders are replaced with a marker noting the skill is untrusted.
- **Approval required** — when the agent loads a trusted skill containing commands, every command in the file is listed in a single permission prompt before anything runs. Approving runs all of them; rejecting aborts the skill load. This prompt appears even when bash commands are otherwise auto-approved, and a deny rule on any command still blocks it.
- **Kill switch** — set the `KILO_DISABLE_SKILL_SHELL` environment variable to disable embedded command execution entirely.

Commands run in the project directory with a per-command timeout, and output is truncated before inlining. Placeholders inside fenced code blocks are treated as documentation examples and never execute, and command output is never re-scanned for further placeholders.

## Example: Creating a Skill

{% tabs %}
Expand Down
4 changes: 4 additions & 0 deletions packages/kilo-docs/pages/getting-started/settings/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,10 @@ Valid values are `expanded` and `collapsed`.

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.

### Web Search
Comment thread
emilieschario marked this conversation as resolved.

See [Web Search Availability](/docs/automate/tools#web-search-availability) for how to enable the `websearch` tool for models from all providers.

### Export and Import

You can export and import settings from the **About Kilo Code** tab in the Settings UI:
Expand Down
Loading