Skip to content

Launch native agent UIs through shared tmux hosts - #21

Merged
ScottRBK merged 4 commits into
mainfrom
feat/interactive-harness-poc
Sep 6, 2026
Merged

ScottRBK merged 4 commits into
mainfrom
feat/interactive-harness-poc

Conversation

@ScottRBK

@ScottRBK ScottRBK commented Sep 5, 2026

Copy link
Copy Markdown
Owner

AgentShell can now launch each agent's actual interactive UI in tmux while exposing shared
input, event observation, and lifecycle control. Supports Codex, Claude Code, Pi, OpenCode,
Copilot CLI, Cursor, and Grok without requiring an app server or reconstructing their UIs.

  • Adds open_interactive() and shared terminal/worker infrastructure; harness-specific setup
    and event parsing remain in adapters. Capabilities describe each harness's available events.
  • Supports owned sessions, windows in existing sessions, and panes to the right of or below the
    caller. Numeric session targets use exact matching.
  • Cleanup checks the original socket, resource IDs, and launch marker before deleting tmux
    resources, preserving replacements even after server restarts. Startup cleanup also covers
    interrupted launches and remain-on-exit.
  • Shares a process guardian across native and interactive runs to terminate resistant helpers
    after the CLI exits, including when terminal job-control signals suspend the harness.
  • Adds a runnable demo, integration tests, and local E2Es. Pins Codex E2Es to Luna at low effort
    and allows effort selection for health probes. No new Python dependencies.

Validation: 1,050 unit/integration tests passed, including 23 new cleanup regression cases.
Real tmux tests use explicitly isolated servers and check input, layout, focus, process
lifecycle, and preservation of borrowed resources. Real Codex/Pi split E2Es passed.
An independent Astra xhigh review approved the final cleanup changes.

Provider-wide E2Es have not all passed: previous runs encountered Claude usage limits and
Copilot account-budget and interactive trust blockers. Interactive hosts remain experimental,
support NoIsolation only, and expose differing metadata capabilities across harnesses.

@ScottRBK ScottRBK left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

please remove the two invalid documents from the poc but aside from that it is good to go

Comment thread docs/development/interactive-harness-review.md Outdated
Comment thread docs/development/interactive-harness-poc.md Outdated
@ScottRBK
ScottRBK merged commit d5403a4 into main Sep 6, 2026
2 checks passed
@ScottRBK
ScottRBK deleted the feat/interactive-harness-poc branch September 6, 2026 11:20
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