Ask in plain language. Jarvis picks the tool, runs the command, and shows you exactly what it ran and why that was allowed. Every tool carries its own written list of commands that are refused before they start.
Cloud platforms
Google Cloud CLIgcloud
Google Cloud Platform CLI for Compute, Storage, IAM, GKE, Cloud Run.
Azure CLIaz
Microsoft Azure CLI — Resources, VMs, AKS, Functions.
AWS CLI v2aws
Amazon Web Services CLI — S3, EC2, Lambda, IAM, and more.
Cloudflare Wranglerwrangler
Cloudflare Workers, Pages, R2, D1 CLI.
Hosting & deploys
Vercel CLIvercel
Vercel deployments, projects, env variables.
Netlify CLInetlify
Netlify Sites, Deployments, Functions, Env.
Heroku CLIheroku
Heroku Apps, Dynos, Addons, Releases.
Railway CLIrailway
Railway Projects, Services, Deployments.
Fly.io CLIflyctl
Fly.io Apps, Machines, Volumes, Secrets.
Render CLIrender
Render.com Services, Deploys, Logs.
Databases & backends
Supabase CLIsupabase
Supabase Projects, DB, Edge Functions, Migrations.
Firebase CLIfirebase
Firebase Projects, Hosting, Functions, Firestore.
PlanetScale CLIpscale
PlanetScale MySQL-Branches, Deploy-Requests.
Neon CLIneonctl
Neon Serverless Postgres — Projects, Branches, Roles.
Code hosting
GitHub CLIgh
GitHub Repos, PRs, Issues, Actions, Releases.
GitLab CLIglab
GitLab Repos, MRs, Issues, CI/CD, Snippets.
Payments & messaging
Stripe CLIstripe
Stripe Webhooks, Events, Products, Subscriptions.
Twilio CLItwilio
Twilio Numbers, Messages, Voice, Verify, Flex.
Containers
Docker CLIdocker
Docker Container, Images, Volumes, Networks.
Kubernetes CLIkubectl
Kubernetes Cluster-Management: Pods, Deployments, Services.
Workspace
Google Workspace CLIgws
Google Workspace: Gmail, Drive, Docs, Sheets, Calendar, Tasks, Chat, Slides.
This app
Jarvis Control CLIjarvisctl
Control this running Jarvis via its own CLI: switch the brain / sub-agent provider, read or change config, search the wiki, list missions / sessions / outputs, manage skills. Reads run free; destructive / recursive commands (dispatch, restart, delete, outbound, …) are blocked.
No tool in the catalog matches that.
A tool has a starting tier, and two lists that override it: what it refuses outright, and what it lets straight through because the command only reads. The refusal list wins over the allow list, and the allow list wins over the starting tier — so a tool can be cautious in general and still answer a read instantly.
Safe
Runs straight away. Reserved for commands that only read.
Never a starting tier — only where a matched pattern lands
Monitor
Runs, and is written down — what was run, and why it was allowed.
19 of 22 tools start here
Ask
Stops and asks you first, every time.
3 of 22 tools start here
Block
Refused before it starts. Nothing runs.
Never a starting tier — only where a matched pattern lands
Worked example
GitHub CLI starts at monitor. Its allow list contains gh pr list*, so asking "what pull requests are open" resolves to safe and answers straight away — while gh repo delete is on the refusal list and never starts, whatever it is asked to do.
gh repo delete *
gh release delete *
gh secret delete *
gh secret set *All 113 patterns, verbatim from the catalog. A command matching one of these is refused before the tool is started — not asked about, not logged and run anyway. The list is per tool because "delete" means something different in each of them.
gcloud * delete *
gcloud projects delete *
gcloud compute instances delete *
gcloud iam service-accounts delete *
gcloud sql instances delete *
gcloud storage rm *az * delete *
az group delete *
az vm delete *
az aks delete *
az storage account delete *
az * delete*aws * delete-*
aws s3 rm * --recursive*
aws s3 rb *
aws iam delete-*
aws ec2 terminate-instances *
aws * delete*
aws * terminate-instances*wrangler delete *
wrangler r2 bucket delete *
wrangler d1 delete *
wrangler delete*
wrangler kv:key delete*vercel remove *
vercel rm *
vercel project rm *
vercel domains rm *
vercel env rm *netlify sites:delete *
netlify env:unset *
netlify sites:delete*heroku apps:destroy *
heroku addons:destroy *
heroku pg:reset *
heroku apps:destroy*
heroku addons:destroy*railway down *
railway delete *
railway delete*flyctl apps destroy *
flyctl volumes destroy *
flyctl machine destroy *
flyctl apps destroy*
flyctl machine destroy*render services delete *
render services delete*supabase projects delete *
supabase db reset*
supabase migration repair*
supabase projects delete*firebase projects:delete *
firebase firestore:delete *
firebase hosting:disable*pscale database delete *
pscale branch delete *
pscale deploy-request cancel*
pscale database delete*
pscale branch delete*neonctl projects delete *
neonctl branches delete *
neonctl projects delete*
neonctl branches delete*gh repo delete *
gh release delete *
gh secret delete *
gh secret set *glab repo delete *
glab issue delete *
glab mr close *
glab repo delete*stripe charges * --live*
stripe subscriptions cancel *
stripe * delete *
stripe customers delete *
stripe * delete*
stripe refunds create*twilio api:core:messages:create *
twilio * delete *
twilio api:core:*:remove*docker rm *
docker rmi *
docker volume rm *
docker system prune*
docker container prune*
docker network rm *kubectl delete *
kubectl drain *
kubectl cordon *
kubectl replace --force*
kubectl * --all-namespaces* delete*gws * delete*
gws * * delete*
gws * * * delete*
gws * trash*
gws * * trash*
gws gmail * send*
gws gmail * * send*
gws chat * create*
gws chat * * create*
gws auth export*
gws auth logout*jarvisctl * delete *
jarvisctl * delete*
jarvisctl auth *
jarvisctl api * secrets*
jarvisctl api * keys*
jarvisctl * dispatch*
jarvisctl * restart*
jarvisctl * kill*
jarvisctl * rerun*
jarvisctl * cancel*
jarvisctl * outbound*One line installs it. Nothing here is an add-on, a paid tier or a waiting list.
TerminalPowerShellShell
curl -fsSL https://raw.githubusercontent.com/PersonalJarvis/PersonalJarvis/main/install/install.sh | bash
irm https://raw.githubusercontent.com/PersonalJarvis/PersonalJarvis/main/install/install.ps1 | iex
curl -fsSL https://raw.githubusercontent.com/PersonalJarvis/PersonalJarvis/main/install/install.sh | bash
The rest of it
Read from the application's own catalog — jarvis/clis/catalog/seed_catalog.json — on 2026-08-29.