Capabilities

Features

Everything you need to govern, test, and observe your AI coding agents — running entirely on localhost.

01 · The guard

Manage & test hooks
before agents run them

The core of Argus: one-click hook presets, a structured config editor, and a simulator that fires synthetic payloads at any hook command — plus a free public collection of battle-tested guardrail scripts.

  • One-click presets for Claude Code and Codex — tagged, additive, reversible
  • Simulator runs any hook against a realistic payload for every event type
  • Inspect stdout, stderr, exit code, and duration without a live agent
  • Public script collection: command blocker, secrets guard, branch protection, auto-format, injection scanner
  • Structured JSON editor with live validation
hooks — config & simulator
PreToolUse ✓ active
PostToolUse ✓ active
Stop ✓ active
Notification ○ inactive
 
── simulate ──
payload PreToolUse/Bash
exit 0 · 8ms · stdout {}

02 · The armory

A community registry
of battle-tested guardrails

Zero-dependency hook scripts, free for everyone — browse and one-click install from the community registry, test in the simulator first, then publish your own with an optional GitHub login. Works with Claude Code and Codex.

  • Browse and search the whole community registry from the Scripts page
  • One-click install any script into ~/.argus/hooks
  • Publish your own via a pull request, or back up your collection to a private gist
  • block-dangerous, protect-secrets, protect-branch, format-lint, scan-injection, and more
  • Nothing is uploaded except the scripts you choose to share
my-custom-hook-scripts
$ ls ~/.argus/hooks
block-dangerous.js protect-secrets.js
protect-branch.js format-lint.js
scan-injection.js notify-webhook.js
 
$ node block-dangerous.js < fixtures/bash-dangerous.json
permissionDecision: deny

03 · The record

Every tool call,
in real time

Argus streams every agent action to your browser the instant it fires. No polling. No refresh.

  • SSE stream — sub-100ms latency from hook to browser
  • Filter by tool type, agent, project, or time range
  • Expand any event to inspect the raw payload
  • Persisted search and filter state across navigation
  • Permission events (allow / deny) tracked separately
events — live feed
12:34:01 PreToolUse Bash
cmd: npm run test
12:34:02 PostToolUse Bash
exit: 0 duration: 1.2s
12:34:03 PostToolUse Write src/App.tsx
12:34:05 PostToolUse Edit src/index.css
12:34:09 Stop agent finished
 
$

04 · The ledger

Every session,
per project

Open a project to see its sessions in a table, then click a session to read the file-change drawer with the actual diffs.

  • Session, agent, duration, tokens, started, last updated
  • Running sessions flagged live; infinite scroll
  • File-change drawer groups every edit per file
  • Per-edit diffs with tool type and timing
  • Sessions scoped to the project you opened
sessions — ~/projects/argus
session · agent · duration · tokens
 
a1b2c3d4e5f6 ● running claude-code 4m 12s · 18.4k
9f8e7d6c5b4a codex 2m 03s · 7.1k
3c2b1a0f9e8d claude-code 11m 38s · 42.0k
 
└ click a row → file-change drawer
internal/handler/hook.go edit ×3
src/index.css write ×1

05 · The gauge

Token usage,
charted locally

See how much your agents use — token roll-ups across sessions, charted over time and by model. No dollar estimates, no cloud analytics.

  • Input / output / cache-read / cache-write breakdown
  • Usage over time and event activity charts
  • Per-model token bars
  • Daily and weekly date ranges
  • Charts powered by Recharts — all math runs locally
dashboard — token usage
last 7 days
input 142,831
output 18,440
cache read 9,210
cache write 31,602
 
by model
claude-sonnet-4 ▇▇▇▇▇▇
codex ▇▇

06 · The grounds

Every repo
your agents touch

Project cards group sessions by working directory — searchable, with per-project stats and cascade delete.

  • Session count, total tokens, and agents per project
  • Client-side search by name or path
  • Delete a project with full data cascade
  • Open a project to see its sessions
projects
~/work/api
42 sessions · 1.2M tokens · claude-code, codex
 
~/oss/argus
17 sessions · 480k tokens · claude-code
 
search: api

07 · The pulse

The instrument
checks itself

Diagnostics shows the watcher is awake: health, storage, hook inventory, and live log tails.

  • Readiness and per-agent connectivity status
  • SQLite size, journal mode, and WAL
  • Active hook preset detection (Baseline / Medium / Full)
  • ~/.argus file inventory with reveal-in-Finder
  • argus, build, and hook-script log tails
diagnostics
backend healthy :10804
db ~/.argus/argus.db · 12.4 MB
hooks preset Medium (14/30)
~/.argus/hooks 6 scripts
 
log tail
argus.log · build.log · hook-scripts.log

01 · Signal chain

How it works

AI AGENTClaude Code or Codex fires hooks
POST HOOKcurl POSTs JSON event to :10804
NORMALIZEUnified event model applied
SQLITEPersisted locally, zero cloud
DASHBOARDReal-time SSE stream to UI

Ready to start?

One command, and your first event lands in minutes.