Vijil SDK & CLI
Measure and improve AI agent trustworthiness from your terminal or Python code.
Vijil provides a unified trust layer for the entire agent lifecycle — from discovery through deployment. Evaluate your agent against known standards, probe it under adversarial pressure with adaptive redteaming, adapt it to fix weaknesses, and protect it with runtime Guardrails.
Install
pip install vijil-sdk
Installing alongside
vijil-console? Versions ofvijil-consoleup to and including0.1.41also install a console script namedvijil, and whichever package is installed last wins. Fromvijil-console 0.1.47its command isvijil-console, and the two packages coexist cleanly. Ifvijilis not the CLI you expect, runpip install -U vijil-console(or uninstall it).
Requires Python 3.11, 3.12, or 3.13. Installs both the vijil CLI and the vijil Python SDK.
Using Vijil from Claude Desktop, Cursor, or other MCP-aware agent frameworks? See vijil-mcp — a separate package that exposes the Vijil platform as MCP tools. The SDK and the MCP server are independent: vijil-sdk runs in your Python process; vijil-mcp runs as a stdio server attached to your agent framework.
Migrating from the legacy vijil PyPI package (pre-2026)? See docs/migration-from-legacy-vijil.md for the install change, auth flow change, and command-by-command map.
Authenticate
Create an API key in your Vijil Console deployment: open your Profile page
(/profile — click your name at the bottom of the left nav), find the
API Keys card, and press Create key. You get a client ID (vk_…) and a
one-time client secret. Export the pair; the SDK exchanges it for a
short-lived access token automatically:
export VIJIL_CLIENT_ID="vk_..."
export VIJIL_CLIENT_SECRET="..." # shown once at creation
Already have a bearer access token? Use it directly instead — vijil auth login saves one, or set it in the environment:
vijil auth login # paste an access token; saved to ~/.vijil/credentials.json
export VIJIL_API_KEY="<access-token>"
Quick start: CLI
# Evaluate against standard trust Harnesses
vijil evaluate <agent-id> --baseline
# Probe under adversarial pressure (adaptive redteaming)
vijil evaluate <agent-id> --type redteam
# View trust scores
vijil scores show <agent-id>
# Configure runtime Guardrails
vijil protect <agent-id> --guards prompt_injection,pii --mode enforce
# Improve the agent through corrective evolution
vijil adapt <agent-id> --mode config
Quick start: SDK
from vijil import Vijil
client = Vijil()
# Evaluate and wait for results
evaluation = client.evaluate("my-agent", baseline=True)
print(f"Trust score: {evaluation.trust_score}")
print(f"Reliability: {evaluation.dimensions.reliability}")
print(f"Security: {evaluation.dimensions.security}")
print(f"Safety: {evaluation.dimensions.safety}")
# Probe under adversarial pressure (adaptive redteaming)
status = client.evaluate("my-agent", type="redteam")
print(f"Redteam status: {status.status}")
# Configure Guardrails
dome = client.protect("my-agent", guards=["prompt_injection", "pii"])
# Improve the agent
job = client.adapt("my-agent", mode="config")
How it works
The CLI and SDK are organized into two tiers, inspired by Git:
Porcelain commands (lifecycle verbs)
High-level commands that map to stages of the agent trust lifecycle:
| Command | What it does |
|---|---|
vijil inspect |
Static trust read of an agent's source — free, local, no account |
vijil discover |
Find agents in GitHub repos or cloud infrastructure |
vijil register |
Convert agent source into an A2A card and genome |
vijil evaluate |
Measure against known standards (--baseline), or probe adaptively with --type redteam (adjusting attacks wave over wave) |
vijil analyze |
Cluster an evaluation's failures into root-cause lineages and name the fix surface |
vijil adapt |
Improve through corrective evolution (prompt, config, code, Dome) |
vijil protect |
Configure Dome runtime Guardrails |
vijil monitor |
View Dome telemetry (detections, traces, logs) |
vijil evolve |
Create a new agent through generative evolution |
vijil deploy |
Deploy to a production runtime |
Plumbing commands (resource nouns)
Low-level CRUD operations on platform resources:
| Command | Subcommands |
|---|---|
vijil agents |
list, show, create, update, delete |
vijil evaluations |
list, show, redteam-status, redteam-seeds, redteam-attacks, redteam-judgments, redteam-reflections, redteam-report |
vijil harnesses |
list, show, create, update |
vijil genomes |
list, show, diff, history |
vijil jobs |
list, status, cancel |
vijil scores |
show, history |
vijil reports |
list, show, download |
vijil proposals |
list, show, approve, apply, reject |
vijil policies |
list, show, create, update, delete |
vijil personas |
list, show, create, update, delete |
Setup commands
| Command | What it does |
|---|---|
vijil auth |
login, logout, status |
vijil config |
show, get, set |
Key concepts
Evaluate types: vijil evaluate --baseline measures against known standards (like a certification exam). vijil evaluate --type redteam explores for unknown weaknesses through adaptive adversarial pressure (iterative seed → attack → judge → reflect loop). Both produce trust insights.
Adapt vs Evolve: adapt improves an existing agent through corrective evolution, fixing weaknesses found by evaluation or testing. evolve creates an entirely new agent from a spec or natural-language description.
Trust dimensions: Every evaluation produces scores across three dimensions — reliability (does it work correctly?), security (can it resist exploitation?), and safety (does it behave responsibly?).
Global options
--output, -o Output format: table, json, yaml, quiet (default: auto)
--gateway Gateway URL override
--api-key API key override (or set VIJIL_API_KEY)
--quiet, -q Quiet mode — IDs only
--verbose, -v Debug logging
Global options are declared on the root vijil command, so they must come
before the subcommand:
vijil -o table agents list # correct
vijil agents list -o table # error: No such option: -o
Shell composability
The CLI supports shell scripting:
# JSON output for machine consumption
vijil -o json evaluate my-agent --baseline | jq '.trust_score'
# Quiet mode returns just the ID
EVAL_ID=$(vijil -q evaluate my-agent --baseline)
vijil reports download "$EVAL_ID"
# Pipe agent list to evaluation
vijil -q agents list | xargs -I{} vijil evaluate {} --baseline --no-wait
Exit codes follow Unix convention:
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | General error |
| 2 | Authentication error |
| 3 | Resource not found |
| 4 | Validation error |
| 5 | Job failed |
Agent aliases
Set short names for agent IDs you use often:
vijil config set aliases.travel-agent d0087de1-a032-49f7-9d28-3abf4a34404d
# Now use the alias anywhere
vijil evaluate travel-agent --baseline
vijil scores show travel-agent
Framework integrations
Coming soon — Guides for integrating Vijil into agent development frameworks:
- Google ADK — Evaluate and protect ADK agents
- LangGraph — Add trust checks to LangGraph workflows
- CrewAI — Monitor and adapt CrewAI agents
See docs/integrations/ for the roadmap.
Documentation
| Document | Description |
|---|---|
| Configuration | Auth setup, config file, credentials, CI/CD |
| CLI Reference | All commands with flags and examples |
| SDK Reference | Python client, resources, models, errors |
| Lifecycle Guide | End-to-end workflows for existing and new agents |
| Testing Guide | Running unit and integration tests |
| Integrations | Framework integration guides |
Requirements
- Python 3.11–3.13
- A Vijil account (access to your Vijil Console deployment)
License
Proprietary. Copyright 2024-2026 Vijil AI, Inc.
Release files for vijil-sdk 0.1.64
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vijil_sdk-0.1.64.tar.gz | 127.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vijil_sdk-0.1.64-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 305.0 kB
Release files / vijil_sdk-0.1.64.tar.gz
| Download URL | vijil_sdk-0.1.64.tar.gz |
|---|---|
| Size | 127.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
16010ef271288211c5554adaa81172a6ad676419b91f1a58ebd824bdb856d03c
|
|
BLAKE2b-256 checksum How to use checksums |
7688412d0bf324698ae66b1392d6a4264f31e4624f5447dd55a316c3ef812aa6
|
| 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 Sep 25, 2026.
Transparency logRelease files / vijil_sdk-0.1.64-py3-none-any.whl
| Download URL | vijil_sdk-0.1.64-py3-none-any.whl |
|---|---|
| Size | 177.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cbb791413c520881b7561e04e5e295822e2f28c09839ffab9d46b8edbc15a205
|
|
BLAKE2b-256 checksum How to use checksums |
8cc3a08d9e2291416c0a75200a4a54cbd256ab5b48044e64e0e8c6c036c86170
|
| 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 Sep 25, 2026.
Transparency log