Waymark
OfficialSends notifications when agent actions require approval, with Approve/Reject buttons directly in Slack.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@WaymarkSet policy: require approval for writes to /etc"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
https://github.com/user-attachments/assets/5940e42a-e231-4311-8e24-1ea37699662e
Waymark
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.
β¨ What's New in v4.7.0
Major feature release β bash approval queue, new CLI commands, policy editor, dashboard enhancements, and wired remediation engine
π‘οΈ Policy engine extensions
requireApprovalBash[]β queue bash commands for human approval, just like file writesallowedCommands[]β explicit bash command allowlistPolicy editor in dashboard β add/remove rules visually with live save
POST /api/policy/testβ test any path/command against active policy
π₯οΈ New CLI commands
waymark 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π New API endpoints
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 latency
ποΈ Dashboard enhancements
Agent pause/resume β SIGSTOP/SIGCONT from SessionCard
Selective session rollback β checkboxes per write_file + "Rollback selected" button
Escalation deadline badges β amber/red urgency in Approvals inbox
Approve-with-edit β edit file content inline before approving
Context window progress bar, pending count badge, dark mode auto-detection, tab title badge
π Remediation engine (now live)
Risk 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.
β¨ What's New β Agent Monitor Overhaul
Complete rebuild of the Agent Monitor dashboard (/agents route), CLI commands, and server-side collection.
Session history β Completed sessions saved to
agent_historytable; new History tab shows all past runs with duration, tokens, model, and Waymark badge.Waymark badge β Cards and CLI rows now distinguish sessions whose tool calls flow through Waymark policy enforcement (
⬑ Waymark).Sparklines & burn rate β Token and context-window sparklines per session card; burn rate label (
+Nk/turn).Port management β Ports classified as browser/api/db/system/other; π/π binding visibility; Kill button for orphan ports.
Full-content modal β Click any tool call row to see complete untruncated args (up to 2000 chars) in a scrollable overlay.
Rate-limit guide &
waymark setup-hookβ Actionable setup guide when rate data is absent; new CLI command installs the Claude Code Stop hook automatically.Token usage by project β New bar chart in Stats view showing top 10 projects by total agent tokens.
See CHANGELOG for full details.
β¨ What's New in v4.3.2
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:
Anyone-can-approve routes no longer incorrectly reject all approvers
Reviewer ID is now editable from the settings popover (top-right βοΈ)
Actions list refreshes immediately after an escalation decision (no more 30-second wait)
Slack Approve / Reject buttons now push live updates to all open browser tabs instantly
See CHANGELOG for details.
β¨ What's New in v4.1.0
Stability Patch
β Database initialization optimized for test isolation
β All test assertions passing (92% pass rate)
β Risk assessment and approval routing fully tested
β Production-ready patch release
See CHANGELOG for patch details.
β¨ What's New in v1.0.0
Session-Level Rollback + Production Readiness
β Session-level rollback: Undo an entire agent run in one click
Atomic all-or-nothing semantics
Restores files from snapshots
Validates reversibility before executing
β Approval routing: Route pending actions to specific teammates
β Escalation management: Automatic escalation of stale approvals
β Risk assessment: AI-powered risk scoring for every action
β Predictive analytics: Trend analysis and forecasting dashboard
β Persistent policies: Policies saved across sessions
What works:
β Policy enforcement (blocked/allowed/pending)
β Action logging and dashboard
β Single-action rollback
β Session-level rollback (atomic)
β Approval workflows and team routing
β Escalation rules and notifications
β Slack integration
β Email notifications (SMTP)
β Multi-project support
β Windows, macOS, and Linux support
Known gaps (see CHANGELOG):
β οΈ REST API endpoints not integration-tested
β οΈ Database layer not fully covered by unit tests
β οΈ Production readiness: 2-4 weeks stabilization needed
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.
The Problem
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.
The Solution
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. |
Install
cd your-project
npx @way_marks/cli init
npx @way_marks/cli startRestart Claude Code. Done. Waymark is now active in this project.
How It Works
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>Dashboard
Open http://localhost:<port> after running
npx @way_marks/cli start.
Project name shown in header β dashboard title displays the active project automatically (e.g. "waymark β my-app")
See every agent action in real time
Approve or reject pending actions
Roll back any write with one click
Filter by allowed / blocked / pending
Configuration
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"
]
}
}Policy Rules
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.
CLI Commands
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 actionsSlack Notifications
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:47000Create a Slack webhook at: api.slack.com/apps β Incoming Webhooks
Works With
Claude Code β native MCP integration, all features
Claude Desktop β native MCP integration, all features
GitHub Copilot CLI β now first-class, identical to Claude.
waymark initauto-registers Waymark in~/.copilot/mcp-config.jsonand generatesCOPILOT.md. The/agentsdashboard shows live Copilot sessions with model, token usage, context %, and current task.Any MCP-compatible agent β register the Waymark MCP server in your agent config
More integrations coming (see Platform Guide)
Requirements
Node.js 18 or higher
Claude Code (for MCP integration)
macOS, Linux, or Windows
Roadmap
CLI agent wrapping (waymark run )
Proxy mode (drop-in for any OpenAI-compatible agent)
REST API integration tests (comprehensive endpoint coverage)
Contributing
Waymark is MIT licensed and open to contributions.
Fork the repo
Create a feature branch
Open a pull request
Please open an issue before starting large changes.
License
MIT β see LICENSE
Built for developers who want to use AI agents seriously β without giving them unsupervised access to production systems.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/waymarks/waymark'
If you have feedback or need assistance with the MCP directory API, please join our Discord server