Skip to content

Commit 1c77e28

Browse files
authored
Merge branch 'main' into roo-v3.36.6
2 parents 7345904 + f826a7c commit 1c77e28

40 files changed

+1493
-387
lines changed

.changeset/all-things-cough.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"kilo-code": patch
3+
---
4+
5+
Add GLM-4.6V model support for z.ai provider

.changeset/every-knives-dig.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@kilocode/cli": patch
3+
---
4+
5+
Default read permissions now require approval for read operations outside the workspace

.changeset/loud-lights-build.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"kilo-code": minor
3+
---
4+
5+
Added gemini-3-flash-preview model

.changeset/wacky-lions-kiss.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"kilo-code": patch
3+
---
4+
5+
Change the default value of auto-approval for reading outside workspace to false

apps/kilocode-docs/docs/cli.md

Lines changed: 62 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -218,65 +218,19 @@ kilocode --parallel --auto "improve xyz"
218218
kilocode --parallel --auto "improve abc"
219219
```
220220
221-
## Autonomous mode (Non-Interactive)
222-
223-
Autonomous mode allows Kilo Code to run in automated environments like CI/CD pipelines without requiring user interaction.
224-
225-
```bash
226-
# Run in autonomous mode with a prompt
227-
kilocode --auto "Implement feature X"
228-
229-
# Run in autonomous mode with piped input
230-
echo "Fix the bug in app.ts" | kilocode --auto
231-
232-
# Run in autonomous mode with timeout (in seconds)
233-
kilocode --auto "Run tests" --timeout 300
234-
235-
# Run in autonomous mode with JSON output for structured parsing
236-
kilocode --auto --json "Implement feature X"
237-
```
238-
239-
### Autonomous Mode Behavior
240-
241-
When running in Autonomous mode (`--auto` flag):
242-
243-
1. **No User Interaction**: All approval requests are handled automatically based on configuration
244-
2. **Auto-Approval/Rejection**: Operations are approved or rejected based on your auto-approval settings
245-
3. **Follow-up Questions**: Automatically responded with a message instructing the AI to make autonomous decisions
246-
4. **Automatic Exit**: The CLI exits automatically when the task completes or times out
247-
248-
### JSON Output Mode
221+
## Auto-approval settings
249222
250-
Use the `--json` flag with `--auto` to get structured JSON output instead of the default terminal UI. This is useful for programmatic integration and parsing of Kilo Code responses.
223+
Auto-approval allows the Kilo Code CLI to perform operations without first requiring user confirmation. These settings can either be built up over time in interactive mode, or by editing your config file using `kilocode config` or editing the file directly at `~/.kilocode/config.json`.
251224
252-
```bash
253-
# Standard autonomous mode with terminal UI
254-
kilocode --auto "Fix the bug"
255-
256-
# Autonomous mode with JSON output
257-
kilocode --auto --json "Fix the bug"
258-
259-
# With piped input
260-
echo "Implement feature X" | kilocode --auto --json
261-
```
262-
263-
**Requirements:**
264-
265-
- The `--json` flag requires `--auto` mode to be enabled
266-
- Output is sent to stdout as structured JSON for easy parsing
267-
- Ideal for CI/CD pipelines and automated workflows
268-
269-
### Auto-Approval Configuration
270-
271-
Autonomous mode respects your auto-approval configuration. Edit your config file with `kilocode config` to customize:
225+
### Default auto-approval settings
272226
273227
```json
274228
{
275229
"autoApproval": {
276230
"enabled": true,
277231
"read": {
278232
"enabled": true,
279-
"outside": true
233+
"outside": false
280234
},
281235
"write": {
282236
"enabled": true,
@@ -359,6 +313,12 @@ The `execute.allowed` and `execute.denied` lists support hierarchical pattern ma
359313
}
360314
```
361315
316+
## Interactive Mode
317+
318+
Interactive mode is the default mode when running Kilo Code without the `--auto` flag, designed to work interactively with a user through the console.
319+
320+
In interactive mode Kilo Code will request approval for operations which have not been auto-approved, allowing the user to review and approve operations before they are executed, and optionally add them to the auto-approval list.
321+
362322
### Interactive Command Approval
363323
364324
When running in interactive mode, command approval requests now show hierarchical options:
@@ -380,6 +340,58 @@ Selecting an "Always run" option will:
380340
381341
This allows you to progressively build your auto-approval rules without manually editing the config file.
382342
343+
## Autonomous mode (Non-Interactive)
344+
345+
Autonomous mode allows Kilo Code to run in automated environments like CI/CD pipelines without requiring user interaction.
346+
347+
```bash
348+
# Run in autonomous mode with a prompt
349+
kilocode --auto "Implement feature X"
350+
351+
# Run in autonomous mode with piped input
352+
echo "Fix the bug in app.ts" | kilocode --auto
353+
354+
# Run in autonomous mode with timeout (in seconds)
355+
kilocode --auto "Run tests" --timeout 300
356+
357+
# Run in autonomous mode with JSON output for structured parsing
358+
kilocode --auto --json "Implement feature X"
359+
```
360+
361+
### Autonomous Mode Behavior
362+
363+
When running in Autonomous mode (`--auto` flag):
364+
365+
1. **No User Interaction**: All approval requests are handled automatically based on configuration
366+
2. **Auto-Approval/Rejection**: Operations are approved or rejected based on your auto-approval settings
367+
3. **Follow-up Questions**: Automatically responded with a message instructing the AI to make autonomous decisions
368+
4. **Automatic Exit**: The CLI exits automatically when the task completes or times out
369+
370+
### JSON Output Mode
371+
372+
Use the `--json` flag with `--auto` to get structured JSON output instead of the default terminal UI. This is useful for programmatic integration and parsing of Kilo Code responses.
373+
374+
```bash
375+
# Standard autonomous mode with terminal UI
376+
kilocode --auto "Fix the bug"
377+
378+
# Autonomous mode with JSON output
379+
kilocode --auto --json "Fix the bug"
380+
381+
# With piped input
382+
echo "Implement feature X" | kilocode --auto --json
383+
```
384+
385+
**Requirements:**
386+
387+
- The `--json` flag requires `--auto` mode to be enabled
388+
- Output is sent to stdout as structured JSON for easy parsing
389+
- Ideal for CI/CD pipelines and automated workflows
390+
391+
### Auto-Approval in Autonomous Mode
392+
393+
Autonomous mode respects your [auto-approval configuration](#auto-approval-settings). Operations which are not auto-approved will not be allowed.
394+
383395
### Autonomous Mode Follow-up Questions
384396
385397
In Autonomous mode, when the AI asks a follow-up question, it receives this response:

apps/kilocode-docs/docs/features/auto-approving-actions.md

Lines changed: 78 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,22 @@ _Complete settings panel view_
8080
**Risk level:** Medium
8181

8282
While this setting only allows reading files (not modifying them), it could potentially expose sensitive data. Still recommended as a starting point for most users, but be mindful of what files Kilo Code can access.
83+
84+
#### Read Outside Workspace
85+
86+
**Setting:** "Allow reading files outside the workspace"
87+
88+
**Description:** "When enabled, Kilo Code can read files outside the current workspace directory without asking for approval."
89+
90+
**Risk level:** Medium-High
91+
92+
This setting extends read permissions beyond your project folder. Consider the security implications:
93+
94+
- Kilo Code could access sensitive files in your home directory
95+
- Configuration files, SSH keys, or credentials could be read
96+
- Only enable if you trust the AI and need it to access external files
97+
98+
**Recommendation:** Keep disabled unless you specifically need Kilo Code to read files outside your project.
8399
:::
84100

85101
### Write Operations
@@ -102,25 +118,52 @@ This setting allows Kilo Code to modify your files without confirmation. The del
102118
- Lower values: Use only when speed is critical and you're in a controlled environment
103119
- Zero: No delay for diagnostics (not recommended for critical code)
104120

105-
#### Write Delay & Problems Pane Integration
121+
#### Write Outside Workspace
106122

107-
<img src="/docs/img/auto-approving-actions/auto-approving-actions-5.png" alt="VSCode Problems pane showing diagnostic information" width="600" />
123+
**Setting:** "Allow writing files outside the workspace"
108124

109-
_VSCode Problems pane that Kilo Code checks during the write delay_
125+
**Description:** "When enabled, Kilo Code can create or modify files outside the current workspace directory without asking for approval."
110126

111-
When you enable auto-approval for writing files, the delay timer works with VSCode's Problems pane:
127+
**Risk level:** Very High
112128

113-
1. Kilo Code makes a change to your file
114-
2. VSCode's diagnostic tools analyze the change
115-
3. The Problems pane updates with any errors or warnings
116-
4. Kilo Code notices these issues before continuing
129+
Use with caution and in controlled environments. It allows Kilo Code to:
117130

118-
This works like a human developer pausing to check for errors after changing code. You can adjust the delay time based on:
131+
- Modify your shell configuration files
132+
- Change system configurations
133+
- Write to any location your user has access to
119134

120-
- Project complexity
121-
- Language server speed
122-
- How important error detection is for your workflow
123-
:::
135+
**Recommendation:** Keep disabled unless absolutely necessary. Even experienced users should avoid this setting.
136+
137+
#### Write to Protected Files
138+
139+
**Setting:** "Allow writing to protected files"
140+
141+
**Description:** "When enabled, Kilo Code can overwrite or modify files that are normally protected by the `.kilocodeignore` file."
142+
143+
**Risk level:** Very High
144+
145+
Protected files are intentionally shielded from modification. Enable only if you understand the consequences.
146+
147+
### Delete Operations
148+
149+
:::danger Delete Operations
150+
151+
**Setting:** "Always approve delete operations"
152+
153+
**Description:** "Automatically delete files and directories without requiring approval"
154+
155+
**Risk level:** Very High
156+
157+
This setting allows Kilo Code to permanently remove files without confirmation.
158+
159+
**Safeguards:**
160+
161+
- Kilo Code still respects `.kilocodeignore` rules
162+
- Protected files cannot be deleted
163+
- The delete tool shows what will be removed before execution
164+
165+
**Recommendation:** Enable only in isolated environments or when working with temporary/generated files. Always ensure you have backups, checkpoints, or version control.
166+
:::
124167

125168
### Browser Actions
126169

@@ -153,11 +196,11 @@ Consider the security implications of allowing automated browser access.
153196

154197
**Description:** "Automatically retry failed API requests when server returns an error response"
155198

156-
**Delay slider:** "Delay before retrying the request" (Default: 5s)
157-
158199
**Risk level:** Low
159200

160-
This setting automatically retries API calls when they fail. The delay controls how long Kilo Code waits before trying again:
201+
This setting automatically retries API calls when they fail.
202+
203+
The delay controls how long Kilo Code waits before trying again:
161204

162205
- Longer delays are gentler on API rate limits
163206
- Shorter delays give faster recovery from transient errors
@@ -214,23 +257,34 @@ Enables Kilo Code to create and complete subtasks automatically. This relates to
214257

215258
**Description:** "Automatically execute allowed terminal commands without requiring approval"
216259

217-
**Command management:** "Command prefixes that can be auto-executed when 'Always approve execute operations' is enabled. Add \* to allow all commands (use with caution)."
218-
219260
**Risk level:** High
220261

221-
This setting allows terminal command execution with controls. While risky, the whitelist feature limits what commands can run. Important security features:
262+
This setting allows terminal command execution with controls. While risky, the allowlist and denylist features limit what commands can run.
222263

223-
- Whitelist specific command prefixes (recommended)
264+
- Allowlist specific command prefixes (recommended)
224265
- Never use \* wildcard in production or with sensitive data
225266
- Consider security implications of each allowed command
267+
- Consider including potentially dangerous common commands in the deny list
226268
- Always verify commands that interact with external systems
227269

270+
#### Allowed Commands
271+
272+
**Setting:** "Command prefixes that can be auto-executed"
273+
274+
Add command prefixes (e.g., `git`, `npm`, `ls`) that Kilo Code can run without asking. Use `*` to allow all commands (use with caution).
275+
228276
**Interface elements:**
229277

230278
- Text field to enter command prefixes (e.g., 'git')
231279
- "Add" button to add new prefixes
232280
- Clickable command buttons with X to remove them
233-
:::
281+
282+
#### Denied Commands
283+
284+
**Setting:** "Command prefixes that are always blocked"
285+
286+
Commands in this list will never run, even if `*` is in the allowed list. Use this to create exceptions for potentially dangerous commands.
287+
:::
234288

235289
### Follow-Up Questions
236290

@@ -240,9 +294,9 @@ This setting allows terminal command execution with controls. While risky, the w
240294

241295
**Description:** Automatically selects the first AI-suggested answer for a follow-up question after a configurable timeout. This speeds up your workflow by letting Kilo Code proceed without manual intervention.
242296

243-
**Visual countdown:** When enabled, a countdown timer appears on the first suggestion button, showing the remaining time before auto-selection. The timer is displayed as a circular progress indicator that depletes as time passes.
297+
**Visual countdown:** When enabled, a countdown timer appears on the first suggestion button in the chat interface, showing the remaining time before auto-selection. The timer displays seconds remaining (e.g., "3s") and counts down in real-time.
244298

245-
**Timeout slider:** Use the slider to set the wait time from 1 to 300 seconds (Default: 60s).
299+
**Timeout slider:** Use the slider to set the wait time (Range: 1-300 seconds, Default: 60s).
246300

247301
**Override options:** You can cancel the auto-selection at any time by:
248302

@@ -277,13 +331,6 @@ This setting allows Kilo Code to automatically update task progress and todo lis
277331
- Updating task status (pending, in progress, completed)
278332
- Reorganizing task priorities
279333

280-
**Benefits:**
281-
282-
- Maintains real-time task progress visibility
283-
- Reduces interruptions during multi-step workflows
284-
- Keeps project status accurately reflected
285-
- Helps track complex task dependencies
286-
287334
**Use cases:**
288335

289336
- Long-running development sessions
@@ -294,7 +341,7 @@ This setting allows Kilo Code to automatically update task progress and todo lis
294341
This is particularly useful when combined with the Subtasks permission, as it allows Kilo Code to maintain a complete picture of project progress without constant approval requests.
295342
:::
296343

297-
## YOLO mode
344+
## YOLO Mode
298345

299346
:::danger YOLO Mode (Risk: Maximum)
300347

-128 KB
Loading
Binary file not shown.
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)