From a8c18dba8205d7707a46ec0859db672370be8963 Mon Sep 17 00:00:00 2001 From: adamelmore <2363879+adamdottv@users.noreply.github.com> Date: Mon, 26 Jan 2026 19:57:34 -0600 Subject: fix(core): expose Instance.directory to custom tools --- packages/web/src/content/docs/custom-tools.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'packages/web') diff --git a/packages/web/src/content/docs/custom-tools.mdx b/packages/web/src/content/docs/custom-tools.mdx index e089a035b..ef93a64e2 100644 --- a/packages/web/src/content/docs/custom-tools.mdx +++ b/packages/web/src/content/docs/custom-tools.mdx @@ -120,8 +120,8 @@ export default tool({ args: {}, async execute(args, context) { // Access context information - const { agent, sessionID, messageID } = context - return `Agent: ${agent}, Session: ${sessionID}, Message: ${messageID}` + const { agent, sessionID, messageID, directory } = context + return `Agent: ${agent}, Session: ${sessionID}, Message: ${messageID}, Directory: ${directory}` }, }) ``` @@ -148,6 +148,7 @@ Then create the tool definition that invokes it: ```ts title=".opencode/tools/python-add.ts" {10} import { tool } from "@opencode-ai/plugin" +import path from "path" export default tool({ description: "Add two numbers using Python", @@ -155,8 +156,9 @@ export default tool({ a: tool.schema.number().describe("First number"), b: tool.schema.number().describe("Second number"), }, - async execute(args) { - const result = await Bun.$`python3 .opencode/tools/add.py ${args.a} ${args.b}`.text() + async execute(args, context) { + const script = path.join(context.directory, ".opencode/tools/add.py") + const result = await Bun.$`python3 ${script} ${args.a} ${args.b}`.text() return result.trim() }, }) -- cgit v1.2.3