Skip to content

[FEATURE]: Evaluate upstreaming native A2A support from a working prototype #18021

Closed as not planned

Description

@liujuanjuan1984

Feature hasn't been suggested before.

  • I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

I would like OpenCode to consider native A2A (Agent-to-Agent) protocol support.

I already built a working prototype on top of OpenCode:
https://github.com/Intelligent-Internet/opencode-a2a-server

The problem today is that A2A support has to live in downstream integrations. That makes interoperability with external agents harder and keeps this capability outside the main project.

My proposal is to evaluate whether OpenCode should expose first-class A2A support incrementally, using the existing prototype as a reference instead of designing from scratch.

This is related to #17374, but the difference here is that I already have a working implementation and can help translate it into an upstream-friendly design.

If this direction is interesting to the team, I am happy to help with design discussion, implementation breakdown, and follow-up PRs.

Activity

  1. added
    coreAnything pertaining to core functionality of the application (opencode server stuff)
    on Mar 18, 2026
  2. github-actions commented on Mar 18, 2026

    @github-actions
    Contributor

    This issue doesn't fully meet our contributing guidelines.

    What needs to be fixed:

    • No issue template was used. This issue should be submitted as a Feature Request (title must start with [FEATURE]:, include a verification checkbox, and describe the enhancement) or a Question (with a clear question in the required field).

    Please edit this issue to address the above within 2 hours, or it will be automatically closed.


    This issue might be a duplicate of existing issues. Please check:

    If you believe this was flagged incorrectly, please let a maintainer know.

  3. changed the title [-][Proposal] I have built A2A protocol support for OpenCode and can help upstream it[/-] [+][FEATURE]: Consider upstream A2A protocol support from an existing implementation[/+] on Mar 18, 2026
  4. github-actions commented on Mar 18, 2026

    @github-actions
    Contributor

    Thank you for updating the issue! It now follows the contributing guidelines and the feature request template correctly. The compliance flag has been removed.

  5. changed the title [-][FEATURE]: Consider upstream A2A protocol support from an existing implementation[/-] [+][FEATURE]: Evaluate upstreaming native A2A support from a working prototype[/+] on Mar 18, 2026
  6. laiweihwa commented on Mar 29, 2026

    @laiweihwa

    I just noticed today that this exists, @liujuanjuan1984
    https://github.com/shashikanth-gs/a2a-opencode

    I have not audited or tried it yet.

  7. liujuanjuan1984 commented on Mar 30, 2026

    @liujuanjuan1984
    Author

    I just noticed today that this exists, @liujuanjuan1984 https://github.com/shashikanth-gs/a2a-opencode

    I have not audited or tried it yet.

    Thank you for your info. And I'm working on it for a while: https://github.com/Intelligent-Internet/opencode-a2a

  8. assigned and unassigned on Apr 26, 2026
  9. removed
    coreAnything pertaining to core functionality of the application (opencode server stuff)
    on May 3, 2026
  10. odanilosalve commented on Jun 4, 2026

    @odanilosalve

    @liujuanjuan1984, great work on the prototype! One aspect I believe we should discuss during the design phase is the authentication layer between OpenCode and the external agents.

    Currently, the prototype assumes that the caller is already handling credentials. However, for the native integration, it would be beneficial to integrate the M2M (Machine-to-Machine) Client Credentials flow as the standard approach. The idea is that OpenCode would request a short-lived JWT that is scoped to what the specific agent requires, attach it to the A2A request, and the external agent would then validate this token. This way, no personal tokens would be stored in local configurations.

    By using M2M, we also ensure least privilege by design: if the LLM encounters a bad prompt injection, the agent token can only perform actions that were allowed at the time of registration.

    The @a2a-js/sdk already supports injecting authentication headers through the client factory, making it a seamless addition to your existing work.

    I'm happy to help brainstorm the design for credential storage if this direction aligns with your vision.

  11. hamza-abdalmajeed commented on Jul 9, 2026

    @hamza-abdalmajeed

    Hi @kitlangton is this something thats planned to be pulled into OpenCode?

  12. github-actions commented on Sep 8, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions