From 0b3c6bc1f8861b0b7c865442da337327b0317fe8 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Fri, 1 May 2026 12:20:03 +0200 Subject: [PATCH] restore tmux session in Claude pane Reverts the bare-shell diagnostic. Spawns tmux new-session -A -s for persistence. Claude command will be added back after tmux + resize are stable. Co-Authored-By: Claude Opus 4.6 (1M context) --- .pql/pql-plan.json | 2 +- lib/builtin/claude/src/claude_pane.dart | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.pql/pql-plan.json b/.pql/pql-plan.json index 86a7d610..56246474 100644 --- a/.pql/pql-plan.json +++ b/.pql/pql-plan.json @@ -1,5 +1,5 @@ { - "exported_at": "2026-05-01T10:11:15Z", + "exported_at": "2026-05-01T10:20:03Z", "decisions": [ { "id": "D-1", diff --git a/lib/builtin/claude/src/claude_pane.dart b/lib/builtin/claude/src/claude_pane.dart index 0e74a766..88d0bcd1 100644 --- a/lib/builtin/claude/src/claude_pane.dart +++ b/lib/builtin/claude/src/claude_pane.dart @@ -123,10 +123,14 @@ class _ClaudePaneState extends State { ? primarySessionName(repoRoot) : secondarySessionName(repoRoot, widget.secondaryIndex!); - // TODO: restore tmux+claude once resize is stable. - // Bare shell for resize debugging. - final shell = Platform.environment['SHELL'] ?? '/bin/zsh'; - var argv = [shell, '-l']; + // tmux-wrapped session for persistence (D-041). + var argv = [ + 'tmux', + 'new-session', + '-A', + '-s', + sessionName, + ]; var resp = await ipc.request('pane.spawn', args: { 'argv': argv, 'kind': PaneKind.claude.wire,