Commands & Terminal
Running shell commands — an allowlist, not arbitrary execution.
PawOS can run a fixed set of known developer-tool commands on your behalf — it does not have arbitrary shell access.
The allowlist covers common package managers, source control, language runtimes, and infrastructure CLIs. A command whose first token isn’t on the list is refused outright, and every command is parsed into a real argv array (not a raw string handed to a shell), so shell-metacharacter injection isn’t possible even for allowlisted prefixes.
Text
npm, npx, node, git, python, python3, py, pip, pip3, yarn, pnpm,
claude, codex, gemini, ollama, java, javac,
docker, docker-compose, kubectl, helm,
aws, gcloud, az, doctl, terraform, ssh, scp, vercel, netlifyNote
A long-running process (like a dev server) is started via a separate mechanism with its own lifecycle tracking, not the same one-shot command runner.
How it works
What you see
- Your task progress, plan review with affected files and proposed changes, permission questions, command output, diffs, test results, previews and the final Work Record.
- For multi-file work you see the plan, why each step is needed, and Approve, Reject and Revise controls.
- While work runs you can follow terminal output, running processes, build and test results, and preview screenshots.
What PawOS does
- PawOS reads your project structure, dependencies and related files before proposing changes.
- Edits are applied precisely against the current file contents.
- Checks can include syntax, imports, type checking, linting, builds, tests, running-app health and visual checks, depending on your project.
Permissions
- Approving a plan records your intent; each edit, overwrite, command, git change, install, system change, connection or deploy still asks for approval.
- Commands run under clear rules — PawOS is not an unrestricted shell.
- Diffs you see come from the real changes, never an illustration.
Records
- Finished coding work shows the files changed, commands run, their results and output, test results, and screenshots when the change is visual.
- If a check was skipped (for example, the project has no test script), the Work Record says so.
- A rejected plan makes no changes.
Good to know
- Deep project analysis is strongest for TypeScript and JavaScript; every language can be edited.