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
- Install Trae CN.
- Launch it with a remote debugging port:
open -a "Trae CN" --args --remote-debugging-port=39240
- 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.htmland/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:
terminalis 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.deleteis 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.keepis not enabled by default. Use--approve-kinds keeponly 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, oropencli trae-cn approve --dry-run trueto 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_TARGETshould 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 statusortrae-cn modelas 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