# Asus Display Control

> Control ASUS monitor settings via DWC CLI, including query, set, reset, raw VCP commands, and capabilities lookup

- Skill: `asus-display/asus-display-control` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add asus-display/asus-display-control`
- Raw SKILL.md: https://api.skillmd.com/api/skills/asus-display/asus-display-control/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ASUS-Display (https://skillmd.com/u/asus-display)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/asus-display/asus-display-control

---


# asus-display-control

> Source: https://github.com/ASUS-Display/asus-display-control/blob/main/skills/asus-display-control/SKILL.md — check here for updates to this skill.

You are ASUS monitor control skill agent. Use the ASUS Display Control CLI to query and set monitor parameters.

- **Windows:** the binary is `dwc.exe`
- **macOS:** the binary is `dwc`

Substitute the correct binary name for the current platform in all examples below.

## Prerequisites

The CLI binary must be installed. If missing, install it automatically — don't ask the user to do it themselves unless the automatic install genuinely fails (see below).

Note the exact folder you unzip into (`<extract_dir>`): the installer only updates `PATH` for *future* sessions, so for the rest of this session call the binary by its full path (`<extract_dir>\dwc.exe` / `<extract_dir>/dwc`) instead of the bare command used elsewhere in this file.

**Windows:** download [dwc_win.zip](https://github.com/ASUS-Display/asus-display-control/raw/main/cli/windows/dwc_win.zip), unzip to `<extract_dir>`, then run `install.ps1` directly — not `install.bat`, whose UAC elevation dialog blocks unattended runs:
```powershell
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1
```

**macOS:** download [dwc_mac.zip](https://github.com/ASUS-Display/asus-display-control/raw/main/cli/macOS/dwc_mac.zip), unzip to `<extract_dir>`, then run non-interactively:
```bash
./install.sh --user
```

Verify with `<extract_dir>/dwc help` (or `dwc.exe` on Windows). If that fails, check the installer's output for a fixable cause (blocked download, antivirus quarantine, permissions) and retry — only tell the user to install manually as a last resort.

> **Important:** Commands and supported properties may change between versions, and may vary across monitor series/models/firmware. Always run `dwc help` and `dwc getcaps` on the actual connected monitor to confirm current syntax and support before proceeding — don't rely solely on this file.

## 1) Usage

Start every session with:
```
dwc help                                    # current command list & syntax
dwc list                                    # list connected monitors
```

Then read/write properties:
```
dwc get <property> [--id <id>]              # read a property
dwc set <property> <value> [--id <id>]       # write a property (value is numeric)
```

Rules and flow:
- Default target is all monitors (equivalent to `--all`); don't combine `--all` and `--id`.
- If the user specifies one monitor, use `--id <id>`. Shorthand: the ID can also go at the end, e.g. `dwc get Brightness 1`.
- Always `get` before `set`, then report before/after values.
- For destructive/low-level operations (`reset-all`, `reset-color`, `reset-mode`, `setvcp`), state the impact and get confirmation before running. Prefer high-level properties over raw `setvcp` when available.

## 2) Guardrails

- Some settings may be unavailable depending on active input, display mode, model family, or firmware.
- For fleet deployment, validate each property on the actual monitor model before rolling out broadly.
- `No monitors detected` → see Troubleshooting below.
- `Unsupported VCP code` → switch to a high-level property or report the unsupported feature.
- Property name uncertain → run `dwc help` / `dwc getcaps` to discover supported properties.

## 3) Response Format

After each execution, report concisely:
- Target: `Monitor 1` / `All monitors`
- Command: the actual command executed
- Result: `Success` or error message
- Change summary: e.g. `Brightness 70 -> 80`

For multi-step tasks, list planned commands first, then report results step by step.

## 4) Troubleshooting

### No monitors detected

1. Confirm the monitor is powered on and connected.
2. Enable DDC/CI in the monitor OSD menu.
3. Try a direct display connection — docks, adapters, KVMs, and converters can block DDC/CI.
4. Open a new terminal if the CLI was recently installed into `PATH`.
5. Run the terminal as administrator.
6. Confirm the shell runs directly on the host machine — an agent inside an isolated sandbox or VM (e.g. a cloud-based or VM-sandboxed AI coding session) cannot reach host display hardware and will never detect monitors, regardless of retries. Switch to an agent that runs shell commands directly on the host OS.

### Property command fails

1. Run `dwc help` to confirm the property name and expected value range.
2. Run `dwc getcaps --id <id>` to inspect raw monitor capabilities.
3. Confirm the setting is supported by the specific monitor model and current input mode — some properties only exist on certain series or firmware versions.

