loading…
Search for a command to run...
loading…
MCP server that intercepts and controls AI agent actions in your codebase by enforcing policies on file operations and commands, with logging, approval workflow
MCP server that intercepts and controls AI agent actions in your codebase by enforcing policies on file operations and commands, with logging, approval workflows, and rollback capabilities.
https://github.com/user-attachments/assets/5940e42a-e231-4311-8e24-1ea37699662e
npm downloads npm downloads npm version
Updated every 6 hours via GitHub Actions
⚠️ Package renamed as of v0.5.0 The old
@shaifulshabuj-waymarkspackages have been deprecated. Please switch to the new package scope:npm uninstall @shaifulshabuj-waymarks/cli @shaifulshabuj-waymarks/server npm install @way_marks/cliAll future updates will be published under
@way_marksonly.
Major feature release — bash approval queue, new CLI commands, policy editor, dashboard enhancements, and wired remediation engine
requireApprovalBash[] — queue bash commands for human approval, just like file writesallowedCommands[] — explicit bash command allowlistPOST /api/policy/test — test any path/command against active policywaymark explain <id> # human-readable summary of any logged action
waymark watch # live terminal dashboard (ANSI, 2s refresh)
waymark init --dry-run # preview init without writing files
GET /api/sessions/:id/diff — unified patch across all session writesGET /api/audit/export?format=csv|json — downloadable audit logPOST /api/actions/:id/approve-with-edit — approve with inline content changesPOST /api/sessions/:id/rollback-partial — selective per-action rollbackGET /api/analytics/summary — top blocked paths, busiest hours, approval latencyRisk scoring, HIPAA/SOC2/PCI/GDPR compliance evaluation, and remediation recommendations are fully wired (were stub responses in v4.6.x).
See CHANGELOG for the full entry with all 7 phases and bug fixes.
Complete rebuild of the Agent Monitor dashboard (/agents route), CLI commands, and server-side collection.
agent_history table; new History tab shows all past runs with duration, tokens, model, and Waymark badge.⬡ Waymark).+Nk/turn).waymark setup-hook — Actionable setup guide when rate data is absent; new CLI command installs the Claude Code Stop hook automatically.See CHANGELOG for full details.
Bug fix: Approvals inbox now shows all pending actions
The /approvals page was always showing “Inbox zero” even when policy-held writes were waiting. Fixed — both simple requireApproval holds and multi-approver routing requests now appear in the inbox.
Also in v4.3.1:
See CHANGELOG for details.
Stability Patch
See CHANGELOG for patch details.
Session-Level Rollback + Production Readiness
What works:
Known gaps (see CHANGELOG):
See CHANGELOG for complete details.
Control what AI agents can do in your codebase.
Waymark sits between your team and any AI agent. Every file action is intercepted, logged, and checked against your policies before it executes. Dangerous commands are blocked. Sensitive paths require human approval. Everything is reversible.
AI agents like Claude Code are powerful. They can also write to your .env, run rm -rf, or modify your database schema without asking.
You find out after it happens.
Waymark intercepts every action before it runs:
| Agent tries to... | Waymark does... |
|---|---|
| Write to .env | Blocks it instantly. Logged. |
| Run rm -rf | Blocks it instantly. Logged. |
| Pipe curl to bash | Blocks it instantly. Logged. |
| Modify src/db/schema.ts | Holds it. Asks for your approval. |
| Write to src/ | Allows it. Logged with full rollback. |
| Read any file | Logged with path and content snapshot. |
cd your-project
npx @way_marks/cli init
npx @way_marks/cli start
Restart Claude Code. Done. Waymark is now active in this project.
Your Prompt
↓
Claude Code
↓
Waymark MCP Server ← intercepts here
↓
Policy Engine
↓
allowed → executes + logged
blocked → stopped + logged
pending → held + approval required
↓
Dashboard: http://localhost:<port>
Open http://localhost:npx @way_marks/cli start.
Edit waymark.config.json in your project root:
{
"policies": {
"allowedPaths": [
"./src/**",
"./data/**",
"./README.md"
],
"blockedPaths": [
"./.env",
"./.env.*",
"./package-lock.json",
"/etc/**"
],
"blockedCommands": [
"rm -rf",
"DROP TABLE",
"regex:\\|\\s*bash",
"regex:\\$\\(curl"
],
"requireApproval": [
"./src/db/**",
"./waymark.config.json"
]
}
}
allowedPaths — Agent can read and write these. Supports glob patterns.
blockedPaths — Agent can never touch these. Takes priority over allowedPaths.
blockedCommands — Bash commands containing
these strings are blocked. Prefix with regex:
for pattern matching.
requireApproval — Actions on these paths are held until a human approves from the dashboard.
npx @way_marks/cli init # Set up Waymark in current project
npx @way_marks/cli start # Start dashboard + MCP server (background)
npx @way_marks/cli stop # Stop the running servers
npx @way_marks/cli status # Check if server is running
npx @way_marks/cli logs # View recent actions in terminal
npx @way_marks/cli logs --pending # Show only pending actions
npx @way_marks/cli logs --blocked # Show only blocked actions
Get notified when an agent action needs approval:
# Add to .env in your project
WAYMARK_SLACK_WEBHOOK_URL=https://hooks.slack.com/...
WAYMARK_SLACK_CHANNEL=#engineering
WAYMARK_BASE_URL=http://localhost:47000
Create a Slack webhook at: api.slack.com/apps → Incoming Webhooks
waymark init auto-registers Waymark in ~/.copilot/mcp-config.json and generates COPILOT.md. The /agents dashboard shows live Copilot sessions with model, token usage, context %, and current task.Waymark is MIT licensed and open to contributions.
Please open an issue before starting large changes.
MIT — see LICENSE
Built for developers who want to use AI agents seriously — without giving them unsupervised access to production systems.
Run in your terminal:
claude mcp add waymark -- npx Security
Low riskAutomated heuristic from public metadata — not a security guarantee.