Skip to content

fix(box): structured agents resume and switch on linux, and say what they do in order - #82

Merged
sean-brydon merged 1 commit into
mainfrom
structured-linux-fix
Oct 13, 2026
Merged

sean-brydon merged 1 commit into
mainfrom
structured-linux-fix

Conversation

@sean-brydon

Copy link
Copy Markdown
Collaborator

Fixes the Go job, which has failed on Linux since #76 (failing on main now). Reproduced on Linux (golang:1.27, tmux 3.5a). This must merge before the release, because the release workflow runs these checks.

  • A session started again (resumed, or back from Claude Code's terminal) now puts its own agent's CLI on PATH. It was hard-coded to Claude's, so on Linux, where a login shell resets PATH, a resumed Codex or ACP agent wasn't found (exec: "codex": executable file not found in $PATH). A real bug for Linux boxes.
  • The terminal hand-off's mark is now size path. tmux on Linux prints a control character in an option escaped (\037), so the turns typed in Claude Code's terminal weren't read back into the chat.
  • An answered permission now says "working again" when the answer is read back from the log, so it comes before the agent's next lines. Said at once, it could land after the turn's end and leave the session showing as running.
  • A driver keeps following a session while a host answers on its socket. A host started again listens a moment before its log says so, and the follower could stop on the old "exited".

All structured tests pass 5/5 under -race on Linux and macOS. The full go test -race ./... passes on macOS.

🤖 Generated with Claude Code

…they do in order

- a structured session started again (resumed, or back from Claude Code's
  terminal) puts its own agent's CLI on PATH, not Claude Code's: on Linux,
  where a login shell resets PATH, a resumed Codex or ACP agent wasn't
  found
- the terminal hand-off's mark is "size path": tmux on Linux shows a
  control character in an option escaped, so the turns typed in the
  terminal weren't read back into the chat
- an answered permission says the agent works again when the answer is read
  back from its log, so it comes before anything the agent says after it;
  said at once, it could land after the turn's end and leave it running
- a driver keeps following a session while a host answers on its socket: a
  host started again listens a moment before its log says so

These are the failures in the Go job since #76, reproduced on Linux.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
berth Ready Ready Preview Oct 13, 2026 2:23pm UTC
berth-docs Ready Ready Preview Oct 13, 2026 2:23pm UTC

Request Review

@sean-brydon
sean-brydon merged commit a20af13 into main Oct 13, 2026
8 checks passed
@linear-code

linear-code Bot commented Oct 13, 2026

Copy link
Copy Markdown

ENG-6013

This branch was successfully deployed

2 active deployments
Preview – berth-docs — c2980c7f Deployed Oct 13, 2026 by vercel[bot]
Preview – berth — c2980c7f Deployed Oct 13, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant