Pipelock Pro and Founding Pro subscribers receive a license token by email. Use an official Pipelock release binary for these commands. Keep the token private.
Install
Replace the placeholder with the token from your license email:
pipelock license install "<your-token>"
The command takes the token as an argument, so typing it in directly leaves it in your shell history, and other accounts on the machine can see it in the process list while the command runs. To keep it out of history in bash, read it into a variable first and clear the variable afterwards:
read -rs PIPELOCK_TOKEN
pipelock license install "$PIPELOCK_TOKEN"
unset PIPELOCK_TOKEN
The command writes the token to a file and prints a section headed “Add to your pipelock config”. Copy that exact license_file line into the configuration your Pipelock process uses.
The printed line is not quoted. If the path contains spaces, :, #, quotes, backslashes or other punctuation, wrap the value in single quotes, for example license_file: '/opt/my license: v2/license.token'. On a single line, YAML reads everything inside single quotes literally, including backslashes. If the path itself contains a single quote, write it twice: '/opt/it''s/license.token'. Quoting does not preserve line breaks, so when choosing a --path destination, use one without line breaks in any directory or file name.
Use the printed path. Do not substitute ~/.config/pipelock/license.token in YAML: the configuration loader treats a literal ~ as part of a relative path.
For a different destination, choose an absolute path with --path and use the configuration line printed by that command. The account running Pipelock must be able to read the file.
If your license email includes an intermediate certificate, save its complete JSON in a separate file. Add its absolute path to the same configuration:
license_intermediate_file: /absolute/path/to/license-intermediate.json
Replace that example with the file you saved. Keep the certificate and token in separate files. The same quoting rules as license_file apply: wrap a path with spaces or punctuation in single quotes, and keep line breaks out of it.
For deployments already using PIPELOCK_LICENSE_KEY, put the token in the environment used by the actual process or service. A nonempty environment value overrides license_file and inline license_key. Installing a file does not replace that environment value. Configure the intermediate certificate in the YAML as described above.
Verify
Check the configuration the process will use. Replace the example path and run with the same license-related environment as that process:
pipelock license status --config /absolute/path/to/pipelock.yaml
Check for:
License status: valid- The expected tier and feature list, including
agentsfor Pro - The expected expiry
- An intermediate certificate configured when one accompanied your license
For structured output, add --json.
This command verifies the configured credential and reports its status. It does not query the running process. The install command writes the token after checking its format; license inspect decodes its claims without checking the signature.
Restart the Pipelock process or service that uses this configuration. Then confirm the paid behavior you configured works, such as your named agent profile or per-profile listener. A successful status check alone does not establish that the running process loaded the same configuration.
Offline by design
Pipelock verifies license signatures and expiry locally. A license delivered with an intermediate certificate is verified through that certificate to the release binary’s embedded root public key. License verification does not require a phone-home request.
When you receive a replacement token, update the credential your deployment actually consumes:
- File-based setup: run
license installagain. If you used a custom destination, pass--pathwith that same absolute path. - Environment-based setup: replace
PIPELOCK_LICENSE_KEYin the process or service environment. - Inline setup: replace
license_keyin the configuration.
Also save and configure the certificate supplied with the replacement license, if present. Repeat the verification, restart and paid-feature confirmation steps above. Receiving a replacement email does not update a running deployment.
Troubleshooting
Start with license status using the actual configuration path and matching license environment.
If it reports an error, check:
- The
license_filepath matches the installer’s printed path and is readable by the account running Pipelock. - The certificate from the license email is saved separately and
license_intermediate_filepoints to it. PIPELOCK_LICENSE_KEYis not selecting an older token instead of the file you updated.- The verified expiry and feature list match the access you expect.
If status is valid but the feature remains unavailable, check that you restarted the intended process and that it uses the same configuration and environment you verified.
If you still need help, email luckypipe@pipelab.org with the Pipelock version, expected feature, and relevant status or error output. Never include the token or private keys. Review the output for subscription identifiers, organization details, local paths and other private information before sharing it.
Related
- Pipelock product page
- Pipelock for Cursor
- Pipelock for JetBrains
- Pipelock for Claude Code
- Self-hosted Sure with Pipelock for a Helm deployment that wires the proxy into an assistant path
Frequently asked questions
Where does my license token come from?
Where is the token stored on disk?
--path, pipelock license install writes the token under your user home at .config/pipelock/license.token. The command prints its actual path and a license_file configuration line. Copy that line into the configuration your Pipelock process uses; a literal ~ in YAML is not expanded to your home directory. A nonempty PIPELOCK_LICENSE_KEY environment variable takes priority over license_file, which takes priority over an inline license_key.How do I verify the token loaded correctly?
pipelock license status --config /absolute/path/to/pipelock.yaml, replacing the path with your actual configuration and using the same license environment as your Pipelock process. Check for valid status, the expected features, and the expected expiry. This verifies the configured credential locally; it does not query the running process. Restart Pipelock and confirm the paid feature you configured works. license inspect only decodes a token and cannot establish signature validity or activation.