General Scheme
hl <command> [<subcommand>] [flags ...]
Tree
Informational Commands
Help
Description- Displays usage text.
- None
0- Always
Status
Description-
Shows configured values for:
- Client ID:
***if populated,<empty>if empty. - Client secret:
***if populated,<empty>if empty. - Project ID
- Requester ID
- HiddenLayer Platform URL
- Client ID:
--verbose: Add additional details around how we resolve multiple configuration sources into final values.
0- Always
Version
Description- Display the plug-in version.
- None
0- Always
Functional Commands
Config
Description- Displays usage text for the config command and groups its subcommands.
- Run
hl configwith no subcommand to print help.
- None
0- Always (prints usage)
Config Get
Description- Prints the effective value of a configuration field.
- None
0- The field has a value (printed to stdout; secrets shown as ***).1- Any other error (e.g. an unknown field name — reported on stderr).2- The field is unset (nothing printed).
Config Set
Description- Writes a value for the configuration field.
--global: Write to the machine-scoped global config file instead of the per-user file. Ignored by the secret fields.
0- Value stored.1- Failure: unknown field; a secret field on a platform with no secret store; config-file path unresolvable; or a write/permission error.
- Replace
my-client-idwith the API key. - Replace
my-client-secretwith the API secret. - For
platform_url, usehttps://api.eu.hiddenlayer.aifor the EU region.
Config Unset
Description- Removes a configuration field value.
--global: Remove from the machine-scoped global config file instead of the per-user file. Ignored for secret fields.
0- Value removed (or already absent).1- Failure (same modes as set).
Runtime
Description- Displays usage text for the
runtimecommand.
- None
0- Always
Runtime Auth
Description- Connectivity check.
- None
0- If JWT retrieval was successful.1- Otherwise.
Runtime Setup
Description- Installs or repairs the HiddenLayer agent hooks for supported harnesses.
- Accepts an optional positional [harness] argument, naming a single harness to target (like
claude-code). When omitted, all registered harnesses are targeted. - Absent harnesses are detected automatically and skipped, so they will not cause a failure.
- Safe to run at any time. If the hook already current, reports back
already up to date. If the hook has drifted from the expected configuration, the hook is repaired andrepaired hooks (config has drifted)message displays.
[harness]: Optional positional argument; one of the registered harness names (likeclaude-code). When omitted, all registered harnesses are evaluated.
0- All targeted harnesses were processed successfully (outcome may be: installed, repaired, already up to date, or not installed and skipped).1- Any harness failed during setup, or an unknown harness name was provided as the positional argument.
Runtime Unsetup
Description- Removes HiddenLayer agent hooks from supported harnesses.
- Accepts an optional positional [harness] argument; behaviour is identical to runtime setup — omit to target all registered harnesses, or name one specifically.
- Absence of hooks is treated as success; safe to re-run.
[harness]: Optional positional argument; one of the registered harness names (likeclaude-code). When omitted, all registered harnesses are evaluated.
0- Hooks removed (or already absent) for all targeted harnesses.1- Failure to remove hooks, or unknown harness name provided.
Runtime Agent
Description- Takes a hook payload from
stdin. - Sends the payload to the HL Platform.
- Returns the response to the host on
stdout.
--harness: Exactly one ofclaude-code,cursor,codex, orgithub-copilot.--hook: The name of the hook.
0- On successful hook execution that results in a non-BLOCKoutcome.1- On failure to execute the hook.2- On successful hook execution that results in aBLOCKoutcome.

