summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAiden Cline <[email protected]>2026-04-06 23:30:05 -0500
committerGitHub <[email protected]>2026-04-06 23:30:05 -0500
commit885df8eb54e268e7720242406228e2de54bf62c6 (patch)
tree3a42be21bfc0626538c9bb5e01af5f726ae900d0
parentf4975ef32a38fc4b605db7d1a87cd85045b4d958 (diff)
downloadopencode-885df8eb54e268e7720242406228e2de54bf62c6.tar.gz
opencode-885df8eb54e268e7720242406228e2de54bf62c6.zip
feat: add --dangerously-skip-permissions flag to opencode run (#21266)
-rw-r--r--packages/opencode/src/cli/cmd/run.ts31
1 files changed, 22 insertions, 9 deletions
diff --git a/packages/opencode/src/cli/cmd/run.ts b/packages/opencode/src/cli/cmd/run.ts
index 92b6156ca..05fb3a579 100644
--- a/packages/opencode/src/cli/cmd/run.ts
+++ b/packages/opencode/src/cli/cmd/run.ts
@@ -302,6 +302,11 @@ export const RunCommand = cmd({
describe: "show thinking blocks",
default: false,
})
+ .option("dangerously-skip-permissions", {
+ type: "boolean",
+ describe: "auto-approve permissions that are not explicitly denied (dangerous!)",
+ default: false,
+ })
},
handler: async (args) => {
let message = [...args.message, ...(args["--"] || [])]
@@ -544,15 +549,23 @@ export const RunCommand = cmd({
if (event.type === "permission.asked") {
const permission = event.properties
if (permission.sessionID !== sessionID) continue
- UI.println(
- UI.Style.TEXT_WARNING_BOLD + "!",
- UI.Style.TEXT_NORMAL +
- `permission requested: ${permission.permission} (${permission.patterns.join(", ")}); auto-rejecting`,
- )
- await sdk.permission.reply({
- requestID: permission.id,
- reply: "reject",
- })
+
+ if (args["dangerously-skip-permissions"]) {
+ await sdk.permission.reply({
+ requestID: permission.id,
+ reply: "once",
+ })
+ } else {
+ UI.println(
+ UI.Style.TEXT_WARNING_BOLD + "!",
+ UI.Style.TEXT_NORMAL +
+ `permission requested: ${permission.permission} (${permission.patterns.join(", ")}); auto-rejecting`,
+ )
+ await sdk.permission.reply({
+ requestID: permission.id,
+ reply: "reject",
+ })
+ }
}
}
}