mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-15 09:01:17 +00:00
* feat: add configuration for model, mode, and thought level
* docs: document Claude effort-level filesystem config
* fix: prevent panic on empty modes/thoughtLevels in parse_agent_config
Use `.first()` with safe fallback instead of direct `[0]` index access,
which would panic if the Vec is empty and no default is set.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: harden session lifecycle and align cli.mdx example with claude.json
- destroySession: wrap session/cancel RPC in try/catch so local cleanup
always succeeds even when the agent is unreachable
- createSession/resumeOrCreateSession: clean up the remote session if
post-creation config calls (setMode/setModel/setThoughtLevel) fail,
preventing leaked orphan sessions
- cli.mdx: fix example output to match current claude.json (model name,
model order, and populated modes)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: harden session lifecycle and align config persistence logic
- resumeOrCreateSession: Remove destroy-on-error for the resume path. Config
errors now propagate without destroying a pre-existing session. The destroy
pattern remains in createSession (where the session is newly created and has
no prior state to preserve).
- setSessionMode fallback: When session/set_mode returns -32601 and the
fallback uses session/set_config_option, now keep modes.currentModeId
in sync with the updated currentValue. Prevents stale cached state in
getModes() when the fallback path is used.
- persistSessionStateFromMethod: Re-read the record from persistence instead
of using a stale pre-await snapshot. Prevents race conditions where
concurrent session/update events (processed by persistSessionStateFromEvent)
are silently overwritten by optimistic updates.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
* fix: correct doc examples with valid Codex modes and update stable API list
- Replace invalid Codex mode values ("plan", "build") with valid ones
("auto", "full-access") in agent-sessions.mdx and sdk-overview.mdx
- Update CLAUDE.md stable method enumerations to include new session
config methods (setSessionMode, setSessionModel, etc.)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: add OpenAPI annotations for process endpoints and fix config persistence race
Add summary/description to all process management endpoint specs and the
not_found error type. Fix hydrateSessionConfigOptions to re-read from
persistence after the network call, and sync mode-category configOptions
on session/update current_mode_update events.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
231 lines
5.4 KiB
Text
231 lines
5.4 KiB
Text
---
|
|
title: "CLI Reference"
|
|
description: "CLI reference for sandbox-agent."
|
|
sidebarTitle: "CLI"
|
|
---
|
|
|
|
Global flags (available on all commands):
|
|
|
|
- `-t, --token <TOKEN>`: require/use bearer auth
|
|
- `-n, --no-token`: disable auth
|
|
|
|
## server
|
|
|
|
Run the HTTP server.
|
|
|
|
```bash
|
|
sandbox-agent server [OPTIONS]
|
|
```
|
|
|
|
| Option | Default | Description |
|
|
|--------|---------|-------------|
|
|
| `-H, --host <HOST>` | `127.0.0.1` | Host to bind |
|
|
| `-p, --port <PORT>` | `2468` | Port to bind |
|
|
| `-O, --cors-allow-origin <ORIGIN>` | - | Allowed CORS origin (repeatable) |
|
|
| `-M, --cors-allow-method <METHOD>` | all | Allowed CORS method (repeatable) |
|
|
| `-A, --cors-allow-header <HEADER>` | all | Allowed CORS header (repeatable) |
|
|
| `-C, --cors-allow-credentials` | false | Enable CORS credentials |
|
|
| `--no-telemetry` | false | Disable anonymous telemetry |
|
|
|
|
```bash
|
|
sandbox-agent server --port 3000
|
|
```
|
|
|
|
Notes:
|
|
|
|
- Server logs are redirected to files by default.
|
|
- Set `SANDBOX_AGENT_LOG_STDOUT=1` to force stdout/stderr logging.
|
|
- Use `SANDBOX_AGENT_LOG_DIR` to override log directory.
|
|
|
|
## install-agent
|
|
|
|
Install or reinstall a single agent.
|
|
|
|
```bash
|
|
sandbox-agent install-agent <AGENT> [OPTIONS]
|
|
```
|
|
|
|
| Option | Description |
|
|
|--------|-------------|
|
|
| `-r, --reinstall` | Force reinstall |
|
|
| `--agent-version <VERSION>` | Override agent package version |
|
|
| `--agent-process-version <VERSION>` | Override agent process version |
|
|
|
|
```bash
|
|
sandbox-agent install-agent claude --reinstall
|
|
```
|
|
|
|
## opencode (experimental)
|
|
|
|
Start/reuse daemon and run `opencode attach` against `/opencode`.
|
|
|
|
```bash
|
|
sandbox-agent opencode [OPTIONS]
|
|
```
|
|
|
|
| Option | Default | Description |
|
|
|--------|---------|-------------|
|
|
| `-H, --host <HOST>` | `127.0.0.1` | Daemon host |
|
|
| `-p, --port <PORT>` | `2468` | Daemon port |
|
|
| `--session-title <TITLE>` | - | Reserved option (currently no-op) |
|
|
| `--yolo` | false | OpenCode attach mode flag |
|
|
|
|
```bash
|
|
sandbox-agent opencode
|
|
```
|
|
|
|
## daemon
|
|
|
|
Manage the background daemon.
|
|
|
|
### daemon start
|
|
|
|
```bash
|
|
sandbox-agent daemon start [OPTIONS]
|
|
```
|
|
|
|
| Option | Default | Description |
|
|
|--------|---------|-------------|
|
|
| `-H, --host <HOST>` | `127.0.0.1` | Host |
|
|
| `-p, --port <PORT>` | `2468` | Port |
|
|
| `--upgrade` | false | Use ensure-running + upgrade behavior |
|
|
|
|
```bash
|
|
sandbox-agent daemon start
|
|
sandbox-agent daemon start --upgrade
|
|
```
|
|
|
|
### daemon stop
|
|
|
|
```bash
|
|
sandbox-agent daemon stop [OPTIONS]
|
|
```
|
|
|
|
| Option | Default | Description |
|
|
|--------|---------|-------------|
|
|
| `-H, --host <HOST>` | `127.0.0.1` | Host |
|
|
| `-p, --port <PORT>` | `2468` | Port |
|
|
|
|
### daemon status
|
|
|
|
```bash
|
|
sandbox-agent daemon status [OPTIONS]
|
|
```
|
|
|
|
| Option | Default | Description |
|
|
|--------|---------|-------------|
|
|
| `-H, --host <HOST>` | `127.0.0.1` | Host |
|
|
| `-p, --port <PORT>` | `2468` | Port |
|
|
|
|
## credentials
|
|
|
|
### credentials extract
|
|
|
|
```bash
|
|
sandbox-agent credentials extract [OPTIONS]
|
|
```
|
|
|
|
| Option | Description |
|
|
|--------|-------------|
|
|
| `-a, --agent <AGENT>` | Filter by `claude`, `codex`, `opencode`, or `amp` |
|
|
| `-p, --provider <PROVIDER>` | Filter by provider |
|
|
| `-d, --home-dir <DIR>` | Override home dir |
|
|
| `--no-oauth` | Skip OAuth sources |
|
|
| `-r, --reveal` | Show full credential values |
|
|
|
|
```bash
|
|
sandbox-agent credentials extract --agent claude --reveal
|
|
```
|
|
|
|
### credentials extract-env
|
|
|
|
```bash
|
|
sandbox-agent credentials extract-env [OPTIONS]
|
|
```
|
|
|
|
| Option | Description |
|
|
|--------|-------------|
|
|
| `-e, --export` | Prefix output with `export` |
|
|
| `-d, --home-dir <DIR>` | Override home dir |
|
|
| `--no-oauth` | Skip OAuth sources |
|
|
|
|
```bash
|
|
eval "$(sandbox-agent credentials extract-env --export)"
|
|
```
|
|
|
|
## api
|
|
|
|
API subcommands for scripting.
|
|
|
|
Shared option:
|
|
|
|
| Option | Default | Description |
|
|
|--------|---------|-------------|
|
|
| `-e, --endpoint <URL>` | `http://127.0.0.1:2468` | Target server |
|
|
|
|
### api agents
|
|
|
|
```bash
|
|
sandbox-agent api agents list [--endpoint <URL>]
|
|
sandbox-agent api agents report [--endpoint <URL>]
|
|
sandbox-agent api agents install <AGENT> [--reinstall] [--endpoint <URL>]
|
|
```
|
|
|
|
#### api agents list
|
|
|
|
List all agents and their install status.
|
|
|
|
```bash
|
|
sandbox-agent api agents list
|
|
```
|
|
|
|
#### api agents report
|
|
|
|
Emit a JSON report of available models, modes, and thought levels for every agent. Calls `GET /v1/agents?config=true` and groups each agent's config options by category.
|
|
|
|
```bash
|
|
sandbox-agent api agents report --endpoint http://127.0.0.1:2468 | jq .
|
|
```
|
|
|
|
Example output:
|
|
|
|
```json
|
|
{
|
|
"generatedAtMs": 1740000000000,
|
|
"endpoint": "http://127.0.0.1:2468",
|
|
"agents": [
|
|
{
|
|
"id": "claude",
|
|
"installed": true,
|
|
"models": {
|
|
"currentValue": "default",
|
|
"values": [
|
|
{ "value": "default", "name": "Default" },
|
|
{ "value": "sonnet", "name": "Sonnet" },
|
|
{ "value": "opus", "name": "Opus" },
|
|
{ "value": "haiku", "name": "Haiku" }
|
|
]
|
|
},
|
|
"modes": {
|
|
"currentValue": "default",
|
|
"values": [
|
|
{ "value": "default", "name": "Default" },
|
|
{ "value": "acceptEdits", "name": "Accept Edits" },
|
|
{ "value": "plan", "name": "Plan" },
|
|
{ "value": "dontAsk", "name": "Don't Ask" },
|
|
{ "value": "bypassPermissions", "name": "Bypass Permissions" }
|
|
]
|
|
},
|
|
"thoughtLevels": { "values": [] }
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
See [Agent Capabilities](/agent-capabilities) for a full reference of supported models, modes, and thought levels per agent.
|
|
|
|
#### api agents install
|
|
|
|
```bash
|
|
sandbox-agent api agents install codex --reinstall
|
|
```
|