Bumps the minor group with 8 updates in the / directory: | Package | From | To | | --- | --- | --- | | [@anthropic-ai/claude-agent-sdk](https://github.com/anthropics/claude-agent-sdk-typescript) | `0.3.257` | `0.3.263` | | [@anthropic-ai/sdk](https://github.com/anthropics/anthropic-sdk-typescript) | `0.122.0` | `0.124.0` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.4.0` | `26.5.0` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.69.0` | `8.70.0` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.69.0` | `8.70.0` | | [eslint](https://github.com/eslint/eslint) | `10.9.1` | `10.10.0` | | [hono](https://github.com/honojs/hono) | `4.13.5` | `4.13.7` | | [jose](https://github.com/panva/jose) | `6.2.10` | `6.2.12` | Updates `@anthropic-ai/claude-agent-sdk` from 0.3.257 to 0.3.263 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/anthropics/claude-agent-sdk-typescript/releases">@anthropic-ai/claude-agent-sdk's releases</a>.</em></p> <blockquote> <h2>v0.3.263</h2> <h2>What's changed</h2> <ul> <li>Updated to parity with Claude Code v2.1.263</li> </ul> <h2>Update</h2> <pre lang="sh"><code>npm install @anthropic-ai/claude-agent-sdk@0.3.263 # or yarn add @anthropic-ai/claude-agent-sdk@0.3.263 # or pnpm add @anthropic-ai/claude-agent-sdk@0.3.263 # or bun add @anthropic-ai/claude-agent-sdk@0.3.263 </code></pre> <h2>v0.3.261</h2> <h2>What's changed</h2> <ul> <li>Added <code>pluginDelivery: 'initialize'</code> to send <code>plugins</code> over stdin so the launch command line no longer grows with the plugin count (fixes Windows start failures with many plugins)</li> <li>Fixed <code>query()</code> throwing "Object not disposable" in runtimes without a native <code>Symbol.dispose</code>, such as Node ≤22 <code>vm</code> contexts (Jest's <code>node</code> environment, vitest <code>vmThreads</code>/<code>vmForks</code>) and Node <18.18</li> <li>Updated to parity with Claude Code v2.1.261</li> </ul> <h2>Update</h2> <pre lang="sh"><code>npm install @anthropic-ai/claude-agent-sdk@0.3.261 # or yarn add @anthropic-ai/claude-agent-sdk@0.3.261 # or pnpm add @anthropic-ai/claude-agent-sdk@0.3.261 # or bun add @anthropic-ai/claude-agent-sdk@0.3.261 </code></pre> <h2>v0.3.260</h2> <h2>What's changed</h2> <ul> <li>Added optional <code>user_message_uuid</code> to <code>thinking_tokens</code> system messages, linking thinking progress to the user message that triggered the turn</li> <li>Added optional <code>first_content_frame_ms</code>, <code>first_stream_post_ms</code>, <code>first_stream_post_ack_ms</code> and <code>first_stream_post_wall_ms</code> fields to the success result message for remote-session latency breakdowns</li> <li>Fixed <code>managedSettings</code> <code>disableAutoMode: "disable"</code> (either spelling) being dropped by the restrictive-only filter instead of turning auto mode off for the spawned session</li> <li>Fixed <code>rewindFiles()</code> reporting success when no files could be restored (for example when checkpoint backups are missing); it now fails</li> <li>Changed <code>error_max_structured_output_retries</code> results to append the last StructuredOutput tool error; validation errors now name the offending key, allowed values, and actual length or count</li> <li>Changed <code>rate_limit_event</code> to also re-emit during an exceeded window on repeat 429s (about once per 30 seconds per limit window), so stream consumers can refresh stale rate-limit state</li> <li>Updated to parity with Claude Code v2.1.260</li> </ul> <h2>Update</h2> <pre lang="sh"><code></tr></table> </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/anthropics/claude-agent-sdk-typescript/blob/main/CHANGELOG.md">@anthropic-ai/claude-agent-sdk's changelog</a>.</em></p> <blockquote> <h2>0.3.263</h2> <ul> <li>Updated to parity with Claude Code v2.1.263</li> </ul> <h2>0.3.262</h2> <ul> <li>Updated to parity with Claude Code v2.1.262</li> </ul> <h2>0.3.261</h2> <ul> <li>Added <code>pluginDelivery: 'initialize'</code> to send <code>plugins</code> over stdin so the launch command line no longer grows with the plugin count (fixes Windows start failures with many plugins)</li> <li>Fixed <code>query()</code> throwing "Object not disposable" in runtimes without a native <code>Symbol.dispose</code>, such as Node ≤22 <code>vm</code> contexts (Jest's <code>node</code> environment, vitest <code>vmThreads</code>/<code>vmForks</code>) and Node <18.18</li> <li>Updated to parity with Claude Code v2.1.261</li> </ul> <h2>0.3.260</h2> <ul> <li>Added optional <code>user_message_uuid</code> to <code>thinking_tokens</code> system messages, linking thinking progress to the user message that triggered the turn</li> <li>Added optional <code>first_content_frame_ms</code>, <code>first_stream_post_ms</code>, <code>first_stream_post_ack_ms</code> and <code>first_stream_post_wall_ms</code> fields to the success result message for remote-session latency breakdowns</li> <li>Fixed <code>managedSettings</code> <code>disableAutoMode: "disable"</code> (either spelling) being dropped by the restrictive-only filter instead of turning auto mode off for the spawned session</li> <li>Fixed <code>rewindFiles()</code> reporting success when no files could be restored (for example when checkpoint backups are missing); it now fails</li> <li>Changed <code>error_max_structured_output_retries</code> results to append the last StructuredOutput tool error; validation errors now name the offending key, allowed values, and actual length or count</li> <li>Changed <code>rate_limit_event</code> to also re-emit during an exceeded window on repeat 429s (about once per 30 seconds per limit window), so stream consumers can refresh stale rate-limit state</li> <li>Updated to parity with Claude Code v2.1.260</li> </ul> <h2>0.3.259</h2> <ul> <li>Added <code>user_message_uuids</code> beside <code>user_message_uuid</code> on a turn's first reply frame and result: every user message the turn answered, so a reply to several merged messages can be matched to each</li> <li>Added <code>permissionPrompts: 'none'</code> option to auto-deny permission prompts in sessions with nobody to answer them, without disabling auto mode's classifier</li> <li>Updated to parity with Claude Code v2.1.259</li> </ul> <h2>0.3.258</h2> <ul> <li>Updated to parity with Claude Code v2.1.258</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="69f318f92f"><code>69f318f</code></a> chore: Update CHANGELOG.md</li> <li><a href="a96f6b5cbe"><code>a96f6b5</code></a> chore: Update CHANGELOG.md</li> <li><a href="a79d677cbd"><code>a79d677</code></a> chore: Update CHANGELOG.md</li> <li><a href="e3d162bdf0"><code>e3d162b</code></a> chore: Update CHANGELOG.md</li> <li><a href="eefd0df145"><code>eefd0df</code></a> chore: Update CHANGELOG.md</li> <li>See full diff in <a href="https://github.com/anthropics/claude-agent-sdk-typescript/compare/v0.3.257...v0.3.263">compare view</a></li> </ul> </details> <br /> Updates `@anthropic-ai/sdk` from 0.122.0 to 0.124.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/anthropics/anthropic-sdk-typescript/releases">@anthropic-ai/sdk's releases</a>.</em></p> <blockquote> <h2>sdk: v0.124.0</h2> <h2>0.124.0 (2026-09-04)</h2> <p>Full Changelog: <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.123.0...sdk-v0.124.0">sdk-v0.123.0...sdk-v0.124.0</a></p> <h3>Features</h3> <ul> <li><strong>api:</strong> add Claude Tag category and user breakdowns to usage reports (<a href="669ff22431">669ff22</a>)</li> <li><strong>api:</strong> add named types for organization compliance settings state (<a href="54be8da717">54be8da</a>)</li> <li><strong>api:</strong> add support for sending a workspace ID on more endpoints (<a href="a11e6f1d3b">a11e6f1</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>repair custom-code merge in messages resources (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/455">#455</a>) (<a href="7ac43b92e7">7ac43b9</a>)</li> <li><strong>tools:</strong> create agent-toolset files and directories owner-only (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/485">#485</a>) (<a href="a9c2298873">a9c2298</a>)</li> </ul> <h3>Chores</h3> <ul> <li><strong>internal:</strong> bundle the mock server spec and update breaking-change detection (<a href="8752d02422">8752d02</a>)</li> <li><strong>internal:</strong> codegen related update (<a href="a63afbc47d">a63afbc</a>)</li> <li><strong>tests:</strong> reword the skip reason on the path-level query param tests (<a href="999bee5bb8">999bee5</a>)</li> </ul> <h3>Documentation</h3> <ul> <li><strong>api:</strong> update a few doc strings (<a href="2ef3d59b81">2ef3d59</a>)</li> </ul> <h2>sdk: v0.123.0</h2> <h2>0.123.0 (2026-09-01)</h2> <p>Full Changelog: <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.122.0...sdk-v0.123.0">sdk-v0.122.0...sdk-v0.123.0</a></p> <h3>Features</h3> <ul> <li><strong>api:</strong> beta user profiles: add external_user_onboarded_at, remove relationship in favor of access_type (<a href="3efb1a1a81">3efb1a1</a>)</li> <li><strong>api:</strong> manual updates (<a href="c6f0bdaff6">c6f0bda</a>)</li> <li><strong>api:</strong> organization compliance settings, user-profile order_by, memory-store and toolset schema updates (<a href="8e2f0c2f7e">8e2f0c2</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>keep credential file access out of non-Node bundles (<a href="ab6a4b2814">ab6a4b2</a>)</li> </ul> <h3>Chores</h3> <ul> <li><strong>internal:</strong> codegen related update (<a href="788ea8bdaa">788ea8b</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/anthropics/anthropic-sdk-typescript/blob/main/CHANGELOG.md">@anthropic-ai/sdk's changelog</a>.</em></p> <blockquote> <h2>0.124.0 (2026-09-04)</h2> <p>Full Changelog: <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.123.0...sdk-v0.124.0">sdk-v0.123.0...sdk-v0.124.0</a></p> <h3>Features</h3> <ul> <li><strong>api:</strong> add Claude Tag category and user breakdowns to usage reports (<a href="669ff22431">669ff22</a>)</li> <li><strong>api:</strong> add named types for organization compliance settings state (<a href="54be8da717">54be8da</a>)</li> <li><strong>api:</strong> add support for sending a workspace ID on more endpoints (<a href="a11e6f1d3b">a11e6f1</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>repair custom-code merge in messages resources (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/455">#455</a>) (<a href="7ac43b92e7">7ac43b9</a>)</li> <li><strong>tools:</strong> create agent-toolset files and directories owner-only (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/485">#485</a>) (<a href="a9c2298873">a9c2298</a>)</li> </ul> <h3>Chores</h3> <ul> <li><strong>internal:</strong> bundle the mock server spec and update breaking-change detection (<a href="8752d02422">8752d02</a>)</li> <li><strong>internal:</strong> codegen related update (<a href="a63afbc47d">a63afbc</a>)</li> <li><strong>tests:</strong> reword the skip reason on the path-level query param tests (<a href="999bee5bb8">999bee5</a>)</li> </ul> <h3>Documentation</h3> <ul> <li><strong>api:</strong> update a few doc strings (<a href="2ef3d59b81">2ef3d59</a>)</li> </ul> <h2>0.123.0 (2026-09-01)</h2> <p>Full Changelog: <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.122.0...sdk-v0.123.0">sdk-v0.122.0...sdk-v0.123.0</a></p> <h3>Features</h3> <ul> <li><strong>api:</strong> beta user profiles: add external_user_onboarded_at, remove relationship in favor of access_type (<a href="3efb1a1a81">3efb1a1</a>)</li> <li><strong>api:</strong> manual updates (<a href="c6f0bdaff6">c6f0bda</a>)</li> <li><strong>api:</strong> organization compliance settings, user-profile order_by, memory-store and toolset schema updates (<a href="8e2f0c2f7e">8e2f0c2</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>keep credential file access out of non-Node bundles (<a href="ab6a4b2814">ab6a4b2</a>)</li> </ul> <h3>Chores</h3> <ul> <li><strong>internal:</strong> codegen related update (<a href="788ea8bdaa">788ea8b</a>)</li> </ul> <h3>Documentation</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="ba14b1f4fd"><code>ba14b1f</code></a> Merge pull request <a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1177">#1177</a> from anthropics/release-please--branches--main--chan...</li> <li><a href="f99c1a7942"><code>f99c1a7</code></a> chore: release main</li> <li><a href="54be8da717"><code>54be8da</code></a> feat(api): add named types for organization compliance settings state</li> <li><a href="999bee5bb8"><code>999bee5</code></a> chore(tests): reword the skip reason on the path-level query param tests</li> <li><a href="a9c2298873"><code>a9c2298</code></a> fix(tools): create agent-toolset files and directories owner-only (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/485">#485</a>)</li> <li><a href="2637d1198b"><code>2637d11</code></a> chore(examples): refresh platform model IDs (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/376">#376</a>)</li> <li><a href="669ff22431"><code>669ff22</code></a> feat(api): add Claude Tag category and user breakdowns to usage reports</li> <li><a href="a9090aff65"><code>a9090af</code></a> Build SDK</li> <li><a href="8752d02422"><code>8752d02</code></a> chore(internal): bundle the mock server spec and update breaking-change detec...</li> <li><a href="a63afbc47d"><code>a63afbc</code></a> chore(internal): codegen related update</li> <li>Additional commits viewable in <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.122.0...sdk-v0.124.0">compare view</a></li> </ul> </details> <br /> Updates `@types/node` from 26.4.0 to 26.5.0 <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/eslint-plugin` from 8.69.0 to 8.70.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/eslint-plugin's releases</a>.</em></p> <blockquote> <h2>v8.70.0</h2> <h2>8.70.0 (2026-09-07)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [no-generated-empty-object-type] add rule (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12730">#12730</a>)</li> <li><strong>website:</strong> generate per-page social preview cards (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12734">#12734</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li>use stable release of pnpm 12 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12808">#12808</a>)</li> <li>update pnpm to 12.3.4 and dedupe Docusaurus packages (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12829">#12829</a>)</li> <li><strong>eslint-plugin:</strong> [member-ordering] don't report fields that read fields declared before them (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12729">#12729</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-condition] no false positive on RHS of a nested logical expression (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12728">#12728</a>)</li> <li><strong>eslint-plugin:</strong> [no-deprecated] report deprecated imported values used in object shorthand properties (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12780">#12780</a>)</li> <li><strong>project-service:</strong> avoid discarded tsserver logs (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12748">#12748</a>)</li> <li><strong>typescript-estree:</strong> clarify the parserOptions.project error message (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12817">#12817</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Barry <a href="https://github.com/barry166"><code>@barry166</code></a></li> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg</li> <li>Josh Goldberg ✨ <a href="https://github.com/JoshuaKGoldberg"><code>@JoshuaKGoldberg</code></a></li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>Ulrich Stark <a href="https://github.com/ulrichstark"><code>@ulrichstark</code></a></li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md">@typescript-eslint/eslint-plugin's changelog</a>.</em></p> <blockquote> <h2>8.70.0 (2026-09-07)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [no-generated-empty-object-type] add rule (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12730">#12730</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-deprecated] report deprecated imported values used in object shorthand properties (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12780">#12780</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-condition] no false positive on RHS of a nested logical expression (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12728">#12728</a>)</li> <li><strong>eslint-plugin:</strong> [member-ordering] don't report fields that read fields declared before them (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12729">#12729</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Josh Goldberg ✨ <a href="https://github.com/JoshuaKGoldberg"><code>@JoshuaKGoldberg</code></a></li> <li>Ulrich Stark <a href="https://github.com/ulrichstark"><code>@ulrichstark</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="7ee76085c2"><code>7ee7608</code></a> chore(release): publish 8.70.0</li> <li><a href="f66bdcac30"><code>f66bdca</code></a> test(eslint-plugin): [member-ordering] use <code>RuleTester</code> directly in `optional...</li> <li><a href="4586535ab2"><code>4586535</code></a> fix(eslint-plugin): [no-deprecated] report deprecated imported values used in...</li> <li><a href="f8e1e4e2f7"><code>f8e1e4e</code></a> fix(eslint-plugin): [no-unnecessary-condition] no false positive on RHS of a ...</li> <li><a href="889cece8bb"><code>889cece</code></a> fix(eslint-plugin): [member-ordering] don't report fields that read fields de...</li> <li><a href="1a5a8b124b"><code>1a5a8b1</code></a> feat(eslint-plugin): [no-generated-empty-object-type] add rule (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12730">#12730</a>)</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.70.0/packages/eslint-plugin">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/parser` from 8.69.0 to 8.70.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/parser's releases</a>.</em></p> <blockquote> <h2>v8.70.0</h2> <h2>8.70.0 (2026-09-07)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [no-generated-empty-object-type] add rule (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12730">#12730</a>)</li> <li><strong>website:</strong> generate per-page social preview cards (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12734">#12734</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li>use stable release of pnpm 12 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12808">#12808</a>)</li> <li>update pnpm to 12.3.4 and dedupe Docusaurus packages (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12829">#12829</a>)</li> <li><strong>eslint-plugin:</strong> [member-ordering] don't report fields that read fields declared before them (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12729">#12729</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-condition] no false positive on RHS of a nested logical expression (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12728">#12728</a>)</li> <li><strong>eslint-plugin:</strong> [no-deprecated] report deprecated imported values used in object shorthand properties (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12780">#12780</a>)</li> <li><strong>project-service:</strong> avoid discarded tsserver logs (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12748">#12748</a>)</li> <li><strong>typescript-estree:</strong> clarify the parserOptions.project error message (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12817">#12817</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Barry <a href="https://github.com/barry166"><code>@barry166</code></a></li> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg</li> <li>Josh Goldberg ✨ <a href="https://github.com/JoshuaKGoldberg"><code>@JoshuaKGoldberg</code></a></li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>Ulrich Stark <a href="https://github.com/ulrichstark"><code>@ulrichstark</code></a></li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md">@typescript-eslint/parser's changelog</a>.</em></p> <blockquote> <h2>8.70.0 (2026-09-07)</h2> <p>This was a version bump only for parser to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="7ee76085c2"><code>7ee7608</code></a> chore(release): publish 8.70.0</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.70.0/packages/parser">compare view</a></li> </ul> </details> <br /> Updates `eslint` from 10.9.1 to 10.10.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/eslint/eslint/releases">eslint's releases</a>.</em></p> <blockquote> <h2>v10.10.0</h2> <h2>Features</h2> <ul> <li><a href="264b4346d1"><code>264b434</code></a> feat: add <code>d</code> and <code>v</code> flags to <code>no-unexpected-multiline</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21305">#21305</a>) (Gihyeon Jeong / 정기현)</li> <li><a href="c6cc6c592f"><code>c6cc6c5</code></a> feat: check <code>Object.prototype</code> property names in <code>new-cap</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21269">#21269</a>) (crimsonjay0)</li> <li><a href="5661fa65fd"><code>5661fa6</code></a> feat: no-extra-bind false negatives with class fields and static blocks (<a href="https://redirect.github.com/eslint/eslint/issues/21260">#21260</a>) (synthex-byte)</li> </ul> <h2>Bug Fixes</h2> <ul> <li><a href="bb47dc6da2"><code>bb47dc6</code></a> fix: update dependency file-entry-cache to v11 (<a href="https://redirect.github.com/eslint/eslint/issues/20801">#20801</a>) (Milos Djermanovic)</li> <li><a href="427ac0a014"><code>427ac0a</code></a> fix: use format strings in debug calls (<a href="https://redirect.github.com/eslint/eslint/issues/21247">#21247</a>) (Francesco Trotta)</li> <li><a href="9d8153223d"><code>9d81532</code></a> fix: support <code>__proto__</code> in <code>/* exported */</code> comments (<a href="https://redirect.github.com/eslint/eslint/issues/21261">#21261</a>) (sethamus)</li> <li><a href="87e0a08243"><code>87e0a08</code></a> fix: prefer-object-has-own autofix breaks when Object is shadowed (<a href="https://redirect.github.com/eslint/eslint/issues/21282">#21282</a>) (김채영)</li> <li><a href="8e2cb14221"><code>8e2cb14</code></a> fix: <code>new-cap</code> false positive for <code>UTC</code> calls with <code>properties: false</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21275">#21275</a>) (Pixel)</li> <li><a href="9f4a364ab0"><code>9f4a364</code></a> fix: Ignore static imports in no-unreachable (<a href="https://redirect.github.com/eslint/eslint/issues/21276">#21276</a>) (Taha Kotil)</li> </ul> <h2>Documentation</h2> <ul> <li><a href="2417cad57d"><code>2417cad</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="9cecb8a0a2"><code>9cecb8a</code></a> docs: document <code>\c</code> control letter escapes in no-control-regex (<a href="https://redirect.github.com/eslint/eslint/issues/21286">#21286</a>) (한국)</li> <li><a href="8724829f69"><code>8724829</code></a> docs: update compat table links (<a href="https://redirect.github.com/eslint/eslint/issues/21263">#21263</a>) (fnx)</li> <li><a href="5634542be5"><code>5634542</code></a> docs: Clarify eqeqeq suggestion behavior (<a href="https://redirect.github.com/eslint/eslint/issues/21256">#21256</a>) (Müslüm Yılmaz)</li> </ul> <h2>Chores</h2> <ul> <li><a href="b3d876b460"><code>b3d876b</code></a> chore: disable npm audit in ecosystem tests (<a href="https://redirect.github.com/eslint/eslint/issues/21306">#21306</a>) (Francesco Trotta)</li> <li><a href="1696682791"><code>1696682</code></a> ci: restore EMFILE test on Node.js 26 (<a href="https://redirect.github.com/eslint/eslint/issues/21297">#21297</a>) (Marry (Subin Yang))</li> <li><a href="2c7f5d6f47"><code>2c7f5d6</code></a> chore: update github/codeql-action action to v4.37.9 (<a href="https://redirect.github.com/eslint/eslint/issues/21296">#21296</a>) (renovate[bot])</li> <li><a href="3c753f18b4"><code>3c753f1</code></a> chore: update eslint (<a href="https://redirect.github.com/eslint/eslint/issues/21289">#21289</a>) (renovate[bot])</li> <li><a href="1c734690bf"><code>1c73469</code></a> chore: update ecosystem plugins (<a href="https://redirect.github.com/eslint/eslint/issues/21280">#21280</a>) (ESLint Bot)</li> <li><a href="08a02be429"><code>08a02be</code></a> test: add error locations to <code>no-extra-boolean-cast</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21266">#21266</a>) (lumir)</li> <li><a href="77bb1db8e7"><code>77bb1db</code></a> chore: update github/codeql-action action to v4.37.8 (<a href="https://redirect.github.com/eslint/eslint/issues/21270">#21270</a>) (renovate[bot])</li> <li><a href="007e81ac0a"><code>007e81a</code></a> ci: skip EMFILE test on Node.js 26 (<a href="https://redirect.github.com/eslint/eslint/issues/21265">#21265</a>) (lumir)</li> <li><a href="0430280e7c"><code>0430280</code></a> chore: improve ecosystem tests compatibility on Windows (<a href="https://redirect.github.com/eslint/eslint/issues/21178">#21178</a>) (crimsonjay0)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="3f20a57c62"><code>3f20a57</code></a> 10.10.0</li> <li><a href="f4e5284803"><code>f4e5284</code></a> Build: changelog update for 10.10.0</li> <li><a href="bb47dc6da2"><code>bb47dc6</code></a> fix: update dependency file-entry-cache to v11 (<a href="https://redirect.github.com/eslint/eslint/issues/20801">#20801</a>)</li> <li><a href="427ac0a014"><code>427ac0a</code></a> fix: use format strings in debug calls (<a href="https://redirect.github.com/eslint/eslint/issues/21247">#21247</a>)</li> <li><a href="b3d876b460"><code>b3d876b</code></a> chore: disable npm audit in ecosystem tests (<a href="https://redirect.github.com/eslint/eslint/issues/21306">#21306</a>)</li> <li><a href="9d8153223d"><code>9d81532</code></a> fix: support <code>__proto__</code> in <code>/* exported */</code> comments (<a href="https://redirect.github.com/eslint/eslint/issues/21261">#21261</a>)</li> <li><a href="264b4346d1"><code>264b434</code></a> feat: add <code>d</code> and <code>v</code> flags to <code>no-unexpected-multiline</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21305">#21305</a>)</li> <li><a href="1696682791"><code>1696682</code></a> ci: restore EMFILE test on Node.js 26 (<a href="https://redirect.github.com/eslint/eslint/issues/21297">#21297</a>)</li> <li><a href="2c7f5d6f47"><code>2c7f5d6</code></a> chore: update github/codeql-action action to v4.37.9 (<a href="https://redirect.github.com/eslint/eslint/issues/21296">#21296</a>)</li> <li><a href="87e0a08243"><code>87e0a08</code></a> fix: prefer-object-has-own autofix breaks when Object is shadowed (<a href="https://redirect.github.com/eslint/eslint/issues/21282">#21282</a>)</li> <li>Additional commits viewable in <a href="https://github.com/eslint/eslint/compare/v10.9.1...v10.10.0">compare view</a></li> </ul> </details> <br /> Updates `@anthropic-ai/claude-agent-sdk-darwin-arm64` from 0.3.257 to 0.3.263 Updates `@anthropic-ai/claude-agent-sdk-darwin-x64` from 0.3.257 to 0.3.263 Updates `@anthropic-ai/claude-agent-sdk-linux-arm64` from 0.3.257 to 0.3.263 Updates `@anthropic-ai/claude-agent-sdk-linux-arm64-musl` from 0.3.257 to 0.3.263 Updates `@anthropic-ai/claude-agent-sdk-linux-x64` from 0.3.257 to 0.3.263 Updates `@anthropic-ai/claude-agent-sdk-linux-x64-musl` from 0.3.257 to 0.3.263 Updates `@anthropic-ai/claude-agent-sdk-win32-arm64` from 0.3.257 to 0.3.263 Updates `@anthropic-ai/claude-agent-sdk-win32-x64` from 0.3.257 to 0.3.263 Updates `@eslint/plugin-kit` from 0.7.2 to 0.7.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/eslint/rewrite/releases">@eslint/plugin-kit's releases</a>.</em></p> <blockquote> <h2>plugin-kit: v0.7.3</h2> <h2><a href="https://github.com/eslint/rewrite/compare/plugin-kit-v0.7.2...plugin-kit-v0.7.3">0.7.3</a> (2026-09-01)</h2> <h3>Bug Fixes</h3> <ul> <li>preserve <code>__proto__</code> in <code>ConfigCommentParser</code> results (<a href="https://redirect.github.com/eslint/rewrite/issues/501">#501</a>) (<a href="18773d9e41">18773d9</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/eslint/rewrite/blob/main/packages/plugin-kit/CHANGELOG.md">@eslint/plugin-kit's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/eslint/rewrite/compare/plugin-kit-v0.7.2...plugin-kit-v0.7.3">0.7.3</a> (2026-09-01)</h2> <h3>Bug Fixes</h3> <ul> <li>preserve <code>__proto__</code> in <code>ConfigCommentParser</code> results (<a href="https://redirect.github.com/eslint/rewrite/issues/501">#501</a>) (<a href="18773d9e41">18773d9</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="a4466ca3f8"><code>a4466ca</code></a> chore: release main (<a href="https://github.com/eslint/rewrite/tree/HEAD/packages/plugin-kit/issues/504">#504</a>)</li> <li><a href="f83339de1a"><code>f83339d</code></a> docs: clarify parameter description in <code>getText</code> (<a href="https://github.com/eslint/rewrite/tree/HEAD/packages/plugin-kit/issues/505">#505</a>)</li> <li><a href="714ffde559"><code>714ffde</code></a> docs: Update README sponsors</li> <li><a href="18773d9e41"><code>18773d9</code></a> fix: preserve <code>__proto__</code> in <code>ConfigCommentParser</code> results (<a href="https://github.com/eslint/rewrite/tree/HEAD/packages/plugin-kit/issues/501">#501</a>)</li> <li><a href="caffae71f6"><code>caffae7</code></a> docs: Update README sponsors</li> <li><a href="ae1ba2585b"><code>ae1ba25</code></a> docs: Update README sponsors</li> <li><a href="50051c603e"><code>50051c6</code></a> docs: Update README sponsors</li> <li><a href="ea835245e2"><code>ea83524</code></a> docs: Update README sponsors</li> <li><a href="29956ae008"><code>29956ae</code></a> docs: Update README sponsors</li> <li><a href="f6d5bdff38"><code>f6d5bdf</code></a> docs: Update README sponsors</li> <li>Additional commits viewable in <a href="https://github.com/eslint/rewrite/commits/plugin-kit-v0.7.3/packages/plugin-kit">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/project-service` from 8.69.0 to 8.70.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/project-service's releases</a>.</em></p> <blockquote> <h2>v8.70.0</h2> <h2>8.70.0 (2026-09-07)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [no-generated-empty-object-type] add rule (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12730">#12730</a>)</li> <li><strong>website:</strong> generate per-page social preview cards (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12734">#12734</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li>use stable release of pnpm 12 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12808">#12808</a>)</li> <li>update pnpm to 12.3.4 and dedupe Docusaurus packages (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12829">#12829</a>)</li> <li><strong>eslint-plugin:</strong> [member-ordering] don't report fields that read fields declared before them (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12729">#12729</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-condition] no false positive on RHS of a nested logical expression (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12728">#12728</a>)</li> <li><strong>eslint-plugin:</strong> [no-deprecated] report deprecated imported values used in object shorthand properties (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12780">#12780</a>)</li> <li><strong>project-service:</strong> avoid discarded tsserver logs (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12748">#12748</a>)</li> <li><strong>typescript-estree:</strong> clarify the parserOptions.project error message (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12817">#12817</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Barry <a href="https://github.com/barry166"><code>@barry166</code></a></li> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg</li> <li>Josh Goldberg ✨ <a href="https://github.com/JoshuaKGoldberg"><code>@JoshuaKGoldberg</code></a></li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>Ulrich Stark <a href="https://github.com/ulrichstark"><code>@ulrichstark</code></a></li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/project-service/CHANGELOG.md">@typescript-eslint/project-service's changelog</a>.</em></p> <blockquote> <h2>8.70.0 (2026-09-07)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>project-service:</strong> avoid discarded tsserver logs (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12748">#12748</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Barry <a href="https://github.com/barry166"><code>@barry166</code></a></li> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="7ee76085c2"><code>7ee7608</code></a> chore(release): publish 8.70.0</li> <li><a href="d2d07eb2ac"><code>d2d07eb</code></a> fix(project-service): avoid discarded tsserver logs (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/project-service/issues/12748">#12748</a>)</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.70.0/packages/project-service">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/scope-manager` from 8.69.0 to 8.70.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/scope-manager's releases</a>.</em></p> <blockquote> <h2>v8.70.0</h2> <h2>8.70.0 (2026-09-07)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [no-generated-empty-object-type] add rule (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12730">#12730</a>)</li> <li><strong>website:</strong> generate per-page social preview cards (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12734">#12734</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li>use stable release of pnpm 12 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12808">#12808</a>)</li> <li>update pnpm to 12.3.4 and dedupe Docusaurus packages (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12829">#12829</a>)</li> <li><strong>eslint-plugin:</strong> [member-ordering] don't report fields that read fields declared before them (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12729">#12729</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-condition] no false positive on RHS of a nested logical expression (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12728">#12728</a>)</li> <li><strong>eslint-plugin:</strong> [no-deprecated] report deprecated imported values used in object shorthand properties (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12780">#12780</a>)</li> <li><strong>project-service:</strong> avoid discarded tsserver logs (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12748">#12748</a>)</li> <li><strong>typescript-estree:</strong> clarify the parserOptions.project error message (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12817">#12817</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Barry <a href="https://github.com/barry166"><code>@barry166</code></a></li> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg</li> <li>Josh Goldberg ✨ <a href="https://github.com/JoshuaKGoldberg"><code>@JoshuaKGoldberg</code></a></li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>Ulrich Stark <a href="https://github.com/ulrichstark"><code>@ulrichstark</code></a></li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/scope-manager/CHANGELOG.md">@typescript-eslint/scope-manager's changelog</a>.</em></p> <blockquote> <h2>8.70.0 (2026-09-07)</h2> <p>This was a version bump only for scope-manager to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="7ee76085c2"><code>7ee7608</code></a> chore(release): publish 8.70.0</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.70.0/packages/scope-manager">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/tsconfig-utils` from 8.69.0 to 8.70.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/tsconfig-utils's releases</a>.</em></p> <blockquote> <h2>v8.70.0</h2> <h2>8.70.0 (2026-09-07)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [no-generated-empty-object-type] add rule (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12730">#12730</a>)</li> <li><strong>website:</strong> generate per-page social preview cards (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12734">#12734</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li>use stable release of pnpm 12 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12808">#12808</a>)</li> <li>update pnpm to 12.3.4 and dedupe Docusaurus packages (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12829">#12829</a>)</li> <li><strong>eslint-plugin:</strong> [member-ordering] don't report fields that read fields declared before them (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12729">#12729</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-condition] no false positive on RHS of a nested logical expression (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12728">#12728</a>)</li> <li><strong>eslint-plugin:</strong> [no-deprecated] report deprecated imported values used in object shorthand properties (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12780">#12780</a>)</li> <li><strong>project-service:</strong> avoid discarded tsserver logs (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12748">#12748</a>)</li> <li><strong>typescript-estree:</strong> clarify the parserOptions.project error message (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12817">#12817</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Barry <a href="https://github.com/barry166"><code>@barry166</code></a></li> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg</li> <li>Josh Goldberg ✨ <a href="https://github.com/JoshuaKGoldberg"><code>@JoshuaKGoldberg</code></a></li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>Ulrich Stark <a href="https://github.com/ulrichstark"><code>@ulrichstark</code></a></li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/tsconfig-utils/CHANGELOG.md">@typescript-eslint/tsconfig-utils's changelog</a>.</em></p> <blockquote> <h2>8.70.0 (2026-09-07)</h2> <p>This was a version bump only for tsconfig-utils to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="7ee76085c2"><code>7ee7608</code></a> chore(release): publish 8.70.0</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.70.0/packages/tsconfig-utils">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/type-utils` from 8.69.0 to 8.70.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/type-utils's releases</a>.</em></p> <blockquote> <h2>v8.70.0</h2> <h2>8.70.0 (2026-09-07)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [no-generated-empty-object-type] add rule (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12730">#12730</a>)</li> <li><strong>website:</strong> generate per-page social preview cards (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12734">#12734</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li>use stable release of pnpm 12 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12808">#12808</a>)</li> <li>update pnpm to 12.3.4 and dedupe Docusaurus packages (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12829">#12829</a>)</li> <li><strong>eslint-plugin:</strong> [member-ordering] don't report fields that read fields declared before them (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12729">#12729</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-condition] no false positive on RHS of a nested logical expression (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12728">#12728</a>)</li> <li><strong>eslint-plugin:</strong> [no-deprecated] report deprecated imported values used in object shorthand properties (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12780">#12780</a>)</li> <li><strong>project-service:</strong> avoid discarded tsserver logs (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12748">#12748</a>)</li> <li><strong>typescript-estree:</strong> clarify the parserOptions.project error message (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12817">#12817</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Barry <a href="https://github.com/barry166"><code>@barry166</code></a></li> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg</li> <li>Josh Goldberg ✨ <a href="https://github.com/JoshuaKGoldberg"><code>@JoshuaKGoldberg</code></a></li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>Ulrich Stark <a href="https://github.com/ulrichstark"><code>@ulrichstark</code></a></li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/type-utils/CHANGELOG.md">@typescript-eslint/type-utils's changelog</a>.</em></p> <blockquote> <h2>8.70.0 (2026-09-07)</h2> <p>This was a version bump only for type-utils to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="7ee76085c2"><code>7ee7608</code></a> chore(release): publish 8.70.0</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.70.0/packages/type-utils">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/types` from 8.69.0 to 8.70.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/types's releases</a>.</em></p> <blockquote> <h2>v8.70.0</h2> <h2>8.70.0 (2026-09-07)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [no-generated-empty-object-type] add rule (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12730">#12730</a>)</li> <li><strong>website:</strong> generate per-page social preview cards (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12734">#12734</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li>use stable release of pnpm 12 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12808">#12808</a>)</li> <li>update pnpm to 12.3.4 and dedupe Docusaurus packages (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12829">#12829</a>)</li> <li><strong>eslint-plugin:</strong> [member-ordering] don't report fields that read fields declared before them (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12729">#12729</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-condition] no false positive on RHS of a nested logical expression (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12728">#12728</a>)</li> <li><strong>eslint-plugin:</strong> [no-deprecated] report deprecated imported values used in object shorthand properties (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12780">#12780</a>)</li> <li><strong>project-service:</strong> avoid discarded tsserver logs (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12748">#12748</a>)</li> <li><strong>typescript-estree:</strong> clarify the parserOptions.project error message (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12817">#12817</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Barry <a href="https://github.com/barry166"><code>@barry166</code></a></li> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg</li> <li>Josh Goldberg ✨ <a href="https://github.com/JoshuaKGoldberg"><code>@JoshuaKGoldberg</code></a></li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>Ulrich Stark <a href="https://github.com/ulrichstark"><code>@ulrichstark</code></a></li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/types/CHANGELOG.md">@typescript-eslint/types's changelog</a>.</em></p> <blockquote> <h2>8.70.0 (2026-09-07)</h2> <p>This was a version bump only for types to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="7ee76085c2"><code>7ee7608</code></a> chore(release): publish 8.70.0</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.70.0/packages/types">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/typescript-estree` from 8.69.0 to 8.70.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/typescript-estree's releases</a>.</em></p> <blockquote> <h2>v8.70.0</h2> <h2>8.70.0 (2026-09-07)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [no-generated-empty-object-type] add rule (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12730">#12730</a>)</li> <li><strong>website:</strong> generate per-page social preview cards (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12734">#12734</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li>use stable release of pnpm 12 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12808">#12808</a>)</li> <li>update pnpm to 12.3.4 and dedupe Docusaurus packages (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12829">#12829</a>)</li> <li><strong>eslint-plugin:</strong> [member-ordering] don't report fields that read fields declared before them (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12729">#12729</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-condition] no false positive on RHS of a nested logical expression (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12728">#12728</a>)</li> <li><strong>eslint-plugin:</strong> [no-deprecated] report deprecated imported values used in object shorthand properties (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12780">#12780</a>)</li> <li><strong>project-service:</strong> avoid discarded tsserver logs (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12748">#12748</a>)</li> <li><strong>typescript-estree:</strong> clarify the parserOptions.project error message (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12817">#12817</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Barry <a href="https://github.com/barry166"><code>@barry166</code></a></li> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg</li> <li>Josh Goldberg ✨ <a href="https://github.com/JoshuaKGoldberg"><code>@JoshuaKGoldberg</code></a></li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaibling... _Description has been truncated_ --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
10 KiB
Session failure extension
This document defines the provider-neutral experimental sessionFailure extension implemented by
claude-agent-acp. Warnings and errors are durable transcript entries shown in order beside user,
agent, and tool messages. They are not assistant-authored text and not ephemeral chat banners.
Capability negotiation
The extension is opt-in. A client advertises it in initialize:
{
"clientCapabilities": {
"_meta": {
"jetbrains": {
"air": {
"version": 1,
"capabilities": ["sessionFailure"]
}
}
}
}
}
The adapter enables the extension only when version is a finite integer greater than or equal to
1 and capabilities contains sessionFailure. Otherwise it preserves the legacy ACP behavior.
Wire record
The record is placed under _meta.jetbrains.air.sessionFailure:
{
"_meta": {
"jetbrains": {
"air": {
"version": 1,
"sessionFailure": {
"id": "prompt-uuid:error",
"revision": 1,
"category": "limit",
"severity": "error",
"title": "You've hit your individual spend limit · run /usage-credits to ask your admin for a higher limit",
"actions": []
}
}
}
}
}
| Field | Required | Type | Meaning |
|---|---|---|---|
id |
yes | non-empty string | Stable identity of one logical incident. |
revision |
yes | positive integer | Monotonically increasing version of that incident. |
category |
yes | category enum | Broad machine-readable visual group. |
severity |
yes | warning or error |
Inline warning or error presentation. |
title |
yes | string | Complete normal user-facing presentation. |
details |
no | string | Long explanation used only when required text is too large for title. |
actions |
yes | ordered string array | Recovery actions recommended by the adapter. |
There are no phase, source, safeMessage, retryable, retryAfterMs, turnId, retry-counter,
or provider-code fields. Retry progress belongs in title when Claude supplies it. Transcript order
and persistence time come from the receiving ACP event.
Identity, revisions, and history
id identifies one occurrence, not an error type.
- The first record for an incident creates one transcript entry at the current stream position.
- The same
idwith a higherrevisionupdates that entry in place without moving it. - The same or a lower revision is idempotently ignored by the client.
- A later independent occurrence uses a new
id, even when its category and text are identical. - Consecutive updates for the same notice may reuse one id and increment its revision.
- Different ids are never deduplicated by comparing title or category.
Live turn failures use <turnId>:error. Session-scoped incidents use an adapter-session epoch plus an
incident sequence. Notices have their own :notice: namespace. Replayed usage-limit failures recover
the persisted user-message UUID used as the live turn id, so the same occurrence keeps the same id.
Malformed history without a preceding user message falls back to
<sessionId>:history-error:<messageUuid>.
Resolved records remain in transcript history. Recovery removes only the adapter's internal active state; it does not publish a clear tombstone and does not delete or rewrite the historical entry. A producer may publish a higher revision only when it has a real new user-facing status to show.
Delivery surfaces
A turn-terminal failure is attached to the successful ACP PromptResponse in _meta; the response
uses stopReason: end_turn. Session-scoped, replay-restored, warning, and background incidents use a
session_info_update. The schema is identical on both carriers.
A warning does not end a turn. An error record does not independently invent ACP lifecycle state; the prompt response or transport lifecycle remains authoritative. If no capable client negotiated the extension, existing JSON-RPC errors and transcript text remain unchanged.
Categories
Categories are deliberately broad and drive only iconography and generic accessibility labels.
| Category | Covers |
|---|---|
connection |
Lost transport, stopped or shutting-down worker, unavailable runtime. |
access |
Authentication required, rejected credentials, denied access. |
limit |
Rate, quota, token, context, turn, or configured budget limit. |
request |
Invalid input, unsupported model or operation, rejected request. |
service |
Provider overload, provider failure, adapter/internal failure. |
unknown |
A warning or failure that does not fit another group. |
Claude SDK conditions map to these groups:
| Claude condition | Category |
|---|---|
authentication_failed, oauth_org_not_allowed, synthetic login message |
access |
verification_required, cloud_credential_error |
access (no login action) |
billing_error, rate_limit, max_output_tokens, usage/spend limit, budget/turn limit |
limit |
invalid_request, model_not_found |
request |
overloaded, server_error, unknown provider error, adapter internal error |
service |
| API retry without an HTTP response, query transport loss, worker shutdown | connection |
| model fallback notice | unknown with severity: warning |
Unknown SDK error kinds degrade to service; they never become success. Category does not determine
message text or client behavior beyond presentation.
Severity
warningmeans the operation may still succeed and normally has no actions while recovery is in progress. It does not terminate the turn. SDKapi_retryprogress reuses the active turn failure id; a later terminal failure updates that record with a higher revision.errormeans the operation cannot continue without user action or another request.
Severity is always explicit.
Title and details
title is the complete normal presentation: what happened, retry progress when present, and a short
next step. The adapter must not replace a real Claude message with category-specific canned wording.
For Claude SDK failures the title is copied from the user-facing text Claude already emitted:
- top-level assistant error text, including synthetic usage-limit and login messages;
- otherwise the terminal SDK result or error text;
- the exact model-fallback notice for warning records.
Adapter-authored fallback text is allowed only when no Claude user-facing message exists, such as a query iterator throwing, worker-shutdown EOF, or an internal missing-result invariant. Raw thrown exceptions, stack traces, transport URLs, tokens, headers, environment values, and private paths are never used as titles.
details is reserved exclusively for required explanations too large to fit reasonably in title.
If the complete message fits in title, details must be omitted. It is not a place for status text,
retry counters, provider payloads, or diagnostics.
Actions
Version 1 defines only:
| Action | Meaning |
|---|---|
retry |
Retry the operation associated with this incident. |
login |
Start authentication. |
new_session |
Start a fresh agent session/runtime. |
The adapter supplies action ordering. The client filters actions it cannot safely execute and ignores unknown or duplicate values. The client must not infer actions from category.
Current Claude policies are:
- authentication:
login; - provider overload/error and recoverable internal error:
retry; - transport loss or worker shutdown:
new_session; - context or configured session-budget exhaustion:
new_session; - account quota and invalid request: no action.
Internal recovery
Recovery policy is internal adapter state and is not serialized:
- restored quota remains active until a real model answer;
- authentication remains active until successful
auth_status; - transport loss and worker shutdown remain active until runtime replacement;
- other turn-scoped failures stop being active at a later confirmed attempt boundary;
- notices are not cleared merely by generic success.
Recovery never removes the transcript record. Publishing another incident is not evidence that an older one recovered.
History replay
session/load scans top-level assistant history for SDK synthetic usage-limit messages. It recognizes
only <synthetic> messages beginning with SDK-owned stable prefixes, not arbitrary model prose. Every
recognized occurrence is replayed as a typed record at its original transcript position. The latest
matching message stays active until a later real-model answer proves recovery; older and recovered
records remain historical typed entries.
For a capable client, replay suppresses duplicate assistant prose and restores typed errors using the
exact stored Claude text as title. Legacy clients receive the original transcript and no typed record.
Verification
The executable contract lives primarily in src/tests/acp-agent.test.ts, under usage-limit failure replay, stop reason propagation, and model refusal fallback handling.
npm run build
npm run check
npm run test:run