-
Notifications
You must be signed in to change notification settings - Fork 2.8k
ACP (Agent Client Protocol) implementation in the Roo Code CLI #10614
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: feature/roo-473-show-all-tool-uses-immediately-rather-than-on-partial-false
Are you sure you want to change the base?
ACP (Agent Client Protocol) implementation in the Roo Code CLI #10614
Conversation
Reviewed commit 9c9220a (release v0.0.46). All previous issues remain resolved. No new issues found.
Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues. |
apps/cli/README.md
Outdated
| | --------------------------- | -------------------------------------------- | ----------------------------- | | ||
| | `-e, --extension <path>` | Path to the extension bundle directory | Auto-detected | | ||
| | `-p, --provider <provider>` | API provider (anthropic, openai, openrouter) | `openrouter` | | ||
| | `-m, --model <model>` | Model to use | `anthropic/claude-sonnet-4.5` | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I merged a change to default to opus fyi
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@roomote Please fix.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixaroo
See task on Roo Cloud
Fixed the reported issues. Changed default model to opus and fixed model ID mismatch in getModelState().
apps/cli/src/acp/agent.ts
Outdated
| * Get the current model state. | ||
| */ | ||
| private async getModelState(): Promise<AcpModelState> { | ||
| const currentModelId = this.options.model || DEFAULT_MODELS[0]!.modelId |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Model ID mismatch: this defaults to DEFAULT_MODELS[0]!.modelId ("anthropic/claude-sonnet-4.5") while the session model at line 179 defaults to DEFAULT_FLAGS.model ("anthropic/claude-4.5-sonnet"). These are different model IDs, causing the model picker to display a different model than what the session actually uses when no model is specified.
| const currentModelId = this.options.model || DEFAULT_MODELS[0]!.modelId | |
| const currentModelId = this.options.model || DEFAULT_FLAGS.model |
Fix it with Roo Code or mention @roomote and request a fix.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@roomote Please fix. Let's make sure the source of truth for the default model is DEFAULT_FLAGS.model and DEFAULT_MODELS should probably read from that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixaroo
See task on Roo Cloud
Fixed the model ID mismatch by using DEFAULT_FLAGS.model as the single source of truth. All local checks passed.
apps/cli/src/acp/types.ts
Outdated
| name: "Claude Sonnet 4.5", | ||
| description: "Best balance of speed and capability", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The model name and description no longer match the actual model. Since DEFAULT_FLAGS.model is now "anthropic/claude-opus-4.5", the name should be "Claude Opus 4.5" and the description should reflect Opus capabilities. Additionally, this creates a duplicate entry since the second model in the array is also claude-opus-4.5 with the correct name.
| name: "Claude Sonnet 4.5", | |
| description: "Best balance of speed and capability", | |
| name: "Claude Opus 4.5", | |
| description: "Most capable for complex work", |
Fix it with Roo Code or mention @roomote and request a fix.
…han-on-partial-false' into cte/acp
…han-on-partial-false' into cte/acp
https://agentclientprotocol.com/overview/introduction
To run locally edit your zed settings (making sure to replace
PATH_TO_ROO_CODE_REPO):This can be done by opening the GUI settings and then clicking the button on the top right:

Then, build the extension host and cli:
pnpm --filter roo-cline bundle && \ pnpm --filter @roo-code/cli buildThen, add an OpenRouter API key to your shell's config (in my case I used
~/.zprofile):export OPENROUTER_API_KEY=sk-or-v1-...And finally, in zed, open up the right dock, click the plus sign and select Roo Code CLI:

I:
If you want some friendly debugging, open up the ACP logs in zed:

Then kick off a task:
