[FEATURE]: Client can execute tool via client.tool.execute(...) #7730

Open
opened 2026-02-16 18:08:04 -05:00 by yindo · 1 comment
Owner

Originally created by @hugo082 on GitHub (Jan 27, 2026).

Originally assigned to: @thdxr on GitHub.

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

It would be very useful for plugin to be able to call registered tool. For example this would help to create workflow that interact with the builtin tools integrated in the UI (like todo / question).

For example it would help to create a plugin integrating beads via a tool like:

export default tool({
  description: "Claim task",
  args: {
    taskId: tool.schema.string().describe("Task ID to claim"),
  },
  async execute(args) {
    // claim the task on beads
    const task = await beads.claim(args.taskId)

    // register children task as TODO
    await client.tool.execute('todowrite', {
      tasks: task.children
    })
  },
})

ℹ️ Beads is a git-backed issue tracker designed for AI-supervised coding workflows: https://steveyegge.github.io/beads/

Originally created by @hugo082 on GitHub (Jan 27, 2026). Originally assigned to: @thdxr on GitHub. ### Feature hasn't been suggested before. - [x] I have verified this feature I'm about to request hasn't been suggested before. ### Describe the enhancement you want to request It would be very useful for plugin to be able to call registered tool. For example this would help to create workflow that interact with the builtin tools integrated in the UI (like todo / question). For example it would help to create a plugin integrating [beads](https://steveyegge.github.io/beads/) via a tool like: ```ts export default tool({ description: "Claim task", args: { taskId: tool.schema.string().describe("Task ID to claim"), }, async execute(args) { // claim the task on beads const task = await beads.claim(args.taskId) // register children task as TODO await client.tool.execute('todowrite', { tasks: task.children }) }, }) ``` ℹ️ Beads is a git-backed issue tracker designed for AI-supervised coding workflows: https://steveyegge.github.io/beads/
yindo added the discussion label 2026-02-16 18:08:04 -05:00
Author
Owner

@github-actions[bot] commented on GitHub (Jan 27, 2026):

After searching through existing issues, I haven't found any clear duplicates of this feature request.

However, there are some related issues that touch on plugin/tool interactions that might provide useful context:

  • #10747: Allow tools to be accessible in compaction from plugins
  • #10746: Subagent permission to grant edit and bash permissions
  • #10583: Finding opencode plugins amid more general projects

These are more tangential to your core request for client.tool.execute() but may be worth reviewing for broader context on plugin-tool integration workflows.

@github-actions[bot] commented on GitHub (Jan 27, 2026): After searching through existing issues, I haven't found any clear duplicates of this feature request. However, there are some related issues that touch on plugin/tool interactions that might provide useful context: - #10747: Allow tools to be accessible in compaction from plugins - #10746: Subagent permission to grant edit and bash permissions - #10583: Finding opencode plugins amid more general projects These are more tangential to your core request for `client.tool.execute()` but may be worth reviewing for broader context on plugin-tool integration workflows.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#7730