Where does the bug appear (feature/product)?
Cloud Agent (GitHub, Slack, Web, Linear)
Describe the Bug
Official docs say that after an agent boots from a Build, Cursor runs start and then any configured terminals in a shared tmux session. I followed that contract with a repo-file managed .cursor/environment.json (no dashboard start box).
On this run the four terminals were never spawned:
- no tmux sessions
- declared ports 8790 / 8780 / 8770 / 8760 all CLOSED
- no pnpm / wrangler / vite / astro processes
- empty agent terminals directory
- no
/tmp/cursor/start-user/logs at all
This does not look like the commands crashing. If they had started and failed, I would still expect tmux panes, PIDs, or logs. Nothing was launched.
Docs I followed:
https://cursor.com/docs/cloud-agent/setup— “After an agent boots from a Build, Cursor runs thestartcommand and then any configuredterminals.”https://cursor.com/docs/cloud-agent/builds—terminalsrun “At the start of each agent run”https://cursor.com/schemas/environment.schema.json—terminals: “The terminals to run when the environment is started.”
I omitted start on purpose (You can skip start in many repos). Long-running foreground dev servers are in terminals, not install. install only installs deps.
.cursor/environment.json (committed on default branch dev)
{
"install": "bash .cursor/install.sh",
"ports": [
{ "name": "docs", "port": 8790 },
{ "name": "admin-api", "port": 8780 },
{ "name": "admin-web", "port": 8770 },
{ "name": "blog-public", "port": 8760 }
],
"terminals": [
{
"name": "docs",
"command": "bash -lc 'pnpm --filter docs dev'",
"description": "Starlight docs (pnpm dev:docs) on :8790"
},
{
"name": "admin-api",
"command": "bash -lc 'pnpm --filter admin-api dev'",
"description": "Admin API Vite+Workers (pnpm dev:admin-api) on :8780"
},
{
"name": "admin-web",
"command": "bash -lc 'pnpm --filter admin-web dev'",
"description": "Admin UI react-router (pnpm dev:admin-web) on :8770"
},
{
"name": "blog-public",
"command": "bash -lc 'pnpm --filter blog-public dev'",
"description": "Public site (pnpm dev:public) on :8760"
}
]
}
Notes:
- Schema-valid
name/command/description bash -lcis only so a login shell picks up fnm/pnpm from~/.bashrc- Required Dashboard Secrets were already injected at agent start (Hyperdrive + Supabase). Missing processes, not secrets.
What actually ran
/tmp/cursor/async-install/install-user.log:
>>> [install:] start
Started from stale build bld-20260819-51f4c31b-9aa9-4336-818f-8ec00de302b5, skipping install script
<<< [install:] complete
install-user.status = 0 (expected for a Build reuse). Skipping install should not skip terminals.
Also missing:
/tmp/cursor/start-user/(directory does not exist)tmux ls→ no sessions/home/ubuntu/.cursor/projects/workspace/terminals/→ empty
Port recheck after ~20 minutes:
127.0.0.1:8790 CLOSED
127.0.0.1:8780 CLOSED
127.0.0.1:8770 CLOSED
127.0.0.1:8760 CLOSED
Extra anomaly
cursor-cloud MCP environment-info returned environmentJson: null with:
environment.json contents are unavailable for this environment (it may have no stored environment.json, or the contents could not be loaded).
The file exists and is valid in the workspace. Possibly related to terminals not being scheduled.
中文摘要:
按官方 Setup / Builds 文档,repo 里的 terminals 应在每次 Cloud Agent 启动时自动用 tmux 拉起。本仓库 .cursor/environment.json 已按 schema 配置 4 个服务。实际这次 run(bc-a6e204ed-d3ab-4756-9f63-7ba3e84fba2f)开机 20 分钟后:无 tmux、四端口全关、无对应进程、无 start 日志。不像命令失败,而是平台没有调度 terminals。
Steps to Reproduce
- Commit a repo-managed
.cursor/environment.jsonwithinstall+ports+terminals, nostart. - Enable Builds and run a successful manual Build.
- Start a new Cloud Agent from that Build on cursor.com (
web,warmFork=cold,gitSetup=reuse). - Do not ask the agent to start the apps.
- On the VM, check
tmux ls, whether the declared ports LISTEN, and whether terminal sessions exist.
Expected Behavior
The platform should create four named tmux sessions, run the configured commands, and listen on 8790/8780/8770/8760 at agent start. The user should not have to prompt the agent to start them.
Screenshots / Screen Recordings
Operating System
Linux
Version Information
Version: 3.16.29
VS Code Extension API: 1.128.0
Commit: 6246455961129c32969845e00aa25d87ae926ec0
Date: 2026-08-18T01:26:26.285Z
Layout: IDE
Build Type: Stable
Release Track: Default
Electron: 40.10.3
Chromium: 144.0.7559.236
Node.js: 24.15.0
V8: 14.4.258.32-electron.0
xterm.js: 6.1.0-beta.291
OS: Linux x64 7.1.8-200.fc44.x86_64
For AI issues: which model did you use?
cursor-grok-4.6-high-fast
For AI issues: add Request ID with privacy disabled
bc-a6e204ed-d3ab-4756-9f63-7ba3e84fba2f
IDs (please look these up)
- Agent:
https://cursor.com/agents/bc-a6e204ed-d3ab-4756-9f63-7ba3e84fba2f - bcId:
bc-a6e204ed-d3ab-4756-9f63-7ba3e84fba2f - Source:
web - Model:
cursor-grok-4.6-high-fast - Repo:
github.com/superAlibi/astro_blog - Default branch / checkout:
dev@7dc8c8a7358bc12e16067fbca5844a7cbc8e3a59 - Environment:
https://cursor.com/dashboard/cloud-agents/environments/e/30a7b16e-9bd9-11f1-ba66-0e7d0216e441 - environmentPublicId:
30a7b16e-9bd9-11f1-ba66-0e7d0216e441 - environmentVersionPublicId:
30af886a-9bd9-11f1-ba66-0e7d0216e441 - Config source:
source: Repository,environmentJsonPath: .cursor/environment.json - recordedVia:
DASHBOARD - Build:
bld-20260819-51f4c31b-9aa9-4336-818f-8ec00de302b5(SUCCEEDED, MANUAL, WEBSITE) - gitSetup / warmFork:
reuse/cold - setupStatus:
null - First check: 2026-08-19 14:47 UTC; recheck 15:07 UTC still down; VM uptime ~20 min
Does this stop you from using Cursor
No - Cursor works, but with this issue
