0
0
DenoHow-ToBeginner ยท 3 min read

How to Use --allow-run Flag in Deno for Running Subprocesses

Use the --allow-run flag when running a Deno script to grant permission for executing subprocesses. For example, run deno run --allow-run script.ts to allow your script to run external commands.
๐Ÿ“

Syntax

The --allow-run flag is added to the deno run command to permit the script to execute subprocesses.

Parts explained:

  • deno run: Runs a Deno script.
  • --allow-run: Grants permission to run subprocesses.
  • script.ts: Your Deno script file.
bash
deno run --allow-run script.ts
๐Ÿ’ป

Example

This example shows a Deno script that runs the echo command to print a message. The --allow-run flag is required to allow this subprocess execution.

typescript
const p = Deno.run({
  cmd: ["echo", "Hello from subprocess!"]
});

const status = await p.status();
p.close();

console.log("Subprocess exited with code", status.code);
Output
Subprocess exited with code 0
โš ๏ธ

Common Pitfalls

Without --allow-run, Deno will block subprocess execution and throw a permission error.

Wrong way (missing flag):

deno run script.ts

Right way (with flag):

deno run --allow-run script.ts

Also, be careful to only allow subprocesses you trust to avoid security risks.

๐Ÿ“Š

Quick Reference

  • --allow-run: Grants permission to run subprocesses.
  • Use with deno run command.
  • Without it, subprocess calls will fail with a permission error.
  • Combine with other flags like --allow-read if needed.
โœ…

Key Takeaways

Always use --allow-run to enable subprocess execution in Deno scripts.
Running without --allow-run causes permission errors when subprocesses are called.
Use subprocesses carefully to avoid security risks.
Combine --allow-run with other permission flags as needed.
The flag is added to the deno run command before the script name.