Skip to content

Commit 76547a8

Browse files
authored
Merge pull request docker#25161 from dvdksn/sbx-agent-args-config-docs
sbx: document new arg-passing behavior for agents
2 parents 1e24493 + 82e9c91 commit 76547a8

10 files changed

Lines changed: 105 additions & 53 deletions

File tree

content/manuals/ai/sandboxes/agents/claude-code.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,19 +54,27 @@ available inside the sandbox. See
5454
[Why doesn't the sandbox use my user-level agent configuration?](../faq.md#why-doesnt-the-sandbox-use-my-user-level-agent-configuration)
5555
for workarounds.
5656

57-
Any Claude Code CLI options can be passed after the `--` separator:
57+
### Default startup command
58+
59+
Without extra args, the sandbox runs:
60+
61+
```text
62+
claude --dangerously-skip-permissions
63+
```
64+
65+
Args after `--` replace these defaults rather than being appended. To keep
66+
`--dangerously-skip-permissions`, include it yourself:
5867

5968
```console
60-
$ sbx run claude --name my-sandbox -- --continue
69+
$ sbx run claude -- --dangerously-skip-permissions -c
6170
```
6271

6372
See the [Claude Code CLI reference](https://code.claude.com/docs/en/cli-reference)
6473
for available options.
6574

6675
## Base image
6776

68-
The sandbox uses `docker/sandbox-templates:claude-code` and launches Claude Code
69-
with `--dangerously-skip-permissions` by default. See
77+
The sandbox uses `docker/sandbox-templates:claude-code`. See
7078
[Templates](../customize/templates.md) to build your own image on top of
7179
this base.
7280

content/manuals/ai/sandboxes/agents/codex.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,18 +62,24 @@ available inside the sandbox. See
6262
[Why doesn't the sandbox use my user-level agent configuration?](../faq.md#why-doesnt-the-sandbox-use-my-user-level-agent-configuration)
6363
for workarounds.
6464

65-
The sandbox runs Codex without approval prompts by default. Pass additional
66-
Codex CLI options after `--`:
65+
### Default startup command
66+
67+
Without extra args, the sandbox runs:
68+
69+
```text
70+
codex --dangerously-bypass-approvals-and-sandbox
71+
```
72+
73+
Args after `--` replace these defaults rather than being appended. To keep
74+
the flag, include it yourself:
6775

6876
```console
69-
$ sbx run codex --name <sandbox-name> -- <codex-options>
77+
$ sbx run codex -- --dangerously-bypass-approvals-and-sandbox "fix the build"
7078
```
7179

7280
## Base image
7381

7482
Template: `docker/sandbox-templates:codex`
7583

76-
Preconfigured to run without approval prompts.
77-
7884
See [Customize](../customize/) to pre-install tools or customize this
7985
environment.

content/manuals/ai/sandboxes/agents/copilot.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,19 +51,26 @@ for workarounds.
5151
Copilot is configured to trust the workspace directory by default, so it
5252
operates without repeated confirmations for workspace files.
5353

54-
### Pass options at runtime
54+
### Default startup command
5555

56-
Pass Copilot CLI options after `--`:
56+
Without extra args, the sandbox runs:
57+
58+
```text
59+
copilot --yolo
60+
```
61+
62+
Args after `--` replace these defaults rather than being appended. To keep
63+
`--yolo`, include it yourself:
5764

5865
```console
59-
$ sbx run copilot --name <sandbox-name> -- <copilot-options>
66+
$ sbx run copilot -- --yolo -p "review this PR"
6067
```
6168

6269
## Base image
6370

6471
Template: `docker/sandbox-templates:copilot`
6572

66-
Preconfigured to trust the workspace directory and run without approval prompts.
73+
Preconfigured to trust the workspace directory.
6774

6875
See [Customize](../customize/) to pre-install tools or customize this
6976
environment.

content/manuals/ai/sandboxes/agents/cursor.md

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,21 +57,28 @@ for workarounds.
5757

5858
Cursor reads `AGENTS.md` from the workspace for agent-specific instructions.
5959

60-
The sandbox runs Cursor in YOLO mode by default, which executes commands
61-
without approval prompts. Pass additional `cursor-agent` CLI options after
62-
`--`:
60+
### Default startup command
61+
62+
Without extra args, the sandbox runs:
63+
64+
```text
65+
cursor-agent --yolo
66+
```
67+
68+
Args after `--` replace these defaults rather than being appended. To keep
69+
`--yolo`, include it yourself:
6370

6471
```console
65-
$ sbx run cursor --name <sandbox-name> -- <cursor-options>
72+
$ sbx run cursor -- --yolo -p "refactor this"
6673
```
6774

6875
## Base image
6976

7077
Template: `docker/sandbox-templates:cursor-agent-docker`
7178

72-
Preconfigured to run in YOLO mode with HTTP/1.1 and server-sent events for
73-
agent traffic so requests flow through the host proxy. Authentication state
74-
is persisted across sandbox restarts.
79+
Preconfigured with HTTP/1.1 and server-sent events for agent traffic so
80+
requests flow through the host proxy. Authentication state is persisted across
81+
sandbox restarts.
7582

7683
See [Customize](../customize/) to pre-install tools or customize this
7784
environment.

content/manuals/ai/sandboxes/agents/docker-agent.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,22 +50,23 @@ sandbox. See
5050
[Why doesn't the sandbox use my user-level agent configuration?](../faq.md#why-doesnt-the-sandbox-use-my-user-level-agent-configuration)
5151
for workarounds.
5252

53-
The sandbox runs Docker Agent without approval prompts by default. Pass
54-
additional CLI options after `--`:
53+
### Default startup command
5554

56-
```console
57-
$ sbx run docker-agent --name my-sandbox -- <options>
55+
Without extra args, the sandbox runs:
56+
57+
```text
58+
docker-agent run --yolo
5859
```
5960

60-
For example, to specify a custom `agent.yml` configuration file:
61+
Args after `--` replace these defaults rather than being appended. To keep
62+
`run --yolo`, include them yourself:
6163

6264
```console
63-
$ sbx run docker-agent -- agent.yml
65+
$ sbx run docker-agent -- run --yolo agent.yml
6466
```
6567

6668
## Base image
6769

68-
The sandbox uses `docker/sandbox-templates:docker-agent` and launches Docker
69-
Agent without approval prompts by default. See
70+
The sandbox uses `docker/sandbox-templates:docker-agent`. See
7071
[Templates](../customize/templates.md) to build your own image on top of
7172
this base.

content/manuals/ai/sandboxes/agents/droid.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,13 @@ sandbox. See
5656
[Why doesn't the sandbox use my user-level agent configuration?](../faq.md#why-doesnt-the-sandbox-use-my-user-level-agent-configuration)
5757
for workarounds.
5858

59-
The sandbox runs Droid without approval prompts by default. Pass additional
60-
`droid` CLI options after `--`:
59+
### Default startup command
60+
61+
The sandbox runs `droid` with no implicit flags. Args after `--` are passed
62+
straight through:
6163

6264
```console
63-
$ sbx run droid --name <sandbox-name> -- <droid-options>
65+
$ sbx run droid -- exec "fix the build"
6466
```
6567

6668
## Base image

content/manuals/ai/sandboxes/agents/gemini.md

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,21 +54,30 @@ available inside the sandbox. See
5454
[Why doesn't the sandbox use my user-level agent configuration?](../faq.md#why-doesnt-the-sandbox-use-my-user-level-agent-configuration)
5555
for workarounds.
5656

57-
The sandbox runs Gemini without approval prompts by default and disables
58-
Gemini's built-in sandbox tool (since the sandbox itself provides isolation).
59-
Pass additional Gemini CLI options after `--`:
57+
The sandbox disables Gemini's built-in sandbox tool (since the sandbox itself
58+
provides isolation).
59+
60+
### Default startup command
61+
62+
Without extra args, the sandbox runs:
63+
64+
```text
65+
gemini --yolo
66+
```
67+
68+
Args after `--` replace these defaults rather than being appended. To keep
69+
`--yolo`, include it yourself:
6070

6171
```console
62-
$ sbx run gemini --name <sandbox-name> -- <gemini-options>
72+
$ sbx run gemini -- --yolo -p "explain this"
6373
```
6474

6575
## Base image
6676

6777
Template: `docker/sandbox-templates:gemini`
6878

6979
Gemini is configured to disable its built-in OAuth flow. Authentication is
70-
managed through the proxy with API keys. Preconfigured to run without
71-
approval prompts.
80+
managed through the proxy with API keys.
7281

7382
See [Customize](../customize/) to pre-install tools or customize this
7483
environment.

content/manuals/ai/sandboxes/agents/kiro.md

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -75,23 +75,30 @@ sandbox. See
7575
for workarounds.
7676

7777
Kiro requires minimal configuration. The agent runs with trust-all-tools mode
78-
by default, which lets it execute commands without repeated approval
79-
prompts.
78+
by default, which lets it execute commands without repeated approval prompts.
8079

81-
### Pass options at runtime
80+
### Default startup command
8281

83-
Pass Kiro CLI options after `--`:
82+
Without extra args, the sandbox runs:
83+
84+
```text
85+
kiro chat --trust-all-tools
86+
```
87+
88+
Args after `--` replace these defaults rather than being appended. This is
89+
why `sbx run kiro -- login --use-device-flow` works for the login subcommand.
90+
To keep `chat --trust-all-tools` alongside your own args, include them
91+
yourself:
8492

8593
```console
86-
$ sbx run kiro --name <sandbox-name> -- <kiro-options>
94+
$ sbx run kiro -- chat --trust-all-tools --resume
8795
```
8896

8997
## Base image
9098

9199
Template: `docker/sandbox-templates:kiro`
92100

93-
Preconfigured to run without approval prompts. Authentication state is
94-
persisted across sandbox restarts.
101+
Authentication state is persisted across sandbox restarts.
95102

96103
See [Customize](../customize/) to pre-install tools or customize this
97104
environment.

content/manuals/ai/sandboxes/agents/opencode.md

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -63,18 +63,13 @@ OpenCode uses a TUI interface and doesn't require extensive configuration
6363
files. The agent prompts you to select a provider when it starts, and you can
6464
switch providers during a session.
6565

66-
### Pass options at runtime
66+
### Default startup command
6767

68-
Pass OpenCode CLI options after `--`:
68+
The sandbox runs `opencode` with no implicit flags. Args after `--` are passed
69+
straight through. For example, to resume an existing session:
6970

7071
```console
71-
$ sbx run opencode --name <sandbox-name> -- <opencode-options>
72-
```
73-
74-
For example, to resume an existing session in a named sandbox:
75-
76-
```console
77-
$ sbx run <sandbox-name> -- -s <session-id>
72+
$ sbx run opencode -- -s <session-id>
7873
```
7974

8075
### TUI mode

content/manuals/ai/sandboxes/agents/shell.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,16 @@ command instead of an interactive shell, pass it after `--`:
2121
$ sbx run shell -- -c "echo 'Hello from sandbox'"
2222
```
2323

24+
### Default startup command
25+
26+
Without extra args, the sandbox runs `bash -l`. Args after `--` replace `-l`
27+
rather than being appended. To preserve login-shell behavior, include `-l`
28+
yourself:
29+
30+
```console
31+
$ sbx run shell -- -l -c "echo hi"
32+
```
33+
2434
Set your API keys as environment variables so the sandbox proxy can inject
2535
them into API requests automatically. Credentials are never stored inside
2636
the VM:

0 commit comments

Comments
 (0)