NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1639 most downloaded on PyPI
Production-ready, extensible agent harness with a built-in filesystem and context management, sub-agent delegation, skills, and long-term memory.
Last release 4 days ago
30 Sep 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
1 years old
133 releases · first in 2025
FilesystemMiddleware can now store blobs on the backend ( #6550 ).
FilesystemMiddleware can now store blobs on the backend (#6550).Special thanks to everyone who reported the issues addressed in this release: Hunter Lovell (@hntrl) (#6330)
Internal maintainers: ccurme (@ccurme)
Released by: ccurme (@ccurme)
Git log since deepagents==0.7.20This commit history includes changes to this package. Commits are listed newest first.
One column per month.
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation .
Source distribution for deepagents 0.7.21 File Size Uploaded
deepagents-0.7.21.tar.gz 313.7 kB Sep 30, 2026 Details
Table of built distributions (wheels) for deepagents 0.7.21 File Interpreter ABI Platform Reset
deepagents-0.7.21-py3-none-any.whl 341.9 kB Sep 30, 2026 Python 3 none any Details
Total release size: 655.6 kB
Fixed binary content in StateBackend.upload_files being tagged as base64.
StateBackend.upload_files being tagged as base64.Special thanks to everyone who reported the issues addressed in this release: Parvesh (@parveshsaini) (#4563)
Internal maintainers: ccurme (@ccurme)
Released by: Mason Daugherty (@mdrxy)
Git log since deepagents==0.7.19This commit history includes changes to this package. Commits are listed newest first.
6bf7802 release(deepagents): 0.7.20 (#6624)a87e219 chore(deps): raise dependency minimums for all (#6631)689898e chore(deps): raise dependency minimums for all (#6628)b1ebc5b fix(sdk): tag binary StateBackend.upload_files content as base64 (#6551)512334f chore(deps): raise dependency minimums for all (#6548)For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation .
Source distribution for deepagents 0.7.20 File Size Uploaded
deepagents-0.7.20.tar.gz 310.2 kB Sep 29, 2026 Details
Table of built distributions (wheels) for deepagents 0.7.20 File Interpreter ABI Platform Reset
deepagents-0.7.20-py3-none-any.whl 337.8 kB Sep 29, 2026 Python 3 none any Details
Total release size: 648.0 kB
Recover when read_file media is rejected.
read_file media is rejected.Special thanks to everyone who reported the issues addressed in this release: Mason Daugherty (@mdrxy) (#3864), Zhe (@zhe-code85) (#5544)
Internal maintainers: ccurme (@ccurme)
Released by: ccurme (@ccurme)
Git log since deepagents==0.7.18This commit history includes changes to this package. Commits are listed newest first.
bb49cf5 release(deepagents): 0.7.19 (#6523)802140c fix(sdk): recover from rejected read_file media (#6515)737621b fix(sdk): use separate middleware for filtering unsupported multimodal content (#6366)123f9c3 chore(deps): raise dependency minimums for all (#6535)ca5f0e5 fix(sdk): bound tool offload paths and abbreviate long IDs (#6519)For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation .
Source distribution for deepagents 0.7.19 File Size Uploaded
deepagents-0.7.19.tar.gz 310.2 kB Sep 24, 2026 Details
Table of built distributions (wheels) for deepagents 0.7.19 File Interpreter ABI Platform Reset
deepagents-0.7.19-py3-none-any.whl 337.8 kB Sep 24, 2026 Python 3 none any Details
Total release size: 648.0 kB
Legacy large-result preview templates are preserved behind a deprecation path. ( #5567 , #5564 , #5563 , #5568 )
FileInfo.size to represent the file size in bytes across backends. (#6258)Thanks to our community contributors: Burak Eyler (@burakeyler), Eknath Mali (@eknathmali)
Special thanks to everyone who reported the issues addressed in this release: BogdanSliskovic (#6286), Eknath Mali (@eknathmali) (#6042)
Internal maintainers: Mason Daugherty (@mdrxy)
Released by: Mason Daugherty (@mdrxy)
Git log since deepagents==0.7.17This commit history includes changes to this package. Commits are listed newest first.
c172018 release(deepagents): 0.7.18 (#6491)9a50bf5 chore(deps): raise dependency minimums for all (#6498)00fef9c fix(sdk): reject unknown keys in the task tool arguments (#6299)5bac4aa fix(sdk): report UTF-8 byte sizes (#6258)4932d70 fix(sdk): preserve legacy large-result templates behind deprecation (#5568)dbdd6fb fix(sdk): disclose byte-cap losses in capture-offload execute previews (#5567)5014cf7 fix(sdk): disclose per-line clipping in large-result previews (#5564)7b4fcd3 fix(sdk): explain truncation markers only when preview omits lines (#5563)2caefbc docs(sdk): clarify trim_tokens_to_summarize (#6484)Preserve the backend exit status when capture metadata is missing.
Special thanks to everyone who reported the issues addressed in this release: Ramon Nogueira (@ramon-langchain) (#6150)
Internal maintainers: ccurme (@ccurme), Mason Daugherty (@mdrxy)
Released by: Mason Daugherty (@mdrxy)
Git log since deepagents==0.7.16This commit history includes changes to this package. Commits are listed newest first.
Reload skills when skills_metadata is reset to None ( #6364 ).
skills_metadata is reset to None (#6364).Special thanks to everyone who reported the issues addressed in this release: Mohammad Mohtashim (@keenborder786) (#6297)
Internal maintainers: ccurme (@ccurme), Richard Scarrott (@richardscarrott)
Released by: ccurme (@ccurme)
Git log since deepagents==0.7.15This commit history includes changes to this package. Commits are listed newest first.
0114a3f release(deepagents): 0.7.16 (#6372)f173a01 chore(deps): raise dependency minimums for all (#6440)2e2ee91 fix(sdk): reject parallel same-file edits (#6446)1ca8b4b chore(deps): bump anyio from 4.12.1 to 4.14.2 in /libs/deepagents (#6411)f86b4e9 feat(sdk): reload skills when skills_metadata is reset to None (#6364)For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation .
Source distribution for deepagents 0.7.16 File Size Uploaded
deepagents-0.7.16.tar.gz 301.5 kB Sep 21, 2026 Details
Table of built distributions (wheels) for deepagents 0.7.16 File Interpreter ABI Platform Reset
deepagents-0.7.16-py3-none-any.whl 328.6 kB Sep 21, 2026 Python 3 none any Details
Total release size: 630.1 kB
Gave tool result offloads without IDs unique paths to avoid collisions.
Thanks to our community contributors: ccurme (@ccurme)
Special thanks to everyone who reported the issues addressed in this release: CHOI_SOOUN (@terrapin888) (#6302), Sujee Maniyam (@sujee) (#5982)
Internal maintainers: Hunter Lovell (@hntrl), Mason Daugherty (@mdrxy), Srimanth Tangedipalli (@srimanthtangedipalli-eng), Sydney Runkle (@sydney-runkle)
Released by: Mason Daugherty (@mdrxy)
Git log since deepagents==0.7.14This commit history includes changes to this package. Commits are listed newest first.
0f5a2b5 release(deepagents): 0.7.15 (#6298)257872e fix(sdk): allow colons in profile model keys (#6334)ff8dda9 fix(sdk): propagate subagent state keys for provided subagent middleware (#5553)7a7f382 chore(deps): raise dependency minimums for all (#6336)06e5886 chore(deps): raise dependency minimums for all (#6310)cf7a955 chore(repo): migrate label automation to the prefixed taxonomy (#6309)a0c2ad0 fix(sdk): give id-less tool result offloads unique paths (#6316)287160b docs(repo): bump example models to the current GA lineup (#6294)3d6392e fix(sdk): require a real Nemotron task transition (#6296)Production-ready, extensible agent harness with a built-in filesystem and context management, sub-agent delegation, skills, and long-term memory.
pip install deepagents Copy PIP instructions
Updated read_file output formatting.
read_file output formatting. (#5648)ToolMessage content in PatchToolCallsMiddleware. (#5430, #6277)old_string values in edit_file paths. (#5747)ls and glob output. (#6204)glob tool results to suggest populating path when appropriate. (#6199)Thanks to our community contributors: Som Samantray (@SomSamantray), Rajarshi Datta (@rajarshidattapy)
Special thanks to everyone who reported the issues addressed in this release: Nick Isaacs (@nickisaacs) (#5547), Abrar Sheikh (@abrarsheikh) (#4662), bluefateludi (#5589, #5676), GY (@wawahaha) (#4882), Rajarshi Datta (@rajarshidattapy) (#4955)
Internal maintainers: ccurme (@ccurme), Eugene Yurtsev (@eyurtsev), Hunter Lovell (@hntrl), John Kennedy (@jkennedyvz), Mason Daugherty (@mdrxy)
Released by: ccurme (@ccurme)
Git log since deepagents==0.7.13This commit history includes changes to this package. Commits are listed newest first.
ded0f11 release(deepagents): 0.7.14 (#6050)3b99e73 chore(deps): raise dependency minimums for all (#6280)178417d fix(sdk): update imputed ToolMessage content in PatchToolCallsMiddleware (#6277)bb6d431 fix(sdk): bound compaction recovery and validate input budgets (#6267)9f6bd6a chore(deps): raise dependency minimums for all (#6268)276beca feat(sdk,code): update read_file output formatting (#5648)edc7c1c fix(sdk): patch invalid partial tool calls (#5430)d889f40 chore(deps): raise dependency minimums for all (#6237)4ca678f fix(sdk): fix character counting in ls and glob output (#6204)7c3cebe chore(deps): raise dependency minimums for all (#6212)26954ea fix(sdk): suggest populating path in glob tool result where appropriate (#6199)18106be chore(deps): raise dependency minimums for all (#6130)07d2952 chore(deps): raise dependency minimums for all (#6096)1281b04 fix(sdk): reject empty old_string in edit_file paths (#5747)de999bb test(sdk): remove change-detector tests (#5975)bdccb82 chore(deps): raise dependency minimums for all (#6053)a892a0e fix(sdk): keep blank read windows out of the empty-file warning (#5050)ac0fac4 chore(deps): raise dependency minimums for all (#6046)Production-ready, extensible agent harness with a built-in filesystem and context management, sub-agent delegation, skills, and long-term memory.
pip install deepagents Copy PIP instructions
Renamed the SDK subagent mode from handoff to isolated ( #6030 ).
handoff to isolated (#6030).Internal maintainers: ccurme (@ccurme)
Released by: ccurme (@ccurme)
Git log since deepagents==0.7.12This commit history includes changes to this package. Commits are listed newest first.
Added subagent conversation forking in the SDK ( #5714 ).
modified_at values in the SDK (#4376).Thanks to our community contributors: Ujjwal Reddy K S (@ujjwalredd)
Special thanks to everyone who reported the issues addressed in this release: Ninaad R. Rao (@NinaadRao) (#4668), Ujjwal Reddy K S (@ujjwalredd) (#4377)
Internal maintainers: Thushanth Bengre (@thushanth-bengre-langchain)
Released by: Hunter Lovell (@hntrl)
Git log since deepagents==0.7.11This commit history includes changes to this package. Commits are listed newest first.
Added SDK integration hooks for rubric graders
Internal maintainers: Mason Daugherty (@mdrxy)
Released by: Mason Daugherty (@mdrxy)
Git log since deepagents==0.7.10This commit history includes changes to this package. Commits are listed newest first.
Prevent local shell commands from stealing TUI input
Internal maintainers: Mason Daugherty (@mdrxy)
Released by: Mason Daugherty (@mdrxy)
Git log since deepagents==0.7.9This commit history includes changes to this package. Commits are listed newest first.
d26b53a release(deepagents): 0.7.10 (#5838)7afa60e chore(deps): raise dependency minimums for all (#5912)c94a090 fix(sdk): prevent local shell commands from stealing TUI input (#5873)1c2355e chore(deps): raise dependency minimums for all (#5906)4a4cb10 chore(deps): raise dependency minimums for deepagents (#5871)0286f62 fix(sdk): surface sandbox glob failures instead of reporting no matches (#5566)da67c86 chore(repo): remove deprecated libs/cli package
excluded_tools is set in harness profiles. (#5809)RubricMiddleware. (#5234)Thanks to our community contributors: Jiahong Dai (@jiahongsigma)
Special thanks to everyone who reported the issues addressed in this release: Björn Schotte (@BjoernSchotte) (#4450), Jiahong Dai (@jiahongsigma) (#5753)
Internal maintainers: ccurme (@ccurme), Shrikar Seshadri (@davibinboi), Mason Daugherty (@mdrxy)
Released by: Mason Daugherty (@mdrxy)
Git log since deepagents==0.7.8This commit history includes changes to this package. Commits are listed newest first.
7155253 release(deepagents): 0.7.9 (#5754)553d412 fix(sdk): exclude tools from execution when setting excluded_tools in harness profiles (#5809)0aade99 feat(sdk): disable tracing inputs on middleware (#5377)ddb69b6 fix(sdk): enforce full criterion coverage in RubricMiddleware (#5234)29cd02a chore(deps): raise dependency minimums for deepagents (#5805)da67c86 chore(repo): remove deprecated libs/cli package (#5791)75095bb chore(deps): raise dependency minimums for all (#5764)391d228 docs(sdk): remove stale TodoListMiddleware comment in create_deep_agent (#5759)4b49286 fix(sdk): clarify zero execute timeout semantics (#5752)cf939b3 chore(deps): raise dependency minimums for deepagents (#5709)Add files state only for state backends
files state only for state backends (#5643)Internal maintainers: ccurme (@ccurme), Mason Daugherty (@mdrxy)
Released by: ccurme (@ccurme)
Git log since deepagents==0.7.7This commit history includes changes to this package. Commits are listed newest first.
1e261ba release(deepagents): 0.7.8 (#5705)63c13f3 fix(sdk): add files state only for state backends (#5643)31af8c1 chore(deps): raise dependency minimums for deepagents (#5662)a0990ff feat(infra): bypass-ripgrep-check label for release PR strict install (#5657)240fdbf ci(ci): bound ripgrep install on ordinary PRs (#5642)16cb2e7 chore(deps): raise dependency minimums for deepagents (#5646)03b656e chore(repo): use canonical LangSmith environment variables (#5615)Batched concurrent ContextHubBackend mutations to improve SDK backend behavior ( #5471 ) ( 822f7c9 ).
ContextHubBackend mutations to improve SDK backend behavior (#5471) (822f7c9).BackendProtocol.glob recursive for bare patterns (#5026) (32f35d5).Special thanks to everyone who reported the issues addressed in this release: Dariel Dato-on (@darieldatoon) (#4978)
Internal maintainers: Caspar Broekhuizen (@casparb), Mason Daugherty (@mdrxy)
Released by: Mason Daugherty (@mdrxy)
Git log since deepagents==0.7.6This commit history includes changes to this package. Commits are listed newest first.
Offload conversation history to a distinct session ID when summarizing.
Internal maintainers: ccurme (@ccurme), Hunter Lovell (@hntrl), Nishitha M (@imnishitha), Mason Daugherty (@mdrxy)
Released by: Mason Daugherty (@mdrxy)
Git log since deepagents==0.7.5This commit history includes changes to this package. Commits are listed newest first.
3afad63 release(deepagents): 0.7.6 (#5491)3f6afba test(sdk): update history-path assertions for session-id naming (#5493)fa55c52 fix(sdk): offload conversation history to distinct session ID when summarizing (#5470)625d345 docs(sdk): add admonition about async execution with async subagents (#5463)a27208d chore(sdk): update tests following changes to summarization error handling (#5425)a97bdb6 ci(infra): fail on unexpected test warnings (#5346)889f217 docs(sdk): update deepagents package description (#5379)Identify SDK provider classes that support files.
Internal maintainers: @ccurme, @mdrxy
Released by: @ccurme
<details> <summary>Git log since deepagents==0.7.4</summary>
This commit history includes changes to this package. Commits are listed newest first.
a6c06b0 release(deepagents): 0.7.5 (#5327)a6e2608 chore(deps): bump langchain-anthropic to 1.5.4 (#5332)e5d5391 fix(sdk): identify file-capable provider classes (#5326)</details>
Exposed the execute exit code in SDK artifacts.
execute exit code in SDK artifacts. (#5300)Internal maintainers: @aolsenjazz
Released by: @mdrxy
<details> <summary>Git log since deepagents==0.7.3</summary>
This commit history includes changes to this package. Commits are listed newest first.
553a030 release(deepagents): 0.7.4 (#5305)de8bfca feat(sdk): expose execute exit code in artifact (#5300)f21adba chore(deps): bump cryptography from 48.0.1 to 50.0.0 in /libs/deepagents (#5288)</details>
Fixed exact-file delete target resolution in the SDK using first-match-wins behavior.
delete target resolution in the SDK using first-match-wins behavior. (#5229)Internal maintainers: @imnishitha
Released by: @imnishitha
<details> <summary>Git log since deepagents==0.7.2</summary>
This commit history includes changes to this package. Commits are listed newest first.
f60951e release(deepagents): 0.7.3 (#5251)6dd2a7d fix(sdk): resolve exact-file delete targets with first-match-wins o… (#5229)</details>
Scrub multimodal content blocks that are unsupported by the model's profile.
Internal maintainers: @imnishitha, @mdrxy
Released by: @mdrxy
<details> <summary>Git log since deepagents==0.7.1</summary>
This commit history includes changes to this package. Commits are listed newest first.
0063721 release(deepagents): 0.7.2 (#5230)bdc6104 fix(sdk): scrub multimodal content blocks unsupported by the model's profile (#5194)263dd72 build(repo): parameterize coverage flags in Makefile test targets (#5208)</details>
Mark editable installs in lc_versions.deepagents
lc_versions.deepagents (#5158)read_file windows (#5184)Internal maintainers: @mdrxy
Released by: @mdrxy
<details> <summary>Git log since deepagents==0.7.0</summary>
This commit history includes changes to this package. Commits are listed newest first.
0d38eb2 release(deepagents): 0.7.1 (#5170)6bf3b68 fix(sdk): empty read for degenerate read_file windows (#5184)4c393ea chore(deps): declare packaging in sdk and align editable suffix (#5165)ee7ac3d feat(sdk): mark editable installs in lc_versions.deepagents (#5158)3bd6301 chore(infra): ship MIT LICENSE file in every package sdist (#5186)2054c07 fix(sdk): warn instead of silently skipping unresolved state schemas (#5166)</details>
…tool schemas is trimmed. BASE_AGENT_PROMPT is deprecated (removal in deepagents==0.9.0) but remains importable and still returns the previous authored…
See the docs for curated release notes.
create_deep_agent no longer includes TodoListMiddleware by default, the write_todos tool, todos state channel, and todo-planning prompt are now absent. Pass middleware=[TodoListMiddleware()] to restore them on the main agent; add it to each SubAgent's middleware to restore them there. (#4929) (9340518)BASE_AGENT_PROMPT is deprecated (removal in deepagents==0.9.0) but remains importable and still returns the previous authored prompt verbatim; pass it as create_deep_agent(system_prompt=BASE_AGENT_PROMPT) to restore the old behavior. (#4859) (#4979) (a8d1b32) (d9f54fc)TASK_SYSTEM_PROMPT, ASYNC_TASK_SYSTEM_PROMPT, SUMMARIZATION_SYSTEM_PROMPT, FILESYSTEM_SYSTEM_PROMPT, and EXECUTION_SYSTEM_PROMPT are removed, and the system_prompt default on SubAgentMiddleware, AsyncSubAgentMiddleware, SummarizationToolMiddleware, and create_summarization_tool_middleware is now None, which injects no prose. Pass your own string to restore prompt text. (#4859) (a8d1b32)FilesystemBackend and LocalShellBackend now default to virtual_mode=True. Filesystem paths are anchored under root_dir, .. traversal is rejected, and paths resolving outside root_dir raise ValueError. Previously an unspecified virtual_mode emitted a deprecation warning and fell back to False, where absolute host paths were used as-is and .. could escape root_dir. Pass virtual_mode=False explicitly to restore the old filesystem behavior. (#4541) (540a0fa)delete filesystem tool whenever the backend supports it, and filesystem permissions classify delete as a write operation — so an existing rule allowing writes to a path also authorizes recursively deleting that subtree unless a narrower deny or interrupt rule covers the target. Because recursive deletes affect descendants, deny and interrupt checks use bulk path overlap instead of exact-path matching. To keep the previous behavior, add a deny or interrupt rule, or omit delete from FilesystemMiddleware(tools=...). Missing paths return a not-found error, CompositeBackend reports an unsupported-operation error when a routed sub-backend cannot delete, and the tool is hidden from the model entirely when the backend itself does not implement it. (#3659) (#3691) (#3765) (#3851) (f2a21ec)write_file can now create a file if it is missing and replaces it entirely if it already exists, instead of returning a file-exists error. The write_file tool description no longer requires reading the file first. There is no "create-only" compatibility mode. Workflows, prompts, tests, or guardrails that relied on the file-exists error to force edit_file usage or to protect existing content must omit write_file, add explicit permission or interrupt rules, or use edit_file where preserving existing content matters. (#4109) (2506fcc)BackendProtocol instances (not factories), configure StoreBackend with an explicit namespace, and use the current ls / glob / grep / ReadResult APIs. (#4541) (540a0fa)files_update attribute and constructor keyword are removed from WriteResult and EditResult. Custom backends must stop passing files_update=, and callers must stop reading result.files_update; state writes are emitted directly by StateBackend. (#4541) (540a0fa)BackendProtocol methods ls_info, als_info, glob_info, aglob_info, grep_raw, and agrep_raw. Use ls / glob / grep and their async counterparts. (#4541) (540a0fa)SummarizationMiddleware(history_path_prefix=...) was removed and now raises TypeError. Configure CompositeBackend(artifacts_root=...) instead. (#4541) (540a0fa)ls and glob tool output now renders empty results as No files found instead of []; direct backend APIs continue to return structured empty LsResult and GlobResult values. Callers that parse tool output should update those checks. (#3709) (efafd1e)read_file no longer renders raw text with a fixed-width cat -n-style line-number gutter and tab separator. Line and continuation markers are dynamically aligned and separated from source content by two spaces, and the LINE_NUMBER_WIDTH constant is removed from deepagents.backends.utils and deepagents.middleware.filesystem. Callers that parse raw tool output should update those parsers. (#4561) (cf057b4)create_deep_agent(..., middleware=[...]) can replace a default middleware instance when .name matches, so defaults such as SummarizationMiddleware can be overridden without also excluding the built-in instance. (#4251) (90c8472)FilesystemMiddleware(tools=[...]) accepts a keyword-only allowlist of built-in filesystem tools, typed by the newly exported FsToolName literal ("ls", "read_file", "write_file", "edit_file", "delete", "glob", "grep", "execute"); pass "all" or omit the argument to keep every tool. A list must include "read_file" or the constructor raises ValueError. Omitted built-in tools are non-executable, and custom user tools are unaffected. (#4325) (#4698) (704a70d) (9709525)task tool and filesystem tools (read_file, grep, edit_file, glob, execute). (#5009) (761f5f0)GrepResult and GlobResult now carry a truncated flag so supporting backends can return valid partial results when a match cap or backend deadline is reached; agent-facing tool output adds a note telling the model to narrow the search. FilesystemBackend returns partial grep and glob results on its backend timeout rather than erroring, while other backend or middleware timeouts may still return errors. Its glob also gains brace expansion such as *.{py,md} (already supported by the state and store backends). (#4063) (ef591e7)grep match cap is configurable: FilesystemMiddleware(grep_max_count=...) sets the default (1000; None disables it) and the model can override it per call through the tool's new max_count argument. grep / agrep on BackendProtocol and all built-in backends accept a keyword-only max_count. Local ripgrep output is streamed and terminated once the cap is reached. Direct FilesystemBackend.grep() callers can request surrounding lines with keyword-only context_lines. (#4570) (#4706) (8e86f5e) (65230df)read_file responses report the returned source-line range and next offset; total and remaining line counts are included when the backend knows the file length. Resume offsets remain safe when sandbox or middleware limits shorten the visible page. (#4540) (8321194)read_file, enabled by the new deepagents[video] extra. Video files are sampled into JPEG frames, with offset and limit interpreted as seconds. Without the extra, existing generic video/file content-block behavior remains. (#4094) (b927147)FilesystemMiddleware can capture oversized execute tool output directly inside the sandbox artifact path on compatible, opted-in BaseSandbox implementations to reduce round trips; LangSmithSandbox opts in by default. (#4230) (02f5bd7)langchain-fireworks installation is available. (#4598) (5d878bf)RubricMiddleware now accepts any positive max_iterations cap instead of enforcing a hard upper bound. (#4405) (d6692a7)PrivateStateAttr, including fields declared through create_deep_agent(state_schema=...), out of subagent inputs and returned parent-state updates. (#4587) (a4662c0)ContextT through the create_deep_agent(..., middleware=[...]) type annotation so type checkers accept context-aware middleware when a matching context_schema is passed. (#4055) (7be76c7)allowed-tools frontmatter, and make skill truncation warnings actionable with field name, path, length, configured limit, and impact. (#4140) (#4141) (d62534c) (2f5f5b8)grep/glob tools or prohibit equivalent shell search when dedicated search tools are unavailable. (#4920) (#4921) (d3650c7) (b65cc00)CompositeBackend.ls("/") and CompositeBackend.als("/") instead of returning successful route-only listings. (#4925) (4c3b166)CompositeBackend.glob / CompositeBackend.aglob routing so explicit default-backend paths such as /tools do not also return files from routed backends such as /memories. (#4531) (cbdb0a7)CompositeBackend.glob(..., path=None) / aglob(..., path=None) and path="/" searches instead of returning incomplete successful results. (#4063) (ef591e7)glob and slash-pattern grep searches to their declared search root by treating leading / as search-root-relative, rejecting .. traversal segments, and filtering symlink-resolved matches outside the root. (#4588) (c6c7213)grep(..., glob=...) include-glob semantics across filesystem and in-memory backends: basename patterns like *.py match at any depth, and slash-containing patterns like src/**/*.py match relative paths consistently. (#3936) (feab6e0)grep descriptions and no-match hints to steer regex-looking patterns toward literal searches, route slash-containing sandbox include-globs correctly, and shorten default search timeouts so bad patterns and huge trees return guidance faster. (#4168) (b1dbf5e)max_iterations_reached as the terminal RubricMiddleware status when the iteration cap is exhausted, instead of a final needs_revision event that will not loop. (#4406) (a51c8d2)check_async_task and cancel_async_task. (#3967) (b0d92c0)Thanks to our community contributors: @kavishkartha05 (Twitter, LinkedIn), @nv-kasikritc
Internal maintainers: @nick-hollon-lc, @imnishitha, @hntrl, @srimanthtangedipalli-eng, @ramon-langchain, @jkennedyvz, @ccurme, @davibinboi, @mdrxy
Released by: @mdrxy
<details> <summary>Git log since deepagents==0.6.12</summary>
This commit history includes changes to this package. Commits are listed newest first.
77f0d9a release(deepagents): 0.7.0 (#4297)fef1ff3 chore(deps): raise langchain-anthropic minimum to 1.5.3 (#5120)0d08747 perf(langsmith-sandbox): run LangSmith sandbox commands over the async client (#5061)c0afec5 feat(code): add Claude Opus 5 support (#5049)761f5f0 feat(sdk): trim built-in tool descriptions (#5009)d9f54fc refactor(sdk,evals): deprecate legacy base agent prompt (#4979)9340518 feat(sdk,code,quickjs)!: make the ToDoListMiddleware list opt-in (#4929)9a24baf refactor(sdk): correct prompt docs and harden rubric diagnostics (#4989)d046427 revert(code,sdk): revert SystemPromptConfig (#4969)f51d3a0 fix(sdk): diagnose rubric grader structured output errors (#4938)bca70aa fix(sdk): include HTTP status in rubric grader errors (#4967)a8d1b32 feat(sdk,code,quickjs): lean system prompt by default, restorable (#4859)540a0fa refactor(sdk)!: remove deprecated backend compatibility shims (#4541)9f92d2f build(sdk): raise dependency minimums (#4936)4c3b166 fix(sdk): propagate root listing errors from CompositeBackend (#4925)d3650c7 fix(sdk): condition large-result guidance on visible tools (#4920)b65cc00 fix(sdk): condition execute search guidance on visible tools (#4921)a8e4768 docs(sdk): explain backend file operation semantics (#4919)9e8d478 refactor(sdk): extract prompt caching helpers (#4892)8326177 chore(deps): bump pyasn1 from 0.6.3 to 0.6.4 in /libs/deepagents (#4897)8400b89 chore(deps-dev): bump setuptools from 82.0.1 to 83.0.0 in /libs/evals (#4896)b708207 chore(deps-dev): bump pillow from 12.2.0 to 12.3.0 in /libs/evals (#4876)29d6046 chore(deps): require langchain-quickjs 0.3.3 (#4802)9709525 fix(sdk): remove excluded tools from ToolNode (#4698)e61156d test(sdk): handle expected middleware warnings (#4717)5d878bf feat(sdk): use FireworksPromptCachingMiddleware for session affinity (#4598)8e86f5e feat(sdk): add total match cap and streaming to grep (#4570)cf057b4 fix(sdk)!: disambiguate read_file line gutters (#4561)8321194 feat(sdk): report remaining lines for paginated reads (#4540)65230df feat(sdk): support surrounding lines in filesystem grep results (#4706)a4662c0 fix(sdk): isolate private custom state from subagents (#4587)44daa24 chore(repo): raise LangChain integration minimums (#4601)c6c7213 fix(langsmith-sandbox): sandbox glob path boundary checks (#4588)d5a60ec feat(sdk): add NVIDIA Nemotron 3 Ultra harness profile (#4192)cbdb0a7 fix(sdk): isolate composite glob paths (#4531)7be76c7 fix(sdk): preserve ContextT on create_deep_agent middleware (#4055)d62534c fix(sdk): accept list format for skill allowed-tools (#4140)2f5f5b8 fix(sdk): make skill truncation warnings actionable (#4141)56c5a5e feat(sdk): improve system prompt configurability (#4437)4cb4749 feat(sdk): add NVIDIA NIM app-origin attribution (#4455)b1dbf5e fix(sdk): improve grep literal guidance and sandbox glob routing (#4168)ef591e7 feat(sdk): bound grep/glob with partial results and a truncated flag (#4063)d77496b fix(sdk): sandbox not-found contract and glob deny over-blocking on delete (#4321)704a70d feat(sdk): add enabled_tools allowlist to FilesystemMiddleware (#4325)feab6e0 fix(sdk): unify grep include-glob semantics across backends (#3936)b0d92c0 fix(sdk): move get_sync() inside try in check_async_task and cancel_async_task (#3967)d4ba51c docs(sdk): expand profiles package docstring with directory layout (#4041)b927147 feat(sdk): optional video frame extraction on read_file (#4094)d6692a7 feat(code,sdk): add rubric iteration controls (#4405)a51c8d2 fix(sdk): emit terminal rubric iteration status (#4406)90c8472 feat(sdk): allow users to override default middleware by name (#4251)02f5bd7 feat(sdk): reduce round trips when offloading large tool results with sandbox.execute (#4230)8e8680b build(deps): refresh dependency minimums (#4331)23500f4 chore(deps): bump langgraph-checkpoint from 4.1.0 to 4.1.1 in /libs/deepagents (#4274)965cbd5 chore(repo): cut over v0.7 to main (#4280)</details>
> This is a pre-release version. Install with: pip install deepagents==0.7.0b2
[!WARNING] This is a pre-release version. Install with:
pip install deepagents==0.7.0b2
Follow-up to 0.7.0b1 with one SDK change.
task tool and filesystem tools (read_file, grep, edit_file, glob, execute). Worked examples and step-by-step tutorials are removed, while one-line purpose statements and load-bearing constraints remain. Tool behavior is unchanged — description strings only. In offline measurement of default-agent tool schemas, total description tokens drop by about 43%. (#5009)Internal maintainers: @nick-hollon-lc
Released by: @mdrxy
Released from beta/deepagents-0-7-0b2 at commit f993a5d
<details> <summary>Git log since deepagents==0.7.0b1</summary>
This commit history includes changes to this package. Commits are listed newest first.
f993a5d hotfix(sdk): beta release 0.7.0b2761f5f0 feat(sdk): trim built-in tool descriptions (#5009)</details>
…as DEFAULT_AGENT_PROMPT. BASE_AGENT_PROMPT is deprecated and no longer exported at the package top level.
[!WARNING] This is a pre-release version. Install with:
pip install deepagents==0.7.0b1
Rolls up alphas 0.7.0a1–0.7.0a8 plus some additional changes not captured in an a9 release (see footer's Git log summary).
create_deep_agent no longer include TodoListMiddleware by default, so the write_todos tool, todos state channel, and todo-planning prompt are absent unless restored with middleware=[TodoListMiddleware()]. (The OpenAI Codex harness profile still opts in automatically.) (#4929)DEFAULT_AGENT_PROMPT. BASE_AGENT_PROMPT is deprecated and no longer exported at the package top level. (#4859) (#4979)BackendProtocol instances (not factories), configure StoreBackend with an explicit namespace, and use the current ls / glob / grep / ReadResult APIs. Removed compatibility symbols include BackendFactory, BACKEND_TYPES, FileFormat, and Unset, plus the deprecated runtime parameters on StateBackend and StoreBackend. New files store string FileData.content; older list[str] content remains readable and is converted when overwritten or edited. (#4541)ls and glob empty-result output is now No files found instead of []. Callers that parse empty results should update those checks.read_file no longer renders raw text with a fixed-width cat -n-style line-number gutter and tab separator. Line and continuation markers are dynamically aligned and separated from source content by two spaces. Callers that parse raw tool output should update those parsers. (#4561)create_deep_agent(..., middleware=[...]) can replace a default middleware instance when .name matches, so defaults such as SummarizationMiddleware can be overridden without also excluding the built-in instance. (#4251)write_file can overwrite existing files, so agents can replace generated artifacts or apply full-file edits without an intermediate delete. (#4109)FilesystemMiddleware accepts a tool allowlist so callers can expose only selected built-in filesystem tools while keeping read_file available and leaving custom user tools unaffected. Omitted built-in tools are non-executable. (#4325) (#4698)deepagents[aws] extra includes Bedrock prompt caching support. (#4108)langchain-fireworks installation is available. (#4598)grep and glob bound large or slow trees by returning valid partial results with a truncated flag instead of hanging or discarding work on timeout; glob also supports brace expansion such as *.{py,md} on supported backends. (#4063)grep defaults to a 1,000-match cap, streams local ripgrep output, and stops once the cap is reached. Direct FilesystemBackend.grep() callers can request surrounding lines with keyword-only context_lines. (#4570) (#4706)read_file responses report the returned source-line range, total and remaining line counts, and the next offset, including when reads are shortened by sandbox or middleware limits. (#4540)read_file when media dependencies are installed. Video files such as .mp4, .mov, .webm, and .mkv are sampled into JPEG frames, with offset and limit interpreted as seconds. (#4094)sandbox.execute captures oversized command output directly inside the sandbox artifact path to reduce round trips. (#4230)PrivateStateAttr, including fields declared through create_deep_agent(state_schema=...), out of subagent inputs and returned parent-state updates. (#4587)ContextT through the create_deep_agent(..., middleware=[...]) type annotation so type checkers accept context-aware middleware when a matching context_schema is passed. (#4055)allowed-tools frontmatter, and make skill truncation warnings actionable with field name, path, length, configured limit, and impact. (#4140) (#4141)grep/glob tools or prohibit equivalent shell search when dedicated search tools are unavailable. (#4920) (#4921)CompositeBackend.ls("/") and CompositeBackend.als("/") instead of returning successful route-only listings. (#4925)CompositeBackend.glob / CompositeBackend.aglob routing so explicit default-backend paths such as /tools do not also return files from routed backends such as /memories. (#4531)glob and slash-pattern grep searches to their declared search root by treating leading / as search-root-relative, rejecting .. traversal segments, and filtering symlink-resolved matches outside the root. (#4588)grep(..., glob=...) include-glob semantics across filesystem and in-memory backends: basename patterns like *.py match at any depth, and slash-containing patterns like src/**/*.py match relative paths consistently. (#3936)grep's literal-only contract clearer in tool descriptions and no-match hints, route slash-containing sandbox include-globs correctly, and shorten default search timeouts so bad patterns and huge trees return guidance faster. (#4168)max_iterations_reached as the terminal RubricMiddleware status when the iteration cap is exhausted, instead of a final needs_revision event that will not loop. (#4406)check_async_task and cancel_async_task. (#3967)Thanks to our community contributors: @kavishkartha05 (Twitter, LinkedIn), @nv-kasikritc
Internal maintainers: @nick-hollon-lc, @ccurme, @davibinboi, @mdrxy
Released by: @mdrxy
Released from beta/deepagents-0-7-0b1 at commit a631817
<details> <summary>Git log since deepagents==0.7.0a8</summary>
This commit history includes changes to this package. Commits are listed newest first.
a631817 hotfix(sdk): beta release 0.7.0b1d9f54fc refactor(sdk,evals): deprecate legacy base agent prompt (#4979)9340518 feat(sdk,code,quickjs)!: make the ToDoListMiddleware list opt-in (#4929)9a24baf refactor(sdk): correct prompt docs and harden rubric diagnostics (#4989)d046427 revert(code,sdk): revert SystemPromptConfig (#4969)f51d3a0 fix(sdk): diagnose rubric grader structured output errors (#4938)bca70aa fix(sdk): include HTTP status in rubric grader errors (#4967)a8d1b32 feat(sdk,code,quickjs): lean system prompt by default, restorable (#4859)540a0fa refactor(sdk)!: remove deprecated backend compatibility shims (#4541)9f92d2f build(sdk): raise dependency minimums (#4936)</details>
> This is a pre-release version. Install with: pip install deepagents==0.7.0a8
[!WARNING] This is a pre-release version. Install with:
pip install deepagents==0.7.0a8
This alpha makes restricted filesystem tool configurations safer and more coherent while ensuring composite root-listing failures surface correctly.
FilesystemMiddleware(tools=[...]) non-executable, so stray or hallucinated calls return an error instead of running. (#4698) (9709525).grep or glob tools or prohibit equivalent shell search when dedicated search tools are unavailable. (#4920) (d3650c7) (#4921) (b65cc00).CompositeBackend.ls("/") and CompositeBackend.als("/") instead of returning successful route-only listings. (#4925) (4c3b166).Internal maintainers: @imnishitha, @hntrl, @mdrxy
Released by: @mdrxy
Released from alpha/deepagents-0-7-0a8 at commit 8feda38
<details> <summary>Git log since deepagents==0.7.0a7</summary>
This commit history includes changes to this package. Commits are listed newest first.
8feda38 hotfix(sdk): alpha release 0.7.0a84c3b166 fix(sdk): propagate root listing errors from CompositeBackend (#4925)d3650c7 fix(sdk): condition large-result guidance on visible tools (#4920)b65cc00 fix(sdk): condition execute search guidance on visible tools (#4921)a8e4768 docs(sdk): explain backend file operation semantics (#4919)9e8d478 refactor(sdk): extract prompt caching helpers (#4892)8326177 chore(deps): bump pyasn1 from 0.6.3 to 0.6.4 in /libs/deepagents (#4897)8400b89 chore(deps-dev): bump setuptools from 82.0.1 to 83.0.0 in /libs/evals (#4896)b708207 chore(deps-dev): bump pillow from 12.2.0 to 12.3.0 in /libs/evals (#4876)29d6046 chore(deps): require langchain-quickjs 0.3.3 (#4802)9709525 fix(sdk): remove excluded tools from ToolNode (#4698)e61156d test(sdk): handle expected middleware warnings (#4717)</details>
> This is a pre-release version. Install with: pip install deepagents==0.7.0a7
[!WARNING] This is a pre-release version. Install with:
pip install deepagents==0.7.0a7
This alpha improves large-repository filesystem workflows with bounded streaming search, smarter pagination, optional surrounding context, and clearer line gutters.
read_file no longer renders raw text with a cat -n-style fixed-width line-number gutter and tab separator. Callers that parse raw tool output should be updated to match (#4561).langchain-fireworks installation is available. (#4598) (5d878bf).grep tool to 1,000 total matches by default, stream local ripgrep output, and stop searching once the cap is reached (#4570) (8e86f5e).offset after partial paginated read_file calls, including reads shortened by sandbox output limits or middleware truncation (#4540) (8321194).FilesystemBackend.grep() callers request surrounding lines with the new keyword-only context_lines argument. (#4706) (65230df).read_file line-number gutters from tab-indented source by separating dynamically aligned line and continuation markers from source content with two spaces (#4561) (cf057b4).PrivateStateAttr, including fields declared through create_deep_agent(state_schema=...), out of subagent inputs and returned parent-state updates so private custom state stays within the owning agent (#4587) (a4662c0).glob and slash-pattern grep searches to their declared search root by treating leading / as search-root-relative, rejecting .. traversal segments, and filtering symlink-resolved matches outside the root (#4588) (c6c7213).Thanks to our community contributors: @kavishkartha05 (Twitter, LinkedIn), @nv-kasikritc
Internal maintainers: @imnishitha, @srimanthtangedipalli-eng, @jkennedyvz, @ccurme, @mdrxy
Released by: @mdrxy
Released from alpha/deepagents-0-7-0a7 at commit c16ebe1
<details> <summary>Git log since deepagents==0.6.12</summary>
This commit history includes changes to this package. Commits are listed newest first.
c16ebe1 hotfix(sdk): alpha release 0.7.0a75d878bf feat(sdk): use FireworksPromptCachingMiddleware for session affinity (#4598)8e86f5e feat(sdk): add total match cap and streaming to grep (#4570)cf057b4 fix(sdk)!: disambiguate read_file line gutters (#4561)8321194 feat(sdk): report remaining lines for paginated reads (#4540)65230df feat(sdk): support surrounding lines in filesystem grep results (#4706)a4662c0 fix(sdk): isolate private custom state from subagents (#4587)44daa24 chore(repo): raise LangChain integration minimums (#4601)c6c7213 fix(langsmith-sandbox): sandbox glob path boundary checks (#4588)d5a60ec feat(sdk): add NVIDIA Nemotron 3 Ultra harness profile (#4192)cbdb0a7 fix(sdk): isolate composite glob paths (#4531)7be76c7 fix(sdk): preserve ContextT on create_deep_agent middleware (#4055)d62534c fix(sdk): accept list format for skill allowed-tools (#4140)2f5f5b8 fix(sdk): make skill truncation warnings actionable (#4141)56c5a5e feat(sdk): improve system prompt configurability (#4437)4cb4749 feat(sdk): add NVIDIA NIM app-origin attribution (#4455)b1dbf5e fix(sdk): improve grep literal guidance and sandbox glob routing (#4168)ef591e7 feat(sdk): bound grep/glob with partial results and a truncated flag (#4063)d77496b fix(sdk): sandbox not-found contract and glob deny over-blocking on delete (#4321)704a70d feat(sdk): add enabled_tools allowlist to FilesystemMiddleware (#4325)feab6e0 fix(sdk): unify grep include-glob semantics across backends (#3936)b0d92c0 fix(sdk): move get_sync() inside try in check_async_task and cancel_async_task (#3967)d4ba51c docs(sdk): expand profiles package docstring with directory layout (#4041)b927147 feat(sdk): optional video frame extraction on read_file (#4094)d6692a7 feat(code,sdk): add rubric iteration controls (#4405)a51c8d2 fix(sdk): emit terminal rubric iteration status (#4406)90c8472 feat(sdk): allow users to override default middleware by name (#4251)02f5bd7 feat(sdk): reduce round trips when offloading large tool results with sandbox.execute (#4230)8e8680b build(deps): refresh dependency minimums (#4331)23500f4 chore(deps): bump langgraph-checkpoint from 4.1.0 to 4.1.1 in /libs/deepagents (#4274)965cbd5 chore(repo): cut over v0.7 to main (#4280)</details>
> This is a pre-release version. Install with: pip install deepagents==0.7.0a6
[!WARNING] This is a pre-release version. Install with:
pip install deepagents==0.7.0a6
This alpha adds a dedicated NVIDIA Nemotron 3 Ultra harness profile and adds fixes for skill metadata parsing, truncation guidance, context-aware middleware typing, and composite filesystem routing.
allowed-tools frontmatter, trimming valid list entries and continuing to warn only for unsupported scalar values (#4140) (d62534c).SkillsMiddleware truncation warnings actionable by reporting the field name, file path, actual length, configured limit, model-selection impact, and the specific SKILL.md frontmatter field to shorten (#4141) (2f5f5b8).ContextT through the create_deep_agent(..., middleware=[...]) type annotation, so type checkers accept context-aware middleware when a matching context_schema is passed (#4055) (7be76c7).CompositeBackend.glob and CompositeBackend.aglob routing so explicit default-backend paths such as /tools do not also return files from routed backends such as /memories (#4531) (cbdb0a7).Thanks to our community contributors: @kavishkartha05 (Twitter, LinkedIn), @nv-kasikritc
Internal maintainers: @imnishitha, @srimanthtangedipalli-eng, @jkennedyvz, @ccurme, @mdrxy
Released by: @imnishitha
Released from alpha/deepagents-0-7-0a6 at commit 55983b3
Yanked -- accidental re-release of deepagents==0.7.0a5
Yanked -- accidental re-release of deepagents==0.7.0a5
[!WARNING] This is a pre-release version. Install with:
pip install deepagents==0.7.0a5
Internal maintainers: @imnishitha
Jul 7, 2026 2 files
Yanked reason: Accidental re-release of prior alpha.
Pre-release
> This is a pre-release version. Install with: pip install deepagents==0.7.0a4
[!WARNING] This is a pre-release version. Install with:
pip install deepagents==0.7.0a4
This alpha adds tighter filesystem tool control, bounded search behavior, more configurable system prompts, and optional video frame extraction on top of the 0.7 prerelease line.
FilesystemMiddleware, so callers can expose only selected built-in filesystem tools while keeping read_file available and leaving custom user tools unaffected (#4325) (704a70d).create_deep_agent(..., system_prompt=...) accept a structured prompt config with prefix, base, and suffix, so users can replace or remove the built-in base prompt instead of only prepending to it (#4437) (56c5a5e).grep and glob over large or slow trees by returning valid partial results with a truncated flag instead of hanging or discarding work on timeout; glob also now supports brace expansion such as *.{py,md} on supported backends (#4063) (ef591e7).read_file when media dependencies are installed. Video files such as .mp4, .mov, .webm, and .mkv are sampled into JPEG frames, with offset and limit interpreted as seconds, while existing generic multimodal behavior is preserved when the optional dependencies are unavailable (#4094) (b927147).check_async_task and cancel_async_task by keeping clients.get_sync() inside the existing error-handling path (#3967) (b0d92c0).grep(..., glob=...) include-glob semantics across filesystem and in-memory backends, so basename patterns like *.py match at any depth and slash-containing patterns like src/**/*.py match relative paths consistently (#3936) (feab6e0).grep's literal-only contract clearer in tool descriptions and no-match hints, route slash-containing sandbox include-globs correctly, and shorten default search timeouts so bad patterns and huge trees return guidance faster (#4168) (b1dbf5e).Thanks to our community contributors: @kavishkartha05 (Twitter, LinkedIn), @nv-kasikritc
Internal maintainers: @imnishitha, @jkennedyvz, @ccurme, @mdrxy
Released by: @mdrxy
Released from alpha/deepagents-0-7-0a4 at commit ad2fe61
> This is a pre-release version. Install with: pip install deepagents==0.7.0a3
[!WARNING] This is a pre-release version. Install with:
pip install deepagents==0.7.0a3
This alpha catches the 0.7 prerelease line up to current main and adds the latest SDK behavior changes on top of the recursive filesystem work from 0.7.0a2.
create_deep_agent(..., middleware=[...]) to replace a default middleware instance when the .name matches, so users can override defaults such as SummarizationMiddleware without also excluding the built-in instance (#4251) (90c8472).sandbox.execute offloads large tool results by capturing oversized command output directly inside the sandbox artifact path (#4230) (02f5bd7).max_iterations limit on RubricMiddleware (#4405) (d6692a7).deepagents[aws] extra for Bedrock prompt caching support from the latest stable line (#4108) (a398382).max_iterations_reached as the terminal RubricMiddleware status when the iteration cap is exhausted, instead of emitting a final needs_revision event that will not loop (#4406) (a51c8d2).Internal maintainers: @imnishitha, @ccurme, @mdrxy
Released by: @mdrxy
Released from alpha/deepagents-0-7-0a3 at commit 7d5e7c0
> This is a pre-release version. Install with: pip install deepagents==0.7.0a2
[!WARNING] This is a pre-release version. Install with:
pip install deepagents==0.7.0a2
This alpha expands the initial filesystem work into the final 0.7 destructive-file-operation shape and updates write semantics so agents can replace files directly.
write_file to overwrite existing files, matching the behavior agents need when replacing generated artifacts or applying full-file edits (#4109) (0decb36).Internal maintainers: @imnishitha, @mdrxy
Released by: @mdrxy
Released from alpha/deepagents-0-7-0a2 at commit 02f8017
> This is a pre-release version. Install with: pip install deepagents==0.7.0a1
[!WARNING] This is a pre-release version. Install with:
pip install deepagents==0.7.0a1
This first 0.7.0 alpha starts the filesystem-backend changes for destructive file operations and explicit empty-result handling. It is intended for validating the 0.7 line before these behavior changes are promoted to a GA release.
ls and glob empty-result output changes from [] to No files found. Callers that parse or compare empty-result output should update those checks.delete/adelete protocol support and expose a filesystem delete tool for agents. Unsupported backends return user-facing unsupported-delete errors instead of failing opaquely (a592f28).No files found sentinel from ls and glob when no paths match, instead of exposing the stringified empty list [] (#3709) (81e61ee).Internal maintainers: @imnishitha
This release adds the deepagents[aws] extra, which installs langchain-aws so Bedrock users get the automatic prompt caching integration added in #4108
This release adds the deepagents[aws] extra, which installs langchain-aws so Bedrock users get the automatic prompt caching integration added in #4108.
Internal maintainers: @imnishitha, @aolsenjazz, @mdrxy
Released by: @mdrxy
Route BaseSandbox async helpers through aexecute
Compare provider in model_matches_spec
Support configurable subagent response format
TypeError from custom token_counter (#3927) (a6ec9d0)Overwrite-wrapped messages in tool result interception (#3905) (a043c5a)Thanks to our community contributors: @phamgialinhlx
Internal maintainers: @nick-hollon-lc, @hntrl, @mdrxy
> We have removed public exports for SubagentRunStream, AsyncSubagentRunStream, and SubagentTransformer. These are internal classes for the beta strea
[!WARNING] We have removed public exports for
SubagentRunStream,AsyncSubagentRunStream, andSubagentTransformer. These are internal classes for the betastream_events(version="v3")streaming API that should not have been publicly exported in the first place.
lc_agent_name projection (e0a1ed2)glob path default with grep (#3666) (ece8e75)FilesystemBackend.ls (#3574) (4c28760)Thanks to our community contributors: @keenborder786, @NinaadRao (LinkedIn)
Internal maintainers: @nick-hollon-lc, @mdrxy
Propagate goto and graph in Commands returned by tools
Allow passing state_schema in create_deep_agent
RubricMiddleware for self-evaluated agent iteration
RubricMiddleware for self-evaluated agent iteration (#3529) (5b8d44d)file_path kwarg in read_file examples (#3630) (97946ee)read_file pagination skipping lines after wrapping (#3641) (390551d)None state in messages delta reducer (#3636) (5a6d920)Internal maintainers: @davibinboi, @mdrxy
Grep crashing when files vanish mid-walk
Anchor ripgrep glob to search root
Internal maintainers: @nick-hollon-lc, @sydney-runkle, @mdrxy
Add system_prompt override slot to memory, skills, and summarization
MemoryMiddleware prompt with investigate-first agent behavior (#2461) (d53c8f4)keep limit (#3405) (bee514f)Thanks to our community contributors: @AdemBoukhris457
Internal maintainers: @nick-hollon-lc, @ccurme, @mdrxy
Import profile re-exports from leaf modules
[`CodeInterpreterMiddleware`](https://pypi.org/project/langchain-quickjs): (experimental) deepagents now supports code execution and programmatic tool
CodeInterpreterMiddleware: (experimental) deepagents now supports code execution and programmatic tool calling through a scoped QuickJS runtime. Install via the optional dependency: deepagents[quickjs].version="v3" in stream_events / astream_events. Refer to the event streaming guide for details.Internal maintainers: @sydney-runkle, @vishnu-ssuresh, @ccurme, @mdrxy
> This is a pre-release version. Install with: pip install deepagents==0.6.0a3
[!WARNING] This is a pre-release version. Install with:
pip install deepagents==0.6.0a3
Internal maintainers: @nick-hollon-lc, @sydney-runkle
> This is a pre-release version. Install with: pip install deepagents==0.6.0a2
[!WARNING] This is a pre-release version. Install with:
pip install deepagents==0.6.0a2
Internal maintainers: @nick-hollon-lc, @sydney-runkle
> This is a pre-release version. Install with: pip install deepagents==0.6.0a1
[!WARNING] This is a pre-release version. Install with:
pip install deepagents==0.6.0a1
Internal maintainers: @nick-hollon-lc, @sydney-runkle, @mdrxy
Import profile symbols directly from harness_profiles
Avoid deprecated-use warnings in CompositeBackend path mutation
Auto-added GP subagent inherits parent permissions
Add write preflight and native read to langsmith sandbox
Prevent stdin hang by passing DEVNULL
Until this release, deepagents shipped a single set of prompts, tools, and middleware tuned to work across *all* model families. Today's headline chan
Until this release, deepagents shipped a single set of prompts, tools, and middleware tuned to work across all model families. Today's headline change is harness profiles — a declarative override layer for the parts of the harness that vary per model (system-prompt prefix/suffix, tool inclusion and naming, middleware selection, subagent configuration, skills). ProviderProfile shapes how resolve_model builds the client; HarnessProfile / HarnessProfileConfig shape how create_deep_agent assembles the agent. Both are keyed by provider ("openai") or full provider:model spec ("openai:gpt-5.4"), and registrations are additive — your call site doesn't change when you swap models.
We currently ship built-ins for OpenAI and Anthropic out of the box, drawn directly from each vendor's published prompting guides (Codex's apply_patch / shell_command conventions, Claude's tool-result reflection and active-investigation patterns, etc.). On a curated tau2-bench subset, applying these profiles produced a 10–20 point lift over the default harness (GPT-5.3 Codex: 33% -> 53%; Claude Opus 4.7: 43% -> 53%). Third-party plugins can register via the deepagents.provider_profiles and deepagents.harness_profiles entry points.
See the profiles documentation for the full field surface, merge semantics, and plugin packaging.
PurePosixPath processing (#1859) (e1c1d50)StateBackend (#2991) (0924869)read() prefix check as text (#2980) (c36ebc7)configurable directly instead of tracing context for subagent tagging (#2845) (bd6ec6b)Thanks to our community contributors: @SeongBeomLEE, @pawel-twardziak
Internal maintainers: @sydney-runkle, @vishnu-ssuresh, @DanielKneipp, @hntrl, @kevinbfrank, @ccurme, @jacoblee93, @mdrxy
Deprecate model=None in create_deep_agent
model=None in create_deep_agent (#2677) (149df41)Permissions system for filesystem access control
> This is a pre-release version. Install with: pip install deepagents==0.5.2a3
[!WARNING] This is a pre-release version. Install with:
pip install deepagents==0.5.2a3
Internal maintainers: @nick-hollon-lc, @sydney-runkle, @ccurme, @mdrxy
> This is a pre-release version. Install with: pip install deepagents==0.5.2a2
[!WARNING] This is a pre-release version. Install with:
pip install deepagents==0.5.2a2
Internal maintainers: @nick-hollon-lc, @sydney-runkle, @ccurme, @mdrxy
> This is a pre-release version. Install with: pip install deepagents==0.5.2a1
[!WARNING] This is a pre-release version. Install with:
pip install deepagents==0.5.2a1
sdk: add artifacts_root to CompositeBackend and middleware
Your coding agent can read these notes before it upgrades. Set up the MCP server →