Skip to content

fix(acp): update auth handshake to spec#19725

Merged
skeshive merged 10 commits intomainfrom
acp-auth-handshake
Feb 25, 2026
Merged

fix(acp): update auth handshake to spec#19725
skeshive merged 10 commits intomainfrom
acp-auth-handshake

Conversation

@skeshive
Copy link
Contributor

@skeshive skeshive commented Feb 20, 2026

Summary

  • Allows client to pass in _meta.apiKey field for Gemini API key auth type
  • Propagates agentInfo in initialize request
  • Returns correct error code (-32000) when auth is not specified
  • Fixes bug where Zed oauth was broken due to requiring user consent for opening browser (ACP protocol does not support this flow)

Will add support for JB AI auth type in a follow-up PR

Related Issues

https://github.com/google-gemini/maintainers-gemini-cli/issues/1329

@skeshive skeshive requested a review from a team as a code owner February 20, 2026 21:30
@gemini-cli
Copy link
Contributor

gemini-cli bot commented Feb 20, 2026

Hi @skeshive, thank you so much for your contribution to Gemini CLI! We really appreciate the time and effort you've put into this.

We're making some updates to our contribution process to improve how we track and review changes. Please take a moment to review our recent discussion post: Improving Our Contribution Process & Introducing New Guidelines.

Key Update: Starting January 26, 2026, the Gemini CLI project will require all pull requests to be associated with an existing issue. Any pull requests not linked to an issue by that date will be automatically closed.

Thank you for your understanding and for being a part of our community!

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @skeshive, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request refines the authentication handshake within the Agent Client Protocol (ACP) integration, enhancing how API keys are handled and ensuring proper agent information is communicated during initialization. It also addresses a critical bug in the Zed OAuth flow, streamlining the authentication experience by removing an unsupported user consent step. These changes collectively improve the robustness and compliance of the authentication mechanisms.

Highlights

  • Authentication Handshake Updates: The authentication process has been updated to align with the Agent Client Protocol (ACP) specification, allowing clients to pass an _meta.apiKey field for Gemini API key authentication.
  • Agent Information Propagation: The agentInfo (including name, title, and version) is now propagated in the initialize request, providing more context about the client agent.
  • Standardized Error Handling: Error handling for authentication failures has been standardized to return the correct ACP error code (-32000) when authentication is not specified or fails.
  • Zed OAuth Flow Fix: A bug in the Zed OAuth flow was resolved by modifying the process to no longer require explicit user consent for opening the browser, as this flow is not supported by the ACP protocol.
Activity
  • No human activity has been recorded on this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

The pull request correctly implements the ACP authentication handshake updates, including support for passing an API key via metadata and propagating agent information. It also addresses a bug in the Zed integration by skipping interactive consent. However, there is a significant issue where the API key provided during authentication is not propagated to new sessions, which will cause authentication failures. Additionally, there are some formatting inconsistencies in the imports in packages/core/src/config/config.ts that violate the project's style guide.

@github-actions
Copy link

github-actions bot commented Feb 20, 2026

Size Change: +725 B (0%)

Total Size: 25.7 MB

ℹ️ View Unchanged
Filename Size Change
./bundle/gemini.js 25.3 MB +725 B (0%)
./bundle/node_modules/@google/gemini-cli-devtools/dist/client/main.js 221 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/_client-assets.js 227 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/index.js 11.5 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/types.js 132 B 0 B
./bundle/sandbox-macos-permissive-open.sb 890 B 0 B
./bundle/sandbox-macos-permissive-proxied.sb 1.31 kB 0 B
./bundle/sandbox-macos-restrictive-open.sb 3.36 kB 0 B
./bundle/sandbox-macos-restrictive-proxied.sb 3.56 kB 0 B
./bundle/sandbox-macos-strict-open.sb 4.82 kB 0 B
./bundle/sandbox-macos-strict-proxied.sb 5.02 kB 0 B

compressed-size-action

@gemini-cli gemini-cli bot added the status/need-issue Pull requests that need to have an associated issue. label Feb 20, 2026
@skeshive skeshive requested a review from anna239 February 24, 2026 15:19
@skeshive skeshive enabled auto-merge February 24, 2026 15:30
@skeshive skeshive added this pull request to the merge queue Feb 25, 2026
Merged via the queue into main with commit 50947c5 Feb 25, 2026
27 checks passed
@skeshive skeshive deleted the acp-auth-handshake branch February 25, 2026 15:18
BryanBradfo pushed a commit to BryanBradfo/gemini-cli that referenced this pull request Mar 5, 2026
liamhelmer pushed a commit to badal-io/gemini-cli that referenced this pull request Mar 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status/need-issue Pull requests that need to have an associated issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants