eLLA - Settings, Options and Skills Reference

By Paul Flanders · · Intermediate

eLLA is a command-line assistant for system administration. It connects to an eLLM endpoint (any OpenAI-compatible API with tool calling), runs read-only diagnostics on its own, and asks for approval before it changes anything. This article lists every setting, command, option and bundled skill.

Applies to: ella 0.3.0 and later
Platforms: Ubuntu Linux 20.04, 22.04, 24.04; Windows 10/11; Windows Server 2019, 2022, 2025

Contents

  1. Installation and first-time setup
  2. Configuration file settings
  3. Environment variables
  4. File locations
  5. Command-line commands and options
  6. In-session slash commands
  7. Approval modes and safety features
  8. Certification readiness standards
  9. System state baselines
  10. Windows skills
  11. Linux skills
  12. Skills for both platforms
  13. Built-in tools

1. Installation and first-time setup

Windows

  1. Run ella-<version>-x64.msi. It installs to C:\Program Files\ella, adds ella to the system PATH and registers the ella Event Log source. The MSI can be deployed through Group Policy or Intune.
  2. Open a new terminal with Run as Administrator.
  3. Run ella setup and enter the endpoint URL, API key and model.
  4. Run ella to start a session.

Requirements: Windows PowerShell 5.1 (built in). The Active Directory, Group Policy, DNS and DHCP features need RSAT or the role management tools. Upgrading with a newer MSI keeps the existing configuration.

Linux (Ubuntu)

  1. Install the package that matches your release:
    • Ubuntu 20.04: ella_<version>_ubuntu2004-py38_amd64.deb
    • Ubuntu 22.04: ella_<version>_ubuntu2204-py310_amd64.deb
    • Ubuntu 24.04: ella_<version>_ubuntu2404-py312_amd64.deb
    Install with sudo apt install ./ella_<version>_<target>_amd64.deb. The packages are self-contained and install offline.
  2. Run sudo ella setup. This writes /etc/ella.conf, creates the ella group and adds you to it.
  3. Log out and back in (or run newgrp ella), then run ella.

Recommended: a model context window of 32K tokens. Set context_tokens to match your model.


2. Configuration file settings

The configuration file is in INI format and is owned by administrators because it holds the API key.

  • Windows: C:\ProgramData\ella\ella.conf (readable by Administrators and SYSTEM only)
  • Linux: /etc/ella.conf (owner root, group ella, mode 0640)

ella setup creates the file. You can edit it afterwards in any text editor. Changes take effect the next time ella starts.

[llm] section

Setting Default Description
base_url (required) OpenAI-compatible endpoint, for example http://ellm.local:8000/v1.
api_key not-needed API key for the endpoint.
model (required) Model used for everyday work, for example qwen3-4b.
context_tokens 8192 The model's context window. ella uses it to decide when to compact the conversation. Set it to the model's real value (32768 recommended).
max_tokens 4096 Maximum length of one reply. Stops runaway output.
request_timeout 180 Seconds before a stalled API call is abandoned.
stream true Stream replies, with a live timer and token count.
temperature (server default) Optional sampling temperature.
frequency_penalty (unset) Optional. A value such as 0.5 helps if a small model repeats itself.
heavy_model (blank) Optional larger model (for example an eLLM route to GPT or Claude) used for plans, role setup, GPO building and the change reviewer. Leave blank to use model for everything.
heavy_base_url same as base_url Endpoint for the heavy model, if different.
heavy_api_key same as api_key API key for the heavy model, if different.

[behavior] section

Setting Default Description
approval tiered tiered, paranoid or yolo. See Approval modes.
reviewer true A second model pass reviews each proposed change before you are asked to approve it.
host_profile true Collect a read-only profile of the machine (OS, roles, services) at the start of a session so answers fit the machine.
typewriter true Show replies as they are typed out.

[gitlab] section (optional)

Setting Default Description
base_url (blank) GitLab server URL, for example https://gitlab.example.co.uk.
token (blank) Access token with api scope. Lets ella raise GitLab issues.

Example

[llm]
base_url = http://ellm.local:8000/v1
api_key = sk-xxxxxxxx
model = qwen3-4b
context_tokens = 32768
max_tokens = 4096
request_timeout = 180
stream = true
heavy_model = gpt-route

[behavior]
approval = tiered
reviewer = true
host_profile = true
typewriter = true

[gitlab]
base_url =
token =

3. Environment variables

Variable Description
ELLA_CONF Use a different configuration file.
ELLA_HOME Use a different per-user data folder.
ELLA_STATE_DIR Use a different folder for system state snapshots.
ELLA_ASCII 1 forces plain ASCII output for older consoles, 0 turns it off. By default it is chosen automatically on Windows.
ELLA_DEBUG 1 prints what the model returned at each step. Use it for troubleshooting tool-calling problems.
ELLA_PLATFORM Override platform detection (windows or linux). For testing only.

4. File locations

Item Windows Linux
Configuration C:\ProgramData\ella\ella.conf /etc/ella.conf
Audit log (every command run) C:\ProgramData\ella\logs, plus the Windows Application log (source ella) /var/log/ella
System state snapshots C:\ProgramData\ella\state /var/lib/ella/state
Per-user data %LOCALAPPDATA%\ella ~/.ella

The per-user data folder contains sessions (chat history), reports, skills (saved skills), logs, changesets (records used by undo) and backups (automatic pre-change backups).


5. Command-line commands and options

Global options

Option Description
--version Show the version and exit.
--yolo Auto-approve changes for this session. Changes are still logged and can be undone.
--paranoid Ask for approval for everything, including read-only commands.

Commands

Command Description
ella Start an interactive session.
ella "<request>" Start a session with a first request, for example ella "why is the C drive full?".
ella setup Create or update the configuration. Options: --base-url, --api-key, --model, --heavy-model. Needs Administrator (Windows) or sudo (Linux).
ella sessions List saved sessions, newest first.
ella resume [id] Continue a previous session with its full context. Without an id it resumes the most recent.
ella audit [-n N] Show the last N audit-log events (default 20).
ella undo [id] List changesets, or revert one. --last reverts the most recent. Each step asks for confirmation.
ella report [name] List reports, or display one.
ella assess [standard] Certification readiness check. Without a standard it lists the available standards. See section 8.
ella state ... System state baselines. See section 9.
ella skill list List bundled and saved skills.
ella skill show <name> Show a skill's details and script.
ella skill run <name> [args] Run a skill's script directly.
ella skill export <name> [dest] Export a skill as an archive file so it can be shared.
ella skill import <archive> [--force] Import an exported skill archive. --force overwrites an existing skill.
ella skill rm <name> Delete a saved skill.

ella assess options

Option Description
--level, -l Certification level, for example plus for Cyber Essentials Plus or L2 for DCC.
--questions / --no-questions Ask (or skip) the organisation questions that cannot be checked on the machine. Answers are saved and reused.
--deep Also query pending updates. Slower; needed for the CE+ scan checks.
--answers <file> Use a shared organisation answers file, so several machines use the same answers.
--json <file> Also write the full results as JSON.

ella state commands

Command Description
ella state baseline [-l label] Record a baseline. The label defaults to baseline.
ella state snapshot [-l label] Record a snapshot, with an optional label such as pre-audit.
ella state list List the snapshots stored on this machine.
ella state diff Show what has changed. Options:
  • --from: baseline (default), a label, previous or a snapshot id
  • --to: now (default, takes a fresh snapshot), a label or an id
  • --impact, -i: also show the impact on a standard, for example iso27001
  • --min: hide changes below high, medium, low (default) or info
ella state prune [--keep N] Delete old unlabelled snapshots, keeping the N most recent (default 20). Labelled baselines are never pruned.

6. In-session slash commands

Type / in a session to see the commands available on that machine, or /help for the list. Add ? after a command for more detail, for example /remotes ?. You can also ask in plain English; the matching skill loads automatically.

General (both platforms)

