Skip to content

Add Cursor Agent as a default coding agent - #6969

Closed
davydotcom wants to merge 4 commits into
omacom:quattrofrom
davydotcom:add-cursor-default-agent
Closed

davydotcom wants to merge 4 commits into
omacom:quattrofrom
davydotcom:add-cursor-default-agent

Conversation

@davydotcom

@davydotcom davydotcom commented Aug 15, 2026 •

Copy link
Copy Markdown

Summary

  • Add Cursor Agent (cursor / cursor-agent) to the default-agent picker, launcher, menu, and agents-bar usage collector
  • If cursor-agent is already on PATH, selecting Cursor writes the default and launches it (--yolo --trust)
  • If it is missing, fetch Cursor's official Linux tarball from downloads.cursor.com and install it as cursor-agent (not agent)
  • Do not install through asdf:icholy/asdf-cursor-agent (third-party scrape, no checksum)
  • Include a migration that only removes a leftover asdf stub, icon-font glyph, panel SVG marks, and docs/tests coverage

Test plan

  • OMARCHY_PATH=$PWD ./test/shell.d/default-agent-test.sh
  • OMARCHY_PATH=$PWD ./test/shell.d/install-cursor-agent-test.sh
  • OMARCHY_PATH=$PWD ./test/shell.d/menu-test.sh
  • OMARCHY_PATH=$PWD ./test/shell.d/agent-usage-cursor-scanner-test.sh
  • Open Setup → Defaults → Agent and confirm Cursor appears with its glyph
  • Choose Cursor when cursor-agent is already on PATH and confirm it launches with --yolo --trust without mise
  • Choose Cursor when missing and confirm the official tarball is installed as cursor-agent, then launched with --yolo --trust
  • Confirm Remove Preinstalls does not delete a user-installed ~/.local/bin/cursor-agent
  • With Cursor signed in, run omarchy agent usage-update cursor and open the agents bar panel; confirm Included/Auto/API meters match Cursor's own usage UI

@davydotcom
davydotcom marked this pull request as ready for review August 15, 2026 12:55
Copilot AI balanced review requested due to automatic review settings August 15, 2026 12:55

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Cursor Agent as a default coding agent, including installation, launching, menu integration, usage reporting, icons, documentation, migrations, and tests.

Changes:

  • Adds Cursor Agent selection, installation, launch flags, and migration support.
  • Adds Cursor usage collection and agents-panel integration.
  • Adds Cursor branding, documentation, and test coverage.

Tip

If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.

Reviewed changes

Copilot reviewed 10 out of 17 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
bin/omarchy-agent Launches Cursor Agent with unattended flags.
bin/omarchy-agent-usage-cursor Collects Cursor limits and usage statistics.
bin/omarchy-default-agent Adds Cursor selection and mise package mapping.
bin/omarchy-remove-preinstalls Removes the Cursor lazy stub.
default/fonts/omarchy/README.md Documents the Cursor glyph.
default/omarchy/omarchy-menu.jsonc Adds Cursor to the agent menu.
install/user/mise.sh Creates the Cursor mise wrapper.
manual/17-ai.md Documents Cursor Agent and usage support.
migrations/1786797150.sh Adds the wrapper for existing installations.
shell/plugins/agents/README.md Documents Cursor usage collection.
shell/plugins/agents/assets/cursor-light.svg Adds the dark Cursor mark.
shell/plugins/agents/assets/cursor.svg Adds the light Cursor mark.
shell/plugins/agents/manifest.json Enables Cursor in panel defaults.
test/shell.d/agent-usage-cursor-scanner-test.sh Tests Cursor usage collection.
test/shell.d/default-agent-test.sh Tests Cursor installation and launching.
test/shell.d/menu-test.sh Tests Cursor menu and glyph integration.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

})
assert abs(fallback[0]["percent"] - 0.25) < 1e-6, fallback

record = scanner.scan("test-token", scanner.API_BASE_URL, force=True, limits_only=False)
Copilot AI review requested due to automatic review settings August 15, 2026 17:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 17 changed files in this pull request and generated no new comments.

Copilot AI review requested due to automatic review settings August 18, 2026 10:23
@davydotcom
davydotcom force-pushed the add-cursor-default-agent branch from 2078453 to 5566230 Compare August 18, 2026 10:23

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 17 changed files in this pull request and generated no new comments.

@shawnmarck

Copy link
Copy Markdown

Thanks for taking the full slice (picker, launch flags, menu glyph, usage collector, tests). First Omarchy comment from me. I am a fan and a heavy Cursor user, and I want this to ship. One piece I would not merge.

Please drop asdf:icholy/asdf-cursor-agent

omarchy-default-agent, install/user/mise.sh, and the migration all install Cursor through that plugin. It is a one-commit, 0-star asdf repo with no Cursor or Omarchy ownership. First launch (and the stub on existing installs) runs that repo’s bash: scrape cursor.com/install for a version, then curl | tar with no checksum.

mise treats new asdf plugins as a legacy/untrusted path. If the repo goes away or the install-page HTML changes, everyone who picks Cursor, or just got the stub, fails to install.

It also ignores a working official CLI. The gate is mise where asdf:…. I already have /opt/cursor-agent/cursor-agent on PATH. Selecting Cursor still tries the plugin, and if that fails the default is never written.

Suggested replacement

  1. If cursor-agent is on PATH, use it and write the default.
  2. If missing, use Cursor’s official installer or a first-party Omarchy fetch of the known tarball (pin version or checksum). Keep the name cursor-agent, not agent.
  3. Remove the asdf package from the default-agent script, mise install, remove-preinstalls, the migration, and the lazy-stub tests.

The rest can stay. Storing cursor-agent and launching with --yolo --trust looks right.

Follow-up, not a blocker: the collector does not page GetFilteredUsageEvents and only reads ~/.config/cursor/auth.json (IDE sign-in is in state.vscdb). #7087 already covers both.

Copilot AI review requested due to automatic review settings August 19, 2026 12:29
@davydotcom

Copy link
Copy Markdown
Author

Thanks @shawnmarck — that review was right, and the asdf plugin is gone.

Cursor Agent now prefers a real cursor-agent already on PATH (including /opt/cursor-agent/cursor-agent). If it is missing, Omarchy fetches Cursor's published Linux tarball from downloads.cursor.com and links it as cursor-agent, not agent. We do not run the unofficial asdf plugin, and we do not pipe Cursor's install script into bash.

The leftover asdf stub is no longer created on setup. The migration only removes one if it is already there, and Remove Preinstalls no longer deletes a user-installed ~/.local/bin/cursor-agent.

The usage-collector follow-ups (paging GetFilteredUsageEvents, IDE state.vscdb) are still parked on #7087 as you suggested.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 18 changed files in this pull request and generated no new comments.

Suppressed comments (1)

default/omarchy/omarchy-menu.jsonc:142

  • The required running-UI verification remains unchecked in the test plan. This change adds a new menu-font glyph and a default-enabled panel provider with light/dark marks, so verify both the picker and agents panel in the running shell and inspect glyph rendering, contrast, spacing, and layout before merge.
  "setup.default.agent.cursor-agent": {"icon":"","iconFont":"omarchy","label":"Cursor","checked":"[[ \"$(omarchy-default-agent)\" == \"cursor-agent\" ]]","action":"omarchy-default-agent cursor-agent"},

davydotcom and others added 4 commits August 23, 2026 09:43
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
The asdf plugin was a one-commit third-party scrape with no checksum, so
prefer an existing cursor-agent and otherwise fetch Cursor's published
linux package as cursor-agent.

Co-authored-by: Cursor <cursoragent@cursor.com>
@bjarneo

bjarneo commented Sep 21, 2026

Copy link
Copy Markdown
Member

Automated duplication check: this pull request looks similar to #8450, which covers the same Cursor default agent support. I keep that one open and close this one to consolidate review.

If you feel this is the wrong decision, please open the PR again with a note on the difference.

@bjarneo bjarneo closed this Sep 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants