Markdown Rendering in cmux
When to Use
- Use when opening Markdown in cmux shows a blank pane or wrong layout.
- Use when you need to display a Markdown file in a stable cmux right pane.
The Problem
cmux markdown open defaults to spawning a brand-new pane every time, even with --direction right. The common "fix" — moving the new markdown surface into the existing right pane with move-surface — bugs out: the moved viewer renders BLANK. The surface keeps type=markdown and looks healthy, but shows nothing.
So you get stuck: either a stray extra pane, or a blank viewer after moving it.
The Rule
You have exactly two reliable options. Never move-surface a markdown viewer — that is the path that bugs.
Option A — Open it right on the first try
If there is no usable right pane yet, just let cmux create one and leave it where it lands:
cmux markdown open /abs/path/file.md --direction right --focus false
Do NOT then move it. If it spawned where you want it, you're done.
Option B — Close existing right pane(s), then open fresh
If there are other right panes in the way (and they're unused or irrelevant), close them first, then open the markdown fresh as a new right pane:
# 1. find panes in THIS workspace
cmux list-panes --workspace "$CMUX_WORKSPACE_ID"
# 2. close the unused/irrelevant right pane(s) by closing their surfaces
cmux list-pane-surfaces --pane pane:NN
cmux close-surface --surface surface:XX # repeat per surface in that pane
# 3. THEN open the markdown fresh — it creates its own clean right pane
cmux markdown open /abs/path/file.md --direction right --focus false
Hard Rules
- Never
move-surfacea markdown viewer. It renders blank afterward. This is the core bug this skill exists for. - Open it correctly the first time (Option A), OR close the conflicting right pane(s) and open a fresh right pane from scratch (Option B).
- Only close panes that are unused or irrelevant — never close a pane the user is working in.
- Always anchor to
$CMUX_WORKSPACE_ID; never assume the visually focused workspace. - Pass
--focus falseso you don't steal the user's focus. - You can't screenshot/read a markdown surface to verify it. If unsure it rendered, ask the user.
Limitations
- Adapted from
davidondrej/skills; verify local paths, tools, credentials, and agent features before acting. - For commands, remote access, scheduling, browser automation, or file-changing workflows, get explicit user approval and confirm the target environment first.