Skip to content

Commit 6be17ac

Browse files
committed
docs: add yoloMode config, /yolo and /poke command documentation
Add yolo_mode field to Config struct and merge logic (was lost in prior worktree cleanup). Document yoloMode setting, /yolo command, and /poke auto-poke command.
1 parent a3af368 commit 6be17ac

3 files changed

Lines changed: 42 additions & 0 deletions

File tree

docs/commands.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1296,3 +1296,34 @@ project working directory and the result is shown inline in the transcript.
12961296
- Uses `bash -c` for execution (not the PTY-based Bash tool).
12971297
- `!!` (double bang) is NOT treated as a bang command.
12981298
- A single `!` with no command is ignored.
1299+
1300+
## `/yolo` — Toggle YOLO Mode
1301+
1302+
Toggle YOLO mode, which skips all permission prompts and auto-approves every
1303+
tool call. When enabled, the effective permission mode is set to
1304+
`bypassPermissions`. The setting persists in `settings.json` under
1305+
`"yoloMode"` and is restored on the next session.
1306+
1307+
```
1308+
/yolo — toggle YOLO mode on/off
1309+
```
1310+
1311+
YOLO mode propagates to sub-agents: they inherit the parent's permission mode
1312+
via the cloned tool context. You can also enable YOLO for a single session via
1313+
the CLI flag `--dangerously-skip-permissions` (alias `--yolo`).
1314+
1315+
## `/poke` — Toggle Auto-Poke
1316+
1317+
Toggle or configure the auto-poke feature, which automatically sends a
1318+
continuation prompt when the model stops with incomplete todos.
1319+
1320+
```
1321+
/poke — toggle auto-poke on/off
1322+
/poke on — enable auto-poke
1323+
/poke off — disable auto-poke
1324+
/poke status — show current status, budget, and incomplete todo count
1325+
```
1326+
1327+
Auto-poke has a safety budget of 48 pokes per session and stops after 3
1328+
consecutive no-progress turns. The setting persists in `settings.json` under
1329+
`"autoPokeEnabled"` (default: `true`).

docs/configuration.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ The `config` object holds runtime behaviour options.
8080
| Key | Type | Default | Description |
8181
|-----|------|---------|-------------|
8282
| `permission_mode` | string | `"default"` | Controls how tool permissions are enforced. One of `"default"`, `"acceptEdits"`, `"bypassPermissions"`, `"plan"`. |
83+
| `yoloMode` | boolean | false | When enabled, sets `permission_mode` to `bypassPermissions` automatically. All tool calls are auto-approved without prompts. Sub-agents inherit the parent's permission mode, so YOLO mode propagates to them. Toggle at runtime with `/yolo` or pass `--dangerously-skip-permissions` (`--yolo`) on the CLI for a session-only override. |
8384

8485
See [Permission Modes](#permission-modes) for a full description of each value.
8586

src-rust/crates/core/src/lib.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1223,6 +1223,15 @@ pub mod config {
12231223
/// Keyboard scrolling (PageUp/PageDown, etc.) is unaffected either way.
12241224
#[serde(default, rename = "mouseCapture", skip_serializing_if = "Option::is_none")]
12251225
pub mouse_capture: Option<bool>,
1226+
/// YOLO mode: skip all permission prompts and auto-approve every tool
1227+
/// call. Persisted in `settings.json` under `"yoloMode"`. When enabled,
1228+
/// the effective permission mode is
1229+
/// [`PermissionMode::BypassPermissions`]. The CLI `--yolo` /
1230+
/// `--dangerously-skip-permissions` flag overrides this for a single
1231+
/// session. Sub-agents inherit the parent's permission mode via the
1232+
/// cloned [`ToolContext`], so YOLO mode propagates to them.
1233+
#[serde(default, rename = "yoloMode")]
1234+
pub yolo_mode: bool,
12261235
}
12271236

12281237
#[derive(Debug, Clone, Serialize, Deserialize, Default, PartialEq, Eq)]
@@ -2150,6 +2159,7 @@ pub mod config {
21502159
file_injection_enabled: over.config.file_injection_enabled || base.config.file_injection_enabled,
21512160
file_injection_max_size: if over.config.file_injection_max_size != 0 { over.config.file_injection_max_size } else { base.config.file_injection_max_size },
21522161
request_timeout_secs: over.config.request_timeout_secs.or(base.config.request_timeout_secs),
2162+
yolo_mode: over.config.yolo_mode || base.config.yolo_mode,
21532163
};
21542164
Self {
21552165
config: merged_config,

0 commit comments

Comments
 (0)