Skip to main content

i-insist

Block agent tool calls with checks from your plugins or your own scripts. Works with Codex and Claude Code. When a check blocks an action, the agent sees the reason and stops. Say I insist when you want to override it.

Install

Requires uv, Python 3.12 or newer, and Linux or macOS.

uv tool install 'git+https://github.com/crypdick/i-insist@main'
i-insist install codex
i-insist install claude

Install only the integrations you use. Restart the agent and check hook trust with /hooks.

Rules

Plugins supply their own checks. Rules live in ~/.i-insist/*.toml for global use or .i-insist/*.toml within a project. Global and applicable local rules run together.

Installation includes a rule requiring human approval to change .i-insist files. Other checks come from your plugins or scripts.

To write your own, start with the runnable example and rule and checker reference. Plugin installers replace their generated registrations, so don't edit those files to customize a plugin.

Human overrides

Include I insist anywhere in your message, in any capitalization:

I insist, update both protected files.

Approval lasts for the current response and resets with your next message or when you start or resume a session. Quoted text and code blocks count too.

Rules marked overridable = false still run. Invalid configuration still blocks approved calls. Approval doesn't override other plugins or the agent's own permissions.

These are cooperative guards, not a sandbox. They depend on the agent calling hooks, and checkers run with your account's privileges.

Configuration protection recognizes literal paths in Python -c commands and standalone quoted Python heredocs. Embedded replacement source text mentioning .i-insist is not itself a configuration path. Literal configuration paths (including f-string fragments) still require approval. Malformed Python, recognized dynamic execution calls, and other shell forms retain conservative checks. This is not arbitrary Python data-flow analysis or a shell sandbox.

Separate shell commands are checked independently: listing .i-insist followed by an unrelated test or file operation does not require approval. Quoted and escaped separators stay within their command, as do redirection operators. Directory changes, variable assignments, shell control flow, substitutions, and other heredocs retain the conservative whole-call check. Unknown ~user names remain literal during path checks, so shell data such as Lua's ~= operator does not cause a home-directory lookup error.

Update or uninstall

Update the runner, then repeat the install command for each integration you use if the update changes hook registrations:

uv tool upgrade i-insist

Checks launched from uv-installed executables coordinate with uv tool upgrades. They wait for an active installation, then run against the restored environment. The wait counts toward the checker timeout; an overdue installation still blocks the tool call. See checker execution for scope.

To uninstall, remove each integration you installed before removing the runner:

i-insist uninstall codex
i-insist uninstall claude
uv tool uninstall i-insist

Uninstall leaves provider rules and approval caches in place.

Reference

Metadata

Release files for i-insist 0.4.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for i-insist 0.4.9
File Size Uploaded
i_insist-0.4.9.tar.gz 104.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for i-insist 0.4.9
File Interpreter ABI Platform
i_insist-0.4.9-py3-none-any.whl Python 3 none any Details

Total release size: 121.6 kB

Release files / i_insist-0.4.9.tar.gz

Download URL i_insist-0.4.9.tar.gz
Size 104.7 kB
Tags Source
SHA-256 checksum
How to use checksums
12e89d8ffcc3161fd782a2be4ee79af2ea852bece951a26234c995d7547a03b3
BLAKE2b-256 checksum
How to use checksums
6155ae8ed297e0d0ee9b2b2d295ca2dc55b5271a122d621dc030585a3e471c54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / i_insist-0.4.9-py3-none-any.whl

Download URL i_insist-0.4.9-py3-none-any.whl
Size 16.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b3d46ad6faf6e370066fe3a80aeff25917ec573071dc8d99f4f189bb7c9744b8
BLAKE2b-256 checksum
How to use checksums
28ea4e9a1bb4fc91e076d026f2ef6a7f565411cb3e40642930c4229e222656a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release history Release notifications | RSS feed

0.4.11

2 release files

0.4.10

2 release files

This release

0.4.9 This release

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page