diff --git a/packages/web/src/content/docs/custom-tools.mdx b/packages/web/src/content/docs/custom-tools.mdx index ef93a64e2c..80a1923699 100644 --- a/packages/web/src/content/docs/custom-tools.mdx +++ b/packages/web/src/content/docs/custom-tools.mdx @@ -120,12 +120,15 @@ export default tool({ args: {}, async execute(args, context) { // Access context information - const { agent, sessionID, messageID, directory } = context - return `Agent: ${agent}, Session: ${sessionID}, Message: ${messageID}, Directory: ${directory}` + const { agent, sessionID, messageID, directory, worktree } = context + return `Agent: ${agent}, Session: ${sessionID}, Message: ${messageID}, Directory: ${directory}, Worktree: ${worktree}` }, }) ``` +Use `context.directory` for the session working directory. +Use `context.worktree` for the git worktree root. + --- ## Examples @@ -157,7 +160,7 @@ export default tool({ b: tool.schema.number().describe("Second number"), }, async execute(args, context) { - const script = path.join(context.directory, ".opencode/tools/add.py") + const script = path.join(context.worktree, ".opencode/tools/add.py") const result = await Bun.$`python3 ${script} ${args.a} ${args.b}`.text() return result.trim() }, diff --git a/packages/web/src/content/docs/plugins.mdx b/packages/web/src/content/docs/plugins.mdx index 2033a9d90e..ba530a6d9b 100644 --- a/packages/web/src/content/docs/plugins.mdx +++ b/packages/web/src/content/docs/plugins.mdx @@ -269,8 +269,9 @@ export const CustomToolsPlugin: Plugin = async (ctx) => { args: { foo: tool.schema.string(), }, - async execute(args, ctx) { - return `Hello ${args.foo}!` + async execute(args, context) { + const { directory, worktree } = context + return `Hello ${args.foo} from ${directory} (worktree: ${worktree})` }, }), },