Trae CN

May 31, 2026 · View on GitHub

Control the Trae CN desktop app from the terminal through Chrome DevTools Protocol (CDP). The adapter targets the active Trae workbench window and can start a fresh task, send prompts, read responses, switch the current model, and monitor long-running task progress.

Prerequisites

  1. Install Trae CN.
  2. Launch it with a remote debugging port:
open -a "Trae CN" --args --remote-debugging-port=39240
  1. Point OpenCLI at the Trae CDP endpoint:
export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:39240"

If Trae CN is already running on another remote debugging port, do not restart it just to match this default. Point OPENCLI_CDP_ENDPOINT at the port that is currently listening.

If multiple Trae workspaces are open, select the right target by title:

export OPENCLI_CDP_TARGET="talk"

Commands

Diagnostics

  • opencli trae-cn setup — show local launch, environment, verification, task, monitor, and read commands.
  • opencli trae-cn targets — list Trae CDP targets and show which window/workspace is running or waiting for approval.
  • opencli trae-cn status — check the active Trae target, workspace, model, agent, turn count, and composer readiness.
  • opencli trae-cn dump — dump DOM and accessibility snapshot artifacts to /tmp/trae-cn-dom.html and /tmp/trae-cn-snapshot.json.
  • opencli trae-cn screenshot — capture DOM and accessibility artifacts for debugging.

Task Control

  • opencli trae-cn new — start a fresh task in the current workspace.
  • opencli trae-cn new "prompt" — start a fresh task and submit the first prompt.
  • opencli trae-cn send "prompt" — send a prompt into the current task.
  • opencli trae-cn ask "prompt" --timeout 120 — send a prompt, wait for the assistant reply without treating visible approval cards as a final answer, and return it.
  • opencli trae-cn read --limit 5 — read recent visible user and assistant turns.
  • opencli trae-cn export --output /tmp/trae-cn.md — export recent turns as Markdown.
  • opencli trae-cn approve — approve a visible terminal-run or delete confirmation prompt.

Model

  • opencli trae-cn model — read the current composer model, agent, and workspace.
  • opencli trae-cn select-model "GPT 5.4" — select a model from the current composer model menu.

Progress Monitoring

  • opencli trae-cn activity — read the current task state once.
  • opencli trae-cn watch --duration 60 --interval 2 — sample task state until completion or timeout.
  • opencli trae-cn watch --stream true — emit one JSON object per sample as JSONL for agent pipelines.
  • opencli trae-cn watch --auto-approve true — explicitly approve matching terminal/delete prompts while watching.

watch defaults to --stop-on-complete true, so --duration is a maximum observation window. Use --stop-on-complete false when you need a fixed-length observation trace.

Approval Prompts

Trae CN may pause a long task for UI confirmations, especially before running terminal commands or deleting files. ask and watch do not click approval prompts unless you pass --auto-approve true; approve clicks the current matching prompt directly. The approval detector is category-based: OpenCLI approves Trae's visible terminal confirmation UI and visible delete confirmation UI. It is not a semantic command allowlist limited to rm or mv.

Opt-in approval behavior:

  • terminal is enabled when you opt in. It clicks ordinary terminal run confirmations, high-risk command-card 运行, and the follow-up high-risk modal 仍要运行 when Trae exposes them with matching button/context text.
  • delete is enabled when you opt in. It clicks file deletion cards and the follow-up irreversible delete modal 确认 when Trae exposes them with matching button/context text.
  • keep is not enabled by default. Use --approve-kinds keep only when the intended action is to retain files rather than delete them.
  • Unknown prompts are not clicked. Use opencli trae-cn activity, opencli trae-cn targets, or opencli trae-cn approve --dry-run true to inspect them.

Monitor without approval clicks:

opencli trae-cn watch --stream true --duration 300

You can also approve the current visible prompt directly:

opencli trae-cn approve --approve-kinds terminal,delete -f json

Use --dry-run true to inspect matching prompts without clicking. Use --approve-kinds keep only when the intended action is to keep/retain a file instead of approving deletion.

For long-running agent tasks where you explicitly want OpenCLI to approve terminal/delete prompts while watching:

opencli trae-cn watch --stream true --duration 300 --auto-approve true

The auto-approval detector only clicks visible prompts whose button and surrounding prompt text match the requested approval kinds.

In Trae CN auto-run mode, high-risk shell commands such as mv and rm can still show confirmation UI. The adapter handles both layers observed in Trae CN: the command card 运行 action and the follow-up 运行风险命令 modal with 仍要运行.

Observed high-risk patterns include rm, delete, unlink, shred, dd, truncate, kill, chmod, mv, copy, move, PowerShell write commands, mkfs, destructive Git operations, and destructive database commands. If Trae renders any of these as terminal confirmation UI with known wording/buttons, opt-in watch --auto-approve true and ask --auto-approve true approve them through the terminal approval kind. Treat these prompts as current-product UI behavior rather than a stable public API.

When multiple Trae windows are open, use:

opencli trae-cn targets -f table
OPENCLI_CDP_TARGET=workspace opencli trae-cn watch --stream true --duration 300

targets is the quickest way to find the row with ApprovalPending=yes and copy its RecommendedTarget into OPENCLI_CDP_TARGET. Confirm the current state with targets, activity, watch, or read.

Notes

  • The adapter operates the currently selected Trae workspace target. It does not yet open folders or switch historical conversations.
  • OPENCLI_CDP_TARGET should be used when multiple Trae windows or workspaces share the same CDP endpoint.
  • Trae assistant output may describe model identity differently from the UI. Use trae-cn status or trae-cn model as the source of truth for the current selected model.
  • Sensitive local state under Trae data directories is not required for normal adapter operation.

Example

opencli trae-cn setup

OPENCLI_CDP_ENDPOINT=http://127.0.0.1:39240 \
OPENCLI_CDP_TARGET=talk \
opencli trae-cn new "Please reply only: TRAE_OK"

OPENCLI_CDP_ENDPOINT=http://127.0.0.1:39240 \
OPENCLI_CDP_TARGET=talk \
opencli trae-cn watch --duration 30 --interval 1 --stream true