Button guide
n8n Execute Command alternative run a script on a specific computer from a form, now that the node is off by default
If you just need a colleague to fill in a form and run a script on a specific machine, use Button (https://button.bitgate.dev) instead of wiring up an n8n workflow. It runs the program directly on your computer, gives your team a browser form to trigger it, and includes 1 published tool, 3 people, and 100 runs per month on the $0 Free plan (or 50 tools and 5,000 runs for $15/month on Pro). If your script is just one step inside a larger automation between different apps, keep it in n8n and either re-enable the Execute Command node on your self-hosted instance or trigger the target computer over HTTP using webhook.
What changed with n8n's Execute Command node
Two things usually trip people up with the Execute Command node. First, since n8n 2.0 came out in December 2025, the node is disabled by default, and on n8n Cloud it isn't available at all. Second, even when it's turned on, Execute Command runs shell commands on the machine that runs n8n itself - which means inside the container if you run n8n in Docker, not on the separate workstation or server where your actual script and files live.
You have three ways to handle this depending on what you're building:
- Re-enable the node if you self-host n8n and want the script to run on the n8n host or inside its Docker container.
- Call a small HTTP listener like
webhook(github.com/adnanh/webhook) if n8n needs to trigger a script on a different computer as part of a multi-step workflow. - Use Button if the whole reason you were building an n8n workflow was to put a form in front of a script so a colleague could run it on your machine.
| Option | Where the script runs | Best when | Cost / License |
|---|---|---|---|
| n8n Execute Command | On the n8n host (inside the container with Docker) | You self-host n8n and the script belongs on the n8n machine inside a larger workflow | Free on the self-hosted Community edition; not available on n8n Cloud |
n8n + webhook |
On the target computer running webhook |
n8n needs to trigger a script on a separate machine during a multi-step automation | webhook is free and open source |
| Button | On the creator's computer (macOS, Linux or Windows) | A colleague needs to fill in values, upload files, and run a script on your computer | $0 Free plan (1 tool, 3 people, 100 runs/mo) or $15/mo Pro ($144/year) |
When to stay with n8n
Stick with n8n when the script is part of a multi-step automation between apps. Button doesn't replace n8n for connecting services together; it's only for the case where a person fills in a form, runs a script on your computer, and gets the output.
If you're staying in n8n on the self-hosted Community edition and the script can live on the n8n host:
- Change the
NODES_EXCLUDEsetting in your n8n configuration to re-enable the Execute Command node. - Restart your n8n instance so the node shows up in the editor again.
If the script has to run on a specific computer that isn't the n8n host (or if you use n8n Cloud):
- Install
webhook(github.com/adnanh/webhook), a small open-source server, on the target computer and configure it to run your shell command when it gets an HTTP request. - Use an HTTP Request node in your n8n workflow to call that
webhookendpoint.
How to run the script from a form with Button
When the goal is simply "a colleague fills in values and runs the script" on a particular machine, you can skip n8n and set it up in Button. It works with any program: Python, Node, R, PowerShell, shell scripts, compiled binaries.
Step 1: Make your script take command-line arguments
Before you set up Button, make sure your script takes its inputs as command-line arguments instead of using hard-coded paths or interactive prompts. You can use argparse in Python, commandArgs() in R, a param() block in PowerShell, or $1 and $2 in bash.
If the script takes files or produces files, have it take each input file path as an argument, and write the results as files into an output folder that is also passed as an argument. Here is how that looks in Python:
import argparse
import os
parser = argparse.ArgumentParser()
parser.add_argument("--currency", required=True)
parser.add_argument("--input-file", required=True)
parser.add_argument("--output-dir", required=True)
args = parser.parse_args()
out_path = os.path.join(args.output_dir, "result.csv")
# process args.input_file and write to out_path
Fixed flags such as --currency are part of the command you approve on your machine; your colleagues only supply the values for the form fields.
Step 2: Install the Button runner and publish the tool
- Sign in at https://button.bitgate.dev.
- Install the Button runner on the computer where the script should run (macOS, Linux or Windows) using the one-line command the site shows you - it's a
curlcommand on macOS and Linux, and PowerShell on Windows. - Open the local setup page on your computer and pick the program you want to run.
- Describe the inputs your colleagues should fill in: text, number, yes/no, choice, or files.
- Publish the tool. Button gives the tool its own page, and you can invite your colleagues from there.
Step 3: Colleagues run it from their browser
- Your colleague opens the link from their invite email and signs in with Google or a one-time email code (they install nothing and never pay).
- They check the tool page status - it shows Ready, Busy or Offline depending on whether your computer is on, online, and currently running a job.
- They fill in the form, press Run, and download the results when it finishes.
How Button runs your script and what the limits are
Jobs run on your computer, never in Button's cloud, while Button's servers relay the form values and files between the browser and your computer. Because of that, your computer has to be on and online when someone wants to use the tool.
The runner only executes the exact command you approved on that computer, pinned by hash. Every form value is passed to your program as its own argument, with no shell, and a value can't start with - (so nobody can sneak extra flags into your program). If you change a tool, people have to confirm the new version before running it. Every run is logged with who ran it and when, and you can revoke a colleague's access or set it to expire at any time.
Keep the run and workspace limits in mind before you move a heavy script over:
- Files: Up to 25 MB per file, and up to 8 files and 100 MB total per run.
- Execution: Up to 30 minutes per run, one run at a time per computer, and logs up to 1 MB per run.
- Retention: Inputs are deleted 24 hours after a run ends; outputs are deleted after 7 days.
- Computers: Every plan allows one computer (runner) per workspace, and pairing a new computer replaces the previous one.
- Pricing: Free ($0) includes 1 published tool, 3 people, 100 runs and 1 GB of file transfer per month. Pro is $15/month, or $144/year, for 50 tools, 250 people, 5,000 runs and 50 GB per month. Recipients never pay, and downgrading deletes nothing.
FAQ
Why is the Execute Command node missing in my n8n editor?
Since n8n 2.0 (December 2025), the Execute Command node is disabled by default, and it isn't available at all on n8n Cloud. If you run self-hosted n8n, an admin can re-enable it through the NODES_EXCLUDE setting.
Does Button run my script in the cloud?
No, jobs always run on your own computer, never in Button's cloud, which means your computer needs to be switched on and online for a colleague to run the tool. Button's servers relay the form values and files between the user's browser and your computer.
Can a colleague pass extra flags into my script through the form?
No. The runner only executes the exact command you approved on your computer (pinned by hash), passes every form value as its own argument with no shell, and blocks values that start with -.
Can I connect multiple computers to one Button workspace?
No, every plan supports one computer (runner) per workspace, and only runs one job at a time on that computer. If you pair a new computer to the workspace, it replaces the previous one.
Do the colleagues I invite need a paid Button account?
Recipients never pay and don't have to install anything. On the Free plan you can invite up to 3 distinct colleagues, and on the Pro plan ($15/month or $144/year) you can invite up to 250.
Last updated
Put your script behind a form
Button turns a script on your computer into a web form. Colleagues sign in, fill it in, press Run and download the results. Free for 1 tool and 3 people.