fix(opencode): let subagents use their own permissions (#31696)

This commit is contained in:
Aiden Cline
2026-06-10 09:26:08 -05:00
committed by GitHub
parent e4300e9b74
commit 3ad6923c61
5 changed files with 50 additions and 84 deletions
@@ -85,6 +85,35 @@ it.instance("plan agent denies edits except .opencode/plans/*", () =>
}),
)
it.instance("plan agent denies the general subagent by default", () =>
Effect.gen(function* () {
const plan = yield* load((svc) => svc.get("plan"))
expect(plan).toBeDefined()
expect(Permission.evaluate("task", "general", plan!.permission).action).toBe("deny")
expect(Permission.evaluate("task", "explore", plan!.permission).action).toBe("allow")
expect(Permission.evaluate("task", "custom", plan!.permission).action).toBe("allow")
}),
)
it.instance(
"user permission can allow the general subagent from plan mode",
() =>
Effect.gen(function* () {
const plan = yield* load((svc) => svc.get("plan"))
expect(plan).toBeDefined()
expect(Permission.evaluate("task", "general", plan!.permission).action).toBe("allow")
}),
{
config: {
permission: {
task: {
general: "allow",
},
},
},
},
)
it.instance("explore agent denies edit and write", () =>
Effect.gen(function* () {
const explore = yield* load((svc) => svc.get("explore"))