Skip to content

Bring ClaudeCodeProvider to feature parity with the Agent SDK#11

Open
vijaysharm wants to merge 1 commit into
mainfrom
claude/sandbox-anthropic-sdk-6ZAhH
Open

Bring ClaudeCodeProvider to feature parity with the Agent SDK#11
vijaysharm wants to merge 1 commit into
mainfrom
claude/sandbox-anthropic-sdk-6ZAhH

Conversation

@vijaysharm

Copy link
Copy Markdown
Owner

Replaces the single dangerouslySkipPermissions: Bool init param with a
ClaudeCodeOptions struct that maps every CLI flag exposed by the TypeScript
SDK's Options interface:

  • ClaudeCodePermissionMode enum → --permission-mode (acceptEdits, dontAsk,
    bypassPermissions, plan, auto); dangerouslySkipPermissions and
    allowDangerouslySkipPermissions kept as separate bools for the two distinct
    CLI flags
  • ClaudeCodeBuiltinTools enum → --tools (all / none / only([...]))
  • allowedTools/disallowedTools--allowedTools / --disallowedTools
    (comma-separated)
  • ClaudeCodeMcpServer enum (stdio/sse/http) → inline JSON for --mcp-config
  • strictMcpConfig--strict-mcp-config
  • appendSystemPrompt--append-system-prompt (preserves built-in prompt;
    LLMRequestOptions.systemPrompt still maps to --system-prompt which
    replaces it)
  • additionalDirectories--add-dir
  • fallbackModel--fallback-model
  • maxBudgetUsd--max-budget-usd
  • noSessionPersistence--no-session-persistence
  • forkSession--fork-session (paired with --resume)
  • sessionName--name
  • ClaudeCodeSettingSource enum → --setting-sources
  • pluginDirs--plugin-dir (repeatable)
  • ClaudeCodeAgentDefinition (full schema incl. tools, model, mcpServers,
    skills, maxTurns) → inline JSON for --agents
  • betas--betas
  • LLMRequestOptions.reasoningEffort--effort (low/medium/high)
  • cwdProcessConfiguration.workingDirectory

Intentionally not modelled (no CLI equivalent — JS SDK in-process callbacks):
canUseTool, hooks

https://claude.ai/code/session_01JMRfUcq8oLLgN5SzvMi8YK

Replaces the single `dangerouslySkipPermissions: Bool` init param with a
`ClaudeCodeOptions` struct that maps every CLI flag exposed by the TypeScript
SDK's `Options` interface:

- `ClaudeCodePermissionMode` enum → `--permission-mode` (acceptEdits, dontAsk,
  bypassPermissions, plan, auto); `dangerouslySkipPermissions` and
  `allowDangerouslySkipPermissions` kept as separate bools for the two distinct
  CLI flags
- `ClaudeCodeBuiltinTools` enum → `--tools` (all / none / only([...]))
- `allowedTools`/`disallowedTools` → `--allowedTools` / `--disallowedTools`
  (comma-separated)
- `ClaudeCodeMcpServer` enum (stdio/sse/http) → inline JSON for `--mcp-config`
- `strictMcpConfig` → `--strict-mcp-config`
- `appendSystemPrompt` → `--append-system-prompt` (preserves built-in prompt;
  `LLMRequestOptions.systemPrompt` still maps to `--system-prompt` which
  replaces it)
- `additionalDirectories` → `--add-dir`
- `fallbackModel` → `--fallback-model`
- `maxBudgetUsd` → `--max-budget-usd`
- `noSessionPersistence` → `--no-session-persistence`
- `forkSession` → `--fork-session` (paired with `--resume`)
- `sessionName` → `--name`
- `ClaudeCodeSettingSource` enum → `--setting-sources`
- `pluginDirs` → `--plugin-dir` (repeatable)
- `ClaudeCodeAgentDefinition` (full schema incl. tools, model, mcpServers,
  skills, maxTurns) → inline JSON for `--agents`
- `betas` → `--betas`
- `LLMRequestOptions.reasoningEffort` → `--effort` (low/medium/high)
- `cwd` → `ProcessConfiguration.workingDirectory`

Intentionally not modelled (no CLI equivalent — JS SDK in-process callbacks):
`canUseTool`, `hooks`

https://claude.ai/code/session_01JMRfUcq8oLLgN5SzvMi8YK
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants