Skip to content

Conversation

@roshbhatia
Copy link
Contributor

This PR adds Cursor's new CLI as an additional CLI provider akin to the current Claude Code/Gemini CLI providers.

You can use a config file akin to this for local testing:

GOOSE_PROVIDER: cursor-agent
GOOSE_MODEL: gpt-5 # the model currently available for the free tier, which I used for testing

CURSOR_AGENT_COMMAND: cursor-agent

Which results in output akin to this (ran in a dirtied branch):

starting session | provider: cursor-agent model: gpt-5
    logging to /Users/rshnbhatia/.local/share/goose/sessions/20250814_125236.jsonl
    working directory: /Users/rshnbhatia/github/personal/roshbhatia/goose

Goose is running! Enter your instructions, or try asking what goose can do.

Context: ○○○○○○○○○○ 0% (0/128000 tokens)
( O)> What have we changed in this branch, compared to the main branch? List files only.
Running a quick diff against the merge-base with `main` to list all files changed on this branch (including uncommitted and untracked files).### Changed files vs main (including untracked)

- crates/goose-cli/src/scenario_tests/provider_configs.rs
- crates/goose/src/providers/base.rs
- crates/goose/src/providers/cursor_agent.rs
- crates/goose/src/providers/factory.rs
- crates/goose/src/providers/githubcopilot.rs
- crates/goose/src/providers/mod.rs
- documentation/docs/getting-started/providers.md
- documentation/docs/guides/cli-providers.md

note:

  • Clippy linting seems to be complaining about complexity, although I yoinked the corresponding functions from the Claude Code/Gemini CLI providers -- not sure what's flagging the complexity rule here, any guidance? I avoided changing the implementation for the problematic function given that it seemingly passes fine for the other cli providers.
  • My apologies for the previously two opened + closed PRs, my upstream branch was out of sync and I kept bungling the history cleanup.

@jamadeo
Copy link
Collaborator

jamadeo commented Aug 15, 2025

Thanks @roshbhatia ! If clippy complains about complexity make sure to merge main -- we've dropped that lint rule. Just also make sure to cargo fmt.

@roshbhatia
Copy link
Contributor Author

@jamadeo done!

@michaelneale
Copy link
Collaborator

@roshbhatia nice - did you get past the clippy constraint?

What I think we shoudl do as part of this, given this is growing, is in the docs/text make it clear that cli providers won't have the same capabilities as direct providers, and have limited support (especially on different platforms like windows), as once we merge, people (rightly) expect things to just work, but there is often a bit of extra config needed, may not work on windows (eg claude and others have limited support there, lost a few days to find that out) - WDYT?

I like this!

@michaelneale
Copy link
Collaborator

added a proposed change above

Copy link
Collaborator

@michaelneale michaelneale left a comment

Choose a reason for hiding this comment

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

I think this is ok - I will do a follow up with note of supportability of cli providers

@michaelneale michaelneale requested a review from a team as a code owner August 18, 2025 00:49
Copy link
Collaborator

@angiejones angiejones left a comment

Choose a reason for hiding this comment

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

couple of doc improvements requested 🙏🏽

@angiejones angiejones self-assigned this Aug 18, 2025
@michaelneale
Copy link
Collaborator

thanks @angiejones have addressed - and used a warning markdown indicator I hope looks ok

@michaelneale michaelneale dismissed angiejones’s stale review August 18, 2025 04:35

has been addressed

@michaelneale michaelneale merged commit 78c5624 into block:main Aug 18, 2025
11 checks passed
@angiejones
Copy link
Collaborator

one of my comments wasn't implemented properly. will open a new PR
image

jsibbison-square added a commit that referenced this pull request Aug 18, 2025
…ol-visibility

* origin/main: (26 commits)
  feat: adds cursor-agent as a cli provider (#4101)
  chore: remove vector search tool selection strategy (#3933)
  docs: add streamable_http install links (#4130)
  feat: iterating on summarize oneshot prompt (#4113)
  feat(mcp): Persist OAuth credentials to keyring (#4007)
  Sanitize Tags Unicode Block at prompt level (#4047)
  Fixing typos (#4114)
  chore(release): release version 1.4.0 (#4069)
  E2E tests working again (#4103)
  chore: Delete ARCHITECTURE.md (#4108)
  Add Youtube short to Kiwi MCP tutorial (#4107)
  docs: fix experimental warning (#4102)
  fix not being able to add spaces to activity message area (#4055)
  remove and cleanup unused code (#4074)
  docs: Add missing references to smart_approve mode. (#4094)
  quick typo fix pulse blog (#4095)
  fix: update dictation settings handling and improve user feedback (#4093)
  chore: add info tooltip to share session button (#4038)
  Reroute routes (#4088)
  fix(cli): fix compiling issue on windows system by adding a missing param (#4019)
  ...
@roshbhatia
Copy link
Contributor Author

@roshbhatia nice - did you get past the clippy constraint?

What I think we shoudl do as part of this, given this is growing, is in the docs/text make it clear that cli providers won't have the same capabilities as direct providers, and have limited support (especially on different platforms like windows), as once we merge, people (rightly) expect things to just work, but there is often a bit of extra config needed, may not work on windows (eg claude and others have limited support there, lost a few days to find that out) - WDYT?

I like this!

Seems like this was merged, but yes -- did get past the clippy constraint by merging main back in.

katzdave added a commit that referenced this pull request Aug 18, 2025
…-messaging

* 'main' of github.com:block/goose: (26 commits)
  fix: consistent font sizing in ToolCallWithResponse (#4167)
  Temporarily disable TODO Tool (#4158)
  docs: add integrated MCP server config to jetbrains tutorial  (#4120)
  docs: remove figma MCP from suggested servers (#4123)
  Blog: The AI Skeptic’s Guide to Context Windows (#4152)
  Docs: Auto-compact context (#4116)
  chore(deps): bump brace-expansion from 1.1.11 to 1.1.12 in /documentation (#4149)
  Recipe config to limit tool availability (#4020)
  docs: fix warning message (#4148)
  feat: adds cursor-agent as a cli provider (#4101)
  chore: remove vector search tool selection strategy (#3933)
  docs: add streamable_http install links (#4130)
  feat: iterating on summarize oneshot prompt (#4113)
  feat(mcp): Persist OAuth credentials to keyring (#4007)
  Sanitize Tags Unicode Block at prompt level (#4047)
  Fixing typos (#4114)
  chore(release): release version 1.4.0 (#4069)
  E2E tests working again (#4103)
  chore: Delete ARCHITECTURE.md (#4108)
  Add Youtube short to Kiwi MCP tutorial (#4107)
  ...
zanesq added a commit that referenced this pull request Aug 18, 2025
…ackages

* 'main' of github.com:block/goose:
  fix: consistent font sizing in ToolCallWithResponse (#4167)
  Temporarily disable TODO Tool (#4158)
  docs: add integrated MCP server config to jetbrains tutorial  (#4120)
  docs: remove figma MCP from suggested servers (#4123)
  Blog: The AI Skeptic’s Guide to Context Windows (#4152)
  Docs: Auto-compact context (#4116)
  chore(deps): bump brace-expansion from 1.1.11 to 1.1.12 in /documentation (#4149)
  Recipe config to limit tool availability (#4020)
  docs: fix warning message (#4148)
  feat: adds cursor-agent as a cli provider (#4101)
  chore: remove vector search tool selection strategy (#3933)
  docs: add streamable_http install links (#4130)

# Conflicts:
#	ui/desktop/src/components/MarkdownContent.tsx
michaelneale added a commit that referenced this pull request Aug 19, 2025
* main: (67 commits)
  blog: Transforming AI Assistance with Goose Mentor Mode (#4151)
  upgraded all npm packages and fixed related issues (#4072)
  Docs: @-mentions in goosehints (#4171)
  fix: consistent font sizing in ToolCallWithResponse (#4167)
  Temporarily disable TODO Tool (#4158)
  docs: add integrated MCP server config to jetbrains tutorial  (#4120)
  docs: remove figma MCP from suggested servers (#4123)
  Blog: The AI Skeptic’s Guide to Context Windows (#4152)
  Docs: Auto-compact context (#4116)
  chore(deps): bump brace-expansion from 1.1.11 to 1.1.12 in /documentation (#4149)
  Recipe config to limit tool availability (#4020)
  docs: fix warning message (#4148)
  feat: adds cursor-agent as a cli provider (#4101)
  chore: remove vector search tool selection strategy (#3933)
  docs: add streamable_http install links (#4130)
  feat: iterating on summarize oneshot prompt (#4113)
  feat(mcp): Persist OAuth credentials to keyring (#4007)
  Sanitize Tags Unicode Block at prompt level (#4047)
  Fixing typos (#4114)
  chore(release): release version 1.4.0 (#4069)
  ...
michaelneale added a commit that referenced this pull request Aug 19, 2025
* main: (67 commits)
  blog: Transforming AI Assistance with Goose Mentor Mode (#4151)
  upgraded all npm packages and fixed related issues (#4072)
  Docs: @-mentions in goosehints (#4171)
  fix: consistent font sizing in ToolCallWithResponse (#4167)
  Temporarily disable TODO Tool (#4158)
  docs: add integrated MCP server config to jetbrains tutorial  (#4120)
  docs: remove figma MCP from suggested servers (#4123)
  Blog: The AI Skeptic’s Guide to Context Windows (#4152)
  Docs: Auto-compact context (#4116)
  chore(deps): bump brace-expansion from 1.1.11 to 1.1.12 in /documentation (#4149)
  Recipe config to limit tool availability (#4020)
  docs: fix warning message (#4148)
  feat: adds cursor-agent as a cli provider (#4101)
  chore: remove vector search tool selection strategy (#3933)
  docs: add streamable_http install links (#4130)
  feat: iterating on summarize oneshot prompt (#4113)
  feat(mcp): Persist OAuth credentials to keyring (#4007)
  Sanitize Tags Unicode Block at prompt level (#4047)
  Fixing typos (#4114)
  chore(release): release version 1.4.0 (#4069)
  ...
zanesq added a commit that referenced this pull request Aug 19, 2025
…npm-cacheing

* 'main' of github.com:block/goose:
  Unlist figma tutorial (#4186)
  feat(ui): Implement in-place message editing with re-response (#3798)
  Retry all 500 codes (#4160)
  blog: Transforming AI Assistance with Goose Mentor Mode (#4151)
  upgraded all npm packages and fixed related issues (#4072)
  Docs: @-mentions in goosehints (#4171)
  fix: consistent font sizing in ToolCallWithResponse (#4167)
  Temporarily disable TODO Tool (#4158)
  docs: add integrated MCP server config to jetbrains tutorial  (#4120)
  docs: remove figma MCP from suggested servers (#4123)
  Blog: The AI Skeptic’s Guide to Context Windows (#4152)
  Docs: Auto-compact context (#4116)
  chore(deps): bump brace-expansion from 1.1.11 to 1.1.12 in /documentation (#4149)
  Recipe config to limit tool availability (#4020)
  docs: fix warning message (#4148)
  feat: adds cursor-agent as a cli provider (#4101)
  chore: remove vector search tool selection strategy (#3933)
  docs: add streamable_http install links (#4130)
zanesq added a commit that referenced this pull request Aug 19, 2025
* 'main' of github.com:block/goose: (51 commits)
  Fix tests from upstream changes and add testing to lint staged and ci (#4127)
  Unlist figma tutorial (#4186)
  feat(ui): Implement in-place message editing with re-response (#3798)
  Retry all 500 codes (#4160)
  blog: Transforming AI Assistance with Goose Mentor Mode (#4151)
  upgraded all npm packages and fixed related issues (#4072)
  Docs: @-mentions in goosehints (#4171)
  fix: consistent font sizing in ToolCallWithResponse (#4167)
  Temporarily disable TODO Tool (#4158)
  docs: add integrated MCP server config to jetbrains tutorial  (#4120)
  docs: remove figma MCP from suggested servers (#4123)
  Blog: The AI Skeptic’s Guide to Context Windows (#4152)
  Docs: Auto-compact context (#4116)
  chore(deps): bump brace-expansion from 1.1.11 to 1.1.12 in /documentation (#4149)
  Recipe config to limit tool availability (#4020)
  docs: fix warning message (#4148)
  feat: adds cursor-agent as a cli provider (#4101)
  chore: remove vector search tool selection strategy (#3933)
  docs: add streamable_http install links (#4130)
  feat: iterating on summarize oneshot prompt (#4113)
  ...

# Conflicts:
#	ui/desktop/src/App.test.tsx
ayax79 pushed a commit to ayax79/goose that referenced this pull request Aug 21, 2025
Signed-off-by: Roshan Bhatia <[email protected]>
Co-authored-by: Michael Neale <[email protected]>
Co-authored-by: Angie Jones <[email protected]>
Signed-off-by: Jack Wright <[email protected]>
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.

5 participants