Starting the dashboard
http://localhost:8020.
The dashboard reads directly from the filesystem - your Claude Code project folders and the failproofai config files. Nothing is written to a remote service.
Pages
Projects
Lists all Claude Code projects found on your machine. Projects are discovered from~/.claude/projects/ (or the path set by CLAUDE_PROJECTS_PATH).
Each project shows:
- Project name (derived from the folder path)
- Number of sessions
- Date of most recent session activity
Sessions
Lists all sessions within a project. Each session shows:- Session ID
- Start and end timestamps
- Number of tool calls
- Hook activity count (policies that fired)
Session viewer
The session viewer answers the key question for autonomous agents: what did the agent do, and did it stay on track? It shows a timeline of everything that happened in a session:- Messages - Claude’s text responses and user prompts
- Tool calls - Every tool Claude invoked, with its input and output
- Policy activity - For each tool call, which policies fired and what decision they returned
Policies
A two-tab page for managing policies and reviewing activity.- Policies tab
- Activity tab
- Toggle individual policies on or off with a single click (writes to
~/.failproofai/policies-config.json) - Expand a policy to configure its parameters (for policies that support
policyParams) - Install or remove hooks for a given scope
- Set a custom hooks file path
Auto-refresh
The dashboard has an auto-refresh toggle in the top navigation. When enabled, the current page refreshes periodically to show new sessions and policy activity as they appear. Essential for monitoring long-running autonomous agent sessions.Disabling pages
If you only need some parts of the dashboard, setFAILPROOFAI_DISABLE_PAGES to a comma-separated list of page names:
policies, projects.
Theme
The dashboard supports light and dark mode. Toggle via the button in the navigation bar. The preference is stored in your browser’s local storage.Configuring the projects path
By default, the dashboard reads from the standard Claude Code projects directory. Override it for custom setups:Accessing from a non-localhost host
When running the dashboard in dev mode (npm run dev) and accessing it from a hostname other than localhost - for example, a custom domain, a remote IP, or a tunneled URL - you may see a warning like:
--allowed-origins flag:
FAILPROOFAI_ALLOWED_DEV_ORIGINS environment variable instead:
This only applies to dev mode. When running
failproofai (production mode), there is no HMR websocket and no cross-origin dev resource issue.
