ccurme
f11a105023
fix(anthropic): move _make_message_chunk_from_anthropic_event to instance method ( #35670 )
2026-03-08 14:52:07 -04:00
Roli Bosch
fb31c91076
fix(anthropic): drop forced tool_choice when thinking is enabled ( #35544 )
2026-03-04 21:09:48 -05:00
ccurme
4ffb584ddf
release(anthropic): 1.3.4 ( #35418 )
2026-02-24 08:51:01 -05:00
ccurme
cdb9742511
fix(anthropic): filter out common OpenAI Responses block types ( #35417 )
2026-02-24 08:45:54 -05:00
ccurme
00538ff5fc
revert: add ChatAnthropicBedrockWrapper ( #35371 )
2026-02-20 15:58:35 -05:00
NITIN Madan
63f3669e12
feat(anthropic): add ChatAnthropicBedrock wrapper ( #35091 )
2026-02-20 13:06:12 -05:00
Mason Daugherty
70192690b1
fix(model-profiles): sort generated profiles by model ID for stable diffs ( #35344 )
...
- Sort model profiles alphabetically by model ID (the top-level
`_PROFILES` dictionary keys, e.g. `claude-3-5-haiku-20241022`,
`gpt-4o-mini`) before writing `_profiles.py`, so that regenerating
profiles only shows actual data changes in diffs — not random reordering
from the models.dev API response order
- Regenerate all 10 partner profile files with the new sorted ordering
2026-02-19 23:11:22 -05:00
ccurme
5362bf5666
fix(anthropic): set max input tokens based on 1m context beta header ( #35341 )
2026-02-19 21:01:49 -05:00
Mason Daugherty
82ae4fb6fa
chore: bump model profiles ( #35294 )
2026-02-17 20:22:07 -05:00
Mike Lambert
0d13463e7f
feat(anthropic): add User-Agent header for Anthropic API calls ( #35268 )
2026-02-17 15:59:54 -05:00
ccurme
8166e0137d
chore(anthropic): add version ( #35293 )
2026-02-17 15:49:14 -05:00
The Mavik
7f3c10865a
fix(anthropic): hoist cache_control from tool_result content sub-blocks to tool_result level ( #35126 )
2026-02-11 10:55:01 -05:00
ccurme
0493b276e0
fix(anthropic): support effort="max" and remove beta headers ( #35141 )
2026-02-10 14:46:12 -05:00
ccurme
7c41298355
feat(core): add ContextOverflowError, raise in anthropic and openai ( #35099 )
2026-02-09 15:15:34 -05:00
Mason Daugherty
4ca586b322
feat(model-profiles): add text_inputs and text_outputs ( #35084 )
...
- Add `text_inputs` and `text_outputs` fields to `ModelProfile`
- Regenerate `_profiles.py` for all providers
## Why
models.dev data includes `'text'` as both an input and output modality,
but we didn't capture it.
models.dev broadly contains models without text input (Whisper/ASR) and
without text output (image generators, TTS).
Without this, downstream consumers can't filter on model text support
(e.g. preventing users from passing text input to an audio-only model).
---
We'd need to also run for Google, AWS and cut releases for all to
propagate
2026-02-09 14:50:09 -05:00
Mohan Kumar S
4276d31cb5
fix(anthropic): strip trailing whitespace from final assistant message ( #35072 )
2026-02-08 11:08:59 -05:00
ccurme
d30e2b88db
fix(anthropic): support output_config ( #35036 )
2026-02-06 11:11:01 -05:00
ccurme
19b0923461
chore(anthropic): update model profiles ( #35039 )
2026-02-05 19:19:08 -05:00
ccurme
74b3344679
fix(anthropic): support automatic compaction (Opus 4.6) ( #35034 )
2026-02-05 16:41:25 -05:00
lwtaiyty
578cef9622
fix(anthropic): skip cache_control for code_execution blocks ( #34579 )
2026-01-05 15:40:59 -05:00
Viktor Taranenko
470160cf81
fix(anthropic): prevent crash with cache_control and empty message content ( #34025 )
2025-12-12 17:32:11 -05:00
Mason Daugherty
57ff48e62e
docs(anthropic): clean up docstrings ( #34317 )
...
migration to docs
2025-12-12 11:30:34 -05:00
Mason Daugherty
13dd115d1d
docs(anthropic): nit comments ( #34314 )
2025-12-12 10:33:23 -05:00
Mason Daugherty
2cff369cdc
feat(anthropic): accept TypedDict for built-in tool types ( #34279 )
...
Widen `bind_tools` to accept `TypedDict` via `Mapping` so that users may
import and use Anthropic's built-in tool types:
```python
import subprocess
from anthropic.types.beta import BetaToolBash20250124Param
from langchain.tools import tool
tool_spec = BetaToolBash20250124Param(
name="bash",
type="bash_20250124",
strict=True,
)
@tool(extras={"provider_tool_definition": tool_spec})
def bash(*, command: str, restart: bool = False, **kw):
"""Execute a bash command."""
if restart:
return "Bash session restarted"
try:
result = subprocess.run(
command,
shell=True,
capture_output=True,
text=True,
timeout=30,
)
return result.stdout + result.stderr
except Exception as e:
return f"Error: {e}"
# Bind bash tool to your model
```
---------
Co-authored-by: Chester Curme <chester.curme@gmail.com >
2025-12-12 10:29:12 -05:00
Mason Daugherty
d6b5f05f33
refactor(anthropic): comments and _BUILTIN_TOOL_PREFIXES ( #34305 )
2025-12-11 16:57:22 -05:00
Mason Daugherty
5eec11e2db
docs(anthropic): fix line number highlighting ( #34303 )
2025-12-11 16:12:01 -05:00
Mason Daugherty
3b7abdff96
feat(anthropic): auto-apply mcp beta header ( #34301 )
...
and update docstring example
2025-12-11 15:49:32 -05:00
Mason Daugherty
4aebfbad59
docs(anthropic): use named betas param in docstring example ( #34300 )
2025-12-11 15:48:13 -05:00
Mason Daugherty
ae1f03fbe0
docs(anthropic): cleanup nits ( #34299 )
2025-12-11 15:17:56 -05:00
ccurme
69dd39c461
fix(anthropic): ignore null values of caller on tool_use blocks ( #34286 )
2025-12-10 13:13:02 -05:00
ccurme
5350967ddc
feat(anthropic): support mcp_toolset in bind_tools ( #34284 )
2025-12-10 14:39:35 +00:00
Mason Daugherty
7542278997
feat(core,anthropic): extras on BaseTool ( #34120 )
2025-12-10 09:37:14 -05:00
Mason Daugherty
2faed37ff1
feat(anthropic): document and test fine grained tool streaming ( #34118 )
...
https://platform.claude.com/docs/en/agents-and-tools/tool-use/fine-grained-tool-streaming
2025-12-08 15:34:56 -05:00
Mason Daugherty
91d5ca275d
feat(anthropic): use model profile for max output tokens ( #34163 )
...
Need(?) to adjust tests to also pull from model profile? currently
hardcoded
2025-12-08 15:31:16 -05:00
Mason Daugherty
dcb670f395
feat(anthropic): auto append relevant beta headers for computer use ( #34117 )
...
in addition to documenting it
https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool
2025-12-08 15:25:36 -05:00
Mason Daugherty
8a5f46322b
feat(anthropic): tool search support ( #34119 )
2025-12-08 10:46:37 -05:00
Mason Daugherty
4a42158e6c
feat(anthropic): add effort support ( #34116 )
2025-12-05 13:44:42 -05:00
Mason Daugherty
b7091d391d
feat(anthropic): auto append relevant beta headers ( #34113 )
2025-12-01 12:20:41 -05:00
Mason Daugherty
0a6d01e61d
docs(anthropic,core,langchain): updates ( #34106 )
2025-11-25 17:58:09 -05:00
Sydney Runkle
4ab94579ad
feat(langchain): support SystemMessage in create_agent's system_prompt ( #34055 )
...
* `create_agent`'s `system_prompt` allows `str | SystemMessage`
* added `system_message: SystemMessage` on `ModelRequest`
* `ModelRequest.system_prompt` is a function of `system_message.text`,
now deprecated
* disallow setting `system_prompt` and `system_message`
* `ModelRequest.system_prompt` can still be set (w/ custom setattr) for
custom backwards compat, but the updates just get propogated to the
`ModelRequest.system_message`
---------
Co-authored-by: Chester Curme <chester.curme@gmail.com >
2025-11-24 14:53:57 +00:00
Mason Daugherty
47b79c30c0
chore(docs): fix a few refs syntax errors ( #34044 )
...
missing whitespace for some admonitions
2025-11-22 00:58:21 -05:00
ccurme
33e5d01f7c
feat(model-profiles): distribute data across packages ( #34024 )
2025-11-21 15:47:05 -05:00
Sydney Runkle
b7d1831f9d
fix: deprecate setattr on ModelCallRequest ( #34022 )
...
* one alternative considered was setting `frozen=True` on the dataclass,
but this is breaking, so a deprecation is a nicer approach
2025-11-19 11:08:55 -05:00
ccurme
9b7792631d
feat(anthropic): support native structured output feature and strict tool calling ( #33980 )
2025-11-17 16:14:20 -05:00
Mason Daugherty
52b1516d44
style(langchain): fix some middleware ref syntax ( #33988 )
2025-11-16 00:33:17 -05:00
Sydney Runkle
1bc88028e6
fix(anthropic): execute bash + file tools via tool node ( #33960 )
...
* use `override` instead of directly patching things on `ModelRequest`
* rely on `ToolNode` for execution of tools related to said middleware,
using `wrap_model_call` to inject the relevant claude tool specs +
allowing tool node to forward them along to corresponding langchain tool
implementations
* making the same change for the native shell tool middleware
* allowing shell tool middleware to specify a name for the shell tool
(negative diff then for claude bash middleware)
long term I think the solution might be to attach metadata to a tool to
map the provider spec to a langchain implementation, which we could also
take some lessons from on the MCP front.
2025-11-14 13:17:01 -05:00
Sydney Runkle
83c078f363
fix: adding missing async hooks ( #33957 )
...
* filling in missing async gaps
* using recommended tool runtime injection instead of injected state
* updating tests to use helper function as well
2025-11-14 09:13:39 -05:00
Mohammad Mohtashim
2511c28f92
feat(anthropic): support code_execution_20250825 ( #33925 )
2025-11-12 10:44:51 -05:00
Mason Daugherty
e023201d42
style: some cleanup ( #33857 )
2025-11-06 23:50:46 -05:00
Mason Daugherty
d40e340479
chore: attribute package change versions ( #33854 )
...
Needed to disambiguate for within inherited docs
2025-11-06 16:57:30 -05:00