Skip to content

paste-buffer does not deliver content to pane on 3.3.4 (scoop binary) #264

@marcfargas

Description

@marcfargas

Summary

paste-buffer (with or without -p, with named or default buffer) does not deliver buffer content into the target pane on psmux 3.3.4 (the latest scoop binary release). set-buffer / load-buffer correctly store content (verified via show-buffer), but paste-buffer then appears to be a no-op against the pane.

This blocks downstream consumers that rely on the load-buffer → paste-buffer → send-keys Enter pattern (CAO does this in clients/tmux.py:send_keys).

Environment

  • psmux: 3.3.4 (psmux -Vpsmux 3.3.4), installed via scoop
  • Host: Windows 11 Pro 26200, ARM
  • Shell launched in panes: PowerShell 7 (pwsh) on ConPTY
  • Calling shell: Git Bash

Minimal repro

# Run from a shell where PSMUX_SESSION is unset (i.e. NOT inside a psmux session)
tmux new-session -d -s repro -n w -c "$HOME"
sleep 1.5

# Test 1 — set-buffer + paste-buffer (no -p)
tmux set-buffer -b b1 'echo TEST_1_NO_DASH_P'
tmux paste-buffer -b b1 -t repro
sleep 0.3
tmux send-keys -t repro Enter
sleep 1
tmux capture-pane -t repro -p

# Test 2 — load-buffer + paste-buffer -p (CAO's exact pattern)
printf 'echo TEST_2_LOAD_BUFFER_DASH_P' | tmux load-buffer -b b2 -
tmux paste-buffer -p -b b2 -t repro
sleep 0.3
tmux send-keys -t repro Enter
sleep 1
tmux capture-pane -t repro -p

# Test 3 — set-buffer + paste-buffer to default buffer (no -b)
tmux set-buffer 'echo TEST_3_DEFAULT_BUFFER'
tmux paste-buffer -t repro
sleep 0.3
tmux send-keys -t repro Enter
sleep 1
tmux capture-pane -t repro -p

# Sanity check — show-buffer confirms buffers exist
tmux show-buffer -b b1
tmux show-buffer -b b2

# Sanity check — send-keys -l works fine
tmux send-keys -t repro -l 'echo SEND_KEYS_LITERAL_WORKS'
tmux send-keys -t repro Enter
sleep 1
tmux capture-pane -t repro -p

tmux kill-session -t repro

Observed

Tests 1, 2, 3 — pane shows just empty PS C:\Users\marc> prompts, one extra newline per test. Buffer content never appears in the pane. No execution.

show-buffer -b b1 / show-buffer -b b2 correctly return the stored content.

send-keys -l 'literal' immediately delivers and executes (works as expected).

Expected

paste-buffer should write the buffer's contents into the pane, optionally wrapped with bracketed-paste markers when -p is given. Real tmux does this; per your PR207 status report you tested and verified it on 10ebb81 / v3.3.0.4.

Note on the v3.3.0.4 vs 3.3.4 delta

Your status report on awslabs/cli-agent-orchestrator#207 confirmed the load-buffer → paste-buffer-p flow works end-to-end at commit 10ebb81 (tag v3.3.0.4). The scoop binary I'm testing is 3.3.4, which post-dates that tag. It's possible something regressed between v3.3.0.4 and the 3.3.4 release. I don't have a Rust toolchain to bisect — would you mind sanity-checking 3.3.4's paste-buffer code path against the same repro?

Context

Filed downstream of awslabs/cli-agent-orchestrator#207 (CAO's psmux-compatibility PR). CAO has a workaround in flight that routes through send-keys -l on Windows as a fallback, but ideally we'd remove it once paste-buffer is reliable. Happy to test any patched build.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions