Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.102.0"
".": "0.103.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 97
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/anthropic/anthropic-9bc52c052beb11ccfff68e9d96335774c8377f914bcf36278e5774c68aa84e69.yml
openapi_spec_hash: 3a5f6e11b9fda1c165c6f9edbdee7d90
config_hash: ed200254fa6776c7b124706c91c80475
configured_endpoints: 106
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/anthropic/anthropic-56896df83861385b03a49bdf36623a811f5dedd599fdacf5680c73f9e73e1546.yml
openapi_spec_hash: e1812c6c53a1029d12b5d83ca50f4b78
config_hash: 45b88a8e434814b9e6f4258be5804047
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 0.103.0 (2026-05-19)

Full Changelog: [v0.102.0...v0.103.0](https://github.com/anthropics/anthropic-sdk-python/compare/v0.102.0...v0.103.0)

### Features

* **client:** Add support for self-hosted sandboxes in CMA with sandbox helpers ([e5625b0](https://github.com/anthropics/anthropic-sdk-python/commit/e5625b0ae2a1e9d25847a53217c8fd70fa67c5ed))

## 0.102.0 (2026-05-13)

Full Changelog: [v0.101.0...v0.102.0](https://github.com/anthropics/anthropic-sdk-python/compare/v0.101.0...v0.102.0)
Expand Down
54 changes: 47 additions & 7 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -558,7 +558,13 @@ from anthropic.types.beta import (
BetaManagedAgentsAgentToolsetDefaultConfig,
BetaManagedAgentsAgentToolsetDefaultConfigParams,
BetaManagedAgentsAgentToolset20260401,
BetaManagedAgentsAgentToolset20260401BashInput,
BetaManagedAgentsAgentToolset20260401EditInput,
BetaManagedAgentsAgentToolset20260401GlobInput,
BetaManagedAgentsAgentToolset20260401GrepInput,
BetaManagedAgentsAgentToolset20260401Params,
BetaManagedAgentsAgentToolset20260401ReadInput,
BetaManagedAgentsAgentToolset20260401WriteInput,
BetaManagedAgentsAlwaysAllowPolicy,
BetaManagedAgentsAlwaysAskPolicy,
BetaManagedAgentsAnthropicSkill,
Expand All @@ -581,6 +587,7 @@ from anthropic.types.beta import (
BetaManagedAgentsMultiagentCoordinator,
BetaManagedAgentsMultiagentCoordinatorParams,
BetaManagedAgentsMultiagentSelfParams,
BetaManagedAgentsSessionThreadAgent,
BetaManagedAgentsSkillParams,
BetaManagedAgentsURLMCPServerParams,
)
Expand Down Expand Up @@ -614,18 +621,47 @@ from anthropic.types.beta import (
BetaLimitedNetworkParams,
BetaPackages,
BetaPackagesParams,
BetaSelfHostedConfig,
BetaSelfHostedConfigParams,
BetaUnrestrictedNetwork,
)
```

Methods:

- <code title="post /v1/environments?beta=true">client.beta.environments.<a href="./src/anthropic/resources/beta/environments.py">create</a>(\*\*<a href="src/anthropic/types/beta/environment_create_params.py">params</a>) -> <a href="./src/anthropic/types/beta/beta_environment.py">BetaEnvironment</a></code>
- <code title="get /v1/environments/{environment_id}?beta=true">client.beta.environments.<a href="./src/anthropic/resources/beta/environments.py">retrieve</a>(environment_id) -> <a href="./src/anthropic/types/beta/beta_environment.py">BetaEnvironment</a></code>
- <code title="post /v1/environments/{environment_id}?beta=true">client.beta.environments.<a href="./src/anthropic/resources/beta/environments.py">update</a>(environment_id, \*\*<a href="src/anthropic/types/beta/environment_update_params.py">params</a>) -> <a href="./src/anthropic/types/beta/beta_environment.py">BetaEnvironment</a></code>
- <code title="get /v1/environments?beta=true">client.beta.environments.<a href="./src/anthropic/resources/beta/environments.py">list</a>(\*\*<a href="src/anthropic/types/beta/environment_list_params.py">params</a>) -> <a href="./src/anthropic/types/beta/beta_environment.py">SyncPageCursor[BetaEnvironment]</a></code>
- <code title="delete /v1/environments/{environment_id}?beta=true">client.beta.environments.<a href="./src/anthropic/resources/beta/environments.py">delete</a>(environment_id) -> <a href="./src/anthropic/types/beta/beta_environment_delete_response.py">BetaEnvironmentDeleteResponse</a></code>
- <code title="post /v1/environments/{environment_id}/archive?beta=true">client.beta.environments.<a href="./src/anthropic/resources/beta/environments.py">archive</a>(environment_id) -> <a href="./src/anthropic/types/beta/beta_environment.py">BetaEnvironment</a></code>
- <code title="post /v1/environments?beta=true">client.beta.environments.<a href="./src/anthropic/resources/beta/environments/environments.py">create</a>(\*\*<a href="src/anthropic/types/beta/environment_create_params.py">params</a>) -> <a href="./src/anthropic/types/beta/beta_environment.py">BetaEnvironment</a></code>
- <code title="get /v1/environments/{environment_id}?beta=true">client.beta.environments.<a href="./src/anthropic/resources/beta/environments/environments.py">retrieve</a>(environment_id) -> <a href="./src/anthropic/types/beta/beta_environment.py">BetaEnvironment</a></code>
- <code title="post /v1/environments/{environment_id}?beta=true">client.beta.environments.<a href="./src/anthropic/resources/beta/environments/environments.py">update</a>(environment_id, \*\*<a href="src/anthropic/types/beta/environment_update_params.py">params</a>) -> <a href="./src/anthropic/types/beta/beta_environment.py">BetaEnvironment</a></code>
- <code title="get /v1/environments?beta=true">client.beta.environments.<a href="./src/anthropic/resources/beta/environments/environments.py">list</a>(\*\*<a href="src/anthropic/types/beta/environment_list_params.py">params</a>) -> <a href="./src/anthropic/types/beta/beta_environment.py">SyncPageCursor[BetaEnvironment]</a></code>
- <code title="delete /v1/environments/{environment_id}?beta=true">client.beta.environments.<a href="./src/anthropic/resources/beta/environments/environments.py">delete</a>(environment_id) -> <a href="./src/anthropic/types/beta/beta_environment_delete_response.py">BetaEnvironmentDeleteResponse</a></code>
- <code title="post /v1/environments/{environment_id}/archive?beta=true">client.beta.environments.<a href="./src/anthropic/resources/beta/environments/environments.py">archive</a>(environment_id) -> <a href="./src/anthropic/types/beta/beta_environment.py">BetaEnvironment</a></code>

### Work

Types:

```python
from anthropic.types.beta.environments import (
BetaSelfHostedWork,
BetaSelfHostedWorkHeartbeatResponse,
BetaSelfHostedWorkListResponse,
BetaSelfHostedWorkQueueStats,
BetaSelfHostedWorkStopRequest,
BetaSelfHostedWorkUpdateRequest,
BetaSessionWorkData,
)
```

Methods:

- <code title="get /v1/environments/{environment_id}/work/{work_id}?beta=true">client.beta.environments.work.<a href="./src/anthropic/resources/beta/environments/work.py">retrieve</a>(work_id, \*, environment_id) -> <a href="./src/anthropic/types/beta/environments/beta_self_hosted_work.py">BetaSelfHostedWork</a></code>
- <code title="post /v1/environments/{environment_id}/work/{work_id}?beta=true">client.beta.environments.work.<a href="./src/anthropic/resources/beta/environments/work.py">update</a>(work_id, \*, environment_id, \*\*<a href="src/anthropic/types/beta/environments/work_update_params.py">params</a>) -> <a href="./src/anthropic/types/beta/environments/beta_self_hosted_work.py">BetaSelfHostedWork</a></code>
- <code title="get /v1/environments/{environment_id}/work?beta=true">client.beta.environments.work.<a href="./src/anthropic/resources/beta/environments/work.py">list</a>(environment_id, \*\*<a href="src/anthropic/types/beta/environments/work_list_params.py">params</a>) -> <a href="./src/anthropic/types/beta/environments/beta_self_hosted_work.py">SyncPageCursor[BetaSelfHostedWork]</a></code>
- <code title="post /v1/environments/{environment_id}/work/{work_id}/ack?beta=true">client.beta.environments.work.<a href="./src/anthropic/resources/beta/environments/work.py">ack</a>(work_id, \*, environment_id) -> <a href="./src/anthropic/types/beta/environments/beta_self_hosted_work.py">BetaSelfHostedWork</a></code>
- <code title="post /v1/environments/{environment_id}/work/{work_id}/heartbeat?beta=true">client.beta.environments.work.<a href="./src/anthropic/resources/beta/environments/work.py">heartbeat</a>(work_id, \*, environment_id, \*\*<a href="src/anthropic/types/beta/environments/work_heartbeat_params.py">params</a>) -> <a href="./src/anthropic/types/beta/environments/beta_self_hosted_work_heartbeat_response.py">BetaSelfHostedWorkHeartbeatResponse</a></code>
- <code title="get /v1/environments/{environment_id}/work/poll?beta=true">client.beta.environments.work.<a href="./src/anthropic/resources/beta/environments/work.py">poll</a>(environment_id, \*\*<a href="src/anthropic/types/beta/environments/work_poll_params.py">params</a>) -> <a href="./src/anthropic/types/beta/environments/beta_self_hosted_work.py">Optional[BetaSelfHostedWork]</a></code>
- <code title="get /v1/environments/{environment_id}/work/stats?beta=true">client.beta.environments.work.<a href="./src/anthropic/resources/beta/environments/work.py">stats</a>(environment_id) -> <a href="./src/anthropic/types/beta/environments/beta_self_hosted_work_queue_stats.py">BetaSelfHostedWorkQueueStats</a></code>
- <code title="post /v1/environments/{environment_id}/work/{work_id}/stop?beta=true">client.beta.environments.work.<a href="./src/anthropic/resources/beta/environments/work.py">stop</a>(work_id, \*, environment_id, \*\*<a href="src/anthropic/types/beta/environments/work_stop_params.py">params</a>) -> <a href="./src/anthropic/types/beta/environments/beta_self_hosted_work.py">BetaSelfHostedWork</a></code>

## Sessions

Expand All @@ -647,9 +683,12 @@ from anthropic.types.beta import (
BetaManagedAgentsOutcomeEvaluationResource,
BetaManagedAgentsSession,
BetaManagedAgentsSessionAgent,
BetaManagedAgentsSessionAgentUpdate,
BetaManagedAgentsSessionMultiagentCoordinator,
BetaManagedAgentsSessionStats,
BetaManagedAgentsSessionUpdatedEvent,
BetaManagedAgentsSessionUsage,
BetaManagedAgentsUserToolResultEvent,
)
```

Expand Down Expand Up @@ -739,6 +778,7 @@ from anthropic.types.beta.sessions import (
BetaManagedAgentsUserMessageEventParams,
BetaManagedAgentsUserToolConfirmationEvent,
BetaManagedAgentsUserToolConfirmationEventParams,
BetaManagedAgentsUserToolResultEventParams,
)
```

Expand Down Expand Up @@ -779,7 +819,6 @@ Types:
```python
from anthropic.types.beta.sessions import (
BetaManagedAgentsSessionThread,
BetaManagedAgentsSessionThreadAgent,
BetaManagedAgentsSessionThreadStats,
BetaManagedAgentsSessionThreadStatus,
BetaManagedAgentsSessionThreadUsage,
Expand Down Expand Up @@ -981,6 +1020,7 @@ Methods:
- <code title="get /v1/skills/{skill_id}/versions/{version}?beta=true">client.beta.skills.versions.<a href="./src/anthropic/resources/beta/skills/versions.py">retrieve</a>(version, \*, skill_id) -> <a href="./src/anthropic/types/beta/skills/version_retrieve_response.py">VersionRetrieveResponse</a></code>
- <code title="get /v1/skills/{skill_id}/versions?beta=true">client.beta.skills.versions.<a href="./src/anthropic/resources/beta/skills/versions.py">list</a>(skill_id, \*\*<a href="src/anthropic/types/beta/skills/version_list_params.py">params</a>) -> <a href="./src/anthropic/types/beta/skills/version_list_response.py">SyncPageCursor[VersionListResponse]</a></code>
- <code title="delete /v1/skills/{skill_id}/versions/{version}?beta=true">client.beta.skills.versions.<a href="./src/anthropic/resources/beta/skills/versions.py">delete</a>(version, \*, skill_id) -> <a href="./src/anthropic/types/beta/skills/version_delete_response.py">VersionDeleteResponse</a></code>
- <code title="get /v1/skills/{skill_id}/versions/{version}/content?beta=true">client.beta.skills.versions.<a href="./src/anthropic/resources/beta/skills/versions.py">download</a>(version, \*, skill_id) -> BinaryAPIResponse</code>

## Webhooks

Expand Down
6 changes: 3 additions & 3 deletions examples/agents_comprehensive.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,16 +110,16 @@ def main() -> None:
with anthropic.beta.sessions.events.stream(session.id) as stream:
for event in stream:
print(event.to_json(indent=2))
# `get_weather` is a custom (non-builtin) tool, so the agent emits an
# `agent.custom_tool_use` event and expects a `user.custom_tool_result`.
if event.type == "agent.custom_tool_use" and event.name == "get_weather":
anthropic.beta.sessions.events.send(
session.id,
events=[
{
"type": "user.custom_tool_result",
"custom_tool_use_id": event.id,
"content": [
{"type": "text", "text": '{"temperature_c": 14}'}
],
"content": [{"type": "text", "text": '{"temperature_c": 14}'}],
}
],
)
Expand Down
Loading
Loading