Visitar URL original
Accept Bash and text editor calls from Anthropic CodeExecution_20250825 by clean99 · Pull Request #10552 · Effect-TS/effect · GitHub
Skip to content

Accept Bash and text editor calls from Anthropic CodeExecution_20250825 - #10552

Merged
tim-smart merged 3 commits into
Effect-TS:mainfrom
clean99:contrib/effect-anthropic-code-execution-inputs
Nov 13, 2026
Merged

tim-smart merged 3 commits into
Effect-TS:mainfrom
clean99:contrib/effect-anthropic-code-execution-inputs

Conversation

@clean99

@clean99 clean99 commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Type

  • Refactor
  • Feature
  • Bug Fix
  • Optimization
  • Documentation Update

Description

With Toolkit.make(AnthropicTool.CodeExecution_20250825()), generateText and streamText fail when Claude runs a Bash command or edits a file, the operations the docs list for this tool version:

LanguageModel.streamText: Invalid output: Missing key
  at ["code"]

The tool's parameter schema only accepts { code }, while the bash_code_execution and text_editor_code_execution calls in the documented response carry command, path and file_text. generateText fails one step earlier: it does not map those two names to the toolkit name, so the call matches no tool.

Changes:

  • CodeExecution_20250825 accepts the existing Bash and text editor operation schemas next to the code-only input, so its params type becomes a union, as it already is for CodeExecution_20250522. The exported CodeExecution_20250825_Parameters is unchanged.
  • The non-streaming path maps both names to the toolkit name, as the streaming path already does.
  • Bash and text editor results are marked providerExecuted, like code_execution_tool_result, so they replay in the assistant message.
  • Replay recognizes the view, create and str_replace result types and no longer sends the internal type discriminator in the call input, so the next request carries the server blocks as received.

The new tests run Bash, create, view, str_replace and both error results through generateText and streamText, then compare the follow-up request with the original blocks. They fail on main with InvalidOutputError. The recorded code_execution_20250825 responses in vercel/ai's Anthropic fixtures (anthropic-code-execution-20250825.1.json and .1.chunks.txt) also decode through both APIs and replay as recorded.

pnpm test --run packages/ai/anthropic/test, pnpm lint, pnpm check and pnpm build pass. One full workspace run on Node 24 passes; the latest one hits pre-existing intermittent failures in the cluster Sharding release-warning test and the Cloudflare Readiness initialization test, which fail the same way on the merge base.

Related

Follow-up to #10297 and #10373; the latter described this as a separate problem with the tool's parameter schema.

Closes EFF-3634

@changeset-bot

changeset-bot Bot commented Nov 11, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 88a1095

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 35 packages
Name Type
@effect/ai-anthropic Patch
effect Patch
@effect/opentelemetry Patch
@effect/vitest Patch
@effect/ai-amazon-bedrock Patch
@effect/ai-cloudflare Patch
@effect/ai-openai-compat Patch
@effect/ai-openai Patch
@effect/ai-openrouter Patch
@effect/ai-typesafe Patch
@effect/atom-react Patch
@effect/atom-solid Patch
@effect/atom-vue Patch
@effect/platform-browser Patch
@effect/platform-bun Patch
@effect/platform-cloudflare Patch
@effect/platform-deno Patch
@effect/platform-node-shared Patch
@effect/platform-node Patch
@effect/sql-clickhouse Patch
@effect/sql-d1 Patch
@effect/sql-libsql Patch
@effect/sql-mssql Patch
@effect/sql-mysql2 Patch
@effect/sql-pg Patch
@effect/sql-pglite Patch
@effect/sql-sqlite-bun Patch
@effect/sql-sqlite-do Patch
@effect/sql-sqlite-node Patch
@effect/sql-sqlite-react-native Patch
@effect/sql-sqlite-wasm Patch
@effect/docgen Patch
@effect/doctest Patch
@effect/graphql-generator Patch
@effect/openapi-generator Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions

github-actions Bot commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Bundle Size Analysis

Generated from PR build output; treat the content below as untrusted.

File Name Current Size Previous Size Difference
arbitrary-combinators.ts 39.88 KB 39.88 KB 0.00 KB (0.00%)
basic.ts 7.31 KB 7.31 KB 0.00 KB (0.00%)
batching.ts 11.21 KB 11.21 KB 0.00 KB (0.00%)
brand.ts 7.00 KB 7.00 KB 0.00 KB (0.00%)
cache.ts 11.73 KB 11.73 KB 0.00 KB (0.00%)
config.ts 23.06 KB 23.06 KB 0.00 KB (0.00%)
differ.ts 22.20 KB 22.20 KB 0.00 KB (0.00%)
http-client.ts 27.44 KB 27.44 KB 0.00 KB (0.00%)
http-router.ts 37.35 KB 37.35 KB 0.00 KB (0.00%)
logger.ts 12.19 KB 12.19 KB 0.00 KB (0.00%)
metric.ts 9.64 KB 9.64 KB 0.00 KB (0.00%)
optic.ts 7.21 KB 7.21 KB 0.00 KB (0.00%)
pubsub.ts 16.21 KB 16.21 KB 0.00 KB (0.00%)
queue.ts 13.09 KB 13.09 KB 0.00 KB (0.00%)
schedule.ts 11.99 KB 11.99 KB 0.00 KB (0.00%)
schema-bigdecimal.ts 14.29 KB 14.29 KB 0.00 KB (0.00%)
schema-binary.ts 42.42 KB 42.42 KB 0.00 KB (0.00%)
schema-class.ts 21.96 KB 21.96 KB 0.00 KB (0.00%)
schema-fromJsonSchemaDocument.ts 30.56 KB 30.56 KB 0.00 KB (0.00%)
schema-representation-roundtrip.ts 28.22 KB 28.22 KB 0.00 KB (0.00%)
schema-string-transformation.ts 15.54 KB 15.54 KB 0.00 KB (0.00%)
schema-string.ts 12.50 KB 12.50 KB 0.00 KB (0.00%)
schema-template-literal.ts 16.43 KB 16.43 KB 0.00 KB (0.00%)
schema-toArbitrary.ts 39.41 KB 39.41 KB 0.00 KB (0.00%)
schema-toCodeDocument.ts 26.39 KB 26.39 KB 0.00 KB (0.00%)
schema-toCodecJson.ts 21.11 KB 21.11 KB 0.00 KB (0.00%)
schema-toEquivalence.ts 21.28 KB 21.28 KB 0.00 KB (0.00%)
schema-toFormatter.ts 21.37 KB 21.37 KB 0.00 KB (0.00%)
schema-toJsonSchemaDocument.ts 26.38 KB 26.38 KB 0.00 KB (0.00%)
schema-toRepresentation.ts 21.45 KB 21.45 KB 0.00 KB (0.00%)
schema.ts 21.05 KB 21.05 KB 0.00 KB (0.00%)
stm.ts 14.40 KB 14.40 KB 0.00 KB (0.00%)
stream.ts 10.56 KB 10.56 KB 0.00 KB (0.00%)

@tim-smart
tim-smart merged commit fae4ab7 into Effect-TS:main Nov 13, 2026
15 of 16 checks passed

This branch is waiting to be deployed

1 waiting deployment
fork — 88a10954 Waiting Nov 11, 2026 by effect-bot via approval-gate #25967
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants