interlinked-cli
Hook rules with no model in the loop stop dangerous commands and secrets in code, and every block goes to a local log.
- 185 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Installation changes agent clients' settings and adds hooks and bridges.
- Blocks can stop a legitimate edit, so the rules need tuning.
Install
- Works in
Manual install
npm install -g github:QuentinCody/interlinked-cliOption A from the README: a global install straight from GitHub. Node.js 22+ is required. Then run the `interlinked` wizard in the target repository.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Installation changes agent clients' settings and adds hooks and bridges.
- Blocks can stop a legitimate edit, so the rules need tuning.
This is third-party code. Review the repository files before installing.
What it does
interlinked-cli is a local guard layer for coding agents. It integrates with Claude Code and Codex and has experimental adapters for Cursor, Copilot CLI, Gemini CLI, OpenCode and Pi. Rules check each tool call delivered through hooks with no model in the loop, so the block-or-allow decision comes in milliseconds and is reproducible. The gates stop destructive commands, secrets in source and unvetted dependencies before they touch disk. Examples include a new TypeScript error after an edit, a new file with no test, a write outside the repo root, an empty `catch {}` and `kill` aimed at other processes. If the daemon is unreachable, a self-contained fallback set of checks stays active. Events go to a local log you can grep. The `interlinked` wizard installs hooks and skills, and `interlinked disable` stands the guard down gently. State lives in `.interlinked/`.
Who it is for. Developers and teams who trust agents with code writes and terminal commands and want deterministic rules and a log instead of hoping a prompt holds.
Good fit when
- The agent must be kept from `rm -rf` and writes outside the repo root.
- A secret ended up in source and the write must be stopped before the file is saved.
- A new file with no test is blocked by a TDD gate.
- A log of blocked calls per agent and session is needed.
Not a fit when
- The agent runs without hooks, and the guard sees only events the client delivers.
- A check judged by a model rather than fixed rules is needed.
- The environment is unsupported, as only Claude Code and Codex are primary.
Example request
Install interlinked, run the wizard in the repository and show which rules are on and what was blocked this session.Limitations
Node.js 22 or newer on macOS, Linux or WSL is required. Claude Code and Codex are the primary targets, while the other adapters are experimental and apply only the checks their API permits. The guard sees only events the client delivers through its integration: if a hook was never invoked, the log has no event either. Installation changes the selected clients' settings and adds bridges and skill directories, with removal as a separate command. The figures of 911 audited blocks over 109 days come from the author's own use.
How to disable. Run `interlinked disable` to stand down gently or `interlinked disable --uninstall` to remove a wizard installation. `interlinked uninstall-hooks` removes only hooks installed through `install-hooks`.
FAQ
How do I turn the guard off quickly?
`interlinked disable` stands the guard down without destroying the installation. `interlinked disable --uninstall` removes it entirely.
How do I check that the guard sees events?
Run `interlinked harness capabilities --json`: it reports the installation and observed coverage per client.
What if the daemon is not running?
A self-contained deterministic fallback stays active. Checks that need the full evaluator are reported unavailable rather than clean.
Is a cloud service required?
No. The guard is local and state lives in `.interlinked/`. Optional sync is explicit and authenticated.
How do I pin a version for CI?
Use option C: `npm install -g github:QuentinCody/interlinked-cli#<commit-sha>`. It installs the chosen commit reproducibly.
Discussion
No questions or reviews yet.
Related
CLI toolsVigils sits between an AI agent and its tools: it hides secrets, asks for approval and keeps a tamper-evident log of calls
Security hook for coding agents: scores each tool call with session context and flags injections in results and skills
A CLI with policies that intercepts dangerous AI agent commands like rm -rf, force push or reading .env before they run
ai-engineering installs hooks that deny risky agent calls and write a receipt for every verdict into your repository
Boucle Claude Code hooks
Boucle-framework
Seven Claude Code hooks block dangerous commands, force pushes and edits to protected files; enforce-hooks enforces CLAUDE.md.
A marketplace of 22 hook plugins for Claude Code: safety, cost control, observability and automation
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| interlinked-cli (this card) | no | 185 | |
| Destructive Command Guard | no | 6,349 | filters dangerous terminal commands; interlinked-cli adds gates for secrets, tests and dependencies plus an event log |
| AgentGuard | no | 494 | guards agent calls with its own rule set; interlinked-cli normalizes policy across seven clients |
README in short
Rules with no model in the decision path, a log and a soft exit, not another prompt asking the agent to be careful.