Skip to content

Commit d7701db

Browse files
authored
fix(opencode): preserve external_dir and deny parent permissions in task child sessions (anomalyco#23290)
1 parent c49bf0b commit d7701db

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

packages/opencode/src/tool/task.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,16 @@ export const TaskTool = Tool.define(
6464
const session = taskID
6565
? yield* sessions.get(SessionID.make(taskID)).pipe(Effect.catchCause(() => Effect.succeed(undefined)))
6666
: undefined
67+
const parent = yield* sessions.get(ctx.sessionID)
6768
const nextSession =
6869
session ??
6970
(yield* sessions.create({
7071
parentID: ctx.sessionID,
7172
title: params.description + ` (@${next.name} subagent)`,
7273
permission: [
74+
...(parent.permission ?? []).filter(
75+
(rule) => rule.permission === "external_directory" || rule.action === "deny",
76+
),
7377
...(canTodo
7478
? []
7579
: [

0 commit comments

Comments
 (0)