mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-15 23:01:37 +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>
127 lines
5.5 KiB
Text
127 lines
5.5 KiB
Text
---
|
|
title: "Agent Capabilities"
|
|
description: "Models, modes, and thought levels supported by each agent."
|
|
---
|
|
|
|
Capabilities are subject to change as the agents are updated. See [Agent Sessions](/agent-sessions) for full session configuration API details.
|
|
|
|
|
|
<Info>
|
|
_Last updated: March 5th, 2026. See [Generating a live report](#generating-a-live-report) for up-to-date reference._
|
|
</Info>
|
|
|
|
## Claude
|
|
|
|
| Category | Values |
|
|
|----------|--------|
|
|
| **Models** | `default`, `sonnet`, `opus`, `haiku` |
|
|
| **Modes** | `default`, `acceptEdits`, `plan`, `dontAsk`, `bypassPermissions` |
|
|
| **Thought levels** | Unsupported |
|
|
|
|
### Configuring Effort Level For Claude
|
|
|
|
Claude does not natively support changing effort level after a session starts, so configure it in the filesystem before creating the session.
|
|
|
|
```ts
|
|
import { mkdir, writeFile } from "node:fs/promises";
|
|
import path from "node:path";
|
|
import { SandboxAgent } from "sandbox-agent";
|
|
|
|
const cwd = "/path/to/workspace";
|
|
await mkdir(path.join(cwd, ".claude"), { recursive: true });
|
|
await writeFile(
|
|
path.join(cwd, ".claude", "settings.json"),
|
|
JSON.stringify({ effortLevel: "high" }, null, 2),
|
|
);
|
|
|
|
const sdk = await SandboxAgent.connect({ baseUrl: "http://127.0.0.1:2468" });
|
|
await sdk.createSession({
|
|
agent: "claude",
|
|
sessionInit: { cwd, mcpServers: [] },
|
|
});
|
|
```
|
|
|
|
<Accordion title="Supported file locations (highest precedence last)">
|
|
|
|
1. `~/.claude/settings.json`
|
|
2. `<session cwd>/.claude/settings.json`
|
|
3. `<session cwd>/.claude/settings.local.json`
|
|
|
|
</Accordion>
|
|
|
|
## Codex
|
|
|
|
| Category | Values |
|
|
|----------|--------|
|
|
| **Models** | `gpt-5.3-codex` (default), `gpt-5.3-codex-spark`, `gpt-5.2-codex`, `gpt-5.1-codex-max`, `gpt-5.2`, `gpt-5.1-codex-mini` |
|
|
| **Modes** | `read-only` (default), `auto`, `full-access` |
|
|
| **Thought levels** | `low`, `medium`, `high` (default), `xhigh` |
|
|
|
|
## OpenCode
|
|
|
|
| Category | Values |
|
|
|----------|--------|
|
|
| **Models** | See below |
|
|
| **Modes** | `build` (default), `plan` |
|
|
| **Thought levels** | Unsupported |
|
|
|
|
<Accordion title="See all models">
|
|
|
|
| Provider | Models |
|
|
|----------|--------|
|
|
| **Anthropic** | `anthropic/claude-3-5-haiku-20241022`, `anthropic/claude-3-5-haiku-latest`, `anthropic/claude-3-5-sonnet-20240620`, `anthropic/claude-3-5-sonnet-20241022`, `anthropic/claude-3-7-sonnet-20250219`, `anthropic/claude-3-7-sonnet-latest`, `anthropic/claude-3-haiku-20240307`, `anthropic/claude-3-opus-20240229`, `anthropic/claude-3-sonnet-20240229`, `anthropic/claude-haiku-4-5`, `anthropic/claude-haiku-4-5-20251001`, `anthropic/claude-opus-4-0`, `anthropic/claude-opus-4-1`, `anthropic/claude-opus-4-1-20250805`, `anthropic/claude-opus-4-20250514`, `anthropic/claude-opus-4-5`, `anthropic/claude-opus-4-5-20251101`, `anthropic/claude-opus-4-6`, `anthropic/claude-sonnet-4-0`, `anthropic/claude-sonnet-4-20250514`, `anthropic/claude-sonnet-4-5`, `anthropic/claude-sonnet-4-5-20250929` |
|
|
| **OpenAI** | `openai/gpt-5.1-codex`, `openai/gpt-5.1-codex-max`, `openai/gpt-5.1-codex-mini`, `openai/gpt-5.2`, `openai/gpt-5.2-codex`, `openai/gpt-5.3-codex` |
|
|
| **Cerebras** | `cerebras/gpt-oss-120b`, `cerebras/qwen-3-235b-a22b-instruct-2507`, `cerebras/zai-glm-4.7` |
|
|
| **OpenCode Zen** | `opencode/big-pickle`, `opencode/claude-3-5-haiku`, `opencode/claude-haiku-4-5`, `opencode/claude-opus-4-1`, `opencode/claude-opus-4-5`, `opencode/claude-opus-4-6`, `opencode/claude-sonnet-4`, `opencode/claude-sonnet-4-5`, `opencode/gemini-3-flash`, `opencode/gemini-3-pro` (default), `opencode/glm-4.6`, `opencode/glm-4.7`, `opencode/gpt-5`, `opencode/gpt-5-codex`, `opencode/gpt-5-nano`, `opencode/gpt-5.1`, `opencode/gpt-5.1-codex`, `opencode/gpt-5.1-codex-max`, `opencode/gpt-5.1-codex-mini`, `opencode/gpt-5.2`, `opencode/gpt-5.2-codex`, `opencode/kimi-k2`, `opencode/kimi-k2-thinking`, `opencode/kimi-k2.5`, `opencode/kimi-k2.5-free`, `opencode/minimax-m2.1`, `opencode/minimax-m2.1-free`, `opencode/trinity-large-preview-free` |
|
|
|
|
</Accordion>
|
|
|
|
## Cursor
|
|
|
|
| Category | Values |
|
|
|----------|--------|
|
|
| **Models** | See below |
|
|
| **Modes** | Unsupported |
|
|
| **Thought levels** | Unsupported |
|
|
|
|
<Accordion title="See all models">
|
|
|
|
| Group | Models |
|
|
|-------|--------|
|
|
| **Auto** | `auto` |
|
|
| **Composer** | `composer-1.5`, `composer-1` |
|
|
| **GPT-5.3 Codex** | `gpt-5.3-codex`, `gpt-5.3-codex-low`, `gpt-5.3-codex-high`, `gpt-5.3-codex-xhigh`, `gpt-5.3-codex-fast`, `gpt-5.3-codex-low-fast`, `gpt-5.3-codex-high-fast`, `gpt-5.3-codex-xhigh-fast` |
|
|
| **GPT-5.2** | `gpt-5.2`, `gpt-5.2-high`, `gpt-5.2-codex`, `gpt-5.2-codex-low`, `gpt-5.2-codex-high`, `gpt-5.2-codex-xhigh`, `gpt-5.2-codex-fast`, `gpt-5.2-codex-low-fast`, `gpt-5.2-codex-high-fast`, `gpt-5.2-codex-xhigh-fast` |
|
|
| **GPT-5.1** | `gpt-5.1-high`, `gpt-5.1-codex-max`, `gpt-5.1-codex-max-high` |
|
|
| **Claude** | `opus-4.6-thinking` (default), `opus-4.6`, `opus-4.5`, `opus-4.5-thinking`, `sonnet-4.5`, `sonnet-4.5-thinking` |
|
|
| **Other** | `gemini-3-pro`, `gemini-3-flash`, `grok` |
|
|
|
|
</Accordion>
|
|
|
|
## Amp
|
|
|
|
| Category | Values |
|
|
|----------|--------|
|
|
| **Models** | `amp-default` |
|
|
| **Modes** | `default`, `bypass` |
|
|
| **Thought levels** | Unsupported |
|
|
|
|
## Pi
|
|
|
|
| Category | Values |
|
|
|----------|--------|
|
|
| **Models** | `default` |
|
|
| **Modes** | Unsupported |
|
|
| **Thought levels** | Unsupported |
|
|
|
|
## Generating a live report
|
|
|
|
Requires a running Sandbox Agent server. `--endpoint` defaults to `http://127.0.0.1:2468`.
|
|
|
|
```bash
|
|
sandbox-agent api agents report
|
|
```
|
|
|
|
<Note>
|
|
The live report reflects what the agent adapter returns for the current credentials. Some models may be gated by subscription (e.g. Claude's `opus` requires a paid plan) and will not appear in the report if the credentials don't have access.
|
|
</Note>
|