Codemux

Browser Viewport Presets

Resize the embedded browser viewport to mobile, tablet, or custom dimensions so CSS media queries fire.

Browser Viewport Presets

The embedded browser pane can be resized to specific viewport dimensions for responsive testing. This is a real viewport resize through CDP — CSS media queries fire at the new width, window.innerWidth reports the new size, and screenshots capture at the simulated dimensions.

The earlier workaround (wrapping the page in a 375px iframe) is gone — viewport presets replace it.

CLI

codemux browser viewport <preset>
codemux browser viewport <WxH>
codemux browser viewport reset
codemux browser viewport-presets   # list available presets

Examples:

codemux browser viewport mobile           # iPhone-sized
codemux browser viewport tablet           # iPad-sized
codemux browser viewport desktop          # 1280x800
codemux browser viewport desktop-large    # 1920x1080
codemux browser viewport 375x812          # custom dimensions
codemux browser viewport reset            # snap back to the actual pane size

The preset names are deliberately size buckets, not device models. Specific device names ("iPhone 17 Pro Max") go stale every hardware refresh; mobile and tablet don't.

MCP

Agents can hit the same surface via MCP:

  • browser_viewport — apply a preset, custom WxH, or reset
  • browser_viewport_presets — list all available presets with their dimensions

When To Use It

  • CSS / Tailwind breakpoints — change the viewport and see whether your md: / lg: rules fire.
  • Touch UIs — simulate a touch-screen layout in the same pane you already have open.
  • Screenshot regressions — capture screenshots at exact dimensions for visual diffing.
  • Responsive bug reproduction — quickly switch between mobile and desktop without opening DevTools.

Behavior

  • The resize applies a real CDP Emulation.setDeviceMetricsOverride plus an actual viewport resize, so device-pixel-ratio (DPR) updates too.
  • The browser pane keeps showing the same screenshot stream; the rendered page now matches the chosen dimensions.
  • reset restores the viewport to the actual rendered pane size — the natural state.