Skip to content

feat(code): gate TERM_PROGRAM resume hints - #5580

Merged
Mason Daugherty (mdrxy) merged 3 commits into
mainfrom
mdrxy/code/resume-term-program-config
Aug 18, 2026
Merged

feat(code): gate TERM_PROGRAM resume hints#5580
Mason Daugherty (mdrxy) merged 3 commits into
mainfrom
mdrxy/code/resume-term-program-config

Conversation

@mdrxy

Copy link
Copy Markdown
Member

Related #5548

TERM_PROGRAM is now omitted from resume hints by default, with an explicit config opt-in that defaults on in experimental or debug mode.


Ambient terminal exports cannot be distinguished from launch-specific values, so features.resume_term_program / DEEPAGENTS_CODE_RESUME_TERM_PROGRAM controls propagation. An explicit true or false value overrides the mode-dependent default; existing quoting, launch snapshotting, and native-Windows safeguards remain intact.

Test plan
  • make -C libs/code format
  • make -C libs/code lint
  • Focused resume/config tests: 38 passed
  • Full-file attempts also exposed an unrelated cold-import timeout and an existing Rich line-wrap assertion outside this change.

Made by Open SWE

Ambient terminal exports cannot be distinguished from launch-specific values, so keep resume-prefix propagation off unless the user opts in or runs in experimental/debug mode.

Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
@github-actions github-actions Bot added dcode Related to `deepagents-code` feature New feature/enhancement or request for one internal User is a member of the `langchain-ai` GitHub organization size: M 200-499 LOC labels Aug 18, 2026
@mdrxy
Mason Daugherty (mdrxy) marked this pull request as ready for review August 18, 2026 05:36

@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: No issues found

Open SWE reviewed this PR and found no potential bugs to report.

Open in WebView Open SWE trace

`resolve_scalar` derives a `BOOL_MODE_DEFAULT` value from debug/experimental
mode and returns before reading `option.default`, so a declared default is
unreachable -- but `dcode config` still renders it, advertising `default False`
for an option that is on. Reject a declared default for the kind at
construction and drop it from `features.resume_term_program`, matching
`debug.log_level`.

Keep `_validate_invert_toml_bool` in sync with the `_coerce_toml` bool branch,
which the kind was added to; without it the inversion path is unreachable for
`BOOL_MODE_DEFAULT` options.

Guard the config read behind the resume hint. `_render_teardown_thread_hints`
runs from a bare `finally` in `cli_main` and documents that teardown output
must never crash the exit path, but the new `_resume_term_program` call reads
`config.toml` and was the one unguarded statement there; an exception would
replace whatever is already unwinding, including the `KeyboardInterrupt` that
produces exit code 130.

Restore the rationale for the prefix (a shell alias exporting `TERM_PROGRAM`
does not change `argv[0]`, so `invoked_name` cannot recover it) and for
dropping rather than stripping control characters, and document that an empty
env value reads as false.

Cover the config.toml route to the hint, which the teardown tests previously
stubbed out entirely, and the unrecognized-token fallthrough.
@mdrxy
Mason Daugherty (mdrxy) merged commit e8035e7 into main Aug 18, 2026
57 checks passed
@mdrxy
Mason Daugherty (mdrxy) deleted the mdrxy/code/resume-term-program-config branch August 18, 2026 14:48
Mason Daugherty (mdrxy) pushed a commit that referenced this pull request Aug 19, 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.58](deepagents-code==0.1.57...deepagents-code==0.1.58)
(2026-08-19)

### Breaking Changes

- `deepagents-code` now requires Python 3.12 or newer.
([#5603](#5603))

### Features

- Added OpenRouter `z-ai/glm-5.3` to the model switcher.
([#5641](#5641))
- Added support for re-authenticating MCP servers from the viewer.
([#5637](#5637))
- Footer pickers can now be opened with `ctrl+click`.
([#5611](#5611))
- Resume hints now account for `TERM_PROGRAM` support before showing
terminal-specific guidance.
([#5580](#5580))

### Fixes

- Completed the `dcode config` command surface.
([#5581](#5581))
- Made `/offload` interruptible.
([#5590](#5590))
- Improved chat and footer UI behavior: rapid typing stays visible,
double-click collapses a resized chat input, and the MCP footer wraps on
narrow windows.
([#5424](#5424),
[#5578](#5578),
[#5651](#5651))
- Captured stdio MCP server stderr in the logger.
([#5610](#5610))
- Drained hook pipes after timeout.
([#5606](#5606))
- Grouped resume trace rounds.
([#5593](#5593))
- Omitted web-search prompt guidance when web search is unavailable.
([#5602](#5602))
- Resolved message pointer shapes per cell.
([#5592](#5592))

_End release notes preview._

---

> [!NOTE]
> A **community contributors** list and a **Special thanks** section
(crediting the users who filed the issues this release's PRs closed) are
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 3).

---------

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` feature New feature/enhancement or request for one 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