Skip to main content

al new <name>

Creates a new Action Llama project. Runs interactive setup to configure credentials and LLM defaults.
Creates:
  • my-project/package.json — with @action-llama/action-llama dependency
  • my-project/.gitignore
  • my-project/.workspace/ — runtime state directory
  • Credential files in ~/.action-llama/credentials/

al doctor

Checks all agent credentials and interactively prompts for any that are missing. Discovers agents in the project, collects their credential requirements (plus any webhook secret credentials), and ensures each one exists on disk. Also generates a gateway API key if one doesn’t exist yet (used for dashboard and CLI authentication). Additionally validates:
  • Webhook trigger field configurations (misspelled fields, wrong types)
  • Host-user runtime setup (OS user existence, sudoers configuration). On Linux, auto-creates users and sudoers rules. On macOS, prints manual setup instructions.

al run <agent>

Manually triggers a single agent run. The agent runs once and the process exits when it completes. Useful for testing, debugging, or one-off runs without starting the full scheduler.

al start

Starts the scheduler. Runs all agents on their configured schedules and listens for webhooks.

al stop

Stops the scheduler and clears all pending agent work queues. Sends a stop signal to the gateway. In-flight runs continue until they finish, but no new runs will start.

al stat

Shows status of all discovered agents in the project. Displays each agent’s schedule, credentials, webhook configuration, and queue depth.

al logs [agent]

View log files for a specific agent, or scheduler logs if no agent is specified.

Troubleshooting logs

al stats [agent]

Show historical run statistics from the local SQLite stats database. Without an agent name, shows a global summary across all agents. With an agent name, shows detailed per-run history.

al pause [name]

Pause the scheduler or a single agent. Without a name, pauses the entire scheduler — all cron jobs stop firing. With a name, pauses that agent — its cron job stops firing and webhook events are ignored. In-flight runs continue until they finish. Requires the gateway.

al resume [name]

Resume the scheduler or a single agent. Without a name, resumes the entire scheduler. With a name, resumes that agent — its cron job resumes firing and webhooks are accepted again.

al kill <target>

Kill an agent (all running instances) or a single instance by ID. Tries the target as an agent name first; if not found, falls back to instance ID. This does not pause the agent — if it has a schedule, a new run will start at the next cron tick. To fully stop an agent, pause it first, then kill.

al chat [agent]

Open an interactive console. Without an agent name, opens the project-level console for creating and managing agents. With an agent name, opens an interactive session scoped to that agent’s environment — credentials are loaded and injected as environment variables (e.g. GITHUB_TOKEN, GIT_SSH_COMMAND), and the working directory is set to the agent’s directory.
When running in agent mode, the command probes the gateway and warns if it is not reachable:
The agent’s SKILL.md is loaded as reference context but is not auto-executed — you drive the session interactively.

Environment Commands

al env list

List all configured environments.

al env show <name>

Display the contents of an environment configuration file.

al env set [name]

Bind the current project to an environment by writing the environment name to .env.toml. Omit the name to unbind.

Credential Commands

al creds ls

Lists all stored credentials grouped by type, showing field names but not values.

al creds add <ref>

Add or update a credential. Runs the interactive prompter with validation for the credential type.
The <ref> format is type or type:instance. If no instance is specified, defaults to default. If the credential already exists, you’ll be prompted to update it.

al creds rm <ref>

Remove a credential from disk.

al creds types

Browse available credential types interactively. Presents a searchable list of all built-in credential types. On selection, shows the credential’s fields, environment variables, and agent context, then offers to add it immediately.

Agent Commands

al agent new

Interactive wizard to create a new agent from a template. Prompts for agent type (dev, reviewer, devops, or custom), agent name, and then runs al agent config to configure the new agent.

al agent config <name>

Interactively configure an existing agent. Opens a menu to edit each section of the agent’s config.toml: credentials, model, schedule, webhooks, and params. Saves changes to agents/<name>/config.toml and runs al doctor on completion to validate the configuration.

Skill Management

al add <repo>

Install a skill from a git repository. Clones the repo, discovers SKILL.md files (at the root or under skills/*/), copies the skill into agents/<name>/, creates a config.toml with a source field pointing back to the repo, and runs al config for interactive setup. Accepts GitHub shorthand (author/repo) or a full git URL.

al config <name>

Shortcut for al agent config <name>. Interactively configure an agent’s runtime settings in config.toml.

al update [agent]

Update installed skills from their source repos. For each agent with a source field in its config.toml, clones the source repo, compares the upstream SKILL.md with the local copy, and prompts to accept changes. Only updates SKILL.mdconfig.toml is never touched.

Webhook Commands

al webhook replay <fixture>

Load a webhook fixture file (JSON) and test which agents would match. Useful for debugging webhook configurations without sending real webhooks. The fixture file must have headers and body properties.

MCP Commands

al mcp serve

Starts the MCP stdio server for Claude Code integration. Claude Code spawns this as a subprocess — you don’t typically run it directly. See Claude Integration for setup and usage.

al mcp init

Writes or updates .mcp.json in the project root so Claude Code auto-discovers the MCP server.

Global Options

These options are available on most commands: