# Claude Code

Get LintLang feedback in two ways: ask for an audit of a named file, or receive concise repair guidance after a supported `Write` or `Edit`. The plugin supplies both the `lintlang-audit` skill and a `PostToolUse` hook.

## Setup

Use Claude Code with plugin support, Python 3.10+, and pipx. See [installation options](/docs/install) if pipx is not available, then install the scanner and plugin:

```bash
pipx install lintlang==0.8.0
lintlang --version
claude plugin marketplace add hermes-labs-ai/lintlang
claude plugin install lintlang@lintlang
```

You can also run `/plugin marketplace add hermes-labs-ai/lintlang` and `/plugin install lintlang@lintlang` inside a session.

## Verify

In a project containing `AGENTS.md`, ask:

```text
audit AGENTS.md with lintlang
```

The skill should scan that file as JSON and report its verdict, finding codes, and locations. It reports input errors separately and does not infer a clean result from the process exit code.

To check the automatic surface, make a successful supported edit and inspect the returned tool context. The hook covers `.yaml`, `.yml`, `.json`, `.txt`, `.md`, `.prompt`, and `.py`. Clean or unsupported files add no guidance.

## Runner and behavior

The hook prefers `lintlang` on PATH, with a `python3 -m lintlang` fallback only on interpreters supporting `-P` and `PYTHONSAFEPATH`. The audit skill can instead use the pinned release through uvx. That fallback may download packages on a cache miss.

Both surfaces provide feedback without rewriting files or blocking a tool call. The hook omits raw evidence, but descriptions and suggestions can still contain source-derived information. The scanner runs offline; the host retains its own provider behavior. The release records the scanner pin, not a universal Claude Code version range.

## Troubleshooting and removal

Check `lintlang --version` in the environment that launches Claude Code. For automatic feedback, confirm that the plugin is enabled and a successful supported edit occurred.

```bash
claude plugin disable lintlang@lintlang
claude plugin uninstall lintlang@lintlang
```

Use the first command to keep the plugin installed but stop both surfaces; use the second to remove it.

## Next steps

[Add a GitHub CI gate](/integrations/github) · [Set up Cursor](/integrations/cursor) · [Released plugin guide](https://github.com/hermes-labs-ai/lintlang/blob/c0cab00048220286858f227aaf4b13cc043f718b/integrations/claude-code/README.md) · [All integrations](/integrations)