Command Description
/help Show the command list.
/skills List the available skills.
/report [name] List reports, or view one.
/changes List recorded changesets. Revert them with ella undo.
/audit [N] Show recent audit-log actions.
/sessions List saved sessions.
/watch <service> Watch a service's logs in the background. /watch stop ends the watch and prints a report.
/profile Re-check this machine and refresh ella's view of it.
/assess [standard] [level] Run a certification readiness check.
/state baseline | diff [since] [standard] | list System state baselines and changes.
/approval [mode] Show or change the approval mode.
/model [auto|fast|heavy] Choose the model tier. auto uses the heavy model only for planning, GPO building and reviews.
/info Show the model, endpoint, approval mode and session.
/clear Clear the screen and conversation and re-check the machine. Aliases: /reset, /new.
/exit Leave ella.

Health checks

Each check is read-only and prints a PASS/WARN/FAIL list. Afterwards you can ask ella to write it up as a report, or to fix a finding (with approval).

Command Windows skill Linux skill
/health win-health-report health-report
/security win-security-audit security-audit
/perf win-perf-audit performance-audit
/disk win-disk-triage disk-storage-triage
/logs win-event-triage log-triage
/net win-network-triage network-triage
/services win-service-triage systemd-triage
/updates win-update-triage patch-update-triage
/timesync win-time-sync time-sync-check
/users ad-users user-access-audit
/ad ad-health -
/gpo gpo-triage -
/dns dns-server -
/dhcp dhcp-server -
/db - database-triage
/web - web-server-triage
/tls - tls-cert-check
/php - php-triage
/mail - mail-triage
/firewall - firewall-audit
/cron - cron-triage
/kernel - kernel-boot-triage
/procs - process-triage
/images - container-image-audit
/drift - config-drift (/drift baseline to reset the baseline)
/backups - backup-check
/remotes - List saved SSH hosts

7. Approval modes and safety features

Mode Behaviour
tiered (default) Read-only commands run automatically. Changes need a yes/no approval.
paranoid Every command needs approval, including read-only ones.
yolo Changes are approved automatically. Everything is still logged and can be undone. High-impact changes still need typed confirmation.

Safety features

  • Command classification. On Windows, each PowerShell command is parsed before it runs to decide whether it is read-only. On Linux, shell commands are classified by a rule set. Anything that cannot be classified is treated as a change.
  • Change reviewer. A second model pass checks each proposed change and explains the risk before you approve it.
  • High-impact confirmation (Windows). Tier-0 changes need you to type the computer name, for example changes to domain admin groups, the default domain GPOs, firewall profile state, recursive AD deletes or DC demotion.
  • Automatic backups before changes (Windows). ella runs Backup-GPO before it edits or deletes a GPO, and exports a registry key before changing it, so the change can be restored.
  • Undo. Every change is recorded in a changeset with its reverse action where one exists. Use ella undo.
  • Pre-flight checks. Commands with syntax errors, or with passwords typed in plain text, are rejected before they run.
  • Secrets. When a password is needed, ella asks you for it directly. It is passed to the command as a secure value and is never shown to the model, written to the logs or saved.
  • Audit log. Every command, approval and result is recorded (see File locations).

8. Certification readiness standards

ella assess <standard> checks the machine against a standard and reports each control as PASS, FAIL, EVIDENCE (a document or record is needed), ADVISORY, UNKNOWN or N/A. Questions about the organisation that cannot be checked on the machine are asked once and saved. Run it from an elevated terminal (Administrator or root) for complete results. In a session you can ask ella to explain a gap or fix it; fixes need approval.

Standard ID Levels
Cyber Essentials / Cyber Essentials Plus cyber-essentials ce, plus
Defence Cyber Certification (DCC) dcc L0, L1 (default), L2, L3
ISO/IEC 27001:2022 (Annex A) iso27001 annex-a
ASD Essential Eight essential-eight ML1, ML2, ML3
PCI DSS (endpoint requirements) pci-dss endpoint
IASME Cyber Assurance iasme-cyber-assurance L1, L2

Examples:

ella assess cyber-essentials --level plus --deep
ella assess dcc -l L2 --answers \\fileserver\it\ella-answers.json --json dcc-pc01.json
ella assess iso27001 --no-questions

9. System state baselines

A baseline records the security-relevant state of the machine. You can then ask what has changed since, and how those changes affect a standard. Snapshots are stored on the machine itself (see File locations) as compressed files. Passwords, password hashes, private keys and credential stores are never captured.

Recorded on Windows: local users and groups, Active Directory users, groups and privileged membership, GPOs, firewall profiles and rules, services, scheduled tasks, startup items, installed software, installed updates, Windows features, shares, certificates, Defender settings and exclusions, local security policy, audit policy, BitLocker, network configuration and listening ports, the hosts file, and the DNS, DHCP and IIS roles where installed.

Recorded on Linux: users (lock state only) and groups, SSH authorised keys, firewall rules (ufw, nftables or iptables), services and timers, installed packages, network interfaces and listening ports, key configuration files (including sudoers, SSH, PAM and cron), and Docker containers.

Each change is given a severity (high, medium, low or info) and linked to the ISO 27001, Cyber Essentials, DCC, PCI DSS and Essential Eight controls it affects. Changes made through ella are identified as such.

Typical use:

ella state baseline                       (after a build or before an audit)
ella state diff                           (what has changed since the baseline)
ella state diff --impact iso27001         (and how it affects ISO 27001)
ella state diff --from pre-audit --min medium

In a session you can ask the same in plain English, for example "what's changed since the baseline?" or "how do these changes impact ISO 27001?". Take baselines and later checks at the same privilege level (both elevated) so that the comparison is complete.


10. Windows skills

Skills load automatically when a request matches their subject. Except where noted, they are read-only. Changes suggested from their findings need approval.

Skill Slash command What it covers
win-health-report /health Runs every Windows audit below (security, updates, event logs, services, disk, performance, network, time) and combines the FAIL/WARN findings into one prioritised summary.
win-security-audit /security Defender and recent detections, firewall profiles, SMBv1 and signing, RDP/NLA exposure, WinRM, guest/admin/local accounts, password and lockout policy, UAC, LSA protection, WDigest, Credential Guard, BitLocker, Secure Boot, TLS 1.0, LLMNR, PowerShell 2, NTLMv1, LAPS.
win-update-triage /updates OS lifecycle and end of support, last update installed, pending reboot, update source (WSUS or Windows Update for Business) and reachability, recent install failures with error codes, component store health. Ask for a search to list pending updates (slower).
win-event-triage /logs Unexpected shutdowns and blue screens, application crashes and hangs, disk/NTFS/hardware (WHEA) errors, Group Policy failures, the noisiest error sources, failed logons and account lockouts.
win-service-triage /services Automatic services that are not running (with exit codes), unexpected terminations and restart loops, start failures and timeouts, service account logon failures, services running as user accounts.
win-disk-triage /disk Volume free space, physical disk health, wear and temperature, Storage Spaces, disk and controller errors, dirty volumes, VSS shadow storage and writer errors, the largest folders on the system drive.
win-perf-audit /perf CPU load and queue, top processes by CPU and memory, physical memory and commit charge, hard paging, page file, disk latency per disk, handle and thread leaks, uptime.
win-network-triage /net Layer-by-layer checks: adapters and errors, IP/DHCP/APIPA, gateway, DNS servers, domain controller discovery and secure channel, internet and proxy, firewall profiles and network category, listening ports.
win-time-sync /timesync W32Time service, time source and type (domain hierarchy or NTP), PDC emulator configuration on DCs, last sync, measured offset against a DC or NTP server (Kerberos 5-minute limit), time zone.
ad-health /ad Domain controllers and OS support, FSMO role holders, replication failures and latency, dcdiag, SYSVOL (DFSR or FRS, shares, state), DC SRV records, functional levels, Recycle Bin, krbtgt password age, privileged group membership, stale accounts. Runs on a DC or a PC with RSAT.
ad-users /users Creates and manages Active Directory users and groups from conversation. It first learns the domain's OU layout, naming and UPN conventions, groups and password policy. Covers new starters (including copying a colleague's groups), leavers, password resets, unlocks, group changes and OUs. Changes need approval.
gpo-builder (ask in plain English) Builds Group Policy from plain-English requests, using a catalogue of 62 tested settings: USB blocking, screen lock, Windows Update and WSUS rings, Defender, firewall, RDP, BitLocker, LAPS, hardening, browsers, OneDrive, power and more. Creates and links GPOs, applies settings with an automatic GPO backup first, and checks the result with gpresult. Uses the heavy model when one is configured. Changes need approval.
gpo-triage /gpo What applied to this computer and user (gpresult), filtered-out GPOs, Group Policy processing errors and what they mean, SYSVOL reachability and secure channel, and (with RSAT) the domain's GPOs that are unlinked, empty, disabled, or have mismatched AD and SYSVOL versions.
dns-server /dns DNS Server role: service and listening addresses, zones (AD-integrated, secure dynamic updates, reverse zones), scavenging, forwarders and conditional forwarders, recursion, DC locator records, DNS Server event-log errors.
dhcp-server /dhcp DHCP Server role: service, AD authorisation, bindings, scope state and utilisation (exhaustion), router/DNS/domain options, failover state, conflict detection, recent DHCP errors.

11. Linux skills

Skill Slash command What it covers
System health
health-report /health Runs every read-only audit (security, performance, disk, network, systemd, logs, database, backups) and combines all FAIL/WARN findings into one prioritised summary.
security-audit /security Ubuntu security posture: SSH hardening, firewall, exposed services, accounts and privileges, patching, file permissions and further hardening.
performance-audit /perf CPU load, pressure stall information, memory and swap thrashing, OOM history, I/O wait, run queue, disk space, zombies, top CPU and memory processes.
disk-storage-triage /disk Filesystem space and inodes, read-only remounts, disk and filesystem errors in the kernel log, SMART health, LVM and RAID status, largest space consumers.
log-triage /logs Journald and /var/log: error spikes by service, crashes and segfaults, OOM kills, authentication and brute-force attempts, disk and I/O errors, failed services, oversized logs.
network-triage /net Interfaces and link state, default route, gateway and external reachability, DNS configuration and resolution, listening TCP ports (public or local), interface errors and drops.
systemd-triage /services Failed units with journal extracts, restart loops, degraded state, journal error rate, enabled but inactive services, boot performance, failed timers.
patch-update-triage /updates dpkg state, broken dependencies, pending and security updates, held and phased packages, reboot required, release end-of-life status, unattended-upgrades.
time-sync-check /timesync NTP synchronised state, active time daemon (chrony, systemd-timesyncd or ntpd), source selection, drift and offset, time zone.
user-access-audit /users Accounts that can log in, non-root UID 0, sudo and admin members and NOPASSWD rules, empty or locked passwords and expiry, SSH key access, recent logins, failed-login volume.
firewall-audit /firewall Firewall backend (ufw, nftables or iptables), default policies, active rules, exposed ports checked against allow rules, the Docker bypass of ufw, IPv6 coverage.
kernel-boot-triage /kernel Running kernel, taint flags, hardware/MCE and disk I/O errors, kernel oops and BUG messages, boot error rate and previous unclean shutdown, /boot space and old kernels.
process-triage /procs Top CPU and memory consumers, zombies and their parents, processes stuck on I/O (D state), file descriptor usage, large deleted files still held open, process and thread counts.
cron-triage /cron User and system crontabs, /etc/cron.d and cron.daily/weekly, systemd timers and their failures, MAILTO settings, recent cron errors.
backup-check /backups Confirms that backups exist and are recent: backup tools, scheduled jobs and timers, /var/backups and database dumps, GLServer backup volumes, ZFS and LVM snapshots. Flags missing or out-of-date backups.
config-drift /drift Saves a baseline of key configuration files (sshd, fstab, hosts, sudoers, nginx/apache, netplan, ufw, passwd/group) and reports any changes later.
Web, database and mail
web-server-triage /web nginx and Apache state, configuration test, enabled sites, error log and 5xx rates, ports 80/443, php-fpm upstream.
tls-cert-check /tls Finds server certificates (Let's Encrypt, nginx, Apache, GLServer units) and reports days to expiry, expired and expiring certificates, self-signed certificates and whether Let's Encrypt renewal is set up.
php-triage /php PHP version, key ini settings, OPcache, required extensions, php-fpm pools (max_children, slowlog, exhaustion). Tuned for Moodle and LAMP.
database-triage /db MariaDB/MySQL and PostgreSQL on the host or in containers: reachability, connections against the maximum, aborted connections, slow and long queries, replication, data directory disk. Uses socket authentication and never puts a password on the command line.
mail-triage /mail Postfix or Exim service, queue depth and deferred mail, SMTP ports, TLS enforcement, recent bounces, deferrals and authentication failures. Points to SPF, DKIM and DMARC for deliverability problems.
Containers
docker-debug (ask in plain English) Diagnoses Docker containers, images, volumes, networks and the daemon: restart loops, OOM kills, networking, storage and compose stacks.
container-image-audit /images Docker disk usage, dangling and unused images, largest images, old base images, dangling volumes, exposed container ports, whether a vulnerability scanner is available.
Moodle
moodle-debug (ask in plain English) Finds Moodle installations on the host or in Docker and diagnoses white screens, database errors, slowness, upgrades and plugins, cron, authentication and storage.
moodle-performance (ask in plain English) Cron backlog, session store (files, database or Redis), MUC caching, data directory hotspots.
moodle-plugin-audit (ask in plain English) Plugin inventory by type, with versions and requirements, for update planning and spotting incompatible or missing plugins.
moodle-upgrade-check (ask in plain English) Current Moodle, PHP and database versions, PHP compatibility for the target branch, maintenance state, non-core plugins, and a pre-upgrade backup checklist.
GLServer
glserver-debug (ask in plain English) Diagnoses GLServer hosts and units: units that will not start, ownership and claim issues, port conflicts, boot failures, publishing and load balancer problems.
glserver-cluster-health (ask in plain English) Cluster overview: unit distribution and ownership, running and stopped units, load balancer and publishing status, REST API reachability, backup coverage.
glserver-provision (ask in plain English) Guides the creation of a new GLServer unit: directory layout, configuration files, boot scripts, and the register, start and verify steps. File changes need approval.
Version control
git-workflow (ask in plain English) Safe git operations (clone, pull, push, branch, switch, commit) and raising GitLab issues. Read operations run automatically; writes need approval.

Remote machines (Linux): ella can manage other Linux machines over SSH. Ask in plain English, for example "add remote web01 at 10.0.0.5 user root", "set up an ssh key to web01" or "is nginx running on web01?". Use /remotes to list saved hosts. Passwords are asked for once to install a key and are never stored. Windows remote management (WinRM) is planned.


12. Skills for both platforms

Skill Command What it covers
cert-readiness /assess, ella assess Checks the machine against Cyber Essentials / CE+, DCC, ISO 27001, Essential Eight, PCI DSS or IASME Cyber Assurance, explains the gaps and fixes them with approval.
system-state /state, ella state Records baselines and reports every change since, with its severity and the controls it affects.

Your own skills: when ella writes a useful diagnostic script during a session, you can ask it to save the script as a skill. Saved skills are stored in your per-user data folder and managed with ella skill. They can be exported and imported to share with colleagues.


13. Built-in tools

These are the actions ella can take during a session. You do not call them directly; ella chooses them based on your request.

Tool Platforms Purpose
run_command Both Run a PowerShell (Windows) or shell (Linux) command. Read-only commands run automatically; changes need approval.
read_file, write_file, edit_file Both Read and change files. Writes and edits need approval and can be undone.
sysinfo Both Summary of the machine.
ask_user Both Ask you a question, or ask for a password securely.
propose_plan Both Present a multi-step plan for approval before starting.
list_skills, read_skill, run_skill, save_skill Both Use and save skills.
watch_service, stop_watch Both Watch a service's logs and report what happened.
assess_readiness Both Certification readiness check.
state_baseline, system_changes Both Record a baseline and report changes.
write_report Both Write up the work as a report.
git, create_issue Both Git operations and GitLab issues (needs the [gitlab] settings).
gpo_settings, gpo_set Windows Look up settings in the GPO catalogue and apply them to a GPO, with an automatic backup first.
list_remotes, add_remote, remote_setup_key, remote_run, remote_copy Linux Manage and work on remote machines over SSH.
test_in_container Linux Try a change in a throwaway container before applying it.

person people found this useful.