Skip to content

fix(code): show resume hint after crashes - #5412

Merged
Mason Daugherty (mdrxy) merged 3 commits into
mainfrom
mdrxy/code/crash-resume-hint
Aug 11, 2026
Merged

fix(code): show resume hint after crashes#5412
Mason Daugherty (mdrxy) merged 3 commits into
mainfrom
mdrxy/code/crash-resume-hint

Conversation

@mdrxy

Copy link
Copy Markdown
Member

Crashed sessions now print a resume hint with a warning that the last turn may be incomplete and resuming may be unsafe.


Checkpoints are written incrementally after each model call, so a crashed session can still be resumed. The previous return_code == 0 gate hid _render_teardown_thread_hints exactly when recovery guidance was most needed.

Made by Open SWE

Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
@github-actions github-actions Bot added dcode Related to `deepagents-code` fix A bug fix (PATCH) internal User is a member of the `langchain-ai` GitHub organization size: S 50-199 LOC labels Aug 11, 2026
@mdrxy
Mason Daugherty (mdrxy) marked this pull request as ready for review August 11, 2026 05:52

@open-swe open-swe Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Open SWE Review found 2 potential issues.

Open in WebView Open SWE trace

Comment thread libs/code/deepagents_code/main.py
Comment thread libs/code/deepagents_code/main.py
Address review on #5412:

- Crash teardown lost the active thread: on a `-r` launch the caller's
  `thread_id` local is `None` (resolution is async), and a `/threads`
  switch never reaches it. `run_textual_app` now wraps `run_async`
  failures in `TextualAppError` carrying an `AppResult` snapshot of the
  app's final state, and `run_textual_cli_async` returns that snapshot so
  the resume hint targets the thread that was actually active.
- Signal exits omitted the safety caveat: `KeyboardInterrupt` and the
  termination handler's `SystemExit(128+signum)` bypass the
  `except Exception` assignment, leaving `return_code == 0`. The TUI
  launch block now marks those paths non-zero before re-raising, so an
  interrupted session prints the "last turn may be incomplete" warning.
@github-actions github-actions Bot added size: M 200-499 LOC and removed size: S 50-199 LOC labels Aug 11, 2026

@open-swe open-swe Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Open SWE Review found 1 potential issue.

Open in WebView Open SWE trace

Comment thread libs/code/deepagents_code/main.py
@mdrxy
Mason Daugherty (mdrxy) merged commit 015a019 into main Aug 11, 2026
57 checks passed
@mdrxy
Mason Daugherty (mdrxy) deleted the mdrxy/code/crash-resume-hint branch August 11, 2026 16:33
Mason Daugherty (mdrxy) pushed a commit that referenced this pull request Aug 12, 2026
> [!CAUTION]
> Merging this PR will automatically publish to **PyPI** and create a
**GitHub release**.

For the full release process, see
[`.github/RELEASING.md`](https://github.com/langchain-ai/deepagents/blob/main/.github/RELEASING.md).

---

_Release notes preview: keep this section in sync with the package
`CHANGELOG.md`. Publish reads the merged CHANGELOG via `release.yml`,
not this PR description — keep them aligned anyway so the PR stays an
accurate historical record for reviewers and anyone returning later._

---


##
[0.1.55](deepagents-code==0.1.54...deepagents-code==0.1.55)
(2026-08-12)

### Features

- Added a `/context` usage report for inspecting context consumption
([#5407](#5407)).
- Added a cache and context status row for at-a-glance session state
([#5408](#5408)).
- Added configurable warnings when a session exceeds the configured cost
threshold
([#5405](#5405)).
- Added support for persisting and reconfiguring ACP sessions
([#5366](#5366)).
- Added automatic updates for installed plugins
([#5368](#5368)).
- Added a toggle for diff line numbers
([#5427](#5427)).
- `Ctrl+S` in `/auto model` now stores `[models].auto_classifier`
([#5313](#5313)).

### Fixes

- Restored edit diffs in resumed threads
([#5391](#5391)).
- Added a resume hint after crashes
([#5412](#5412)).
- Clarified the project hooks trust prompt and stopped prompting for
user hooks
([#5426](#5426)).
- Cleared dynamic subagents on the next turn
([#5437](#5437)).
- Improved grouped tool summaries by counting distinct targets
([#5409](#5409)).
- Improved ask-user choice wrapping and selection styling
([#5442](#5442)).
- Serialized `dcode` self-upgrades across processes
([#5252](#5252)).
- Added warnings for stale dependencies in editable installs
([#5386](#5386)).
- Hid incomplete extras from version output
([#5352](#5352)).
- Removed the optional-provider startup tip
([#5421](#5421)).
- Removed the “Message restored to input” toast
([#5253](#5253)).

_End release notes preview._

---

> [!NOTE]
> A **New Contributors** section is appended to the GitHub release notes
automatically at publish time (see [Release
Pipeline](https://github.com/langchain-ai/deepagents/blob/main/.github/RELEASING.md#release-pipeline),
step 2).

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: langchain-oss-automated-triage[bot] <248757908+langchain-oss-automated-triage[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dcode Related to `deepagents-code` fix A bug fix (PATCH) internal User is a member of the `langchain-ai` GitHub organization size: M 200-499 LOC

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant