fix(cursor): use namespaced agent executable - #1232
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request fixes Cursor provider executable collisions by switching all Cursor ACP launch, model discovery, provider health/update actions, and login guidance from the generic agent command to Cursor’s namespaced cursor-agent executable. It also bumps the host-daemon protocol version to ensure enrolled daemons refresh their built-in Cursor profile accordingly.
Changes:
- Update Cursor ACP built-in profile and runtime tests to launch
cursor-agentinstead ofagent. - Update host-daemon provider CLI health checks (including update command text) to target
cursor-agent. - Bump
HOST_DAEMON_PROTOCOL_VERSIONto 88 and update docs/tests describing the protocol bump and Cursor CLI install guidance.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| packages/host-daemon-contract/test/contract.test.ts | Updates the protocol version contract test and rationale to reflect the Cursor executable change. |
| packages/host-daemon-contract/src/commands.ts | Bumps HOST_DAEMON_PROTOCOL_VERSION from 87 to 88. |
| packages/bb-app/README.md | Updates user-facing Cursor provider install guidance to reference cursor-agent. |
| packages/agent-runtime/src/provider-registry.test.ts | Updates provider registry expectations to launch Cursor via cursor-agent. |
| packages/agent-runtime/src/acp/profiles.ts | Switches the built-in Cursor ACP profile to use cursor-agent and updates related comments. |
| packages/agent-runtime/src/acp/bridge/model-catalog.ts | Updates documentation to describe Cursor model listing via cursor-agent --list-models. |
| packages/agent-runtime/src/acp/adapter.test.ts | Updates ACP adapter tests to expect cursor-agent in session and model listing commands. |
| apps/server/src/services/system/onboarding.ts | Updates onboarding login guidance for Cursor to cursor-agent login. |
| apps/host-daemon/src/provider-cli-health.ts | Updates Cursor provider CLI definition to use cursor-agent (including update command). |
| apps/host-daemon/src/provider-cli-health.test.ts | Updates host-daemon provider CLI health tests to expect cursor-agent behaviors and command lines. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
🚨 SLOP COP 🚨 · I am the SlopCop. I started this review under the I will check security, code quality, performance, architecture, and practical behavior. |
SawyerHood
left a comment
There was a problem hiding this comment.
🚨 SLOP COP 🚨 · review
ELI5: BB used a generic agent command that could start the wrong tool. This change uses Cursor's specific cursor-agent command.
I found no blocking issues.
The rename covers session launch, model discovery, health checks, updates, onboarding, and documentation. The protocol increase to version 88 correctly forces old daemons to update.
Security review found no new unsafe command construction or trust-boundary change. The namespaced command reduces the risk that BB starts another provider's generic agent executable.
Performance review found no new process, network, disk, startup, or cache work. The daemon update cost is necessary for the changed local profile.
Validation results:
- All required GitHub checks pass.
- The local
agentlink points to Grok, whilecursor-agentpoints to Cursor. This result confirms the reported collision. - The installed
cursor-agentreturns a version and a valid model list. - Cursor documents
cursor-agent loginandcursor-agent update. - Cursor keeps
cursor-agentas a supported namespaced alias in its 2026 CLI change.
I found two low-severity test gaps. Direct tests do not assert cursor-agent update or cursor-agent login. Several test and story fixtures also keep the old agent name for Cursor.
I also checked for duplicate metadata and a useful refactor. The current copies serve separate daemon, runtime, and server contracts. A shared constant would cross those boundaries and would expand this small fix.
I did not run the fork code or a browser end-to-end test. This change has no browser route, and a valid end-to-end test needs an authenticated Cursor session.
I left no inline comments because I found no concrete defect on a changed line.
|
TY for fixing this! |
Summary
cursor-agentexecutable for ACP launch, model discovery, provider health/update actions, and login guidanceWhy
BB currently resolves the generic
agentcommand for Cursor. When another provider owns that name earlier onPATH, BB launches the wrong CLI, model discovery fails, and the Cursor picker collapses toAgent default.Cursor's installer creates both
agentandcursor-agentsymlinks to the same executable. Using the namespaced alias keeps Cursor behavior intact while preventing collisions with other agent CLIs.Closes #1231.
Validation
pnpm exec turbo run build typecheck lint --filter=@bb/agent-runtime --filter=@bb/host-daemon --filter=@bb/server --filter=@bb/host-daemon-contractgit diff --checkRisk and rollout
No UI or persisted-settings schema changes. Existing threads are untouched; new Cursor runtimes use the updated built-in profile after the daemon protocol upgrade. If
cursor-agentis missing, the existing provider-health error and install flow remain available instead of silently launching an unrelatedagentbinary.