Inspect the full state of your agent project in a single command.
lua status (alias: lua describe) shows a comprehensive snapshot of your agent: environment info, authentication, project config, per-primitive sync state, persona drift, backup status, telemetry, and actionable next steps.
lua status # human-readable tablelua describe # identical output via aliaslua status --json # machine-readable JSON for scripting
API base URL and any overriding env vars (LUA_API_URL, LUA_API_KEY, LUA_NO_HINTS, etc.)
Auth
API key source (env var / credentials file / .env)
Authenticated email, user ID, and organization list
Server reachability status
Project
Config path (lua.skill.yaml)
Agent name and ID
Compiled manifest — how many primitives were found in the last compile
Primitives Sync Table
For each primitive type (skills, webhooks, jobs, preprocessors, postprocessors, MCP servers, devices, device triggers), shows:
Local version (from YAML)
Server version (active)
Sync status: synced, ahead, behind, not deployed, or server only
Persona / Backup / Telemetry
Quick status indicators with a hint if action is needed.Next Steps
Actionable hints based on current state (e.g. lua push backup if backup is out of sync).
#!/bin/bash# Verify agent exists before deploymentAGENT_ID="agent_xyz789"AGENTS_JSON=$(lua agents --json)if echo "$AGENTS_JSON" | jq -e ".organizations[].agents[] | select(.agentId == \"$AGENT_ID\")" > /dev/null; then echo "✅ Agent found - proceeding with deployment" lua push all --force --auto-deployelse echo "❌ Agent not accessible - check API key permissions" exit 1fi
Validate environment before deploying.
Multi-Agent Workflows
Deploy to multiple agents programmatically:
# Deploy to all production agentsfor agent_id in $(lua agents --json | jq -r '.organizations[].agents[] | select(.environment == "production") | .agentId'); do echo "Deploying to $agent_id" cd "/path/to/project/$agent_id" lua push all --force --auto-deploydone
The following commands support --force to skip confirmation prompts:
# View API key without confirmationlua auth key --force# Logout without confirmationlua auth logout --force# Clear chat history without confirmationlua chat clear --force# Clear specific user's history without confirmationlua chat clear --user[email protected] --force
Generate shell autocomplete scripts for faster command-line workflows.
lua completion [shell] # Generate completion scriptlua completion bash # Generate for Bashlua completion zsh # Generate for Zshlua completion fish # Generate for Fish
Enable tab completion for all Lua CLI commands and arguments!
Problem: Completions don’t work in Fish shellSolutions:
Verify file location:
ls ~/.config/fish/completions/lua.fish
Regenerate if missing:
mkdir -p ~/.config/fish/completionslua completion fish > ~/.config/fish/completions/lua.fish
Restart Fish shell
Conflict with existing completions
Problem: Completions conflict with other toolsSolution:
Remove old completion and reinstall:
# Bash/Zsh: Remove old lines from config filevim ~/.bashrc # or ~/.zshrc# Delete old lua completion lines# Fish: Remove old filerm ~/.config/fish/completions/lua.fish# Reinstalllua completion [your-shell]
Control whether lua-cli collects usage data to help improve the developer experience.
lua telemetry # Show current statuslua telemetry on # Enable telemetrylua telemetry off # Disable telemetrylua telemetry status # Show status (same as no argument)
Persists your preference in ~/.lua-cli/telemetry.json. Re-enable with lua telemetry on.
# Disable for this sessionLUA_TELEMETRY=false lua push# Or add to your shell profile to disable permanentlyecho 'export LUA_TELEMETRY=false' >> ~/.zshrc
The environment variable takes highest priority and overrides the saved preference.
$ lua telemetryTelemetry: enabledUsage: lua telemetry on Enable telemetry lua telemetry off Disable telemetry lua telemetry status Show current settingOr set LUA_TELEMETRY=false in your environment.
Manage the LLM model for your agent. The current model is resolved server-first (authoritative) with a fallback to your local compiled artifact.
lua models # List all approved models, highlight the one in uselua models list # Same as abovelua models list --json # Machine-readable JSON outputlua models set # Interactive picker (searchable, provider-grouped)lua models set --model openai/gpt-4o # Non-interactivelua models unset # Remove model — revert to platform default
Option
Description
--model <code>
Model code for the set action (e.g. openai/gpt-4o).
Manage governance policies for your agent project. Governance wraps tool calls, preprocessors, and postprocessors with runtime enforcement using the governance SDK.
lua governance # Interactive governance setuplua governance add # Add governance (SDK or API mode)lua governance remove # Remove governance from agent (local + server)
Action
What it does
(default)
Interactive setup — prompts for SDK or API mode and required configuration.
add
Add governance to the agent in either SDK mode (in-process) or API mode (remote).
remove
Strip governance enforcement from both local source and the server.
After adding governance, lua sync detects drift on governance configuration the same way it does for other primitives.
Phone-specific helper for the lua channels family. Used during phone-channel setup and diagnosis. Run lua channels-phone --help for the current subcommand set.
lua channels-phone --help
For the general channel management command, see lua channels.
Inspect raw chat log records for a session. Useful when debugging an issue reported with a specific thread ID or user — it shows the underlying log entries the platform recorded, in execution order.
lua chat-log-probe --help
Pair this with lua logs --type user_message and --type agent_response for the high-level view; use chat-log-probe when you need the raw underlying records.