# Fix tmux Mouse Mode Configuration in Pi Agent Images ## Summary The Pi Agent dockerfile templates create `/home/user/.tmux.conf` using `echo '... \n ...'` with single quotes. In both Dockerfile `RUN` commands and Python-embedded dockerfile strings, single quotes prevent `\n` from being interpreted as a newline, so the resulting `.tmux.conf` contains a single malformed line such as: ``` set -g mouse on\nset -g default-terminal "screen-256color" ``` Tmux fails to parse this, so `set -g mouse on` is never applied. Without tmux mouse mode, xterm.js sends mouse-wheel events as Up/Down arrow keys to the shell, causing wheel scroll to cycle command history instead of scrolling the terminal/tmux buffer. ## Scope - `tool-images/pi-agent.dockerfile` - `apps/api/alembic/versions/20260527160017_add_pi_agent_tool_type.py` - `apps/api/alembic/versions/2026_05_28_add_tool_definition_manifests.py` ## Acceptance Criteria - [x] Pi Agent image builds write a valid multi-line `.tmux.conf`. - [x] `.tmux.conf` contains `set -g mouse on` on its own line. - [x] `.tmux.conf` contains `set -g default-terminal "screen-256color"` on its own line. - [x] Ranger config is also fixed where the same literal `\n` bug exists. - [x] Alembic migration dockerfile strings produce the same valid commands as the standalone Dockerfile. ## Related - `openspec/specs/tool-terminal` - `tool-images/pi-agent.dockerfile`